diff options
Diffstat (limited to 'src/live_effects/parameter')
| -rw-r--r-- | src/live_effects/parameter/originalitem.cpp | 21 | ||||
| -rw-r--r-- | src/live_effects/parameter/originalitem.h | 2 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/live_effects/parameter/originalitem.cpp b/src/live_effects/parameter/originalitem.cpp index 053062128..07c8bd27c 100644 --- a/src/live_effects/parameter/originalitem.cpp +++ b/src/live_effects/parameter/originalitem.cpp @@ -84,11 +84,30 @@ OriginalItemParam::param_newWidget() } void +OriginalItemParam::param_write(const gchar * iid) +{ + Glib::ustring itemid(iid); + + if (itemid.empty()) { + return; + } + // add '#' at start to make it an uri. + itemid.insert(itemid.begin(), '#'); + if ( href && strcmp(itemid.c_str(), href) == 0 ) { + // no change, do nothing + return; + } else { + param_write_to_repr(itemid.c_str()); + } +} + +void OriginalItemParam::linked_modified_callback(SPObject *linked_obj, guint /*flags*/) { if (!inverse) { emit_changed(); - SP_OBJECT(param_effect->getLPEObj())->requestModified(SP_OBJECT_MODIFIED_FLAG); + LivePathEffectObject* lpeobj = param_effect->getLPEObj(); + SP_OBJECT(lpeobj)->requestModified(SP_OBJECT_MODIFIED_FLAG); } } diff --git a/src/live_effects/parameter/originalitem.h b/src/live_effects/parameter/originalitem.h index 58d04e05a..86e223cea 100644 --- a/src/live_effects/parameter/originalitem.h +++ b/src/live_effects/parameter/originalitem.h @@ -26,7 +26,7 @@ public: void setInverse(bool inversed) { inverse = inversed; } bool linksToItem() const { return (href != NULL); } SPItem * getObject() const { return ref.getObject(); } - + void param_write(const gchar * iid); virtual Gtk::Widget * param_newWidget(); protected: |
