summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpagedpaintdevice_p.h
diff options
context:
space:
mode:
authorSzabolcs David <davidsz@inf.u-szeged.hu>2019-04-08 13:25:54 +0200
committerSzabolcs David <davidsz@inf.u-szeged.hu>2020-04-09 16:45:32 +0200
commit926a0886d1961a3f384d3e6c36919e6dd8055dce (patch)
tree8512058bcec7250a4828f9244b4b431c02eecfa7 /src/gui/painting/qpagedpaintdevice_p.h
parent4c66b75c894cf2cc7ec15896729d0f93de92f310 (diff)
Support multiple page ranges in QPrinter
Add a new QRangeCollection type to store and manage multiple page ranges. This moves out the parser and validator logic from the platform dependent (UNIX) dialog and makes it publicly available from QPrinter. This improves the usability of QPrinter in those applications which doesn't use print dialog to configure printer. (e.g.: QTextDocument, QWebEnginePage) Change-Id: I0be5a8a64781c411f83b96a24f216605a84958e5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Diffstat (limited to 'src/gui/painting/qpagedpaintdevice_p.h')
-rw-r--r--src/gui/painting/qpagedpaintdevice_p.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gui/painting/qpagedpaintdevice_p.h b/src/gui/painting/qpagedpaintdevice_p.h
index 3a43bd7828..1717727be4 100644
--- a/src/gui/painting/qpagedpaintdevice_p.h
+++ b/src/gui/painting/qpagedpaintdevice_p.h
@@ -53,6 +53,7 @@
#include <QtGui/private/qtguiglobal_p.h>
#include <qpagedpaintdevice.h>
+#include <qrangecollection.h>
QT_BEGIN_NAMESPACE
@@ -60,8 +61,7 @@ class Q_GUI_EXPORT QPagedPaintDevicePrivate
{
public:
QPagedPaintDevicePrivate()
- : fromPage(0),
- toPage(0),
+ : rangeCollection(new QRangeCollection),
pageOrderAscending(true),
printSelectionOnly(false)
{
@@ -83,8 +83,7 @@ public:
static inline QPagedPaintDevicePrivate *get(QPagedPaintDevice *pd) { return pd->d; }
// These are currently required to keep QPrinter functionality working in QTextDocument::print()
- int fromPage;
- int toPage;
+ QRangeCollection *rangeCollection;
bool pageOrderAscending;
bool printSelectionOnly;
};