[qet] qet/qet: [5242] Enable Qt::AA_EnableHighDpiScaling and fix print bug, thanks Gabberworld for this patch. |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/qet Archives
]
Revision: 5242
Author: scorpio810
Date: 2018-02-19 17:28:54 +0100 (Mon, 19 Feb 2018)
Log Message:
-----------
Enable Qt::AA_EnableHighDpiScaling and fix print bug, thanks Gabberworld for this patch.
Modified Paths:
--------------
trunk/qelectrotech.pro
trunk/sources/diagramprintdialog.cpp
trunk/sources/main.cpp
Removed Paths:
-------------
trunk/qelectrotech.exe.manifest
trunk/qelectrotech.rc
Deleted: trunk/qelectrotech.exe.manifest
===================================================================
--- trunk/qelectrotech.exe.manifest 2018-02-18 17:18:52 UTC (rev 5241)
+++ trunk/qelectrotech.exe.manifest 2018-02-19 16:28:54 UTC (rev 5242)
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-
-<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
-
-<dependency>
- <dependentAssembly>
- <assemblyIdentity
- type="win32"
- name="Microsoft.Windows.Common-Controls"
- version="6.0.0.0" processorArchitecture="*"
- publicKeyToken="6595b64144ccf1df"
- language="*">
- </assemblyIdentity>
- </dependentAssembly>
-</dependency>
- <asmv3:application>
- <asmv3:windowsSettings>
- <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
-<!-- fallback for Windows 7 and 8 -->
- <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">permonitorv2,permonitor</dpiAwareness>
-<!-- falls back to per-monitor if per-monitor v2 is not supported -->
- <gdiScaling xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">true</gdiScaling>
-<!-- enables GDI DPI scaling -->
- </asmv3:windowsSettings>
- </asmv3:application>
-</assembly>
Modified: trunk/qelectrotech.pro
===================================================================
--- trunk/qelectrotech.pro 2018-02-18 17:18:52 UTC (rev 5241)
+++ trunk/qelectrotech.pro 2018-02-19 16:28:54 UTC (rev 5242)
@@ -31,7 +31,7 @@
QET_LANG_PATH = 'lang/'
QET_LICENSE_PATH = './'
# Liste des ressources Windows
- RC_FILE = qelectrotech.rc
+ #RC_FILE = qelectrotech.rc
}
macx {
# Chemins MacOS X
Deleted: trunk/qelectrotech.rc
===================================================================
--- trunk/qelectrotech.rc 2018-02-18 17:18:52 UTC (rev 5241)
+++ trunk/qelectrotech.rc 2018-02-19 16:28:54 UTC (rev 5242)
@@ -1,4 +0,0 @@
-#include <windows.h>
-
-ID_ICON1 ICON DISCARDABLE "ico/windows_icon/qelectrotech.ico"
-1 RT_MANIFEST "qelectrotech.exe.manifest"
Modified: trunk/sources/diagramprintdialog.cpp
===================================================================
--- trunk/sources/diagramprintdialog.cpp 2018-02-18 17:18:52 UTC (rev 5241)
+++ trunk/sources/diagramprintdialog.cpp 2018-02-19 16:28:54 UTC (rev 5242)
@@ -354,7 +354,25 @@
*/
void DiagramPrintDialog::print(const QList<Diagram *> &diagrams, bool fit_page, const ExportProperties options) {
//qDebug() << "Demande d'impression de " << diagrams.count() << "schemas.";
-
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+ #ifdef Q_OS_WIN
+ #ifdef QT_DEBUG
+ qDebug() << "--";
+ qDebug() << "DiagramPrintDialog::print printer_->resolution() before " << printer_->resolution();
+ qDebug() << "DiagramPrintDialog::print screennumber " << QApplication::desktop()->screenNumber();
+ #endif
+
+ QScreen *srn = QApplication::screens().at(QApplication::desktop()->screenNumber());
+ qreal dotsPerInch = (qreal)srn->logicalDotsPerInch();
+ printer_->setResolution(dotsPerInch);
+
+ #ifdef QT_DEBUG
+ qDebug() << "DiagramPrintDialog::print dotsPerInch " << dotsPerInch;
+ qDebug() << "DiagramPrintDialog::print printer_->resolution() after" << printer_->resolution();
+ qDebug() << "--";
+ #endif
+ #endif
+#endif
// QPainter utiliser pour effectuer le rendu
QPainter qp(printer_);
Modified: trunk/sources/main.cpp
===================================================================
--- trunk/sources/main.cpp 2018-02-18 17:18:52 UTC (rev 5241)
+++ trunk/sources/main.cpp 2018-02-19 16:28:54 UTC (rev 5242)
@@ -32,14 +32,10 @@
QCoreApplication::setApplicationName("QElectroTech");
//Creation and execution of the application
//HighDPI
-#if QT_VERSION >= QT_VERSION_CHECK (5, 6, 0)
-#if defined Q_OS_MAC
- QApplication::setAttribute (Qt::AA_EnableHighDpiScaling);
-#elif !defined(Q_OS_MAC)
- QApplication::setAttribute (Qt::AA_DisableHighDpiScaling);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#else
- qputenv("QT_DEVICE_PIXEL_RATIO", QByteArray("1"));
+ qputenv("QT_DEVICE_PIXEL_RATIO", QByteArray("auto"));
#endif
-#endif
return(QETApp(argc, argv).exec());
}