summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorRick Yorgason <rick@firefang.com>2018-10-27 05:12:24 +0000
committerRick Yorgason <rick@firefang.com>2018-10-27 05:12:24 +0000
commit4c0e452576d5b27f3dce96436c7ebe0bdd913d65 (patch)
treec8180999c9580ca9f09ca753cb469ae0891cd4a0 /src/ui
parentUpdated en_GB po (diff)
downloadinkscape-4c0e452576d5b27f3dce96436c7ebe0bdd913d65.tar.gz
inkscape-4c0e452576d5b27f3dce96436c7ebe0bdd913d65.zip
Remembers printer settings between calls to the print dialogue. Fixes bug #1711112.
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/print.cpp4
-rw-r--r--src/ui/dialog/print.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/ui/dialog/print.cpp b/src/ui/dialog/print.cpp
index 02c2e0e09..a3c4a2ce2 100644
--- a/src/ui/dialog/print.cpp
+++ b/src/ui/dialog/print.cpp
@@ -16,6 +16,7 @@
#include <gtkmm.h>
+#include "inkscape.h"
#include "preferences.h"
#include "print.h"
@@ -220,7 +221,10 @@ void Print::begin_print(const Glib::RefPtr<Gtk::PrintContext>&)
Gtk::PrintOperationResult Print::run(Gtk::PrintOperationAction, Gtk::Window &parent_window)
{
+ // Remember to restore the previous print settings
+ _printop->set_print_settings(SP_ACTIVE_DESKTOP->printer_settings._gtk_print_settings);
_printop->run(Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG, parent_window);
+ SP_ACTIVE_DESKTOP->printer_settings._gtk_print_settings = _printop->get_print_settings();
return Gtk::PRINT_OPERATION_RESULT_APPLY;
}
diff --git a/src/ui/dialog/print.h b/src/ui/dialog/print.h
index 0ce9e811c..1eda9043f 100644
--- a/src/ui/dialog/print.h
+++ b/src/ui/dialog/print.h
@@ -37,6 +37,10 @@ namespace Inkscape {
namespace UI {
namespace Dialog {
+struct PrinterSettings {
+ Glib::RefPtr<Gtk::PrintSettings> _gtk_print_settings;
+};
+
class Print {
public:
Print(SPDocument *doc, SPItem *base);