summaryrefslogtreecommitdiffstats
path: root/src/plugins/printsupport
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/printsupport')
-rw-r--r--src/plugins/printsupport/cups/qcupsprintengine_p.h4
-rw-r--r--src/plugins/printsupport/cups/qcupsprintersupport.cpp5
-rw-r--r--src/plugins/printsupport/cups/qcupsprintersupport_p.h2
-rw-r--r--src/plugins/printsupport/cups/qppdprintdevice.cpp11
-rw-r--r--src/plugins/printsupport/cups/qppdprintdevice.h2
-rw-r--r--src/plugins/printsupport/windows/qwindowsprintersupport.h2
6 files changed, 20 insertions, 6 deletions
diff --git a/src/plugins/printsupport/cups/qcupsprintengine_p.h b/src/plugins/printsupport/cups/qcupsprintengine_p.h
index 2a1a83b9d7..c021b0c643 100644
--- a/src/plugins/printsupport/cups/qcupsprintengine_p.h
+++ b/src/plugins/printsupport/cups/qcupsprintengine_p.h
@@ -77,7 +77,7 @@ public:
// end reimplementations QPdfPrintEngine
private:
- Q_DISABLE_COPY(QCupsPrintEngine)
+ Q_DISABLE_COPY_MOVE(QCupsPrintEngine)
};
class QCupsPrintEnginePrivate : public QPdfPrintEnginePrivate
@@ -91,7 +91,7 @@ public:
void closePrintDevice() override;
private:
- Q_DISABLE_COPY(QCupsPrintEnginePrivate)
+ Q_DISABLE_COPY_MOVE(QCupsPrintEnginePrivate)
void changePrinter(const QString &newPrinter);
void setPageSize(const QPageSize &pageSize);
diff --git a/src/plugins/printsupport/cups/qcupsprintersupport.cpp b/src/plugins/printsupport/cups/qcupsprintersupport.cpp
index 19e1df31f6..42a7a821f2 100644
--- a/src/plugins/printsupport/cups/qcupsprintersupport.cpp
+++ b/src/plugins/printsupport/cups/qcupsprintersupport.cpp
@@ -175,6 +175,11 @@ QStringList QCupsPrinterSupport::availablePrintDeviceIds() const
QString QCupsPrinterSupport::defaultPrintDeviceId() const
{
+ return staticDefaultPrintDeviceId();
+}
+
+QString QCupsPrinterSupport::staticDefaultPrintDeviceId()
+{
QString printerId;
cups_dest_t *dests;
int count = cupsGetDests(&dests);
diff --git a/src/plugins/printsupport/cups/qcupsprintersupport_p.h b/src/plugins/printsupport/cups/qcupsprintersupport_p.h
index 42de28aec0..c2b4895c7f 100644
--- a/src/plugins/printsupport/cups/qcupsprintersupport_p.h
+++ b/src/plugins/printsupport/cups/qcupsprintersupport_p.h
@@ -71,6 +71,8 @@ public:
QStringList availablePrintDeviceIds() const override;
QString defaultPrintDeviceId() const override;
+ static QString staticDefaultPrintDeviceId();
+
private:
QString cupsOption(int i, const QString &key) const;
};
diff --git a/src/plugins/printsupport/cups/qppdprintdevice.cpp b/src/plugins/printsupport/cups/qppdprintdevice.cpp
index d2ddc4144f..ea6336c4d1 100644
--- a/src/plugins/printsupport/cups/qppdprintdevice.cpp
+++ b/src/plugins/printsupport/cups/qppdprintdevice.cpp
@@ -39,6 +39,8 @@
#include "qppdprintdevice.h"
+#include "qcupsprintersupport_p.h"
+
#include <QtCore/QMimeDatabase>
#include <qdebug.h>
@@ -118,7 +120,12 @@ bool QPpdPrintDevice::isValid() const
bool QPpdPrintDevice::isDefault() const
{
- return printerTypeFlags() & CUPS_PRINTER_DEFAULT;
+ // There seems to be a bug in cups in which printerTypeFlags
+ // returns CUPS_PRINTER_DEFAULT based only on system values, ignoring user lpoptions
+ // so we can't use that. And also there seems to be a bug in which dests returned
+ // by cupsGetNamedDest don't have is_default set at all so we can't use that either
+ // so go the long route and compare our id against the defaultPrintDeviceId
+ return id() == QCupsPrinterSupport::staticDefaultPrintDeviceId();
}
QPrint::DeviceState QPpdPrintDevice::state() const
@@ -473,7 +480,7 @@ bool QPpdPrintDevice::isFeatureAvailable(QPrintDevice::PrintDevicePropertyKey ke
return QPlatformPrintDevice::isFeatureAvailable(key, params);
}
-#ifndef QT_NO_MIMETYPE
+#if QT_CONFIG(mimetype)
void QPpdPrintDevice::loadMimeTypes() const
{
// TODO No CUPS api? Need to manually load CUPS mime.types file?
diff --git a/src/plugins/printsupport/cups/qppdprintdevice.h b/src/plugins/printsupport/cups/qppdprintdevice.h
index 90f90d6788..3baf8b771b 100644
--- a/src/plugins/printsupport/cups/qppdprintdevice.h
+++ b/src/plugins/printsupport/cups/qppdprintdevice.h
@@ -99,7 +99,7 @@ protected:
void loadOutputBins() const override;
void loadDuplexModes() const override;
void loadColorModes() const override;
-#ifndef QT_NO_MIMETYPE
+#if QT_CONFIG(mimetype)
void loadMimeTypes() const override;
#endif
diff --git a/src/plugins/printsupport/windows/qwindowsprintersupport.h b/src/plugins/printsupport/windows/qwindowsprintersupport.h
index 4267701145..400701628e 100644
--- a/src/plugins/printsupport/windows/qwindowsprintersupport.h
+++ b/src/plugins/printsupport/windows/qwindowsprintersupport.h
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
class QWindowsPrinterSupport : public QPlatformPrinterSupport
{
- Q_DISABLE_COPY(QWindowsPrinterSupport)
+ Q_DISABLE_COPY_MOVE(QWindowsPrinterSupport)
public:
QWindowsPrinterSupport();
~QWindowsPrinterSupport() override;