LCOV - code coverage report
Current view: top level - vcl/unx/gtk/gdi - gtkprintwrapper.cxx (source / functions) Hit Total Coverage
Test: commit e02a6cb2c3e2b23b203b422e4e0680877f232636 Lines: 0 99 0.0 %
Date: 2014-04-14 Functions: 0 24 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  */
       9             : 
      10             : #include <cassert>
      11             : 
      12             : #include <rtl/ustring.hxx>
      13             : 
      14             : #include "gtkprintwrapper.hxx"
      15             : 
      16             : namespace vcl
      17             : {
      18             : namespace unx
      19             : {
      20             : 
      21             : #if !GTK_CHECK_VERSION(3,0,0)
      22             : 
      23           0 : GtkPrintWrapper::GtkPrintWrapper()
      24             :     : m_page_setup_new(0)
      25             :     , m_print_job_new(0)
      26             :     , m_print_job_send(0)
      27             :     , m_print_job_set_source_file(0)
      28             :     , m_print_settings_get(0)
      29             :     , m_print_settings_get_collate(0)
      30             :     , m_print_settings_set_collate(0)
      31             :     , m_print_settings_get_n_copies(0)
      32             :     , m_print_settings_set_n_copies(0)
      33             :     , m_print_settings_get_page_ranges(0)
      34             :     , m_print_settings_set_print_pages(0)
      35             :     , m_print_unix_dialog_new(0)
      36             :     , m_print_unix_dialog_add_custom_tab(0)
      37             :     , m_print_unix_dialog_get_selected_printer(0)
      38             :     , m_print_unix_dialog_set_manual_capabilities(0)
      39             :     , m_print_unix_dialog_get_settings(0)
      40             :     , m_print_unix_dialog_set_settings(0)
      41             :     , m_print_unix_dialog_set_support_selection(0)
      42           0 :     , m_print_unix_dialog_set_has_selection(0)
      43             : {
      44           0 :     impl_load();
      45           0 : }
      46             : 
      47             : #else
      48             : 
      49             : GtkPrintWrapper::GtkPrintWrapper()
      50             : {
      51             : }
      52             : 
      53             : #endif
      54             : 
      55           0 : GtkPrintWrapper::~GtkPrintWrapper()
      56             : {
      57           0 : }
      58             : 
      59             : #if !GTK_CHECK_VERSION(3,0,0)
      60             : 
      61           0 : void GtkPrintWrapper::impl_load()
      62             : {
      63           0 :     m_aModule.load(OUString("libgtk-x11-2.0.so.0"));
      64           0 :     if (!m_aModule.is())
      65           0 :         m_aModule.load(OUString("libgtk-x11-2.0.so"));
      66           0 :     if (!m_aModule.is())
      67           0 :         return;
      68             : 
      69           0 :     m_page_setup_new = reinterpret_cast<page_setup_new_t>(m_aModule.getFunctionSymbol("gtk_page_setup_new"));
      70           0 :     m_print_job_new = reinterpret_cast<print_job_new_t>(m_aModule.getFunctionSymbol("gtk_print_job_new"));
      71           0 :     m_print_job_send = reinterpret_cast<print_job_send_t>(m_aModule.getFunctionSymbol("gtk_print_job_send"));
      72           0 :     m_print_job_set_source_file = reinterpret_cast<print_job_set_source_file_t>(m_aModule.getFunctionSymbol("gtk_print_job_set_source_file"));
      73           0 :     m_print_settings_get = reinterpret_cast<print_settings_get_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get"));
      74           0 :     m_print_settings_get_collate = reinterpret_cast<print_settings_get_collate_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get_collate"));
      75           0 :     m_print_settings_set_collate = reinterpret_cast<print_settings_set_collate_t>(m_aModule.getFunctionSymbol("gtk_print_settings_set_collate"));
      76           0 :     m_print_settings_get_n_copies = reinterpret_cast<print_settings_get_n_copies_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get_n_copies"));
      77           0 :     m_print_settings_set_n_copies = reinterpret_cast<print_settings_set_n_copies_t>(m_aModule.getFunctionSymbol("gtk_print_settings_set_n_copies"));
      78           0 :     m_print_settings_get_page_ranges = reinterpret_cast<print_settings_get_page_ranges_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get_page_ranges"));
      79           0 :     m_print_settings_set_print_pages = reinterpret_cast<print_settings_set_print_pages_t>(m_aModule.getFunctionSymbol("gtk_print_settings_set_print_pages"));
      80           0 :     m_print_unix_dialog_new = reinterpret_cast<print_unix_dialog_new_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_new"));
      81           0 :     m_print_unix_dialog_add_custom_tab = reinterpret_cast<print_unix_dialog_add_custom_tab_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_add_custom_tab"));
      82           0 :     m_print_unix_dialog_get_selected_printer = reinterpret_cast<print_unix_dialog_get_selected_printer_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_get_selected_printer"));
      83           0 :     m_print_unix_dialog_set_manual_capabilities = reinterpret_cast<print_unix_dialog_set_manual_capabilities_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_set_manual_capabilities"));
      84           0 :     m_print_unix_dialog_get_settings = reinterpret_cast<print_unix_dialog_get_settings_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_get_settings"));
      85           0 :     m_print_unix_dialog_set_settings = reinterpret_cast<print_unix_dialog_set_settings_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_set_settings"));
      86           0 :     m_print_unix_dialog_set_support_selection = reinterpret_cast<print_unix_dialog_set_support_selection_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_set_support_selection"));
      87           0 :     m_print_unix_dialog_set_has_selection = reinterpret_cast<print_unix_dialog_set_has_selection_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_set_has_selection"));
      88             : }
      89             : 
      90             : #endif
      91             : 
      92           0 : bool GtkPrintWrapper::supportsPrinting() const
      93             : {
      94             : #if !GTK_CHECK_VERSION(3,0,0)
      95             :     return
      96             :         m_page_setup_new
      97           0 :         && m_print_job_new
      98           0 :         && m_print_job_send
      99           0 :         && m_print_job_set_source_file
     100           0 :         && m_print_settings_get
     101           0 :         && m_print_settings_get_collate
     102           0 :         && m_print_settings_set_collate
     103           0 :         && m_print_settings_get_n_copies
     104           0 :         && m_print_settings_set_n_copies
     105           0 :         && m_print_settings_get_page_ranges
     106           0 :         && m_print_settings_set_print_pages
     107           0 :         && m_print_unix_dialog_new
     108           0 :         && m_print_unix_dialog_add_custom_tab
     109           0 :         && m_print_unix_dialog_get_selected_printer
     110           0 :         && m_print_unix_dialog_set_manual_capabilities
     111           0 :         && m_print_unix_dialog_get_settings
     112           0 :         && m_print_unix_dialog_set_settings
     113             :         ;
     114             : #else
     115             :     return true;
     116             : #endif
     117             : }
     118             : 
     119           0 : bool GtkPrintWrapper::supportsPrintSelection() const
     120             : {
     121             : #if !GTK_CHECK_VERSION(3,0,0)
     122             :     return
     123           0 :         supportsPrinting()
     124           0 :         && m_print_unix_dialog_set_support_selection
     125           0 :         && m_print_unix_dialog_set_has_selection
     126             :         ;
     127             : #else
     128             :     return true;
     129             : #endif
     130             : }
     131             : 
     132           0 : GtkPageSetup* GtkPrintWrapper::page_setup_new() const
     133             : {
     134             : #if !GTK_CHECK_VERSION(3,0,0)
     135             :     assert(m_page_setup_new);
     136           0 :     return (*m_page_setup_new)();
     137             : #else
     138             :     return gtk_page_setup_new();
     139             : #endif
     140             : }
     141             : 
     142           0 : GtkPrintJob* GtkPrintWrapper::print_job_new(const gchar* title, GtkPrinter* printer, GtkPrintSettings* settings, GtkPageSetup* page_setup) const
     143             : {
     144             : #if !GTK_CHECK_VERSION(3,0,0)
     145             :     assert(m_print_job_new);
     146           0 :     return (*m_print_job_new)(title, printer, settings, page_setup);
     147             : #else
     148             :     return gtk_print_job_new(title, printer, settings, page_setup);
     149             : #endif
     150             : }
     151             : 
     152           0 : void GtkPrintWrapper::print_job_send(GtkPrintJob* job, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify) const
     153             : {
     154             : #if !GTK_CHECK_VERSION(3,0,0)
     155             :     assert(m_print_job_send);
     156           0 :     (*m_print_job_send)(job, callback, user_data, dnotify);
     157             : #else
     158             :     gtk_print_job_send(job, callback, user_data, dnotify);
     159             : #endif
     160           0 : }
     161             : 
     162           0 : gboolean GtkPrintWrapper::print_job_set_source_file(GtkPrintJob* job, const gchar* filename, GError** error) const
     163             : {
     164             : #if !GTK_CHECK_VERSION(3,0,0)
     165             :     assert(m_print_job_set_source_file);
     166           0 :     return (*m_print_job_set_source_file)(job, filename, error);
     167             : #else
     168             :     return gtk_print_job_set_source_file(job, filename, error);
     169             : #endif
     170             : }
     171             : 
     172           0 : const gchar* GtkPrintWrapper::print_settings_get(GtkPrintSettings* settings, const gchar* key) const
     173             : {
     174             : #if !GTK_CHECK_VERSION(3,0,0)
     175             :     assert(m_print_settings_get);
     176           0 :     return (*m_print_settings_get)(settings, key);
     177             : #else
     178             :     return gtk_print_settings_get(settings, key);
     179             : #endif
     180             : }
     181             : 
     182           0 : gboolean GtkPrintWrapper::print_settings_get_collate(GtkPrintSettings* settings) const
     183             : {
     184             : #if !GTK_CHECK_VERSION(3,0,0)
     185             :     assert(m_print_settings_get_collate);
     186           0 :     return (*m_print_settings_get_collate)(settings);
     187             : #else
     188             :     return gtk_print_settings_get_collate(settings);
     189             : #endif
     190             : }
     191             : 
     192           0 : void GtkPrintWrapper::print_settings_set_collate(GtkPrintSettings* settings, gboolean collate) const
     193             : {
     194             : #if !GTK_CHECK_VERSION(3,0,0)
     195             :     assert(m_print_settings_set_collate);
     196           0 :     (*m_print_settings_set_collate)(settings, collate);
     197             : #else
     198             :     gtk_print_settings_set_collate(settings, collate);
     199             : #endif
     200           0 : }
     201             : 
     202           0 : gint GtkPrintWrapper::print_settings_get_n_copies(GtkPrintSettings* settings) const
     203             : {
     204             : #if !GTK_CHECK_VERSION(3,0,0)
     205             :     assert(m_print_settings_get_n_copies);
     206           0 :     return (*m_print_settings_get_n_copies)(settings);
     207             : #else
     208             :     return gtk_print_settings_get_n_copies(settings);
     209             : #endif
     210             : }
     211             : 
     212           0 : void GtkPrintWrapper::print_settings_set_n_copies(GtkPrintSettings* settings, gint num_copies) const
     213             : {
     214             : #if !GTK_CHECK_VERSION(3,0,0)
     215             :     assert(m_print_settings_set_n_copies);
     216           0 :     (*m_print_settings_set_n_copies)(settings, num_copies);
     217             : #else
     218             :     gtk_print_settings_set_n_copies(settings, num_copies);
     219             : #endif
     220           0 : }
     221             : 
     222           0 : GtkPageRange* GtkPrintWrapper::print_settings_get_page_ranges(GtkPrintSettings* settings, gint* num_ranges) const
     223             : {
     224             : #if !GTK_CHECK_VERSION(3,0,0)
     225             :     assert(m_print_settings_get_page_ranges);
     226           0 :     return (*m_print_settings_get_page_ranges)(settings, num_ranges);
     227             : #else
     228             :     return gtk_print_settings_get_page_ranges(settings, num_ranges);
     229             : #endif
     230             : }
     231             : 
     232           0 : void GtkPrintWrapper::print_settings_set_print_pages(GtkPrintSettings* settings, GtkPrintPages pages) const
     233             : {
     234             : #if !GTK_CHECK_VERSION(3,0,0)
     235             :     assert(m_print_settings_set_print_pages);
     236           0 :     (*m_print_settings_set_print_pages)(settings, pages);
     237             : #else
     238             :     gtk_print_settings_set_print_pages(settings, pages);
     239             : #endif
     240           0 : }
     241             : 
     242           0 : GtkWidget* GtkPrintWrapper::print_unix_dialog_new(const gchar* title, GtkWindow* parent) const
     243             : {
     244             : #if !GTK_CHECK_VERSION(3,0,0)
     245             :     assert(m_print_unix_dialog_new);
     246           0 :     return (*m_print_unix_dialog_new)(title, parent);
     247             : #else
     248             :     return gtk_print_unix_dialog_new(title, parent);
     249             : #endif
     250             : }
     251             : 
     252           0 : void GtkPrintWrapper::print_unix_dialog_add_custom_tab(GtkPrintUnixDialog* dialog, GtkWidget* child, GtkWidget* tab_label) const
     253             : {
     254             : #if !GTK_CHECK_VERSION(3,0,0)
     255             :     assert(m_print_unix_dialog_add_custom_tab);
     256           0 :     (*m_print_unix_dialog_add_custom_tab)(dialog, child, tab_label);
     257             : #else
     258             :     gtk_print_unix_dialog_add_custom_tab(dialog, child, tab_label);
     259             : #endif
     260           0 : }
     261             : 
     262           0 : GtkPrinter* GtkPrintWrapper::print_unix_dialog_get_selected_printer(GtkPrintUnixDialog* dialog) const
     263             : {
     264             : #if !GTK_CHECK_VERSION(3,0,0)
     265             :     assert(m_print_unix_dialog_get_selected_printer);
     266           0 :     return (*m_print_unix_dialog_get_selected_printer)(dialog);
     267             : #else
     268             :     return gtk_print_unix_dialog_get_selected_printer(dialog);
     269             : #endif
     270             : }
     271             : 
     272           0 : void GtkPrintWrapper::print_unix_dialog_set_manual_capabilities(GtkPrintUnixDialog* dialog, GtkPrintCapabilities capabilities) const
     273             : {
     274             : #if !GTK_CHECK_VERSION(3,0,0)
     275             :     assert(m_print_unix_dialog_set_manual_capabilities);
     276           0 :     (*m_print_unix_dialog_set_manual_capabilities)(dialog, capabilities);
     277             : #else
     278             :     gtk_print_unix_dialog_set_manual_capabilities(dialog, capabilities);
     279             : #endif
     280           0 : }
     281             : 
     282           0 : GtkPrintSettings* GtkPrintWrapper::print_unix_dialog_get_settings(GtkPrintUnixDialog* dialog) const
     283             : {
     284             : #if !GTK_CHECK_VERSION(3,0,0)
     285             :     assert(m_print_unix_dialog_get_settings);
     286           0 :     return (*m_print_unix_dialog_get_settings)(dialog);
     287             : #else
     288             :     return gtk_print_unix_dialog_get_settings(dialog);
     289             : #endif
     290             : }
     291             : 
     292           0 : void GtkPrintWrapper::print_unix_dialog_set_settings(GtkPrintUnixDialog* dialog, GtkPrintSettings* settings) const
     293             : {
     294             : #if !GTK_CHECK_VERSION(3,0,0)
     295             :     assert(m_print_unix_dialog_set_settings);
     296           0 :     (*m_print_unix_dialog_set_settings)(dialog, settings);
     297             : #else
     298             :     gtk_print_unix_dialog_set_settings(dialog, settings);
     299             : #endif
     300           0 : }
     301             : 
     302           0 : void GtkPrintWrapper::print_unix_dialog_set_support_selection(GtkPrintUnixDialog* dialog, gboolean support_selection) const
     303             : {
     304             : #if !GTK_CHECK_VERSION(3,0,0)
     305             :     assert(m_print_unix_dialog_set_support_selection);
     306           0 :     (*m_print_unix_dialog_set_support_selection)(dialog, support_selection);
     307             : #else
     308             :     gtk_print_unix_dialog_set_support_selection(dialog, support_selection);
     309             : #endif
     310           0 : }
     311             : 
     312           0 : void GtkPrintWrapper::print_unix_dialog_set_has_selection(GtkPrintUnixDialog* dialog, gboolean has_selection) const
     313             : {
     314             : #if !GTK_CHECK_VERSION(3,0,0)
     315             :     assert(m_print_unix_dialog_set_has_selection);
     316           0 :     (*m_print_unix_dialog_set_has_selection)(dialog, has_selection);
     317             : #else
     318             :     gtk_print_unix_dialog_set_has_selection(dialog, has_selection);
     319             : #endif
     320           0 : }
     321             : 
     322             : }
     323             : }
     324             : 
     325             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10