summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@nokia.com>2011-10-24 09:25:32 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-25 15:55:10 +0200
commit318a274381c441b13ce67517cad3fd74985c73a8 (patch)
tree3b845a73ea431267f565a4d4a88b5aeb16ff9672 /src/printsupport/dialogs
parent54c132480b171518328f39bcf3f0faf0ea50ef0b (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.pri2
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_win.cpp10
-rw-r--r--src/printsupport/dialogs/qprintdialog_win.cpp13
-rw-r--r--src/printsupport/dialogs/qprintpreviewdialog.cpp4
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;