From: gustav_b Date: Wed, 30 Jan 2008 12:20:36 +0000 (+0000) Subject: When a panel dialog is presented, request it's panel to be presented as well. X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=f74aa6eb7eafd196e05b99057f9e694ae5c31561;p=inkscape.git When a panel dialog is presented, request it's panel to be presented as well. Fixes #184499 "Inkscape Preferences dialog does not remember tabs/pages" --- diff --git a/src/ui/dialog/panel-dialog.h b/src/ui/dialog/panel-dialog.h index 3eeea6d95..6a2218a06 100644 --- a/src/ui/dialog/panel-dialog.h +++ b/src/ui/dialog/panel-dialog.h @@ -71,7 +71,7 @@ public: template static PanelDialog *create(); - virtual void present() { Dialog::present(); } + inline virtual void present(); private: PanelDialog(); // no constructor without params @@ -93,7 +93,7 @@ public: template static PanelDialog *create(); - virtual void present() { Dialog::present(); } + inline virtual void present(); private: PanelDialog(); // no constructor without params @@ -134,7 +134,6 @@ PanelDialog::PanelDialog(Panel &panel, char const *prefs_path, int const verb { Gtk::VBox *vbox = get_vbox(); _panel.signalResponse().connect(sigc::mem_fun(*this, &PanelDialog::_handleResponse)); - _panel.signalPresent().connect(sigc::mem_fun(*this, &PanelDialog::present)); vbox->pack_start(_panel, true, true, 0); @@ -165,6 +164,13 @@ PanelDialog::create() return new PanelDialog(panel, panel.getPrefsPath(), panel.getVerb(), panel.getApplyLabel()); } +template +void +PanelDialog::present() +{ + Dialog::present(); + _panel.present(); +} PanelDialog::PanelDialog(Panel &panel, char const *prefs_path, int const verb_num, Glib::ustring const &apply_label) : @@ -173,7 +179,6 @@ PanelDialog::PanelDialog(Panel &panel, char const *p { Gtk::VBox *vbox = get_vbox(); _panel.signalResponse().connect(sigc::mem_fun(*this, &PanelDialog::_handleResponse)); - _panel.signalPresent().connect(sigc::mem_fun(*this, &PanelDialog::present)); vbox->pack_start(_panel, true, true, 0); @@ -196,6 +201,13 @@ PanelDialog::PanelDialog(Panel &panel, char const *p show_all_children(); } +void +PanelDialog::present() +{ + Dialog::present(); + _panel.present(); +} + /** * Specialize factory method for panel dialogs with floating behavior in order to make them work as * singletons, i.e. allow them track the current active desktop.