Code

separate blend history for objects versus layers
authormental <mental@users.sourceforge.net>
Tue, 1 Jan 2008 04:40:30 +0000 (04:40 +0000)
committermental <mental@users.sourceforge.net>
Tue, 1 Jan 2008 04:40:30 +0000 (04:40 +0000)
src/dialogs/layers-panel.cpp
src/ui/dialog/fill-and-stroke.cpp
src/ui/widget/object-composite-settings.cpp
src/ui/widget/object-composite-settings.h

index 1034cd3ff7c293a09c1d13389c32e435e525d08f..cec32426d98a75a3940e2b649538f8906af2f2fd 100644 (file)
@@ -672,7 +672,8 @@ LayersPanel::LayersPanel() :
     _desktop(0),
     _model(0),
     _pending(0),
-    _toggleEvent(0)
+    _toggleEvent(0),
+    _compositeSettings(SP_VERB_DIALOG_LAYERS, "layers")
 {
     _maxNestDepth = prefs_get_int_attribute_limited("dialogs.layers", "maxDepth", 20, 1, 1000);
 
index b9e1754ba08cc4e13ed61da1bdd0862d34dc28a2..43a9bb9894c1fca84322b7aab8d319b1c82019b0 100644 (file)
@@ -42,7 +42,8 @@ FillAndStroke::FillAndStroke()
     : UI::Widget::Panel ("", "dialogs.fillstroke", SP_VERB_DIALOG_FILL_STROKE),
       _page_fill(1, 1, true, true),
       _page_stroke_paint(1, 1, true, true),
-      _page_stroke_style(1, 1, true, true)
+      _page_stroke_style(1, 1, true, true),
+      _composite_settings(SP_VERB_DIALOG_FILL_STROKE, "fillstroke")
 {
     Gtk::Box *contents = _getContents();
     contents->set_spacing(0);
index aeb6a263a00fdf73f9edf47baaf6d694ff7c3b89..20fdbed039b5b3a711faa1d094bf16ef262f1700 100644 (file)
@@ -41,8 +41,11 @@ void ObjectCompositeSettings::_on_desktop_switch(
     }
 }
 
-ObjectCompositeSettings::ObjectCompositeSettings()
-: _opacity_vbox(false, 0),
+ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char const *history_prefix)
+: _verb_code(verb_code),
+  _opacity_tag(Glib::ustring(history_prefix) + ":opacity"),
+  _blur_tag(Glib::ustring(history_prefix) + ":blur"),
+  _opacity_vbox(false, 0),
   _opacity_label_box(false, 0),
   _opacity_label(_("Opacity, %"), 0.0, 1.0, true),
   _opacity_adjustment(100.0, 0.0, 100.0, 1.0, 1.0, 0.0),
@@ -148,7 +151,7 @@ ObjectCompositeSettings::_blendBlurValueChanged()
         }
     }
 
-    sp_document_maybe_done (sp_desktop_document (desktop), "fillstroke:blur", SP_VERB_DIALOG_FILL_STROKE,  _("Change blur"));
+    sp_document_maybe_done (sp_desktop_document (desktop), _blur_tag.c_str(), _verb_code, _("Change blur"));
 
     // resume interruptibility
     sp_canvas_end_forced_full_redraws(sp_desktop_canvas(desktop));
@@ -187,7 +190,7 @@ ObjectCompositeSettings::_opacityValueChanged()
 
     sp_repr_css_attr_unref (css);
 
-    sp_document_maybe_done (sp_desktop_document (desktop), "fillstroke:opacity", SP_VERB_DIALOG_FILL_STROKE,
+    sp_document_maybe_done (sp_desktop_document (desktop), _opacity_tag.c_str(), _verb_code,
                             _("Change opacity"));
 
     // resume interruptibility
index 801ef76af934bf5cfe1ff5518ab975e4c8af7ec4..8768157bf4eb7176a8456d6156c865620d8ccc76 100644 (file)
@@ -20,6 +20,8 @@
 #include <gtkmm/spinbutton.h>
 #include <gtkmm/scale.h>
 
+#include <glibmm/ustring.h>
+
 #include "ui/widget/filter-effect-chooser.h"
 #include "ui/widget/style-subject.h"
 
@@ -29,12 +31,16 @@ namespace Widget {
 
 class ObjectCompositeSettings : public Gtk::VBox {
 public:
-    ObjectCompositeSettings();
+    ObjectCompositeSettings(unsigned int verb_code, char const *history_prefix);
     ~ObjectCompositeSettings();
 
     void setSubject(StyleSubject *subject);
 
 private:
+    unsigned int    _verb_code;
+    Glib::ustring   _blur_tag;
+    Glib::ustring   _opacity_tag;
+
     Gtk::VBox       _opacity_vbox;
     Gtk::HBox       _opacity_label_box;
     Gtk::HBox       _opacity_hbox;