diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2011-08-17 15:44:59 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@nokia.com> | 2011-08-19 09:16:32 +0200 |
commit | a1016213d02c2f562fcf7a22a8fcfb2bd45cd674 (patch) | |
tree | 91ee31e7680845d7b038312e36b3c1713bfe72a3 /src/widgets | |
parent | 699e8fe3a6724dd8288dd6a55b25e070eb198c9d (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/widgets')
-rw-r--r-- | src/widgets/dialogs/qprintpreviewdialog.h | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qplaintextedit.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qplaintextedit.h | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit.h | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgettextcontrol.cpp | 11 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgettextcontrol_p.h | 4 |
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; |