From c5526a2c3001be486990d816757dd5ac028b3c3f Mon Sep 17 00:00:00 2001 From: johanengelen Date: Sun, 20 Jan 2008 06:10:22 +0000 Subject: [PATCH] don't update LPE dialog when selection is modified. try 2 --- src/ui/dialog/livepatheffect-editor.cpp | 42 +++++++++---------------- src/ui/dialog/livepatheffect-editor.h | 3 -- 2 files changed, 14 insertions(+), 31 deletions(-) diff --git a/src/ui/dialog/livepatheffect-editor.cpp b/src/ui/dialog/livepatheffect-editor.cpp index 3956f0140..8d5b504f0 100644 --- a/src/ui/dialog/livepatheffect-editor.cpp +++ b/src/ui/dialog/livepatheffect-editor.cpp @@ -46,11 +46,6 @@ static void lpeeditor_selection_changed (Inkscape::Selection * selection, gpoint lpeeditor->onSelectionChanged(selection); } -static void lpeeditor_selection_modified( Inkscape::Selection *selection, guint /*flags*/, gpointer data ) -{ - lpeeditor_selection_changed (selection, data); -} - /*####################### * LivePathEffectEditor @@ -65,8 +60,7 @@ LivePathEffectEditor::LivePathEffectEditor() explain_label("", Gtk::ALIGN_CENTER), effectapplication_frame(_("Apply new effect")), effectcontrol_frame(_("Current effect")), - current_desktop(NULL), - currect_effect(NULL) + current_desktop(NULL) { Gtk::Box *contents = _getContents(); contents->set_spacing(4); @@ -104,32 +98,27 @@ LivePathEffectEditor::~LivePathEffectEditor() if (current_desktop) { selection_changed_connection.disconnect(); - selection_modified_connection.disconnect(); } } void LivePathEffectEditor::showParams(LivePathEffect::Effect* effect) { - if (currect_effect != effect) { - currect_effect = effect; - - if (effectwidget) { - effectcontrol_vbox.remove(*effectwidget); - delete effectwidget; - effectwidget = NULL; - } - - explain_label.set_markup("" + effect->getName() + ""); - effectwidget = effect->newWidget(&tooltips); - if (effectwidget) { - effectcontrol_vbox.pack_start(*effectwidget, true, true); - } - button_remove.show(); + if (effectwidget) { + effectcontrol_vbox.remove(*effectwidget); + delete effectwidget; + effectwidget = NULL; + } - effectcontrol_vbox.show_all_children(); - // fixme: add resizing of dialog + explain_label.set_markup("" + effect->getName() + ""); + effectwidget = effect->newWidget(&tooltips); + if (effectwidget) { + effectcontrol_vbox.pack_start(*effectwidget, true, true); } + button_remove.show(); + + effectcontrol_vbox.show_all_children(); + // fixme: add resizing of dialog } void @@ -200,7 +189,6 @@ LivePathEffectEditor::setDesktop(SPDesktop *desktop) if (current_desktop) { selection_changed_connection.disconnect(); - selection_modified_connection.disconnect(); } current_desktop = desktop; @@ -208,8 +196,6 @@ LivePathEffectEditor::setDesktop(SPDesktop *desktop) Inkscape::Selection *selection = sp_desktop_selection(desktop); selection_changed_connection = selection->connectChanged( sigc::bind (sigc::ptr_fun(&lpeeditor_selection_changed), this ) ); - selection_modified_connection = selection->connectModified( - sigc::bind (sigc::ptr_fun(&lpeeditor_selection_modified), this ) ); onSelectionChanged(selection); } else { diff --git a/src/ui/dialog/livepatheffect-editor.h b/src/ui/dialog/livepatheffect-editor.h index 4f635ad51..dc96fc313 100644 --- a/src/ui/dialog/livepatheffect-editor.h +++ b/src/ui/dialog/livepatheffect-editor.h @@ -41,7 +41,6 @@ public: private: sigc::connection selection_changed_connection; - sigc::connection selection_modified_connection; void set_sensitize_all(bool sensitive); @@ -65,8 +64,6 @@ private: SPDesktop * current_desktop; - LivePathEffect::Effect* currect_effect; - LivePathEffectEditor(LivePathEffectEditor const &d); LivePathEffectEditor& operator=(LivePathEffectEditor const &d); }; -- 2.30.2