diff options
| author | gustav_b <gustav_b@users.sourceforge.net> | 2008-01-30 12:20:36 +0000 |
|---|---|---|
| committer | gustav_b <gustav_b@users.sourceforge.net> | 2008-01-30 12:20:36 +0000 |
| commit | 4fa61f9ab484be73cee907faf7ead2b1bd0e24a7 (patch) | |
| tree | 6d58a229b9b9151709556370670746a4f5b8133b /src | |
| parent | fix 169057 and prevent non-numeric input for font size (diff) | |
| download | inkscape-4fa61f9ab484be73cee907faf7ead2b1bd0e24a7.tar.gz inkscape-4fa61f9ab484be73cee907faf7ead2b1bd0e24a7.zip | |
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"
(bzr r4619)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/dialog/panel-dialog.h | 20 |
1 files changed, 16 insertions, 4 deletions
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 <typename T> static PanelDialog<Behavior> *create(); - virtual void present() { Dialog::present(); } + inline virtual void present(); private: PanelDialog(); // no constructor without params @@ -93,7 +93,7 @@ public: template <typename T> static PanelDialog<Behavior::FloatingBehavior> *create(); - virtual void present() { Dialog::present(); } + inline virtual void present(); private: PanelDialog(); // no constructor without params @@ -134,7 +134,6 @@ PanelDialog<B>::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<B>::create() return new PanelDialog<B>(panel, panel.getPrefsPath(), panel.getVerb(), panel.getApplyLabel()); } +template <typename B> +void +PanelDialog<B>::present() +{ + Dialog::present(); + _panel.present(); +} PanelDialog<Behavior::FloatingBehavior>::PanelDialog(Panel &panel, char const *prefs_path, int const verb_num, Glib::ustring const &apply_label) : @@ -173,7 +179,6 @@ PanelDialog<Behavior::FloatingBehavior>::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<Behavior::FloatingBehavior>::PanelDialog(Panel &panel, char const *p show_all_children(); } +void +PanelDialog<Behavior::FloatingBehavior>::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. |
