summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorJohn Smith <john.smith7545@yahoo.com>2012-10-24 08:48:02 +0000
committerJohn Smith <john.smith7545@yahoo.com>2012-10-24 08:48:02 +0000
commit7751440fc80831c41fa95035469eeb920fa45625 (patch)
tree3ccf1ef08f8a043d273a982598bf2e571f64641e /src/widgets
parentextensions. function plotter. prevent divide by zero. (Bug 1064863) (diff)
downloadinkscape-7751440fc80831c41fa95035469eeb920fa45625.tar.gz
inkscape-7751440fc80831c41fa95035469eeb920fa45625.zip
Fix for 1067819 : Changing gradient name does not dirty the document (trunk)
(bzr r11825)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/gradient-selector.cpp9
-rw-r--r--src/widgets/gradient-selector.h2
2 files changed, 7 insertions, 4 deletions
diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp
index 65608585b..0cf1c2c51 100644
--- a/src/widgets/gradient-selector.cpp
+++ b/src/widgets/gradient-selector.cpp
@@ -19,6 +19,7 @@
#include <gtk/gtk.h>
#include "document.h"
+#include "../document-undo.h"
#include "../document-private.h"
#include "../gradient-chemistry.h"
#include "inkscape.h"
@@ -169,7 +170,7 @@ static void sp_gradient_selector_init(SPGradientSelector *sel)
count_column->signal_clicked().connect( sigc::mem_fun(*sel, &SPGradientSelector::onTreeCountColClick) );
gvs->tree_select_connection = sel->treeview->get_selection()->signal_changed().connect( sigc::mem_fun(*sel, &SPGradientSelector::onTreeSelection) );
- sel->text_renderer->signal_edited().connect( sigc::mem_fun(*sel, &SPGradientSelector::onTreeEdited) );
+ sel->text_renderer->signal_edited().connect( sigc::mem_fun(*sel, &SPGradientSelector::onGradientRename) );
sel->scrolled_window = Gtk::manage(new Gtk::ScrolledWindow());
sel->scrolled_window->add(*sel->treeview);
@@ -289,7 +290,7 @@ SPGradientSpread SPGradientSelector::getSpread()
return gradientSpread;
}
-void SPGradientSelector::onTreeEdited( const Glib::ustring& path_string, const Glib::ustring& new_text)
+void SPGradientSelector::onGradientRename( const Glib::ustring& path_string, const Glib::ustring& new_text)
{
Gtk::TreePath path(path_string);
Gtk::TreeModel::iterator iter = store->get_iter(path);
@@ -300,10 +301,12 @@ void SPGradientSelector::onTreeEdited( const Glib::ustring& path_string, const G
if ( row ) {
SPObject* obj = row[columns->data];
if ( obj ) {
+ row[columns->name] = gr_prepare_label(obj);
if (!new_text.empty() && new_text != row[columns->name]) {
rename_id(obj, new_text );
+ Inkscape::DocumentUndo::done(obj->document, SP_VERB_CONTEXT_GRADIENT,
+ _("Rename gradient"));
}
- row[columns->name] = gr_prepare_label(obj);
}
}
}
diff --git a/src/widgets/gradient-selector.h b/src/widgets/gradient-selector.h
index f7cc3cc14..01c18a48d 100644
--- a/src/widgets/gradient-selector.h
+++ b/src/widgets/gradient-selector.h
@@ -61,7 +61,7 @@ struct SPGradientSelector {
/* Tree */
bool _checkForSelected(const Gtk::TreePath& path, const Gtk::TreeIter& iter, SPGradient *vector);
void onTreeSelection();
- void onTreeEdited( const Glib::ustring& path_string, const Glib::ustring& new_text);
+ void onGradientRename( const Glib::ustring& path_string, const Glib::ustring& new_text);
void onTreeNameColClick();
void onTreeColorColClick();
void onTreeCountColClick();