[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());
 }


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/