diff --git a/sources/diagramprintdialog.cpp b/sources/diagramprintdialog.cpp index 965c6cbb6..2eedf567a 100644 --- a/sources/diagramprintdialog.cpp +++ b/sources/diagramprintdialog.cpp @@ -351,13 +351,31 @@ void DiagramPrintDialog::browseFilePrintTypeDialog() { @param fit_page Booleen indiquant s'il faut adapter les schemas aux pages ou non @param options Options de rendu -*/ -void DiagramPrintDialog::print(const QList &diagrams, bool fit_page, const ExportProperties options) { - //qDebug() << "Demande d'impression de " << diagrams.count() << "schemas."; - - // QPainter utiliser pour effectuer le rendu - QPainter qp(printer_); - +*/ +void DiagramPrintDialog::print(const QList &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_); + // cas special : il n'y a aucun schema a imprimer if (!diagrams.count()) { qp.end(); diff --git a/sources/main.cpp b/sources/main.cpp index c240af60a..357a1ec7c 100644 --- a/sources/main.cpp +++ b/sources/main.cpp @@ -29,17 +29,13 @@ int main(int argc, char **argv) //Some setup, notably to use with QSetting. QCoreApplication::setOrganizationName("QElectroTech"); QCoreApplication::setOrganizationDomain("qelectrotech.org"); - 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); -#else - qputenv("QT_DEVICE_PIXEL_RATIO", QByteArray("1")); -#endif -#endif - return(QETApp(argc, argv).exec()); -} + QCoreApplication::setApplicationName("QElectroTech"); + //Creation and execution of the application + //HighDPI +#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); +#else + qputenv("QT_DEVICE_PIXEL_RATIO", QByteArray("auto")); +#endif + return(QETApp(argc, argv).exec()); +}