summaryrefslogtreecommitdiffstats
path: root/src/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dialogs')
-rw-r--r--src/dialogs/layer-properties.cpp7
-rw-r--r--src/dialogs/layers-panel.cpp4
2 files changed, 6 insertions, 5 deletions
diff --git a/src/dialogs/layer-properties.cpp b/src/dialogs/layer-properties.cpp
index 6a88597be..e407c7082 100644
--- a/src/dialogs/layer-properties.cpp
+++ b/src/dialogs/layer-properties.cpp
@@ -22,6 +22,7 @@
#include "inkscape.h"
#include "desktop.h"
#include "document.h"
+#include "layer-manager.h"
#include "message-stack.h"
#include "desktop-handles.h"
#include "sp-object.h"
@@ -186,8 +187,8 @@ void LayerPropertiesDialog::Rename::setup(LayerPropertiesDialog &dialog) {
void LayerPropertiesDialog::Rename::perform(LayerPropertiesDialog &dialog) {
SPDesktop *desktop=dialog._desktop;
Glib::ustring name(dialog._layer_name_entry.get_text());
- desktop->currentLayer()->setLabel(
- ( name.empty() ? NULL : (gchar *)name.c_str() )
+ desktop->layer_manager->renameLayer( desktop->currentLayer(),
+ ( name.empty() ? NULL : (gchar *)name.c_str() )
);
sp_document_done(sp_desktop_document(desktop));
// TRANSLATORS: This means "The layer has been renamed"
@@ -215,7 +216,7 @@ void LayerPropertiesDialog::Create::perform(LayerPropertiesDialog &dialog) {
Glib::ustring name(dialog._layer_name_entry.get_text());
if (!name.empty()) {
- new_layer->setLabel((gchar *)name.c_str());
+ desktop->layer_manager->renameLayer( new_layer, (gchar *)name.c_str() );
}
sp_desktop_selection(desktop)->clear();
desktop->setCurrentLayer(new_layer);
diff --git a/src/dialogs/layers-panel.cpp b/src/dialogs/layers-panel.cpp
index a7ad817cf..31e9823c6 100644
--- a/src/dialogs/layers-panel.cpp
+++ b/src/dialogs/layers-panel.cpp
@@ -576,8 +576,8 @@ void LayersPanel::_handleRowChange( Gtk::TreeModel::Path const& path, Gtk::TreeM
gchar const* oldLabel = obj->label();
Glib::ustring tmp = row[_model->_colLabel];
if ( oldLabel && oldLabel[0] && !tmp.empty() && (tmp != oldLabel) ) {
- // TODO fix name collision bug
- obj->setLabel(tmp.c_str());
+ _mgr->renameLayer( obj, tmp.c_str() );
+ row[_model->_colLabel] = obj->label();
}
}
}