summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ui/dialog/livepatheffect-editor.cpp33
-rw-r--r--src/ui/dialog/livepatheffect-editor.h2
2 files changed, 21 insertions, 14 deletions
diff --git a/src/ui/dialog/livepatheffect-editor.cpp b/src/ui/dialog/livepatheffect-editor.cpp
index 93e17c324..3956f0140 100644
--- a/src/ui/dialog/livepatheffect-editor.cpp
+++ b/src/ui/dialog/livepatheffect-editor.cpp
@@ -65,7 +65,8 @@ LivePathEffectEditor::LivePathEffectEditor()
explain_label("", Gtk::ALIGN_CENTER),
effectapplication_frame(_("Apply new effect")),
effectcontrol_frame(_("Current effect")),
- current_desktop(NULL)
+ current_desktop(NULL),
+ currect_effect(NULL)
{
Gtk::Box *contents = _getContents();
contents->set_spacing(4);
@@ -110,21 +111,25 @@ LivePathEffectEditor::~LivePathEffectEditor()
void
LivePathEffectEditor::showParams(LivePathEffect::Effect* effect)
{
- if (effectwidget) {
- effectcontrol_vbox.remove(*effectwidget);
- delete effectwidget;
- effectwidget = NULL;
- }
+ if (currect_effect != effect) {
+ currect_effect = effect;
- explain_label.set_markup("<b>" + effect->getName() + "</b>");
- 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: do resizing of dialog
+ explain_label.set_markup("<b>" + effect->getName() + "</b>");
+ 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
diff --git a/src/ui/dialog/livepatheffect-editor.h b/src/ui/dialog/livepatheffect-editor.h
index dc852dd7f..4f635ad51 100644
--- a/src/ui/dialog/livepatheffect-editor.h
+++ b/src/ui/dialog/livepatheffect-editor.h
@@ -65,6 +65,8 @@ private:
SPDesktop * current_desktop;
+ LivePathEffect::Effect* currect_effect;
+
LivePathEffectEditor(LivePathEffectEditor const &d);
LivePathEffectEditor& operator=(LivePathEffectEditor const &d);
};