summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs/qpagesetupdialog_win.cpp
diff options
context:
space:
mode:
authorJohn Layt <jlayt@kde.org>2014-01-20 15:40:23 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-26 12:58:00 +0100
commitf05e48381b309447297a290f699a3389ac41af41 (patch)
treeec69b3247b7db8f48ef782feea03f4a120e08a69 /src/printsupport/dialogs/qpagesetupdialog_win.cpp
parent5ddc5df3501675fc4cd2a6994b46b00969b7c02c (diff)
QPrintEngine - Improve devMode handling
Improve the sharing of the devMode between the QPrintEngine and the print dialogs, in particular start to change the dialogs from directly accessing the QPrintEngine internals. Change-Id: Ieb4649c19b936433c85207297a0b6e59356c3880 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/printsupport/dialogs/qpagesetupdialog_win.cpp')
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_win.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog_win.cpp b/src/printsupport/dialogs/qpagesetupdialog_win.cpp
index 688f4ac314..345e698b82 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_win.cpp
+++ b/src/printsupport/dialogs/qpagesetupdialog_win.cpp
@@ -82,7 +82,7 @@ int QPageSetupDialog::exec()
// we need a temp DEVMODE struct if we don't have a global DEVMODE
HGLOBAL hDevMode = 0;
int devModeSize = 0;
- if (!ep->globalDevMode) {
+ if (!engine->globalDevMode()) {
devModeSize = sizeof(DEVMODE) + ep->devMode->dmDriverExtra;
hDevMode = GlobalAlloc(GHND, devModeSize);
if (hDevMode) {
@@ -92,10 +92,10 @@ int QPageSetupDialog::exec()
}
psd.hDevMode = hDevMode;
} else {
- psd.hDevMode = ep->devMode;
+ psd.hDevMode = engine->globalDevMode();
}
- HGLOBAL *tempDevNames = ep->createDevNames();
+ HGLOBAL *tempDevNames = engine->createGlobalDevNames();
psd.hDevNames = tempDevNames;
QWidget *parent = parentWidget();
@@ -129,8 +129,7 @@ int QPageSetupDialog::exec()
bool result = PageSetupDlg(&psd);
QDialog::setVisible(false);
if (result) {
- ep->readDevnames(psd.hDevNames);
- ep->readDevmode(psd.hDevMode);
+ engine->setGlobalDevMode(psd.hDevNames, psd.hDevMode);
QRect theseMargins = QRect(psd.rtMargin.left * multiplier,
psd.rtMargin.top * multiplier,
@@ -144,17 +143,15 @@ int QPageSetupDialog::exec()
psd.rtMargin.bottom * multiplier);
}
- ep->updateCustomPaperSize();
-
// copy from our temp DEVMODE struct
- if (!ep->globalDevMode && hDevMode) {
+ if (!engine->globalDevMode() && hDevMode) {
void *src = GlobalLock(hDevMode);
memcpy(ep->devMode, src, devModeSize);
GlobalUnlock(hDevMode);
}
}
- if (!ep->globalDevMode && hDevMode)
+ if (!engine->globalDevMode() && hDevMode)
GlobalFree(hDevMode);
GlobalFree(tempDevNames);
done(result);