summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-08-17 15:44:59 +0200
committerLars Knoll <lars.knoll@nokia.com>2011-08-19 09:16:32 +0200
commita1016213d02c2f562fcf7a22a8fcfb2bd45cd674 (patch)
tree91ee31e7680845d7b038312e36b3c1713bfe72a3 /src
parent699e8fe3a6724dd8288dd6a55b25e070eb198c9d (diff)
Don't rely on QPrinter in widgets
Use the QPagedPaintDevice instead for the current print() methods. Like this we can move the whole printing system into it's own library. Change-Id: I5e23fb3a9304eb3d12aa54959893601566249e23 Reviewed-on: http://codereview.qt.nokia.com/3208 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/dialogs/qprintpreviewdialog.h1
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp4
-rw-r--r--src/widgets/widgets/qplaintextedit.h6
-rw-r--r--src/widgets/widgets/qtextedit.cpp4
-rw-r--r--src/widgets/widgets/qtextedit.h5
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp11
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p.h4
7 files changed, 14 insertions, 21 deletions
diff --git a/src/widgets/dialogs/qprintpreviewdialog.h b/src/widgets/dialogs/qprintpreviewdialog.h
index e02393af2e..fa67f02b93 100644
--- a/src/widgets/dialogs/qprintpreviewdialog.h
+++ b/src/widgets/dialogs/qprintpreviewdialog.h
@@ -54,6 +54,7 @@ QT_MODULE(Gui)
class QGraphicsView;
class QPrintPreviewDialogPrivate;
+class QPrinter;
class Q_WIDGETS_EXPORT QPrintPreviewDialog : public QDialog
{
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp
index 5f65b957fd..7eb78acd82 100644
--- a/src/widgets/widgets/qplaintextedit.cpp
+++ b/src/widgets/widgets/qplaintextedit.cpp
@@ -2512,7 +2512,6 @@ bool QPlainTextEdit::canPaste() const
return d->control->canPaste();
}
-#ifndef QT_NO_PRINTER
/*!
Convenience function to print the text edit's document to the given \a printer. This
is equivalent to calling the print method on the document directly except that this
@@ -2520,12 +2519,11 @@ bool QPlainTextEdit::canPaste() const
\sa QTextDocument::print()
*/
-void QPlainTextEdit::print(QPrinter *printer) const
+void QPlainTextEdit::print(QPagedPaintDevice *printer) const
{
Q_D(const QPlainTextEdit);
d->control->print(printer);
}
-#endif // QT _NO_PRINTER
/*! \property QPlainTextEdit::tabChangesFocus
\brief whether \gui Tab changes focus or is accepted as input
diff --git a/src/widgets/widgets/qplaintextedit.h b/src/widgets/widgets/qplaintextedit.h
index f302275365..d5fa71bbb7 100644
--- a/src/widgets/widgets/qplaintextedit.h
+++ b/src/widgets/widgets/qplaintextedit.h
@@ -64,7 +64,7 @@ class QTextDocument;
class QMenu;
class QPlainTextEditPrivate;
class QMimeData;
-
+class QPagedPaintDevice;
class Q_WIDGETS_EXPORT QPlainTextEdit : public QAbstractScrollArea
{
@@ -177,9 +177,7 @@ public:
bool canPaste() const;
-#ifndef QT_NO_PRINTER
- void print(QPrinter *printer) const;
-#endif
+ void print(QPagedPaintDevice *printer) const;
int blockCount() const;
diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp
index 550db2d2b0..fd36b7284b 100644
--- a/src/widgets/widgets/qtextedit.cpp
+++ b/src/widgets/widgets/qtextedit.cpp
@@ -2285,7 +2285,6 @@ bool QTextEdit::canPaste() const
return d->control->canPaste();
}
-#ifndef QT_NO_PRINTER
/*!
\since 4.3
Convenience function to print the text edit's document to the given \a printer. This
@@ -2294,12 +2293,11 @@ bool QTextEdit::canPaste() const
\sa QTextDocument::print()
*/
-void QTextEdit::print(QPrinter *printer) const
+void QTextEdit::print(QPagedPaintDevice *printer) const
{
Q_D(const QTextEdit);
d->control->print(printer);
}
-#endif // QT _NO_PRINTER
/*! \property QTextEdit::tabChangesFocus
\brief whether \gui Tab changes focus or is accepted as input
diff --git a/src/widgets/widgets/qtextedit.h b/src/widgets/widgets/qtextedit.h
index 793337b969..69f5ac23d5 100644
--- a/src/widgets/widgets/qtextedit.h
+++ b/src/widgets/widgets/qtextedit.h
@@ -66,6 +66,7 @@ class QTextDocument;
class QMenu;
class QTextEditPrivate;
class QMimeData;
+class QPagedPaintDevice;
class Q_WIDGETS_EXPORT QTextEdit : public QAbstractScrollArea
{
@@ -232,9 +233,7 @@ public:
bool canPaste() const;
-#ifndef QT_NO_PRINTER
- void print(QPrinter *printer) const;
-#endif
+ void print(QPagedPaintDevice *printer) const;
public Q_SLOTS:
void setFontPointSize(qreal s);
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 0f241136a5..609a67b27a 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -62,7 +62,7 @@
#include "qtextlist.h"
#include "private/qwidgettextcontrol_p.h"
#include "qgraphicssceneevent.h"
-#include "qprinter.h"
+#include "qpagedpaintdevice.h"
#include "qtextdocumentwriter.h"
#include "private/qtextcursor_p.h"
@@ -2423,14 +2423,15 @@ bool QWidgetTextControl::isWordSelectionEnabled() const
return d->wordSelectionEnabled;
}
-#ifndef QT_NO_PRINTER
-void QWidgetTextControl::print(QPrinter *printer) const
+void QWidgetTextControl::print(QPagedPaintDevice *printer) const
{
Q_D(const QWidgetTextControl);
- if (!printer || !printer->isValid())
+ if (!printer)
return;
QTextDocument *tempDoc = 0;
const QTextDocument *doc = d->doc;
+#if 0
+ // ####
if (printer->printRange() == QPrinter::Selection) {
if (!d->cursor.hasSelection())
return;
@@ -2445,10 +2446,10 @@ void QWidgetTextControl::print(QPrinter *printer) const
// copy the custom object handlers
doc->documentLayout()->d_func()->handlers = d->doc->documentLayout()->d_func()->handlers;
}
+#endif
doc->print(printer);
delete tempDoc;
}
-#endif // QT_NO_PRINTER
QMimeData *QWidgetTextControl::createMimeDataFromSelection() const
{
diff --git a/src/widgets/widgets/qwidgettextcontrol_p.h b/src/widgets/widgets/qwidgettextcontrol_p.h
index 4c38163906..67ae0596b3 100644
--- a/src/widgets/widgets/qwidgettextcontrol_p.h
+++ b/src/widgets/widgets/qwidgettextcontrol_p.h
@@ -176,9 +176,7 @@ public:
bool isWordSelectionEnabled() const;
void setWordSelectionEnabled(bool enabled);
-#ifndef QT_NO_PRINTER
- void print(QPrinter *printer) const;
-#endif
+ void print(QPagedPaintDevice *printer) const;
virtual int hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const;
virtual QRectF blockBoundingRect(const QTextBlock &block) const;