summaryrefslogtreecommitdiffstats
path: root/src/xml/composite-node-observer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xml/composite-node-observer.cpp')
-rw-r--r--src/xml/composite-node-observer.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/xml/composite-node-observer.cpp b/src/xml/composite-node-observer.cpp
index 1f9c08681..77a1bd2fd 100644
--- a/src/xml/composite-node-observer.cpp
+++ b/src/xml/composite-node-observer.cpp
@@ -101,6 +101,17 @@ void CompositeNodeObserver::notifyAttributeChanged(
_finishIteration();
}
+void CompositeNodeObserver::notifyElementNameChanged(Node& node, GQuark old_name, GQuark new_name)
+{
+ _startIteration();
+ for (auto& iter : _active) {
+ if (!iter.marked) {
+ iter.observer.notifyElementNameChanged(node, old_name, new_name);
+ }
+ }
+ _finishIteration();
+}
+
void CompositeNodeObserver::add(NodeObserver &observer) {
if (_iterating) {
_pending.push_back(ObserverRecord(observer));
@@ -148,6 +159,12 @@ public:
vector.attr_changed(&node, g_quark_to_string(name), old_value, new_value, false, data);
}
}
+
+ void notifyElementNameChanged(Node& node, GQuark old_name, GQuark new_name) override {
+ if (vector.element_name_changed) {
+ vector.element_name_changed(&node, g_quark_to_string(old_name), g_quark_to_string(new_name), data);
+ }
+ }
};
}