diff options
| author | Ed Halley <ed@halley.cc> | 2009-03-09 01:40:07 +0000 |
|---|---|---|
| committer | speare <speare@users.sourceforge.net> | 2009-03-09 01:40:07 +0000 |
| commit | d01179d576b3f0e82380762c8ceb533beb8401f9 (patch) | |
| tree | 9fca9df7c428c7cc24c071fc13a6cc4f8ae4a778 /src/ui/dialog/layer-properties.cpp | |
| parent | separate bbox (calculated by subclasses) and drawbox, which includes filters ... (diff) | |
| download | inkscape-d01179d576b3f0e82380762c8ceb533beb8401f9.tar.gz inkscape-d01179d576b3f0e82380762c8ceb533beb8401f9.zip | |
part of bug #339660; can not use Add/Rename dialog to create layer with no proper inkscape:label attribute, otherwise GUI is confused
(bzr r7452)
Diffstat (limited to 'src/ui/dialog/layer-properties.cpp')
| -rw-r--r-- | src/ui/dialog/layer-properties.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/ui/dialog/layer-properties.cpp b/src/ui/dialog/layer-properties.cpp index 6cb0906a2..ffa4642e7 100644 --- a/src/ui/dialog/layer-properties.cpp +++ b/src/ui/dialog/layer-properties.cpp @@ -175,15 +175,17 @@ void LayerPropertiesDialog::Rename::setup(LayerPropertiesDialog &dialog) { SPDesktop *desktop=dialog._desktop; dialog.set_title(_("Rename Layer")); gchar const *name = desktop->currentLayer()->label(); - dialog._layer_name_entry.set_text(( name ? name : "" )); + dialog._layer_name_entry.set_text(( name ? name : _("Layer") )); dialog._apply_button.set_label(_("_Rename")); } void LayerPropertiesDialog::Rename::perform(LayerPropertiesDialog &dialog) { SPDesktop *desktop=dialog._desktop; Glib::ustring name(dialog._layer_name_entry.get_text()); + if (name.empty()) + return; desktop->layer_manager->renameLayer( desktop->currentLayer(), - ( name.empty() ? NULL : (gchar *)name.c_str() ), + (gchar *)name.c_str(), FALSE ); sp_document_done(sp_desktop_document(desktop), SP_VERB_NONE, @@ -194,7 +196,8 @@ void LayerPropertiesDialog::Rename::perform(LayerPropertiesDialog &dialog) { void LayerPropertiesDialog::Create::setup(LayerPropertiesDialog &dialog) { dialog.set_title(_("Add Layer")); - dialog._layer_name_entry.set_text(""); + //TODO: find an unused layer number, forming name from _("Layer ") + "%d" + dialog._layer_name_entry.set_text(_("Layer")); dialog._apply_button.set_label(_("_Add")); dialog._setup_position_controls(); } @@ -208,10 +211,12 @@ void LayerPropertiesDialog::Create::perform(LayerPropertiesDialog &dialog) { Gtk::ListStore::iterator activeRow(dialog._layer_position_combo.get_active()); position = activeRow->get_value(dialog._dropdown_columns.position); } + Glib::ustring name(dialog._layer_name_entry.get_text()); + if (name.empty()) + return; SPObject *new_layer=Inkscape::create_layer(desktop->currentRoot(), dialog._layer, position); - Glib::ustring name(dialog._layer_name_entry.get_text()); if (!name.empty()) { desktop->layer_manager->renameLayer( new_layer, (gchar *)name.c_str(), TRUE ); } |
