From f4f1b53b9646288d73979f8339a90fbbbcb9eedc Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 16 Aug 2011 16:38:56 +0200 Subject: [PATCH] Move printing into it's own library Create a libQtPrintSupport library that contains our current printing infrastructure. Long term this will get replaced with a libQtPrint, as the current architecture is not really maintainable. Change-Id: I7362fff6786b58c5b4e9213c23eda36d15048aa2 Reviewed-on: http://codereview.qt.nokia.com/3209 Reviewed-by: Qt Sanity Bot Reviewed-by: Gunnar Sletta --- bin/fixqt4headers | 2 +- examples/itemviews/spreadsheet/spreadsheet.pro | 2 +- examples/richtext/textedit/textedit.pro | 2 +- src/gui/gui.pro | 1 - src/gui/kernel/qplatformintegration_qpa.cpp | 8 +- src/gui/painting/qpdf_p.h | 4 +- src/gui/text/qtextcontrol.cpp | 1 - src/gui/text/qtextdocument.cpp | 2 - src/modules/qt_gui.pri | 2 +- src/modules/qt_printsupport.pri | 14 +++ .../printersupport/genericunix/genericunix.pri | 2 + .../genericunix/qgenericunixprintersupport.cpp | 2 +- .../genericunix/qgenericunixprintersupport_p.h | 2 +- src/printsupport/dialogs/dialogs.pri | 43 ++++++++++ .../dialogs/images/fit-page-24.png | Bin .../dialogs/images/fit-page-32.png | Bin .../dialogs/images/fit-width-24.png | Bin .../dialogs/images/fit-width-32.png | Bin .../dialogs/images/go-first-24.png | Bin .../dialogs/images/go-first-32.png | Bin .../dialogs/images/go-last-24.png | Bin .../dialogs/images/go-last-32.png | Bin .../dialogs/images/go-next-24.png | Bin .../dialogs/images/go-next-32.png | Bin .../dialogs/images/go-previous-24.png | Bin .../dialogs/images/go-previous-32.png | Bin .../dialogs/images/layout-landscape-24.png | Bin .../dialogs/images/layout-landscape-32.png | Bin .../dialogs/images/layout-portrait-24.png | Bin .../dialogs/images/layout-portrait-32.png | Bin .../dialogs/images/page-setup-24.png | Bin .../dialogs/images/page-setup-32.png | Bin .../dialogs/images/print-24.png | Bin .../dialogs/images/print-32.png | Bin .../dialogs/images/status-color.png | Bin .../dialogs/images/status-gray-scale.png | Bin .../dialogs/images/view-page-multi-24.png | Bin .../dialogs/images/view-page-multi-32.png | Bin .../dialogs/images/view-page-one-24.png | Bin .../dialogs/images/view-page-one-32.png | Bin .../dialogs/images/view-page-sided-24.png | Bin .../dialogs/images/view-page-sided-32.png | Bin .../dialogs/images/zoom-in-24.png | Bin .../dialogs/images/zoom-in-32.png | Bin .../dialogs/images/zoom-out-24.png | Bin .../dialogs/images/zoom-out-32.png | Bin .../dialogs/qabstractpagesetupdialog.cpp | 2 +- .../dialogs/qabstractpagesetupdialog.h | 0 .../dialogs/qabstractpagesetupdialog_p.h | 0 .../dialogs/qabstractprintdialog.cpp | 0 .../dialogs/qabstractprintdialog.h | 0 .../dialogs/qabstractprintdialog_p.h | 2 +- .../dialogs/qpagesetupdialog.cpp | 0 .../dialogs/qpagesetupdialog.h | 2 +- .../dialogs/qpagesetupdialog_mac.mm | 0 .../dialogs/qpagesetupdialog_unix.cpp | 2 +- .../dialogs/qpagesetupdialog_unix_p.h | 0 .../dialogs/qpagesetupdialog_win.cpp | 0 .../dialogs/qpagesetupwidget.ui | 0 .../dialogs/qprintdialog.h | 2 +- .../dialogs/qprintdialog.qdoc | 0 .../dialogs/qprintdialog.qrc | 0 .../dialogs/qprintdialog_mac.mm | 0 .../dialogs/qprintdialog_unix.cpp | 4 +- .../dialogs/qprintdialog_win.cpp | 0 .../dialogs/qprintpreviewdialog.cpp | 4 +- .../dialogs/qprintpreviewdialog.h | 0 .../dialogs/qprintpropertieswidget.ui | 0 .../dialogs/qprintsettingsoutput.ui | 0 .../dialogs/qprintwidget.ui | 0 .../kernel/kernel.pri} | 12 +-- .../printsupport => printsupport/kernel}/qcups.cpp | 0 .../printsupport => printsupport/kernel}/qcups_p.h | 2 +- .../kernel}/qpaintengine_alpha.cpp | 0 .../kernel}/qpaintengine_alpha_p.h | 0 .../kernel}/qpaintengine_preview.cpp | 2 +- .../kernel}/qpaintengine_preview_p.h | 2 +- .../kernel}/qplatformprintersupport_qpa.cpp | 2 +- .../kernel}/qplatformprintersupport_qpa.h | 2 +- src/printsupport/kernel/qplatformprintplugin.cpp | 72 ++++++++++++++++ src/printsupport/kernel/qplatformprintplugin_qpa.h | 94 +++++++++++++++++++++ .../kernel}/qprintengine.h | 2 +- .../kernel}/qprintengine_pdf.cpp | 2 +- .../kernel}/qprintengine_pdf_p.h | 2 +- .../kernel}/qprinter.cpp | 2 +- .../kernel}/qprinter.h | 0 .../kernel}/qprinter_p.h | 4 +- .../kernel}/qprinterinfo.cpp | 2 +- .../kernel}/qprinterinfo.h | 2 +- .../kernel}/qprinterinfo_p.h | 0 .../kernel}/qprinterinfo_unix.cpp | 0 .../kernel}/qprinterinfo_unix_p.h | 2 +- src/printsupport/printsupport.pro | 22 +++++ .../widgets/qprintpreviewwidget.cpp | 0 .../widgets/qprintpreviewwidget.h | 2 +- src/printsupport/widgets/widgets.pri | 2 + src/src.pro | 7 +- src/widgets/dialogs/dialogs.pri | 30 +------ src/widgets/dialogs/qfscompleter_p.h | 2 +- src/widgets/kernel/qapplication.cpp | 4 - src/widgets/widgets/widgets.pri | 7 +- sync.profile | 3 + tests/auto/qprinter/qprinter.pro | 2 +- tests/auto/qprinterinfo/qprinterinfo.pro | 2 +- 104 files changed, 302 insertions(+), 92 deletions(-) create mode 100644 src/modules/qt_printsupport.pri create mode 100644 src/printsupport/dialogs/dialogs.pri rename src/{widgets => printsupport}/dialogs/images/fit-page-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/fit-page-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/fit-width-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/fit-width-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-first-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-first-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-last-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-last-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-next-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-next-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-previous-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/go-previous-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/layout-landscape-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/layout-landscape-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/layout-portrait-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/layout-portrait-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/page-setup-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/page-setup-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/print-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/print-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/status-color.png (100%) rename src/{widgets => printsupport}/dialogs/images/status-gray-scale.png (100%) rename src/{widgets => printsupport}/dialogs/images/view-page-multi-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/view-page-multi-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/view-page-one-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/view-page-one-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/view-page-sided-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/view-page-sided-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/zoom-in-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/zoom-in-32.png (100%) rename src/{widgets => printsupport}/dialogs/images/zoom-out-24.png (100%) rename src/{widgets => printsupport}/dialogs/images/zoom-out-32.png (100%) rename src/{widgets => printsupport}/dialogs/qabstractpagesetupdialog.cpp (99%) rename src/{widgets => printsupport}/dialogs/qabstractpagesetupdialog.h (100%) rename src/{widgets => printsupport}/dialogs/qabstractpagesetupdialog_p.h (100%) rename src/{widgets => printsupport}/dialogs/qabstractprintdialog.cpp (100%) rename src/{widgets => printsupport}/dialogs/qabstractprintdialog.h (100%) rename src/{widgets => printsupport}/dialogs/qabstractprintdialog_p.h (98%) rename src/{widgets => printsupport}/dialogs/qpagesetupdialog.cpp (100%) rename src/{widgets => printsupport}/dialogs/qpagesetupdialog.h (98%) rename src/{widgets => printsupport}/dialogs/qpagesetupdialog_mac.mm (100%) rename src/{widgets => printsupport}/dialogs/qpagesetupdialog_unix.cpp (99%) rename src/{widgets => printsupport}/dialogs/qpagesetupdialog_unix_p.h (100%) rename src/{widgets => printsupport}/dialogs/qpagesetupdialog_win.cpp (100%) rename src/{widgets => printsupport}/dialogs/qpagesetupwidget.ui (100%) rename src/{widgets => printsupport}/dialogs/qprintdialog.h (99%) rename src/{widgets => printsupport}/dialogs/qprintdialog.qdoc (100%) rename src/{widgets => printsupport}/dialogs/qprintdialog.qrc (100%) rename src/{widgets => printsupport}/dialogs/qprintdialog_mac.mm (100%) rename src/{widgets => printsupport}/dialogs/qprintdialog_unix.cpp (99%) rename src/{widgets => printsupport}/dialogs/qprintdialog_win.cpp (100%) rename src/{widgets => printsupport}/dialogs/qprintpreviewdialog.cpp (99%) rename src/{widgets => printsupport}/dialogs/qprintpreviewdialog.h (100%) rename src/{widgets => printsupport}/dialogs/qprintpropertieswidget.ui (100%) rename src/{widgets => printsupport}/dialogs/qprintsettingsoutput.ui (100%) rename src/{widgets => printsupport}/dialogs/qprintwidget.ui (100%) rename src/{gui/printsupport/printsupport.pri => printsupport/kernel/kernel.pri} (76%) rename src/{gui/printsupport => printsupport/kernel}/qcups.cpp (100%) rename src/{gui/printsupport => printsupport/kernel}/qcups_p.h (99%) rename src/{gui/printsupport => printsupport/kernel}/qpaintengine_alpha.cpp (100%) rename src/{gui/printsupport => printsupport/kernel}/qpaintengine_alpha_p.h (100%) rename src/{gui/printsupport => printsupport/kernel}/qpaintengine_preview.cpp (99%) rename src/{gui/printsupport => printsupport/kernel}/qpaintengine_preview_p.h (98%) rename src/{gui/printsupport => printsupport/kernel}/qplatformprintersupport_qpa.cpp (98%) rename src/{gui/printsupport => printsupport/kernel}/qplatformprintersupport_qpa.h (98%) create mode 100644 src/printsupport/kernel/qplatformprintplugin.cpp create mode 100644 src/printsupport/kernel/qplatformprintplugin_qpa.h rename src/{gui/printsupport => printsupport/kernel}/qprintengine.h (98%) rename src/{gui/printsupport => printsupport/kernel}/qprintengine_pdf.cpp (99%) rename src/{gui/printsupport => printsupport/kernel}/qprintengine_pdf_p.h (99%) rename src/{gui/printsupport => printsupport/kernel}/qprinter.cpp (99%) rename src/{gui/printsupport => printsupport/kernel}/qprinter.h (100%) rename src/{gui/printsupport => printsupport/kernel}/qprinter_p.h (97%) rename src/{gui/printsupport => printsupport/kernel}/qprinterinfo.cpp (98%) rename src/{gui/printsupport => printsupport/kernel}/qprinterinfo.h (98%) rename src/{gui/printsupport => printsupport/kernel}/qprinterinfo_p.h (100%) rename src/{gui/printsupport => printsupport/kernel}/qprinterinfo_unix.cpp (100%) rename src/{gui/printsupport => printsupport/kernel}/qprinterinfo_unix_p.h (99%) create mode 100644 src/printsupport/printsupport.pro rename src/{widgets => printsupport}/widgets/qprintpreviewwidget.cpp (100%) rename src/{widgets => printsupport}/widgets/qprintpreviewwidget.h (99%) create mode 100644 src/printsupport/widgets/widgets.pri diff --git a/bin/fixqt4headers b/bin/fixqt4headers index 0e3d541..58b0fdf 100755 --- a/bin/fixqt4headers +++ b/bin/fixqt4headers @@ -8,7 +8,7 @@ echo $files for module in $modules; do # once we change other things, change the line from == "QtWidgets" to != "Qt" to get everything fixed - if [ $module == "QtWidgets" ]; then + if [ $module == "QtWidgets" ] || [ $module == "QtPrintSupport" ]; then echo $module ":" includes=`ls $QTDIR/include/$module` for i in $includes; do diff --git a/examples/itemviews/spreadsheet/spreadsheet.pro b/examples/itemviews/spreadsheet/spreadsheet.pro index 6a3d8b5..aaa90e7 100644 --- a/examples/itemviews/spreadsheet/spreadsheet.pro +++ b/examples/itemviews/spreadsheet/spreadsheet.pro @@ -7,7 +7,7 @@ TARGET = DEPENDPATH += . INCLUDEPATH += . -QT += widgets +QT += widgets printsupport CONFIG += qt warn_on #unix:contains(QT_CONFIG, dbus):QT += dbus widgets diff --git a/examples/richtext/textedit/textedit.pro b/examples/richtext/textedit/textedit.pro index e5732eb..b364a00 100644 --- a/examples/richtext/textedit/textedit.pro +++ b/examples/richtext/textedit/textedit.pro @@ -19,5 +19,5 @@ sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.html *.doc images sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/richtext/textedit INSTALLS += target sources -QT += widgets +QT += widgets printsupport symbian: CONFIG += qt_example diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 7466b13..f1d5bba 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -21,7 +21,6 @@ include(text/text.pri) include(painting/painting.pri) include(util/util.pri) include(math3d/math3d.pri) -include(printsupport/printsupport.pri) include(egl/egl.pri) diff --git a/src/gui/kernel/qplatformintegration_qpa.cpp b/src/gui/kernel/qplatformintegration_qpa.cpp index 886ca16..5564049 100644 --- a/src/gui/kernel/qplatformintegration_qpa.cpp +++ b/src/gui/kernel/qplatformintegration_qpa.cpp @@ -43,7 +43,6 @@ #include #include -#include #include #include #include @@ -209,12 +208,7 @@ QPlatformGLContext *QPlatformIntegration::createPlatformGLContext(QGuiGLContext QPlatformPrinterSupport *QPlatformIntegration::printerSupport() const { - static QPlatformPrinterSupport *ps = 0; -#ifndef QT_NO_PRINTER - if (!ps) - ps = new QPlatformPrinterSupport; -#endif - return ps; + return 0; } /*! diff --git a/src/gui/painting/qpdf_p.h b/src/gui/painting/qpdf_p.h index 5aeb01e..6df5052 100644 --- a/src/gui/painting/qpdf_p.h +++ b/src/gui/painting/qpdf_p.h @@ -164,7 +164,7 @@ private: class QPdfWriter; class QPdfEnginePrivate; -class QPdfEngine : public QPaintEngine +class Q_GUI_EXPORT QPdfEngine : public QPaintEngine { Q_DECLARE_PRIVATE(QPdfEngine) friend class QPdfWriter; @@ -210,7 +210,7 @@ private: void updateClipPath(const QPainterPath & path, Qt::ClipOperation op); }; -class QPdfEnginePrivate : public QPaintEnginePrivate +class Q_GUI_EXPORT QPdfEnginePrivate : public QPaintEnginePrivate { Q_DECLARE_PUBLIC(QPdfEngine) public: diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp index 0a4b61f..03845de 100644 --- a/src/gui/text/qtextcontrol.cpp +++ b/src/gui/text/qtextcontrol.cpp @@ -57,7 +57,6 @@ #include "qtextdocument.h" #include "private/qtextdocument_p.h" #include "qtextlist.h" -#include "qprinter.h" #include "qtextdocumentwriter.h" #include "private/qtextcursor_p.h" #include "qpagedpaintdevice.h" diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp index c3dd72a..6e3d528 100644 --- a/src/gui/text/qtextdocument.cpp +++ b/src/gui/text/qtextdocument.cpp @@ -55,7 +55,6 @@ #include "qtexthtmlparser_p.h" #include "qpainter.h" -#include "qprinter.h" #include #include #include @@ -63,7 +62,6 @@ #include "private/qdataurl_p.h" #include "qtextdocument_p.h" -#include #include #include "qpagedpaintdevice.h" diff --git a/src/modules/qt_gui.pri b/src/modules/qt_gui.pri index 0d1b210..1fd53e5 100644 --- a/src/modules/qt_gui.pri +++ b/src/modules/qt_gui.pri @@ -10,5 +10,5 @@ QT.gui.sources = $$QT_MODULE_BASE/src/gui QT.gui.libs = $$QT_MODULE_LIB_BASE QT.gui.plugins = $$QT_MODULE_PLUGIN_BASE QT.gui.imports = $$QT_MODULE_IMPORT_BASE -QT.gui.depends = core network +QT.gui.depends = core QT.gui.DEFINES = QT_GUI_LIB diff --git a/src/modules/qt_printsupport.pri b/src/modules/qt_printsupport.pri new file mode 100644 index 0000000..8560329 --- /dev/null +++ b/src/modules/qt_printsupport.pri @@ -0,0 +1,14 @@ +QT.printsupport.VERSION = 5.0.0 +QT.printsupport.MAJOR_VERSION = 5 +QT.printsupport.MINOR_VERSION = 0 +QT.printsupport.PATCH_VERSION = 0 + +QT.printsupport.name = QtPrintSupport +QT.printsupport.includes = $$QT_MODULE_INCLUDE_BASE/QtPrintSupport +QT.printsupport.private_includes = $$QT_MODULE_INCLUDE_BASE/QtPrintSupport/$$QT.printsupport.VERSION +QT.printsupport.sources = $$QT_MODULE_BASE/src/printsupport +QT.printsupport.libs = $$QT_MODULE_LIB_BASE +QT.printsupport.plugins = $$QT_MODULE_PLUGIN_BASE +QT.printsupport.imports = $$QT_MODULE_IMPORT_BASE +QT.printsupport.depends = core gui widgets +QT.printsupport.DEFINES = QT_PRINTSUPPORT_LIB diff --git a/src/platformsupport/printersupport/genericunix/genericunix.pri b/src/platformsupport/printersupport/genericunix/genericunix.pri index 06bd1b6..55534c0 100644 --- a/src/platformsupport/printersupport/genericunix/genericunix.pri +++ b/src/platformsupport/printersupport/genericunix/genericunix.pri @@ -1,2 +1,4 @@ +QT += printsupport printsupport-private + HEADERS += $$PWD/qgenericunixprintersupport_p.h SOURCES += $$PWD/qgenericunixprintersupport.cpp diff --git a/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport.cpp b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport.cpp index ae66ce8..bac5ba2 100644 --- a/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport.cpp +++ b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport.cpp @@ -41,7 +41,7 @@ #include "qgenericunixprintersupport_p.h" -#include +#include #include QT_BEGIN_NAMESPACE diff --git a/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport_p.h b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport_p.h index 5d7b3b4..bcfc367 100644 --- a/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport_p.h +++ b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport_p.h @@ -42,7 +42,7 @@ #ifndef QGENERICUNIXPRINTINGSUPPORT_H #define QGENERICUNIXPRINTINGSUPPORT_H -#include +#include QT_BEGIN_NAMESPACE diff --git a/src/printsupport/dialogs/dialogs.pri b/src/printsupport/dialogs/dialogs.pri new file mode 100644 index 0000000..5dbaa9f --- /dev/null +++ b/src/printsupport/dialogs/dialogs.pri @@ -0,0 +1,43 @@ +# Qt dialogs module + +HEADERS += \ + dialogs/qabstractprintdialog.h \ + dialogs/qabstractprintdialog_p.h \ + dialogs/qabstractpagesetupdialog.h \ + dialogs/qabstractpagesetupdialog_p.h \ + dialogs/qpagesetupdialog.h \ + dialogs/qprintdialog.h \ + dialogs/qprintpreviewdialog.h + +!qpa:mac { + OBJECTIVE_SOURCES += dialogs/qpagesetupdialog_mac.mm \ + dialogs/qprintdialog_mac.mm + +} + +win32 { + qpa:DEFINES += QT_NO_PRINTDIALOG + + SOURCES += dialogs/qpagesetupdialog_win.cpp \ + dialogs/qprintdialog_win.cpp +} + +!mac:!symbian:unix|qpa:!win32 { + HEADERS += dialogs/qpagesetupdialog_unix_p.h + SOURCES += dialogs/qprintdialog_unix.cpp \ + dialogs/qpagesetupdialog_unix.cpp + FORMS += dialogs/qprintsettingsoutput.ui \ + dialogs/qprintwidget.ui \ + dialogs/qprintpropertieswidget.ui +} + +INCLUDEPATH += $$PWD + +SOURCES += \ + dialogs/qabstractprintdialog.cpp \ + dialogs/qabstractpagesetupdialog.cpp \ + dialogs/qpagesetupdialog.cpp \ + dialogs/qprintpreviewdialog.cpp + +FORMS += dialogs/qpagesetupwidget.ui +RESOURCES += dialogs/qprintdialog.qrc diff --git a/src/widgets/dialogs/images/fit-page-24.png b/src/printsupport/dialogs/images/fit-page-24.png similarity index 100% rename from src/widgets/dialogs/images/fit-page-24.png rename to src/printsupport/dialogs/images/fit-page-24.png diff --git a/src/widgets/dialogs/images/fit-page-32.png b/src/printsupport/dialogs/images/fit-page-32.png similarity index 100% rename from src/widgets/dialogs/images/fit-page-32.png rename to src/printsupport/dialogs/images/fit-page-32.png diff --git a/src/widgets/dialogs/images/fit-width-24.png b/src/printsupport/dialogs/images/fit-width-24.png similarity index 100% rename from src/widgets/dialogs/images/fit-width-24.png rename to src/printsupport/dialogs/images/fit-width-24.png diff --git a/src/widgets/dialogs/images/fit-width-32.png b/src/printsupport/dialogs/images/fit-width-32.png similarity index 100% rename from src/widgets/dialogs/images/fit-width-32.png rename to src/printsupport/dialogs/images/fit-width-32.png diff --git a/src/widgets/dialogs/images/go-first-24.png b/src/printsupport/dialogs/images/go-first-24.png similarity index 100% rename from src/widgets/dialogs/images/go-first-24.png rename to src/printsupport/dialogs/images/go-first-24.png diff --git a/src/widgets/dialogs/images/go-first-32.png b/src/printsupport/dialogs/images/go-first-32.png similarity index 100% rename from src/widgets/dialogs/images/go-first-32.png rename to src/printsupport/dialogs/images/go-first-32.png diff --git a/src/widgets/dialogs/images/go-last-24.png b/src/printsupport/dialogs/images/go-last-24.png similarity index 100% rename from src/widgets/dialogs/images/go-last-24.png rename to src/printsupport/dialogs/images/go-last-24.png diff --git a/src/widgets/dialogs/images/go-last-32.png b/src/printsupport/dialogs/images/go-last-32.png similarity index 100% rename from src/widgets/dialogs/images/go-last-32.png rename to src/printsupport/dialogs/images/go-last-32.png diff --git a/src/widgets/dialogs/images/go-next-24.png b/src/printsupport/dialogs/images/go-next-24.png similarity index 100% rename from src/widgets/dialogs/images/go-next-24.png rename to src/printsupport/dialogs/images/go-next-24.png diff --git a/src/widgets/dialogs/images/go-next-32.png b/src/printsupport/dialogs/images/go-next-32.png similarity index 100% rename from src/widgets/dialogs/images/go-next-32.png rename to src/printsupport/dialogs/images/go-next-32.png diff --git a/src/widgets/dialogs/images/go-previous-24.png b/src/printsupport/dialogs/images/go-previous-24.png similarity index 100% rename from src/widgets/dialogs/images/go-previous-24.png rename to src/printsupport/dialogs/images/go-previous-24.png diff --git a/src/widgets/dialogs/images/go-previous-32.png b/src/printsupport/dialogs/images/go-previous-32.png similarity index 100% rename from src/widgets/dialogs/images/go-previous-32.png rename to src/printsupport/dialogs/images/go-previous-32.png diff --git a/src/widgets/dialogs/images/layout-landscape-24.png b/src/printsupport/dialogs/images/layout-landscape-24.png similarity index 100% rename from src/widgets/dialogs/images/layout-landscape-24.png rename to src/printsupport/dialogs/images/layout-landscape-24.png diff --git a/src/widgets/dialogs/images/layout-landscape-32.png b/src/printsupport/dialogs/images/layout-landscape-32.png similarity index 100% rename from src/widgets/dialogs/images/layout-landscape-32.png rename to src/printsupport/dialogs/images/layout-landscape-32.png diff --git a/src/widgets/dialogs/images/layout-portrait-24.png b/src/printsupport/dialogs/images/layout-portrait-24.png similarity index 100% rename from src/widgets/dialogs/images/layout-portrait-24.png rename to src/printsupport/dialogs/images/layout-portrait-24.png diff --git a/src/widgets/dialogs/images/layout-portrait-32.png b/src/printsupport/dialogs/images/layout-portrait-32.png similarity index 100% rename from src/widgets/dialogs/images/layout-portrait-32.png rename to src/printsupport/dialogs/images/layout-portrait-32.png diff --git a/src/widgets/dialogs/images/page-setup-24.png b/src/printsupport/dialogs/images/page-setup-24.png similarity index 100% rename from src/widgets/dialogs/images/page-setup-24.png rename to src/printsupport/dialogs/images/page-setup-24.png diff --git a/src/widgets/dialogs/images/page-setup-32.png b/src/printsupport/dialogs/images/page-setup-32.png similarity index 100% rename from src/widgets/dialogs/images/page-setup-32.png rename to src/printsupport/dialogs/images/page-setup-32.png diff --git a/src/widgets/dialogs/images/print-24.png b/src/printsupport/dialogs/images/print-24.png similarity index 100% rename from src/widgets/dialogs/images/print-24.png rename to src/printsupport/dialogs/images/print-24.png diff --git a/src/widgets/dialogs/images/print-32.png b/src/printsupport/dialogs/images/print-32.png similarity index 100% rename from src/widgets/dialogs/images/print-32.png rename to src/printsupport/dialogs/images/print-32.png diff --git a/src/widgets/dialogs/images/status-color.png b/src/printsupport/dialogs/images/status-color.png similarity index 100% rename from src/widgets/dialogs/images/status-color.png rename to src/printsupport/dialogs/images/status-color.png diff --git a/src/widgets/dialogs/images/status-gray-scale.png b/src/printsupport/dialogs/images/status-gray-scale.png similarity index 100% rename from src/widgets/dialogs/images/status-gray-scale.png rename to src/printsupport/dialogs/images/status-gray-scale.png diff --git a/src/widgets/dialogs/images/view-page-multi-24.png b/src/printsupport/dialogs/images/view-page-multi-24.png similarity index 100% rename from src/widgets/dialogs/images/view-page-multi-24.png rename to src/printsupport/dialogs/images/view-page-multi-24.png diff --git a/src/widgets/dialogs/images/view-page-multi-32.png b/src/printsupport/dialogs/images/view-page-multi-32.png similarity index 100% rename from src/widgets/dialogs/images/view-page-multi-32.png rename to src/printsupport/dialogs/images/view-page-multi-32.png diff --git a/src/widgets/dialogs/images/view-page-one-24.png b/src/printsupport/dialogs/images/view-page-one-24.png similarity index 100% rename from src/widgets/dialogs/images/view-page-one-24.png rename to src/printsupport/dialogs/images/view-page-one-24.png diff --git a/src/widgets/dialogs/images/view-page-one-32.png b/src/printsupport/dialogs/images/view-page-one-32.png similarity index 100% rename from src/widgets/dialogs/images/view-page-one-32.png rename to src/printsupport/dialogs/images/view-page-one-32.png diff --git a/src/widgets/dialogs/images/view-page-sided-24.png b/src/printsupport/dialogs/images/view-page-sided-24.png similarity index 100% rename from src/widgets/dialogs/images/view-page-sided-24.png rename to src/printsupport/dialogs/images/view-page-sided-24.png diff --git a/src/widgets/dialogs/images/view-page-sided-32.png b/src/printsupport/dialogs/images/view-page-sided-32.png similarity index 100% rename from src/widgets/dialogs/images/view-page-sided-32.png rename to src/printsupport/dialogs/images/view-page-sided-32.png diff --git a/src/widgets/dialogs/images/zoom-in-24.png b/src/printsupport/dialogs/images/zoom-in-24.png similarity index 100% rename from src/widgets/dialogs/images/zoom-in-24.png rename to src/printsupport/dialogs/images/zoom-in-24.png diff --git a/src/widgets/dialogs/images/zoom-in-32.png b/src/printsupport/dialogs/images/zoom-in-32.png similarity index 100% rename from src/widgets/dialogs/images/zoom-in-32.png rename to src/printsupport/dialogs/images/zoom-in-32.png diff --git a/src/widgets/dialogs/images/zoom-out-24.png b/src/printsupport/dialogs/images/zoom-out-24.png similarity index 100% rename from src/widgets/dialogs/images/zoom-out-24.png rename to src/printsupport/dialogs/images/zoom-out-24.png diff --git a/src/widgets/dialogs/images/zoom-out-32.png b/src/printsupport/dialogs/images/zoom-out-32.png similarity index 100% rename from src/widgets/dialogs/images/zoom-out-32.png rename to src/printsupport/dialogs/images/zoom-out-32.png diff --git a/src/widgets/dialogs/qabstractpagesetupdialog.cpp b/src/printsupport/dialogs/qabstractpagesetupdialog.cpp similarity index 99% rename from src/widgets/dialogs/qabstractpagesetupdialog.cpp rename to src/printsupport/dialogs/qabstractpagesetupdialog.cpp index 7a0e008..8268065 100644 --- a/src/widgets/dialogs/qabstractpagesetupdialog.cpp +++ b/src/printsupport/dialogs/qabstractpagesetupdialog.cpp @@ -45,7 +45,7 @@ #ifndef QT_NO_PRINTDIALOG #include -#include +#include QT_BEGIN_NAMESPACE diff --git a/src/widgets/dialogs/qabstractpagesetupdialog.h b/src/printsupport/dialogs/qabstractpagesetupdialog.h similarity index 100% rename from src/widgets/dialogs/qabstractpagesetupdialog.h rename to src/printsupport/dialogs/qabstractpagesetupdialog.h diff --git a/src/widgets/dialogs/qabstractpagesetupdialog_p.h b/src/printsupport/dialogs/qabstractpagesetupdialog_p.h similarity index 100% rename from src/widgets/dialogs/qabstractpagesetupdialog_p.h rename to src/printsupport/dialogs/qabstractpagesetupdialog_p.h diff --git a/src/widgets/dialogs/qabstractprintdialog.cpp b/src/printsupport/dialogs/qabstractprintdialog.cpp similarity index 100% rename from src/widgets/dialogs/qabstractprintdialog.cpp rename to src/printsupport/dialogs/qabstractprintdialog.cpp diff --git a/src/widgets/dialogs/qabstractprintdialog.h b/src/printsupport/dialogs/qabstractprintdialog.h similarity index 100% rename from src/widgets/dialogs/qabstractprintdialog.h rename to src/printsupport/dialogs/qabstractprintdialog.h diff --git a/src/widgets/dialogs/qabstractprintdialog_p.h b/src/printsupport/dialogs/qabstractprintdialog_p.h similarity index 98% rename from src/widgets/dialogs/qabstractprintdialog_p.h rename to src/printsupport/dialogs/qabstractprintdialog_p.h index 939e3f2..45dd7e1 100644 --- a/src/widgets/dialogs/qabstractprintdialog_p.h +++ b/src/printsupport/dialogs/qabstractprintdialog_p.h @@ -57,7 +57,7 @@ #ifndef QT_NO_PRINTDIALOG -#include "QtWidgets/qabstractprintdialog.h" +#include "QtPrintSupport/qabstractprintdialog.h" QT_BEGIN_NAMESPACE diff --git a/src/widgets/dialogs/qpagesetupdialog.cpp b/src/printsupport/dialogs/qpagesetupdialog.cpp similarity index 100% rename from src/widgets/dialogs/qpagesetupdialog.cpp rename to src/printsupport/dialogs/qpagesetupdialog.cpp diff --git a/src/widgets/dialogs/qpagesetupdialog.h b/src/printsupport/dialogs/qpagesetupdialog.h similarity index 98% rename from src/widgets/dialogs/qpagesetupdialog.h rename to src/printsupport/dialogs/qpagesetupdialog.h index a41b46c..3e983d3 100644 --- a/src/widgets/dialogs/qpagesetupdialog.h +++ b/src/printsupport/dialogs/qpagesetupdialog.h @@ -42,7 +42,7 @@ #ifndef QPAGESETUPDIALOG_H #define QPAGESETUPDIALOG_H -#include +#include QT_BEGIN_HEADER diff --git a/src/widgets/dialogs/qpagesetupdialog_mac.mm b/src/printsupport/dialogs/qpagesetupdialog_mac.mm similarity index 100% rename from src/widgets/dialogs/qpagesetupdialog_mac.mm rename to src/printsupport/dialogs/qpagesetupdialog_mac.mm diff --git a/src/widgets/dialogs/qpagesetupdialog_unix.cpp b/src/printsupport/dialogs/qpagesetupdialog_unix.cpp similarity index 99% rename from src/widgets/dialogs/qpagesetupdialog_unix.cpp rename to src/printsupport/dialogs/qpagesetupdialog_unix.cpp index ff54e0a..e5b12f8 100644 --- a/src/widgets/dialogs/qpagesetupdialog_unix.cpp +++ b/src/printsupport/dialogs/qpagesetupdialog_unix.cpp @@ -49,7 +49,7 @@ #include "qdialogbuttonbox.h" #include -#include +#include #include #include diff --git a/src/widgets/dialogs/qpagesetupdialog_unix_p.h b/src/printsupport/dialogs/qpagesetupdialog_unix_p.h similarity index 100% rename from src/widgets/dialogs/qpagesetupdialog_unix_p.h rename to src/printsupport/dialogs/qpagesetupdialog_unix_p.h diff --git a/src/widgets/dialogs/qpagesetupdialog_win.cpp b/src/printsupport/dialogs/qpagesetupdialog_win.cpp similarity index 100% rename from src/widgets/dialogs/qpagesetupdialog_win.cpp rename to src/printsupport/dialogs/qpagesetupdialog_win.cpp diff --git a/src/widgets/dialogs/qpagesetupwidget.ui b/src/printsupport/dialogs/qpagesetupwidget.ui similarity index 100% rename from src/widgets/dialogs/qpagesetupwidget.ui rename to src/printsupport/dialogs/qpagesetupwidget.ui diff --git a/src/widgets/dialogs/qprintdialog.h b/src/printsupport/dialogs/qprintdialog.h similarity index 99% rename from src/widgets/dialogs/qprintdialog.h rename to src/printsupport/dialogs/qprintdialog.h index 1bde1d1..bb53ae6 100644 --- a/src/widgets/dialogs/qprintdialog.h +++ b/src/printsupport/dialogs/qprintdialog.h @@ -42,7 +42,7 @@ #ifndef QPRINTDIALOG_H #define QPRINTDIALOG_H -#include +#include QT_BEGIN_HEADER diff --git a/src/widgets/dialogs/qprintdialog.qdoc b/src/printsupport/dialogs/qprintdialog.qdoc similarity index 100% rename from src/widgets/dialogs/qprintdialog.qdoc rename to src/printsupport/dialogs/qprintdialog.qdoc diff --git a/src/widgets/dialogs/qprintdialog.qrc b/src/printsupport/dialogs/qprintdialog.qrc similarity index 100% rename from src/widgets/dialogs/qprintdialog.qrc rename to src/printsupport/dialogs/qprintdialog.qrc diff --git a/src/widgets/dialogs/qprintdialog_mac.mm b/src/printsupport/dialogs/qprintdialog_mac.mm similarity index 100% rename from src/widgets/dialogs/qprintdialog_mac.mm rename to src/printsupport/dialogs/qprintdialog_mac.mm diff --git a/src/widgets/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp similarity index 99% rename from src/widgets/dialogs/qprintdialog_unix.cpp rename to src/printsupport/dialogs/qprintdialog_unix.cpp index e1c1287..8da3665 100644 --- a/src/widgets/dialogs/qprintdialog_unix.cpp +++ b/src/printsupport/dialogs/qprintdialog_unix.cpp @@ -51,11 +51,11 @@ #include #include #include -#include +#include #include -#include "qfscompleter_p.h" +#include "private/qfscompleter_p.h" #include "ui_qprintpropertieswidget.h" #include "ui_qprintsettingsoutput.h" #include "ui_qprintwidget.h" diff --git a/src/widgets/dialogs/qprintdialog_win.cpp b/src/printsupport/dialogs/qprintdialog_win.cpp similarity index 100% rename from src/widgets/dialogs/qprintdialog_win.cpp rename to src/printsupport/dialogs/qprintdialog_win.cpp diff --git a/src/widgets/dialogs/qprintpreviewdialog.cpp b/src/printsupport/dialogs/qprintpreviewdialog.cpp similarity index 99% rename from src/widgets/dialogs/qprintpreviewdialog.cpp rename to src/printsupport/dialogs/qprintpreviewdialog.cpp index af53b9d..55ebc19 100644 --- a/src/widgets/dialogs/qprintpreviewdialog.cpp +++ b/src/printsupport/dialogs/qprintpreviewdialog.cpp @@ -50,8 +50,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/src/widgets/dialogs/qprintpreviewdialog.h b/src/printsupport/dialogs/qprintpreviewdialog.h similarity index 100% rename from src/widgets/dialogs/qprintpreviewdialog.h rename to src/printsupport/dialogs/qprintpreviewdialog.h diff --git a/src/widgets/dialogs/qprintpropertieswidget.ui b/src/printsupport/dialogs/qprintpropertieswidget.ui similarity index 100% rename from src/widgets/dialogs/qprintpropertieswidget.ui rename to src/printsupport/dialogs/qprintpropertieswidget.ui diff --git a/src/widgets/dialogs/qprintsettingsoutput.ui b/src/printsupport/dialogs/qprintsettingsoutput.ui similarity index 100% rename from src/widgets/dialogs/qprintsettingsoutput.ui rename to src/printsupport/dialogs/qprintsettingsoutput.ui diff --git a/src/widgets/dialogs/qprintwidget.ui b/src/printsupport/dialogs/qprintwidget.ui similarity index 100% rename from src/widgets/dialogs/qprintwidget.ui rename to src/printsupport/dialogs/qprintwidget.ui diff --git a/src/gui/printsupport/printsupport.pri b/src/printsupport/kernel/kernel.pri similarity index 76% rename from src/gui/printsupport/printsupport.pri rename to src/printsupport/kernel/kernel.pri index b477321..3868d9e 100644 --- a/src/gui/printsupport/printsupport.pri +++ b/src/printsupport/kernel/kernel.pri @@ -6,7 +6,8 @@ HEADERS += \ $$PWD/qprinter_p.h \ $$PWD/qprinterinfo.h \ $$PWD/qprinterinfo_p.h \ - $$PWD/qprintabletextdocument.h + $$PWD/qplatformprintplugin_qpa.h \ + $$PWD/qplatformprintersupport_qpa.h SOURCES += \ $$PWD/qpaintengine_alpha.cpp \ @@ -14,7 +15,8 @@ SOURCES += \ $$PWD/qprintengine_pdf.cpp \ $$PWD/qprinter.cpp \ $$PWD/qprinterinfo.cpp \ - $$PWD/qprintabletextdocument.cpp + $$PWD/qplatformprintplugin.cpp \ + $$PWD/qplatformprintersupport_qpa.cpp unix:!symbian { HEADERS += \ @@ -23,12 +25,6 @@ unix:!symbian { $$PWD/qprinterinfo_unix.cpp } -qpa { - HEADERS += $$PWD/qplatformprintersupport_qpa.h - SOURCES += \ - $$PWD/qplatformprintersupport_qpa.cpp -} - x11|qpa:!win32 { SOURCES += $$PWD/qcups.cpp diff --git a/src/gui/printsupport/qcups.cpp b/src/printsupport/kernel/qcups.cpp similarity index 100% rename from src/gui/printsupport/qcups.cpp rename to src/printsupport/kernel/qcups.cpp diff --git a/src/gui/printsupport/qcups_p.h b/src/printsupport/kernel/qcups_p.h similarity index 99% rename from src/gui/printsupport/qcups_p.h rename to src/printsupport/kernel/qcups_p.h index 6b6a55a..33a4e26 100644 --- a/src/gui/printsupport/qcups_p.h +++ b/src/printsupport/kernel/qcups_p.h @@ -55,7 +55,7 @@ #include "QtCore/qstring.h" #include "QtCore/qstringlist.h" #include "QtCore/qpair.h" -#include "QtGui/qprinter.h" +#include "QtPrintSupport/qprinter.h" #ifndef QT_NO_CUPS #include diff --git a/src/gui/printsupport/qpaintengine_alpha.cpp b/src/printsupport/kernel/qpaintengine_alpha.cpp similarity index 100% rename from src/gui/printsupport/qpaintengine_alpha.cpp rename to src/printsupport/kernel/qpaintengine_alpha.cpp diff --git a/src/gui/printsupport/qpaintengine_alpha_p.h b/src/printsupport/kernel/qpaintengine_alpha_p.h similarity index 100% rename from src/gui/printsupport/qpaintengine_alpha_p.h rename to src/printsupport/kernel/qpaintengine_alpha_p.h diff --git a/src/gui/printsupport/qpaintengine_preview.cpp b/src/printsupport/kernel/qpaintengine_preview.cpp similarity index 99% rename from src/gui/printsupport/qpaintengine_preview.cpp rename to src/printsupport/kernel/qpaintengine_preview.cpp index d3b7756..3cf06f5 100644 --- a/src/gui/printsupport/qpaintengine_preview.cpp +++ b/src/printsupport/kernel/qpaintengine_preview.cpp @@ -44,7 +44,7 @@ #include #include -#include +#include #include #include diff --git a/src/gui/printsupport/qpaintengine_preview_p.h b/src/printsupport/kernel/qpaintengine_preview_p.h similarity index 98% rename from src/gui/printsupport/qpaintengine_preview_p.h rename to src/printsupport/kernel/qpaintengine_preview_p.h index 902a03b..c2e1131 100644 --- a/src/gui/printsupport/qpaintengine_preview_p.h +++ b/src/printsupport/kernel/qpaintengine_preview_p.h @@ -55,7 +55,7 @@ // #include -#include +#include #ifndef QT_NO_PRINTPREVIEWWIDGET diff --git a/src/gui/printsupport/qplatformprintersupport_qpa.cpp b/src/printsupport/kernel/qplatformprintersupport_qpa.cpp similarity index 98% rename from src/gui/printsupport/qplatformprintersupport_qpa.cpp rename to src/printsupport/kernel/qplatformprintersupport_qpa.cpp index 9fb25c9..3c11b33 100644 --- a/src/gui/printsupport/qplatformprintersupport_qpa.cpp +++ b/src/printsupport/kernel/qplatformprintersupport_qpa.cpp @@ -41,7 +41,7 @@ #include "qplatformprintersupport_qpa.h" -#include +#include #include diff --git a/src/gui/printsupport/qplatformprintersupport_qpa.h b/src/printsupport/kernel/qplatformprintersupport_qpa.h similarity index 98% rename from src/gui/printsupport/qplatformprintersupport_qpa.h rename to src/printsupport/kernel/qplatformprintersupport_qpa.h index 90dd260..3fe4ff0 100644 --- a/src/gui/printsupport/qplatformprintersupport_qpa.h +++ b/src/printsupport/kernel/qplatformprintersupport_qpa.h @@ -42,7 +42,7 @@ #ifndef QPLATFORMPRINTINGSUPPORT_H #define QPLATFORMPRINTINGSUPPORT_H -#include +#include QT_BEGIN_HEADER diff --git a/src/printsupport/kernel/qplatformprintplugin.cpp b/src/printsupport/kernel/qplatformprintplugin.cpp new file mode 100644 index 0000000..8b3c751 --- /dev/null +++ b/src/printsupport/kernel/qplatformprintplugin.cpp @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qplatformprintplugin_qpa.h" +#include "private/qfactoryloader_p.h" + +QT_BEGIN_NAMESPACE + +#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS) +Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, + (QPlatformPrinterSupportFactoryInterface_iid, QLatin1String("/printsupport"), Qt::CaseInsensitive)) +#endif + +QPlatformPrinterSupportPlugin::QPlatformPrinterSupportPlugin(QObject *parent) + : QObject(parent) +{ +} + +QPlatformPrinterSupportPlugin::~QPlatformPrinterSupportPlugin() +{ +} + +QPlatformPrinterSupport *QPlatformPrinterSupportPlugin::get() +{ + QStringList k = loader()->keys(); + if (k.isEmpty()) + return 0; + QPlatformPrinterSupportPlugin *plugin = qobject_cast(loader()->instance(k.first())); + if (!plugin) + return 0; + return plugin->create(k.first()); +} + +QT_END_NAMESPACE diff --git a/src/printsupport/kernel/qplatformprintplugin_qpa.h b/src/printsupport/kernel/qplatformprintplugin_qpa.h new file mode 100644 index 0000000..7c7e329 --- /dev/null +++ b/src/printsupport/kernel/qplatformprintplugin_qpa.h @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QPLATFORMPRINTERSUPPORTPLUGIN_H +#define QPLATFORMPRINTERSUPPORTPLUGIN_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +class QPlatformPrinterSupport; + +struct QPlatformPrinterSupportFactoryInterface : public QFactoryInterface +{ + virtual QPlatformPrinterSupport *create(const QString &key) = 0; +}; + +#define QPlatformPrinterSupportFactoryInterface_iid "org.qt-project.QPlatformPrinterSupportFactoryInterface" + +Q_DECLARE_INTERFACE(QPlatformPrinterSupportFactoryInterface, QPlatformPrinterSupportFactoryInterface_iid) + +class Q_GUI_EXPORT QPlatformPrinterSupportPlugin : public QObject, public QPlatformPrinterSupportFactoryInterface +{ + Q_OBJECT + Q_INTERFACES(QPlatformPrinterSupportFactoryInterface:QFactoryInterface) +public: + explicit QPlatformPrinterSupportPlugin(QObject *parent = 0); + ~QPlatformPrinterSupportPlugin(); + + virtual QStringList keys() const = 0; + virtual QPlatformPrinterSupport *create(const QString &key) = 0; + + static QPlatformPrinterSupport *get(); +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QPLATFORMPRINTERSUPPORTPLUGIN_H diff --git a/src/gui/printsupport/qprintengine.h b/src/printsupport/kernel/qprintengine.h similarity index 98% rename from src/gui/printsupport/qprintengine.h rename to src/printsupport/kernel/qprintengine.h index da4fe2a..550079d 100644 --- a/src/gui/printsupport/qprintengine.h +++ b/src/printsupport/kernel/qprintengine.h @@ -43,7 +43,7 @@ #define QPRINTENGINE_H #include -#include +#include QT_BEGIN_HEADER diff --git a/src/gui/printsupport/qprintengine_pdf.cpp b/src/printsupport/kernel/qprintengine_pdf.cpp similarity index 99% rename from src/gui/printsupport/qprintengine_pdf.cpp rename to src/printsupport/kernel/qprintengine_pdf.cpp index 1f4baf1..eb1bf16 100644 --- a/src/gui/printsupport/qprintengine_pdf.cpp +++ b/src/printsupport/kernel/qprintengine_pdf.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include +#include #include #include diff --git a/src/gui/printsupport/qprintengine_pdf_p.h b/src/printsupport/kernel/qprintengine_pdf_p.h similarity index 99% rename from src/gui/printsupport/qprintengine_pdf_p.h rename to src/printsupport/kernel/qprintengine_pdf_p.h index 65e8428..e27adda 100644 --- a/src/gui/printsupport/qprintengine_pdf_p.h +++ b/src/printsupport/kernel/qprintengine_pdf_p.h @@ -53,7 +53,7 @@ // We mean it. // -#include "QtGui/qprintengine.h" +#include "QtPrintSupport/qprintengine.h" #ifndef QT_NO_PRINTER #include "QtCore/qmap.h" diff --git a/src/gui/printsupport/qprinter.cpp b/src/printsupport/kernel/qprinter.cpp similarity index 99% rename from src/gui/printsupport/qprinter.cpp rename to src/printsupport/kernel/qprinter.cpp index 112f501..72522b3 100644 --- a/src/gui/printsupport/qprinter.cpp +++ b/src/printsupport/kernel/qprinter.cpp @@ -53,7 +53,7 @@ #ifndef QT_NO_PRINTER #include -#include +#include #if defined (Q_WS_WIN) #include diff --git a/src/gui/printsupport/qprinter.h b/src/printsupport/kernel/qprinter.h similarity index 100% rename from src/gui/printsupport/qprinter.h rename to src/printsupport/kernel/qprinter.h diff --git a/src/gui/printsupport/qprinter_p.h b/src/printsupport/kernel/qprinter_p.h similarity index 97% rename from src/gui/printsupport/qprinter_p.h rename to src/printsupport/kernel/qprinter_p.h index 2ba0f0d..1d5660e 100644 --- a/src/gui/printsupport/qprinter_p.h +++ b/src/printsupport/kernel/qprinter_p.h @@ -58,8 +58,8 @@ #ifndef QT_NO_PRINTER -#include "QtGui/qprinter.h" -#include "QtGui/qprintengine.h" +#include "QtPrintSupport/qprinter.h" +#include "QtPrintSupport/qprintengine.h" #include "QtCore/qpointer.h" #include diff --git a/src/gui/printsupport/qprinterinfo.cpp b/src/printsupport/kernel/qprinterinfo.cpp similarity index 98% rename from src/gui/printsupport/qprinterinfo.cpp rename to src/printsupport/kernel/qprinterinfo.cpp index 0049bd2..e48db44 100644 --- a/src/gui/printsupport/qprinterinfo.cpp +++ b/src/printsupport/kernel/qprinterinfo.cpp @@ -31,7 +31,7 @@ #ifndef QT_NO_PRINTER #include -#include +#include QT_BEGIN_NAMESPACE diff --git a/src/gui/printsupport/qprinterinfo.h b/src/printsupport/kernel/qprinterinfo.h similarity index 98% rename from src/gui/printsupport/qprinterinfo.h rename to src/printsupport/kernel/qprinterinfo.h index 72082cf..f00503f 100644 --- a/src/gui/printsupport/qprinterinfo.h +++ b/src/printsupport/kernel/qprinterinfo.h @@ -44,7 +44,7 @@ #include -#include +#include QT_BEGIN_HEADER diff --git a/src/gui/printsupport/qprinterinfo_p.h b/src/printsupport/kernel/qprinterinfo_p.h similarity index 100% rename from src/gui/printsupport/qprinterinfo_p.h rename to src/printsupport/kernel/qprinterinfo_p.h diff --git a/src/gui/printsupport/qprinterinfo_unix.cpp b/src/printsupport/kernel/qprinterinfo_unix.cpp similarity index 100% rename from src/gui/printsupport/qprinterinfo_unix.cpp rename to src/printsupport/kernel/qprinterinfo_unix.cpp diff --git a/src/gui/printsupport/qprinterinfo_unix_p.h b/src/printsupport/kernel/qprinterinfo_unix_p.h similarity index 99% rename from src/gui/printsupport/qprinterinfo_unix_p.h rename to src/printsupport/kernel/qprinterinfo_unix_p.h index f8721de..c12aa39 100644 --- a/src/gui/printsupport/qprinterinfo_unix_p.h +++ b/src/printsupport/kernel/qprinterinfo_unix_p.h @@ -42,7 +42,7 @@ #ifndef QPRINTERINFO_UNIX_P_H #define QPRINTERINFO_UNIX_P_H -#include +#include #include #ifndef QT_NO_NIS diff --git a/src/printsupport/printsupport.pro b/src/printsupport/printsupport.pro new file mode 100644 index 0000000..0aa92a9 --- /dev/null +++ b/src/printsupport/printsupport.pro @@ -0,0 +1,22 @@ +load(qt_module) + +TARGET = QtPrintSupport +QPRO_PWD = $$PWD +QT = core-private gui-private widgets-private + +CONFIG += module +MODULE_PRI = ../modules/qt_printsupport.pri + +DEFINES += QT_BUILD_PRINTSUPPORT_LIB QT_NO_USING_NAMESPACE + +unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui + +load(qt_module_config) + +HEADERS += $$QT_SOURCE_TREE/src/printsupport/qtprintsupportversion.h + +QMAKE_LIBS += $$QMAKE_LIBS_PRINTSUPPORT + +include(kernel/kernel.pri) +include(widgets/widgets.pri) +include(dialogs/dialogs.pri) diff --git a/src/widgets/widgets/qprintpreviewwidget.cpp b/src/printsupport/widgets/qprintpreviewwidget.cpp similarity index 100% rename from src/widgets/widgets/qprintpreviewwidget.cpp rename to src/printsupport/widgets/qprintpreviewwidget.cpp diff --git a/src/widgets/widgets/qprintpreviewwidget.h b/src/printsupport/widgets/qprintpreviewwidget.h similarity index 99% rename from src/widgets/widgets/qprintpreviewwidget.h rename to src/printsupport/widgets/qprintpreviewwidget.h index 87c908a..6a90755 100644 --- a/src/widgets/widgets/qprintpreviewwidget.h +++ b/src/printsupport/widgets/qprintpreviewwidget.h @@ -43,7 +43,7 @@ #define QPRINTPREVIEWWIDGET_H #include -#include +#include #ifndef QT_NO_PRINTPREVIEWWIDGET diff --git a/src/printsupport/widgets/widgets.pri b/src/printsupport/widgets/widgets.pri new file mode 100644 index 0000000..40eb306 --- /dev/null +++ b/src/printsupport/widgets/widgets.pri @@ -0,0 +1,2 @@ +HEADERS += widgets/qprintpreviewwidget.h +SOURCES += widgets/qprintpreviewwidget.cpp diff --git a/src/src.pro b/src/src.pro index e9e32db..8c3c3cc 100644 --- a/src/src.pro +++ b/src/src.pro @@ -10,7 +10,7 @@ SRC_SUBDIRS += src_corelib !cross_compile { win32:!wince*: SRC_SUBDIRS += src_tools_idc } -SRC_SUBDIRS += src_network src_sql src_gui src_xml src_uitools src_widgets src_testlib src_platformsupport +SRC_SUBDIRS += src_network src_sql src_gui src_xml src_uitools src_printsupport src_widgets src_testlib src_platformsupport nacl: SRC_SUBDIRS -= src_network src_testlib !symbian:contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus contains(QT_CONFIG, no-gui): SRC_SUBDIRS -= src_gui @@ -48,6 +48,8 @@ src_plugins.subdir = $$QT_SOURCE_TREE/src/plugins src_plugins.target = sub-plugins src_widgets.subdir = $$QT_SOURCE_TREE/src/widgets src_widgets.target = sub-widgets +src_printsupport.subdir = $$QT_SOURCE_TREE/src/printsupport +src_printsupport.target = sub-printsupport src_testlib.subdir = $$QT_SOURCE_TREE/src/testlib src_testlib.target = sub-testlib src_platformsupport.subdir = $$QT_SOURCE_TREE/src/platformsupport @@ -58,7 +60,8 @@ src_platformsupport.target = sub-platformsupport !wince*:!ordered:!symbian-abld:!symbian-sbsv2 { src_corelib.depends = src_tools_moc src_tools_rcc src_gui.depends = src_corelib - src_widgets.depends = src_corelib src_gui src_tools_uic + src_printsupport.depends = src_corelib src_gui + src_widgets.depends = src_corelib src_gui src_printsupport src_tools_uic embedded: src_gui.depends += src_network src_xml.depends = src_corelib src_uitools.depends = src_corelib src_widgets diff --git a/src/widgets/dialogs/dialogs.pri b/src/widgets/dialogs/dialogs.pri index fdbca91..41d81b8 100644 --- a/src/widgets/dialogs/dialogs.pri +++ b/src/widgets/dialogs/dialogs.pri @@ -1,10 +1,6 @@ # Qt dialogs module HEADERS += \ - dialogs/qabstractprintdialog.h \ - dialogs/qabstractprintdialog_p.h \ - dialogs/qabstractpagesetupdialog.h \ - dialogs/qabstractpagesetupdialog_p.h \ dialogs/qcolordialog.h \ dialogs/qcolordialog_p.h \ dialogs/qfscompleter_p.h \ @@ -17,22 +13,17 @@ HEADERS += \ dialogs/qfontdialog_p.h \ dialogs/qinputdialog.h \ dialogs/qmessagebox.h \ - dialogs/qpagesetupdialog.h \ - dialogs/qprintdialog.h \ dialogs/qprogressdialog.h \ dialogs/qsidebar_p.h \ dialogs/qfilesystemmodel.h \ dialogs/qfilesystemmodel_p.h \ dialogs/qfileinfogatherer_p.h \ - dialogs/qwizard.h \ - dialogs/qprintpreviewdialog.h + dialogs/qwizard.h !qpa:mac { OBJECTIVE_SOURCES += dialogs/qfiledialog_mac.mm \ dialogs/qfontdialog_mac.mm \ - dialogs/qnspanelproxy_mac.mm \ - dialogs/qpagesetupdialog_mac.mm \ - dialogs/qprintdialog_mac.mm + dialogs/qnspanelproxy_mac.mm # Compile qcolordialog_mac.mm with exception support, disregarding the -no-exceptions # configure option. (qcolordialog_mac needs to catch exceptions thrown by cocoa) @@ -56,29 +47,16 @@ win32 { dialogs/qfiledialog_win_p.h SOURCES += dialogs/qdialogsbinarycompat_win.cpp \ dialogs/qfiledialog_win.cpp \ - dialogs/qpagesetupdialog_win.cpp \ - dialogs/qprintdialog_win.cpp \ dialogs/qwizard_win.cpp !win32-borland:!wince*: LIBS += -lshell32 # the filedialog needs this library } -!mac:!symbian:unix|qpa:!win32 { - HEADERS += dialogs/qpagesetupdialog_unix_p.h - SOURCES += dialogs/qprintdialog_unix.cpp \ - dialogs/qpagesetupdialog_unix.cpp - FORMS += dialogs/qprintsettingsoutput.ui \ - dialogs/qprintwidget.ui \ - dialogs/qprintpropertieswidget.ui -} - wince*|symbian: FORMS += dialogs/qfiledialog_embedded.ui else: FORMS += dialogs/qfiledialog.ui INCLUDEPATH += $$PWD SOURCES += \ - dialogs/qabstractprintdialog.cpp \ - dialogs/qabstractpagesetupdialog.cpp \ dialogs/qcolordialog.cpp \ dialogs/qdialog.cpp \ dialogs/qerrormessage.cpp \ @@ -90,9 +68,7 @@ SOURCES += \ dialogs/qsidebar.cpp \ dialogs/qfilesystemmodel.cpp \ dialogs/qfileinfogatherer.cpp \ - dialogs/qpagesetupdialog.cpp \ dialogs/qwizard.cpp \ - dialogs/qprintpreviewdialog.cpp symbian:contains(QT_CONFIG, s60) { LIBS += -lCommonDialogs @@ -100,8 +76,6 @@ symbian:contains(QT_CONFIG, s60) { dialogs/qcolordialog_symbian.cpp } -FORMS += dialogs/qpagesetupwidget.ui -RESOURCES += dialogs/qprintdialog.qrc RESOURCES += dialogs/qmessagebox.qrc # Compensate for lack of platform defines in Symbian3 diff --git a/src/widgets/dialogs/qfscompleter_p.h b/src/widgets/dialogs/qfscompleter_p.h index a449f19..e078542 100644 --- a/src/widgets/dialogs/qfscompleter_p.h +++ b/src/widgets/dialogs/qfscompleter_p.h @@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE /*! QCompleter that can deal with QFileSystemModel */ -class QFSCompleter : public QCompleter { +class Q_WIDGETS_EXPORT QFSCompleter : public QCompleter { public: QFSCompleter(QFileSystemModel *model, QObject *parent = 0) : QCompleter(model, parent), proxyModel(0), sourceModel(model) diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index f5cb04c..a8ac1a1 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -141,10 +141,6 @@ static void initResources() #endif Q_INIT_RESOURCE_EXTERN(qmessagebox) Q_INIT_RESOURCE(qmessagebox); -#if !defined(QT_NO_PRINTDIALOG) - Q_INIT_RESOURCE_EXTERN(qprintdialog) - Q_INIT_RESOURCE(qprintdialog); -#endif } diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 69c8023..e4b5478 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -81,8 +81,8 @@ HEADERS += \ widgets/qwidgetlinecontrol_p.h \ widgets/qtoolbararealayout_p.h \ widgets/qplaintextedit.h \ - widgets/qplaintextedit_p.h \ - widgets/qprintpreviewwidget.h + widgets/qplaintextedit_p.h + SOURCES += \ widgets/qabstractbutton.cpp \ widgets/qabstractslider.cpp \ @@ -142,8 +142,7 @@ SOURCES += \ widgets/qwidgettextcontrol.cpp \ widgets/qwidgetlinecontrol.cpp \ widgets/qtoolbararealayout.cpp \ - widgets/qplaintextedit.cpp \ - widgets/qprintpreviewwidget.cpp + widgets/qplaintextedit.cpp !qpa:mac { HEADERS += widgets/qmacnativewidget_mac.h \ diff --git a/sync.profile b/sync.profile index 6d88ced..c830612 100644 --- a/sync.profile +++ b/sync.profile @@ -1,6 +1,7 @@ %modules = ( # path to module name map "QtGui" => "$basedir/src/gui", "QtWidgets" => "$basedir/src/widgets", + "QtPrintSupport" => "$basedir/src/printsupport", "QtOpenGL" => "$basedir/src/opengl", "QtCore" => "$basedir/src/corelib", "QtXml" => "$basedir/src/xml", @@ -42,6 +43,7 @@ %mastercontent = ( "core" => "#include \n", "gui" => "#include \n", + "printsupport" => "#include \n", "widgets" => "#include \n", "network" => "#include \n", "opengl" => "#include \n", @@ -53,6 +55,7 @@ "QtCore" => "$basedir/src/modules/qt_core.pri", "QtDBus" => "$basedir/src/modules/qt_dbus.pri", "QtGui" => "$basedir/src/modules/qt_gui.pri", + "QtPrintSupport" => "$basedir/src/modules/qt_printsupport.pri", "QtWidgets" => "$basedir/src/modules/qt_widgets.pri", "QtNetwork" => "$basedir/src/modules/qt_network.pri", "QtOpenGL" => "$basedir/src/modules/qt_opengl.pri", diff --git a/tests/auto/qprinter/qprinter.pro b/tests/auto/qprinter/qprinter.pro index 52ffca0..cbe4ad7 100644 --- a/tests/auto/qprinter/qprinter.pro +++ b/tests/auto/qprinter/qprinter.pro @@ -1,5 +1,5 @@ load(qttest_p4) -QT += widgets +QT += printsupport widgets SOURCES += tst_qprinter.cpp mac*:CONFIG+=insignificant_test diff --git a/tests/auto/qprinterinfo/qprinterinfo.pro b/tests/auto/qprinterinfo/qprinterinfo.pro index ade217f..1bf799d 100644 --- a/tests/auto/qprinterinfo/qprinterinfo.pro +++ b/tests/auto/qprinterinfo/qprinterinfo.pro @@ -1,7 +1,7 @@ load(qttest_p4) SOURCES += tst_qprinterinfo.cpp -QT += network +QT += printsupport network DEFINES += QT_USE_USING_NAMESPACE -- 2.7.4