summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-05-04 15:53:10 +0200
committerLars Knoll <lars.knoll@nokia.com>2011-05-04 15:53:52 +0200
commitb22f3a086e92535aed6a65b2f7072598536cd32c (patch)
treef80504b97c32bc376552551602bbd175bc8a6bae /src/gui
parent7196329d3223dada63fe799b69e19361aa99857e (diff)
separate QPrinter and QPrintDialog
Removed all dependencies QPrinter had on QPrintDialog.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/dialogs/qabstractprintdialog.cpp28
-rw-r--r--src/gui/dialogs/qabstractprintdialog.h1
-rw-r--r--src/gui/dialogs/qabstractprintdialog_p.h4
-rw-r--r--src/gui/dialogs/qprintpreviewdialog.cpp1
-rw-r--r--src/gui/painting/qprinter.cpp6
-rw-r--r--src/gui/painting/qprinter.h2
-rw-r--r--src/gui/painting/qprinter_p.h8
-rw-r--r--src/gui/painting/qprinterinfo_unix.cpp24
8 files changed, 32 insertions, 42 deletions
diff --git a/src/gui/dialogs/qabstractprintdialog.cpp b/src/gui/dialogs/qabstractprintdialog.cpp
index ef46697c2c..004f6877e4 100644
--- a/src/gui/dialogs/qabstractprintdialog.cpp
+++ b/src/gui/dialogs/qabstractprintdialog.cpp
@@ -149,8 +149,8 @@ QAbstractPrintDialog::~QAbstractPrintDialog()
void QPrintDialog::setOption(PrintDialogOption option, bool on)
{
Q_D(QPrintDialog);
- if (!(d->pd->options & option) != !on)
- setOptions(d->pd->options ^ option);
+ if (!(d->options & option) != !on)
+ setOptions(d->options ^ option);
}
/*!
@@ -162,7 +162,7 @@ void QPrintDialog::setOption(PrintDialogOption option, bool on)
bool QPrintDialog::testOption(PrintDialogOption option) const
{
Q_D(const QPrintDialog);
- return (d->pd->options & option) != 0;
+ return (d->options & option) != 0;
}
/*!
@@ -182,17 +182,17 @@ void QPrintDialog::setOptions(PrintDialogOptions options)
{
Q_D(QPrintDialog);
- PrintDialogOptions changed = (options ^ d->pd->options);
+ PrintDialogOptions changed = (options ^ d->options);
if (!changed)
return;
- d->pd->options = options;
+ d->options = options;
}
QPrintDialog::PrintDialogOptions QPrintDialog::options() const
{
Q_D(const QPrintDialog);
- return d->pd->options;
+ return d->options;
}
/*!
@@ -203,7 +203,7 @@ QPrintDialog::PrintDialogOptions QPrintDialog::options() const
void QAbstractPrintDialog::setEnabledOptions(PrintDialogOptions options)
{
Q_D(QAbstractPrintDialog);
- d->pd->options = options;
+ d->options = options;
}
/*!
@@ -214,7 +214,7 @@ void QAbstractPrintDialog::setEnabledOptions(PrintDialogOptions options)
void QAbstractPrintDialog::addEnabledOption(PrintDialogOption option)
{
Q_D(QAbstractPrintDialog);
- d->pd->options |= option;
+ d->options |= option;
}
/*!
@@ -225,7 +225,7 @@ void QAbstractPrintDialog::addEnabledOption(PrintDialogOption option)
QAbstractPrintDialog::PrintDialogOptions QAbstractPrintDialog::enabledOptions() const
{
Q_D(const QAbstractPrintDialog);
- return d->pd->options;
+ return d->options;
}
/*!
@@ -236,7 +236,7 @@ QAbstractPrintDialog::PrintDialogOptions QAbstractPrintDialog::enabledOptions()
bool QAbstractPrintDialog::isOptionEnabled(PrintDialogOption option) const
{
Q_D(const QAbstractPrintDialog);
- return d->pd->options & option;
+ return d->options & option;
}
/*!
@@ -245,7 +245,7 @@ bool QAbstractPrintDialog::isOptionEnabled(PrintDialogOption option) const
void QAbstractPrintDialog::setPrintRange(PrintRange range)
{
Q_D(QAbstractPrintDialog);
- d->pd->printRange = range;
+ d->pd->printRange = QPrinter::PrintRange(range);
}
/*!
@@ -254,7 +254,7 @@ void QAbstractPrintDialog::setPrintRange(PrintRange range)
QAbstractPrintDialog::PrintRange QAbstractPrintDialog::printRange() const
{
Q_D(const QAbstractPrintDialog);
- return d->pd->printRange;
+ return QAbstractPrintDialog::PrintRange(d->pd->printRange);
}
/*!
@@ -268,7 +268,7 @@ void QAbstractPrintDialog::setMinMax(int min, int max)
"'min' must be less than or equal to 'max'");
d->pd->minPage = min;
d->pd->maxPage = max;
- d->pd->options |= PrintPageRange;
+ d->options |= PrintPageRange;
}
/*!
@@ -343,6 +343,8 @@ void QAbstractPrintDialogPrivate::setPrinter(QPrinter *newPrinter)
if (newPrinter) {
printer = newPrinter;
ownsPrinter = false;
+ if (printer->fromPage() || printer->toPage())
+ options |= QAbstractPrintDialog::PrintPageRange;
} else {
printer = new QPrinter;
ownsPrinter = true;
diff --git a/src/gui/dialogs/qabstractprintdialog.h b/src/gui/dialogs/qabstractprintdialog.h
index 02e7b0ea32..b9ac05ccff 100644
--- a/src/gui/dialogs/qabstractprintdialog.h
+++ b/src/gui/dialogs/qabstractprintdialog.h
@@ -62,6 +62,7 @@ class Q_GUI_EXPORT QAbstractPrintDialog : public QDialog
Q_OBJECT
public:
+ // Keep in sync with QPrinter::PrintRange
enum PrintRange {
AllPages,
Selection,
diff --git a/src/gui/dialogs/qabstractprintdialog_p.h b/src/gui/dialogs/qabstractprintdialog_p.h
index 4de34a2ec3..1b5fa599f0 100644
--- a/src/gui/dialogs/qabstractprintdialog_p.h
+++ b/src/gui/dialogs/qabstractprintdialog_p.h
@@ -73,6 +73,8 @@ class QAbstractPrintDialogPrivate : public QDialogPrivate
public:
QAbstractPrintDialogPrivate()
: printer(0), pd(0), ownsPrinter(false)
+ , options(QAbstractPrintDialog::PrintToFile | QAbstractPrintDialog::PrintPageRange |
+ QAbstractPrintDialog::PrintCollateCopies | QAbstractPrintDialog::PrintShowPageSize)
{
}
@@ -82,6 +84,8 @@ public:
QPointer<QObject> receiverToDisconnectOnClose;
QByteArray memberToDisconnectOnClose;
+ QAbstractPrintDialog::PrintDialogOptions options;
+
virtual void setTabs(const QList<QWidget *> &) {}
void setPrinter(QPrinter *newPrinter);
};
diff --git a/src/gui/dialogs/qprintpreviewdialog.cpp b/src/gui/dialogs/qprintpreviewdialog.cpp
index eb597fb384..950500d739 100644
--- a/src/gui/dialogs/qprintpreviewdialog.cpp
+++ b/src/gui/dialogs/qprintpreviewdialog.cpp
@@ -43,6 +43,7 @@
#include "qprintpreviewwidget.h"
#include <private/qprinter_p.h>
#include "private/qdialog_p.h"
+#include "qprintdialog.h"
#include <QtGui/qaction.h>
#include <QtGui/qboxlayout.h>
diff --git a/src/gui/painting/qprinter.cpp b/src/gui/painting/qprinter.cpp
index 5f93a2c735..e5e254fa68 100644
--- a/src/gui/painting/qprinter.cpp
+++ b/src/gui/painting/qprinter.cpp
@@ -44,7 +44,6 @@
#include "qprintengine.h"
#include "qprinterinfo.h"
#include "qlist.h"
-#include <qpagesetupdialog.h>
#include <qcoreapplication.h>
#include <qfileinfo.h>
#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
@@ -2051,7 +2050,6 @@ void QPrinter::setFromTo(int from, int to)
if (d->minPage == 0 && d->maxPage == 0) {
d->minPage = 1;
d->maxPage = to;
- d->options |= QAbstractPrintDialog::PrintPageRange;
}
}
@@ -2063,7 +2061,7 @@ void QPrinter::setFromTo(int from, int to)
void QPrinter::setPrintRange( PrintRange range )
{
Q_D(QPrinter);
- d->printRange = QAbstractPrintDialog::PrintRange(range);
+ d->printRange = range;
}
/*!
@@ -2078,7 +2076,7 @@ void QPrinter::setPrintRange( PrintRange range )
QPrinter::PrintRange QPrinter::printRange() const
{
Q_D(const QPrinter);
- return PrintRange(d->printRange);
+ return d->printRange;
}
diff --git a/src/gui/painting/qprinter.h b/src/gui/painting/qprinter.h
index 8b4dcb3857..e7a8d309e3 100644
--- a/src/gui/painting/qprinter.h
+++ b/src/gui/painting/qprinter.h
@@ -123,7 +123,7 @@ public:
enum OutputFormat { NativeFormat, PdfFormat };
- // ### Qt 5: Merge with QAbstractPrintDialog::PrintRange
+ // Keep in sync with QAbstractPrintDialog::PrintRange
enum PrintRange { AllPages, Selection, PageRange, CurrentPage };
enum Unit {
diff --git a/src/gui/painting/qprinter_p.h b/src/gui/painting/qprinter_p.h
index 556f0f06c2..f112b882e9 100644
--- a/src/gui/painting/qprinter_p.h
+++ b/src/gui/painting/qprinter_p.h
@@ -60,7 +60,6 @@
#include "QtGui/qprinter.h"
#include "QtGui/qprintengine.h"
-#include "QtGui/qprintdialog.h"
#include "QtCore/qpointer.h"
#include <limits.h>
@@ -79,9 +78,7 @@ public:
: printEngine(0)
, paintEngine(0)
, q_ptr(printer)
- , options(QAbstractPrintDialog::PrintToFile | QAbstractPrintDialog::PrintPageRange |
- QAbstractPrintDialog::PrintCollateCopies | QAbstractPrintDialog::PrintShowPageSize)
- , printRange(QAbstractPrintDialog::AllPages)
+ , printRange(QPrinter::AllPages)
, minPage(1)
, maxPage(INT_MAX)
, fromPage(0)
@@ -118,8 +115,7 @@ public:
QPrinter *q_ptr;
- QAbstractPrintDialog::PrintDialogOptions options;
- QAbstractPrintDialog::PrintRange printRange;
+ QPrinter::PrintRange printRange;
int minPage, maxPage, fromPage, toPage;
uint use_default_engine : 1;
diff --git a/src/gui/painting/qprinterinfo_unix.cpp b/src/gui/painting/qprinterinfo_unix.cpp
index 38e9590b1d..e81f4ad743 100644
--- a/src/gui/painting/qprinterinfo_unix.cpp
+++ b/src/gui/painting/qprinterinfo_unix.cpp
@@ -45,9 +45,9 @@
#include <qfile.h>
#include <qfileinfo.h>
#include <qdir.h>
-#include <qprintdialog.h>
#include <qlibrary.h>
#include <qtextstream.h>
+#include <qcoreapplication.h>
#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
# include <private/qcups_p.h>
@@ -130,10 +130,8 @@ void qt_perhapsAddPrinter(QList<QPrinterDescription> *printers, const QString &n
if (printers->at(i).samePrinter(name))
return;
-#ifndef QT_NO_PRINTDIALOG
if (host.isEmpty())
- host = QPrintDialog::tr("locally connected");
-#endif
+ host = QCoreApplication::translate("QPrinter", "locally connected");
printers->append(QPrinterDescription(name.simplified(), host.simplified(), comment.simplified(), aliases));
}
@@ -153,11 +151,9 @@ void qt_parsePrinterDesc(QString printerDesc, QList<QPrinterDescription> *printe
if (j > 0 && j < i) {
printerName = printerDesc.left(j);
aliases = printerDesc.mid(j + 1, i - j - 1).split(QLatin1Char('|'));
-#ifndef QT_NO_PRINTDIALOG
// try extracting a comment from the aliases
- printerComment = QPrintDialog::tr("Aliases: %1")
+ printerComment = QCoreApplication::translate("QPrinter", "Aliases: %1")
.arg(aliases.join(QLatin1String(", ")));
-#endif
} else {
printerName = printerDesc.left(i);
}
@@ -379,10 +375,8 @@ char *qt_parsePrintersConf(QList<QPrinterDescription> *printers, bool *found)
if (j > 0) {
// try extracting a comment from the aliases
aliases = printerDesc.mid(j + 1, i - j - 1).split(QLatin1Char('|'));
-#ifndef QT_NO_PRINTDIALOG
- printerComment = QPrintDialog::tr("Aliases: %1")
+ printerComment = QCoreApplication::translate("QPrinter", "Aliases: %1")
.arg(aliases.join(QLatin1String(", ")));
-#endif
}
// look for signs of this being a remote printer
i = printerDesc.indexOf(
@@ -593,9 +587,6 @@ void qt_parseEtcLpMember(QList<QPrinterDescription> *printers)
if (dirs.isEmpty())
return;
-#ifdef QT_NO_PRINTDIALOG
- Q_UNUSED(printers);
-#else
QString tmp;
for (int i = 0; i < dirs.size(); ++i) {
QFileInfo printer = dirs.at(i);
@@ -605,10 +596,9 @@ void qt_parseEtcLpMember(QList<QPrinterDescription> *printers)
// decent way to locate aliases and remote printers.
if (printer.isFile())
qt_perhapsAddPrinter(printers, printer.fileName(),
- QPrintDialog::tr("unknown"),
+ QCoreApplication::translate("QPrinter", "unknown"),
QLatin1String(""));
}
-#endif
}
// IRIX 6.x
@@ -801,12 +791,10 @@ int qt_getLprPrinters(QList<QPrinterDescription>& printers)
dollarPrinter = QString::fromLocal8Bit(qgetenv("NPRINTER"));
if (dollarPrinter.isEmpty())
dollarPrinter = QString::fromLocal8Bit(qgetenv("NGPRINTER"));
-#ifndef QT_NO_PRINTDIALOG
if (!dollarPrinter.isEmpty())
qt_perhapsAddPrinter(&printers, dollarPrinter,
- QPrintDialog::tr("unknown"),
+ QCoreApplication::translate("QPrinter", "unknown"),
QLatin1String(""));
-#endif
}
QRegExp ps(QLatin1String("[^a-z]ps(?:[^a-z]|$)"));