summaryrefslogtreecommitdiff
path: root/vcl/inc/unx/gtk
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2011-11-23 09:25:09 +0100
committerDavid Tardon <dtardon@redhat.com>2011-12-05 15:11:46 +0100
commit49721e5df83d025ca7b2e57f688900387235a786 (patch)
tree2497e4e4aeb15a8a05491b6cb89c512dca8b3f41 /vcl/inc/unx/gtk
parent18cf5cea5b25b3705c35d04e824b9965b0f9836a (diff)
add support for Gtk+ print dialog (#i106780#)
Diffstat (limited to 'vcl/inc/unx/gtk')
-rw-r--r--vcl/inc/unx/gtk/gtkinst.hxx2
-rw-r--r--vcl/inc/unx/gtk/gtkprn.hxx72
2 files changed, 74 insertions, 0 deletions
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx
index 8b937a33e577..5d3f8ef6482f 100644
--- a/vcl/inc/unx/gtk/gtkinst.hxx
+++ b/vcl/inc/unx/gtk/gtkinst.hxx
@@ -96,6 +96,8 @@ public:
virtual SalFrame* CreateChildFrame( SystemParentData* pParent, sal_uLong nStyle );
virtual SalObject* CreateObject( SalFrame* pParent, SystemWindowData* pWindowData, sal_Bool bShow = sal_True );
virtual SalSystem* CreateSalSystem();
+ virtual SalInfoPrinter* CreateInfoPrinter(SalPrinterQueueInfo* pPrinterQueueInfo, ImplJobSetup* pJobSetup);
+ virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter );
virtual SalTimer* CreateSalTimer();
virtual void AddToRecentDocumentList(const rtl::OUString& rFileUrl, const rtl::OUString& rMimeType);
virtual SalVirtualDevice* CreateVirtualDevice( SalGraphics*,
diff --git a/vcl/inc/unx/gtk/gtkprn.hxx b/vcl/inc/unx/gtk/gtkprn.hxx
new file mode 100644
index 000000000000..aa3b44d530f5
--- /dev/null
+++ b/vcl/inc/unx/gtk/gtkprn.hxx
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Caolán McNamara, Red Hat Inc. <caolan@redhat.com> (initial developer)
+ * Copyright (C) 2011 David Tardon, Red Hat Inc. <dtardon@redhat.com
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef UNX_GTK_GTKPRN_HXX_INCLUDED
+#define UNX_GTK_GTKPRN_HXX_INCLUDED
+
+#include "generic/genprn.h"
+
+#include <boost/scoped_ptr.hpp>
+
+struct GtkSalPrinter_Impl;
+
+
+class VCL_DLLPUBLIC GtkSalPrinter : public PspSalPrinter
+{
+public:
+ GtkSalPrinter(SalInfoPrinter* i_pInfoPrinter);
+
+ using PspSalPrinter::StartJob;
+ virtual sal_Bool StartJob(
+ const rtl::OUString* i_pFileName, const rtl::OUString& i_rJobName,
+ const rtl::OUString& i_rAppName, ImplJobSetup* io_pSetupData,
+ vcl::PrinterController& io_rController);
+ virtual sal_Bool EndJob();
+
+private:
+ bool impl_doJob(
+ const rtl::OUString* i_pFileName, const rtl::OUString& i_rJobName,
+ const rtl::OUString& i_rAppName, ImplJobSetup* io_pSetupData,
+ bool i_bCollate, int i_nCopies, vcl::PrinterController& io_rController);
+
+private:
+ boost::scoped_ptr<GtkSalPrinter_Impl> m_pImpl;
+};
+
+
+class VCL_DLLPUBLIC GtkSalInfoPrinter : public PspSalInfoPrinter
+{
+public:
+ sal_uLong GetCapabilities(const ImplJobSetup* i_pSetupData, sal_uInt16 i_nType);
+};
+
+
+#endif // UNX_GTK_GTKPRN_HXX_INCLUDED
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */