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>
This commit is contained in:
parent
699e8fe3a6
commit
a1016213d0
@ -54,6 +54,7 @@ QT_MODULE(Gui)
|
|||||||
|
|
||||||
class QGraphicsView;
|
class QGraphicsView;
|
||||||
class QPrintPreviewDialogPrivate;
|
class QPrintPreviewDialogPrivate;
|
||||||
|
class QPrinter;
|
||||||
|
|
||||||
class Q_WIDGETS_EXPORT QPrintPreviewDialog : public QDialog
|
class Q_WIDGETS_EXPORT QPrintPreviewDialog : public QDialog
|
||||||
{
|
{
|
||||||
|
@ -2512,7 +2512,6 @@ bool QPlainTextEdit::canPaste() const
|
|||||||
return d->control->canPaste();
|
return d->control->canPaste();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef QT_NO_PRINTER
|
|
||||||
/*!
|
/*!
|
||||||
Convenience function to print the text edit's document to the given \a printer. This
|
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
|
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()
|
\sa QTextDocument::print()
|
||||||
*/
|
*/
|
||||||
void QPlainTextEdit::print(QPrinter *printer) const
|
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
|
||||||
{
|
{
|
||||||
Q_D(const QPlainTextEdit);
|
Q_D(const QPlainTextEdit);
|
||||||
d->control->print(printer);
|
d->control->print(printer);
|
||||||
}
|
}
|
||||||
#endif // QT _NO_PRINTER
|
|
||||||
|
|
||||||
/*! \property QPlainTextEdit::tabChangesFocus
|
/*! \property QPlainTextEdit::tabChangesFocus
|
||||||
\brief whether \gui Tab changes focus or is accepted as input
|
\brief whether \gui Tab changes focus or is accepted as input
|
||||||
|
@ -64,7 +64,7 @@ class QTextDocument;
|
|||||||
class QMenu;
|
class QMenu;
|
||||||
class QPlainTextEditPrivate;
|
class QPlainTextEditPrivate;
|
||||||
class QMimeData;
|
class QMimeData;
|
||||||
|
class QPagedPaintDevice;
|
||||||
|
|
||||||
class Q_WIDGETS_EXPORT QPlainTextEdit : public QAbstractScrollArea
|
class Q_WIDGETS_EXPORT QPlainTextEdit : public QAbstractScrollArea
|
||||||
{
|
{
|
||||||
@ -177,9 +177,7 @@ public:
|
|||||||
|
|
||||||
bool canPaste() const;
|
bool canPaste() const;
|
||||||
|
|
||||||
#ifndef QT_NO_PRINTER
|
void print(QPagedPaintDevice *printer) const;
|
||||||
void print(QPrinter *printer) const;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int blockCount() const;
|
int blockCount() const;
|
||||||
|
|
||||||
|
@ -2285,7 +2285,6 @@ bool QTextEdit::canPaste() const
|
|||||||
return d->control->canPaste();
|
return d->control->canPaste();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef QT_NO_PRINTER
|
|
||||||
/*!
|
/*!
|
||||||
\since 4.3
|
\since 4.3
|
||||||
Convenience function to print the text edit's document to the given \a printer. This
|
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()
|
\sa QTextDocument::print()
|
||||||
*/
|
*/
|
||||||
void QTextEdit::print(QPrinter *printer) const
|
void QTextEdit::print(QPagedPaintDevice *printer) const
|
||||||
{
|
{
|
||||||
Q_D(const QTextEdit);
|
Q_D(const QTextEdit);
|
||||||
d->control->print(printer);
|
d->control->print(printer);
|
||||||
}
|
}
|
||||||
#endif // QT _NO_PRINTER
|
|
||||||
|
|
||||||
/*! \property QTextEdit::tabChangesFocus
|
/*! \property QTextEdit::tabChangesFocus
|
||||||
\brief whether \gui Tab changes focus or is accepted as input
|
\brief whether \gui Tab changes focus or is accepted as input
|
||||||
|
@ -66,6 +66,7 @@ class QTextDocument;
|
|||||||
class QMenu;
|
class QMenu;
|
||||||
class QTextEditPrivate;
|
class QTextEditPrivate;
|
||||||
class QMimeData;
|
class QMimeData;
|
||||||
|
class QPagedPaintDevice;
|
||||||
|
|
||||||
class Q_WIDGETS_EXPORT QTextEdit : public QAbstractScrollArea
|
class Q_WIDGETS_EXPORT QTextEdit : public QAbstractScrollArea
|
||||||
{
|
{
|
||||||
@ -232,9 +233,7 @@ public:
|
|||||||
|
|
||||||
bool canPaste() const;
|
bool canPaste() const;
|
||||||
|
|
||||||
#ifndef QT_NO_PRINTER
|
void print(QPagedPaintDevice *printer) const;
|
||||||
void print(QPrinter *printer) const;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void setFontPointSize(qreal s);
|
void setFontPointSize(qreal s);
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
#include "qtextlist.h"
|
#include "qtextlist.h"
|
||||||
#include "private/qwidgettextcontrol_p.h"
|
#include "private/qwidgettextcontrol_p.h"
|
||||||
#include "qgraphicssceneevent.h"
|
#include "qgraphicssceneevent.h"
|
||||||
#include "qprinter.h"
|
#include "qpagedpaintdevice.h"
|
||||||
#include "qtextdocumentwriter.h"
|
#include "qtextdocumentwriter.h"
|
||||||
#include "private/qtextcursor_p.h"
|
#include "private/qtextcursor_p.h"
|
||||||
|
|
||||||
@ -2423,14 +2423,15 @@ bool QWidgetTextControl::isWordSelectionEnabled() const
|
|||||||
return d->wordSelectionEnabled;
|
return d->wordSelectionEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef QT_NO_PRINTER
|
void QWidgetTextControl::print(QPagedPaintDevice *printer) const
|
||||||
void QWidgetTextControl::print(QPrinter *printer) const
|
|
||||||
{
|
{
|
||||||
Q_D(const QWidgetTextControl);
|
Q_D(const QWidgetTextControl);
|
||||||
if (!printer || !printer->isValid())
|
if (!printer)
|
||||||
return;
|
return;
|
||||||
QTextDocument *tempDoc = 0;
|
QTextDocument *tempDoc = 0;
|
||||||
const QTextDocument *doc = d->doc;
|
const QTextDocument *doc = d->doc;
|
||||||
|
#if 0
|
||||||
|
// ####
|
||||||
if (printer->printRange() == QPrinter::Selection) {
|
if (printer->printRange() == QPrinter::Selection) {
|
||||||
if (!d->cursor.hasSelection())
|
if (!d->cursor.hasSelection())
|
||||||
return;
|
return;
|
||||||
@ -2445,10 +2446,10 @@ void QWidgetTextControl::print(QPrinter *printer) const
|
|||||||
// copy the custom object handlers
|
// copy the custom object handlers
|
||||||
doc->documentLayout()->d_func()->handlers = d->doc->documentLayout()->d_func()->handlers;
|
doc->documentLayout()->d_func()->handlers = d->doc->documentLayout()->d_func()->handlers;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
doc->print(printer);
|
doc->print(printer);
|
||||||
delete tempDoc;
|
delete tempDoc;
|
||||||
}
|
}
|
||||||
#endif // QT_NO_PRINTER
|
|
||||||
|
|
||||||
QMimeData *QWidgetTextControl::createMimeDataFromSelection() const
|
QMimeData *QWidgetTextControl::createMimeDataFromSelection() const
|
||||||
{
|
{
|
||||||
|
@ -176,9 +176,7 @@ public:
|
|||||||
bool isWordSelectionEnabled() const;
|
bool isWordSelectionEnabled() const;
|
||||||
void setWordSelectionEnabled(bool enabled);
|
void setWordSelectionEnabled(bool enabled);
|
||||||
|
|
||||||
#ifndef QT_NO_PRINTER
|
void print(QPagedPaintDevice *printer) const;
|
||||||
void print(QPrinter *printer) const;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
virtual int hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const;
|
virtual int hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const;
|
||||||
virtual QRectF blockBoundingRect(const QTextBlock &block) const;
|
virtual QRectF blockBoundingRect(const QTextBlock &block) const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user