diff options
Diffstat (limited to 'src/printsupport')
-rw-r--r-- | src/printsupport/CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/printsupport/configure.cmake | 2 | ||||
-rw-r--r-- | src/printsupport/dialogs/qabstractprintdialog.cpp | 10 | ||||
-rw-r--r-- | src/printsupport/dialogs/qpagesetupdialog.cpp | 2 | ||||
-rw-r--r-- | src/printsupport/dialogs/qpagesetupdialog.h | 2 | ||||
-rw-r--r-- | src/printsupport/dialogs/qprintdialog.h | 4 | ||||
-rw-r--r-- | src/printsupport/dialogs/qprintpreviewdialog.cpp | 8 | ||||
-rw-r--r-- | src/printsupport/kernel/qprintengine.cpp | 15 | ||||
-rw-r--r-- | src/printsupport/kernel/qprintengine.h | 3 | ||||
-rw-r--r-- | src/printsupport/widgets/qprintpreviewwidget.cpp | 2 |
10 files changed, 37 insertions, 16 deletions
diff --git a/src/printsupport/CMakeLists.txt b/src/printsupport/CMakeLists.txt index 25aad04caf..c24d04d2ce 100644 --- a/src/printsupport/CMakeLists.txt +++ b/src/printsupport/CMakeLists.txt @@ -14,7 +14,7 @@ qt_internal_add_module(PrintSupport kernel/qplatformprintplugin.cpp kernel/qplatformprintplugin.h kernel/qprint.cpp kernel/qprint_p.h kernel/qprintdevice.cpp kernel/qprintdevice_p.h - kernel/qprintengine.h + kernel/qprintengine.cpp kernel/qprintengine.h kernel/qprintengine_pdf.cpp kernel/qprintengine_pdf_p.h kernel/qprinter.cpp kernel/qprinter.h kernel/qprinter_p.h kernel/qprinterinfo.cpp kernel/qprinterinfo.h kernel/qprinterinfo_p.h @@ -39,7 +39,6 @@ qt_internal_add_module(PrintSupport Qt::CorePrivate Qt::GuiPrivate Qt::WidgetsPrivate - GENERATE_CPP_EXPORTS QPA_HEADER_FILTERS "(^|/)qplatform.+\\.h$" ) @@ -179,7 +178,7 @@ qt_internal_extend_target(PrintSupport CONDITION QT_FEATURE_printdialog AND WIN3 dialogs/qprintdialog_win.cpp ) -qt_internal_extend_target(PrintSupport CONDITION QT_FEATURE_printdialog AND UNIX AND NOT APPLE +qt_internal_extend_target(PrintSupport CONDITION QT_FEATURE_printdialog AND UNIX AND NOT MACOS SOURCES dialogs/qpagesetupdialog_unix.cpp dialogs/qpagesetupdialog_unix_p.h dialogs/qprintdialog_unix.cpp diff --git a/src/printsupport/configure.cmake b/src/printsupport/configure.cmake index 2287789ac1..a8b4ed3803 100644 --- a/src/printsupport/configure.cmake +++ b/src/printsupport/configure.cmake @@ -40,7 +40,7 @@ qt_feature("printer" PUBLIC SECTION "Painting" LABEL "QPrinter" PURPOSE "Provides a printer backend of QPainter." - CONDITION NOT UIKIT AND QT_FEATURE_picture AND QT_FEATURE_temporaryfile AND QT_FEATURE_pdf + CONDITION QT_FEATURE_picture AND QT_FEATURE_temporaryfile AND QT_FEATURE_pdf ) qt_feature_definition("printer" "QT_NO_PRINTER" NEGATE VALUE "1") qt_feature("printpreviewwidget" PUBLIC diff --git a/src/printsupport/dialogs/qabstractprintdialog.cpp b/src/printsupport/dialogs/qabstractprintdialog.cpp index 9cbba6bdbb..30276a6121 100644 --- a/src/printsupport/dialogs/qabstractprintdialog.cpp +++ b/src/printsupport/dialogs/qabstractprintdialog.cpp @@ -365,9 +365,15 @@ void QAbstractPrintDialog::setOptionTabs(const QList<QWidget*> &tabs) void QPrintDialog::done(int result) { auto *d = static_cast<QAbstractPrintDialogPrivate *>(d_ptr.data()); + if (result == Accepted) { + // Emit accepted(QPrinter*) at the same time as the dialog + // is accepted. Doing it here is too late, as done() will + // also emit finished(). + QObject::connect(this, &QDialog::accepted, this, [this]{ + emit accepted(printer()); + }, Qt::SingleShotConnection); + } QDialog::done(result); - if (result == Accepted) - emit accepted(printer()); if (d->receiverToDisconnectOnClose) { disconnect(this, SIGNAL(accepted(QPrinter*)), d->receiverToDisconnectOnClose, d->memberToDisconnectOnClose); diff --git a/src/printsupport/dialogs/qpagesetupdialog.cpp b/src/printsupport/dialogs/qpagesetupdialog.cpp index 0bc80c1f6f..40893cddab 100644 --- a/src/printsupport/dialogs/qpagesetupdialog.cpp +++ b/src/printsupport/dialogs/qpagesetupdialog.cpp @@ -100,7 +100,7 @@ void QPageSetupDialog::open(QObject *receiver, const char *member) QDialog::open(); } -#if defined(Q_OS_MAC) || defined(Q_OS_WIN) +#if defined(Q_OS_MACOS) || defined(Q_OS_WIN) /*! \fn void QPageSetupDialog::setVisible(bool visible) \reimp */ diff --git a/src/printsupport/dialogs/qpagesetupdialog.h b/src/printsupport/dialogs/qpagesetupdialog.h index 80d9c7a7fd..89056c70dd 100644 --- a/src/printsupport/dialogs/qpagesetupdialog.h +++ b/src/printsupport/dialogs/qpagesetupdialog.h @@ -25,7 +25,7 @@ public: explicit QPageSetupDialog(QWidget *parent = nullptr); ~QPageSetupDialog(); -#if defined(Q_OS_MAC) || defined(Q_OS_WIN) || defined(Q_QDOC) +#if defined(Q_OS_MACOS) || defined(Q_OS_WIN) || defined(Q_QDOC) void setVisible(bool visible) override; #endif int exec() override; diff --git a/src/printsupport/dialogs/qprintdialog.h b/src/printsupport/dialogs/qprintdialog.h index fa05f42bea..4ba6ddfd48 100644 --- a/src/printsupport/dialogs/qprintdialog.h +++ b/src/printsupport/dialogs/qprintdialog.h @@ -28,7 +28,7 @@ public: ~QPrintDialog(); int exec() override; -#if defined (Q_OS_UNIX) && !defined(Q_OS_MAC) +#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) virtual void accept() override; #endif void done(int result) override; @@ -55,7 +55,7 @@ Q_SIGNALS: void accepted(QPrinter *printer); private: -#if defined (Q_OS_UNIX) && !defined(Q_OS_MAC) +#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) Q_PRIVATE_SLOT(d_func(), void _q_togglePageSetCombo(bool)) Q_PRIVATE_SLOT(d_func(), void _q_collapseOrExpandDialog()) #if QT_CONFIG(messagebox) diff --git a/src/printsupport/dialogs/qprintpreviewdialog.cpp b/src/printsupport/dialogs/qprintpreviewdialog.cpp index 2028287b55..3c19e25c64 100644 --- a/src/printsupport/dialogs/qprintpreviewdialog.cpp +++ b/src/printsupport/dialogs/qprintpreviewdialog.cpp @@ -250,7 +250,7 @@ void QPrintPreviewDialogPrivate::init(QPrinter *_printer) QWidget *pageEdit = new QWidget(toolbar); QVBoxLayout *vboxLayout = new QVBoxLayout; vboxLayout->setContentsMargins(0, 0, 0, 0); -#ifdef Q_OS_MAC +#ifdef Q_OS_MACOS // We query the widgets about their size and then we fix the size. // This should do the trick for the laying out part... QSize pageNumEditSize, pageNumLabelSize; @@ -260,7 +260,7 @@ void QPrintPreviewDialogPrivate::init(QPrinter *_printer) pageNumLabel->resize(pageNumLabelSize); #endif QFormLayout *formLayout = new QFormLayout; -#ifdef Q_OS_MAC +#ifdef Q_OS_MACOS // We have to change the growth policy in Mac. formLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); #endif @@ -310,7 +310,7 @@ void QPrintPreviewDialogPrivate::init(QPrinter *_printer) q->setWindowTitle(caption); if (!printer->isValid() -#if defined(Q_OS_WIN) || defined(Q_OS_MAC) +#if defined(Q_OS_WIN) || defined(Q_OS_APPLE) || printer->outputFormat() != QPrinter::NativeFormat #endif ) @@ -539,7 +539,7 @@ void QPrintPreviewDialogPrivate::_q_print() { Q_Q(QPrintPreviewDialog); -#if defined(Q_OS_WIN) || defined(Q_OS_MAC) +#if defined(Q_OS_WIN) || defined(Q_OS_APPLE) if (printer->outputFormat() != QPrinter::NativeFormat) { QString title = QCoreApplication::translate("QPrintPreviewDialog", "Export to PDF"); QString suffix = ".pdf"_L1; diff --git a/src/printsupport/kernel/qprintengine.cpp b/src/printsupport/kernel/qprintengine.cpp new file mode 100644 index 0000000000..b9afb28292 --- /dev/null +++ b/src/printsupport/kernel/qprintengine.cpp @@ -0,0 +1,15 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#include <QtPrintSupport/qprintengine.h> + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_PRINTER + +QPrintEngine::~QPrintEngine() + = default; + +#endif // QT_NO_PRINTER + +QT_END_NAMESPACE diff --git a/src/printsupport/kernel/qprintengine.h b/src/printsupport/kernel/qprintengine.h index 65d9ed9a06..a18930c9a9 100644 --- a/src/printsupport/kernel/qprintengine.h +++ b/src/printsupport/kernel/qprintengine.h @@ -19,7 +19,8 @@ QT_BEGIN_NAMESPACE class Q_PRINTSUPPORT_EXPORT QPrintEngine { public: - virtual ~QPrintEngine() {} + virtual ~QPrintEngine(); + enum PrintEnginePropertyKey { PPK_CollateCopies, PPK_ColorMode, diff --git a/src/printsupport/widgets/qprintpreviewwidget.cpp b/src/printsupport/widgets/qprintpreviewwidget.cpp index 637eb42505..eb111a6efc 100644 --- a/src/printsupport/widgets/qprintpreviewwidget.cpp +++ b/src/printsupport/widgets/qprintpreviewwidget.cpp @@ -111,7 +111,7 @@ public: GraphicsView(QWidget* parent = nullptr) : QGraphicsView(parent) { -#ifdef Q_OS_MAC +#ifdef Q_OS_APPLE setFrameStyle(QFrame::NoFrame); #endif } |