diff options
author | Oliver Wolff <oliver.wolff@nokia.com> | 2011-10-24 09:25:32 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-25 15:55:10 +0200 |
commit | 318a274381c441b13ce67517cad3fd74985c73a8 (patch) | |
tree | 3b845a73ea431267f565a4d4a88b5aeb16ff9672 /src/printsupport/dialogs | |
parent | 54c132480b171518328f39bcf3f0faf0ea50ef0b (diff) |
Readded PrintSupport for Windows
The prepared plugin architecture for
printing support was used as much as
possible but some functionality had to
be done in src/printsupport.
Change-Id: Ic8446cb8018a0970b4da97c1912ba6dc20d2a09f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/printsupport/dialogs')
-rw-r--r-- | src/printsupport/dialogs/dialogs.pri | 2 | ||||
-rw-r--r-- | src/printsupport/dialogs/qpagesetupdialog_win.cpp | 10 | ||||
-rw-r--r-- | src/printsupport/dialogs/qprintdialog_win.cpp | 13 | ||||
-rw-r--r-- | src/printsupport/dialogs/qprintpreviewdialog.cpp | 4 |
4 files changed, 16 insertions, 13 deletions
diff --git a/src/printsupport/dialogs/dialogs.pri b/src/printsupport/dialogs/dialogs.pri index 5dbaa9fec3..8d4f7b83ef 100644 --- a/src/printsupport/dialogs/dialogs.pri +++ b/src/printsupport/dialogs/dialogs.pri @@ -16,8 +16,6 @@ HEADERS += \ } win32 { - qpa:DEFINES += QT_NO_PRINTDIALOG - SOURCES += dialogs/qpagesetupdialog_win.cpp \ dialogs/qprintdialog_win.cpp } diff --git a/src/printsupport/dialogs/qpagesetupdialog_win.cpp b/src/printsupport/dialogs/qpagesetupdialog_win.cpp index 2e7cf860fc..d21bbb1a36 100644 --- a/src/printsupport/dialogs/qpagesetupdialog_win.cpp +++ b/src/printsupport/dialogs/qpagesetupdialog_win.cpp @@ -44,8 +44,10 @@ #ifndef QT_NO_PRINTDIALOG #include <qapplication.h> -#include <private/qprintengine_win_p.h> -#include <private/qabstractpagesetupdialog_p.h> +#include "../kernel/qprintengine_win_p.h" +#include "qabstractpagesetupdialog_p.h" +#include "qprinter.h" +#include <QtGui/qplatformnativeinterface_qpa.h> QT_BEGIN_NAMESPACE @@ -99,7 +101,9 @@ int QPageSetupDialog::exec() QWidget *parent = parentWidget(); parent = parent ? parent->window() : QApplication::activeWindow(); Q_ASSERT(!parent ||parent->testAttribute(Qt::WA_WState_Created)); - psd.hwndOwner = parent ? parent->winId() : 0; + + QWindow *parentWindow = parent->windowHandle(); + psd.hwndOwner = parentWindow ? (HWND)QGuiApplication::platformNativeInterface()->nativeResourceForWindow("handle", parentWindow) : 0; QRect paperRect = d->printer->paperRect(); QRect pageRect = d->printer->pageRect(); diff --git a/src/printsupport/dialogs/qprintdialog_win.cpp b/src/printsupport/dialogs/qprintdialog_win.cpp index c8d92d45f2..d413faeb18 100644 --- a/src/printsupport/dialogs/qprintdialog_win.cpp +++ b/src/printsupport/dialogs/qprintdialog_win.cpp @@ -48,9 +48,9 @@ #include <qmessagebox.h> #include <private/qapplication_p.h> -#include <private/qabstractprintdialog_p.h> -#include <private/qprintengine_win_p.h> -#include <private/qprinter_p.h> +#include "qabstractprintdialog_p.h" +#include "../kernel/qprintengine_win_p.h" +#include "../kernel/qprinter_p.h" #if !defined(PD_NOCURRENTPAGE) #define PD_NOCURRENTPAGE 0x00800000 @@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE -extern void qt_win_eatMouseMove(); +//extern void qt_win_eatMouseMove(); class QPrintDialogPrivate : public QAbstractPrintDialogPrivate { @@ -142,7 +142,8 @@ static void qt_win_setup_PRINTDLGEX(PRINTDLGEX *pd, QWidget *parent, if (d->ep->printToFile) pd->Flags |= PD_PRINTTOFILE; Q_ASSERT(parent); - pd->hwndOwner = parent->window()->winId(); + QWindow *parentWindow = parent->windowHandle(); + pd->hwndOwner = parentWindow ? (HWND)QGuiApplication::platformNativeInterface()->nativeResourceForWindow("handle", parentWindow) : 0; pd->lpPageRanges[0].nFromPage = qMax(pdlg->fromPage(), pdlg->minPage()); pd->lpPageRanges[0].nToPage = (pdlg->toPage() > 0) ? qMin(pdlg->toPage(), pdlg->maxPage()) : 1; pd->nCopies = d->ep->num_copies; @@ -275,7 +276,7 @@ int QPrintDialogPrivate::openWindowsPrintDialogModally() QApplicationPrivate::leaveModal(&modal_widget); - qt_win_eatMouseMove(); +// qt_win_eatMouseMove(); // write values back... if (result && (pd.dwResultAction == PD_RESULT_PRINT diff --git a/src/printsupport/dialogs/qprintpreviewdialog.cpp b/src/printsupport/dialogs/qprintpreviewdialog.cpp index 90e29ac7ca..7e5c7dac94 100644 --- a/src/printsupport/dialogs/qprintpreviewdialog.cpp +++ b/src/printsupport/dialogs/qprintpreviewdialog.cpp @@ -331,7 +331,7 @@ void QPrintPreviewDialogPrivate::init(QPrinter *_printer) q->setWindowTitle(caption); if (!printer->isValid() -#if defined(Q_WS_WIN) || defined(Q_WS_MAC) +#if defined(Q_OS_WIN) || defined(Q_OS_MAC) || printer->outputFormat() != QPrinter::NativeFormat #endif ) @@ -560,7 +560,7 @@ void QPrintPreviewDialogPrivate::_q_print() { Q_Q(QPrintPreviewDialog); -#if defined(Q_WS_WIN) || defined(Q_WS_MAC) +#if defined(Q_OS_WIN) || defined(Q_WS_MAC) if (printer->outputFormat() != QPrinter::NativeFormat) { QString title; QString suffix; |