diff --git a/desktop-widgets/printdialog.cpp b/desktop-widgets/printdialog.cpp index f0c8f4df8..339914b6a 100644 --- a/desktop-widgets/printdialog.cpp +++ b/desktop-widgets/printdialog.cpp @@ -171,6 +171,7 @@ void PrintDialog::createPrinterObj() // create a new printer object if (!printer) { qprinter = new QPrinter(); + qprinter->setResolution(printOptions.resolution); qprinter->setOrientation((QPrinter::Orientation)printOptions.landscape); printer = new Printer(qprinter, &printOptions, &templateOptions, Printer::PRINT); } diff --git a/desktop-widgets/printoptions.cpp b/desktop-widgets/printoptions.cpp index 0d9ae0a40..fbd03c127 100644 --- a/desktop-widgets/printoptions.cpp +++ b/desktop-widgets/printoptions.cpp @@ -44,7 +44,9 @@ void PrintOptions::setup() connect(ui.printInColor, SIGNAL(clicked(bool)), this, SLOT(printInColorClicked(bool))); connect(ui.printSelected, SIGNAL(clicked(bool)), this, SLOT(printSelectedClicked(bool))); - + connect(ui.resolution, QOverload::of(&QSpinBox::valueChanged), [this](int value) { + printOptions->resolution = value; + }); hasSetupSlots = true; } diff --git a/desktop-widgets/printoptions.h b/desktop-widgets/printoptions.h index 0290f1a3e..35fb824fe 100644 --- a/desktop-widgets/printoptions.h +++ b/desktop-widgets/printoptions.h @@ -15,6 +15,7 @@ struct print_options { bool print_selected; bool color_selected; bool landscape; + int resolution; }; struct template_options { diff --git a/desktop-widgets/printoptions.ui b/desktop-widgets/printoptions.ui index 1c2523d39..f12236552 100644 --- a/desktop-widgets/printoptions.ui +++ b/desktop-widgets/printoptions.ui @@ -93,6 +93,36 @@ + + + + + + + 0 + 0 + + + + 4000 + + + 10 + + + 600 + + + + + + + DPI resolution + + + + +