From 925ee6d4e04c6df884687472e366b431553c3a72 Mon Sep 17 00:00:00 2001 From: John Smith Date: Tue, 25 Sep 2012 20:28:58 +0900 Subject: Fix for 293358 : Reduce width of Fill Stroke dialog (bzr r11702) --- src/widgets/gradient-selector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 3eba2da23..082f04a77 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -153,7 +153,7 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) Gtk::TreeView::Column* name_column = sel->treeview->get_column(1); sel->text_renderer->property_editable() = true; name_column->add_attribute(sel->text_renderer->property_text(), sel->columns->name); - name_column->set_min_width(200); + name_column->set_min_width(180); name_column->set_clickable(true); name_column->set_resizable(true); -- cgit v1.2.3 From c4e83e0bd3505b0c8d6b3f466ed75394cb34acd2 Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Sun, 7 Oct 2012 15:03:13 +0200 Subject: i18n. Adding gradient selector widget labels. (bzr r11745) --- src/widgets/gradient-selector.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 082f04a77..dffda69e3 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -143,13 +143,13 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) sel->icon_renderer = Gtk::manage(new Gtk::CellRendererPixbuf()); sel->text_renderer = Gtk::manage(new Gtk::CellRendererText()); - sel->treeview->append_column("Gradient", *sel->icon_renderer); + sel->treeview->append_column(_("Gradient"), *sel->icon_renderer); Gtk::TreeView::Column* icon_column = sel->treeview->get_column(0); icon_column->add_attribute(sel->icon_renderer->property_pixbuf(), sel->columns->pixbuf); icon_column->set_sort_column(sel->columns->color); icon_column->set_clickable(true); - sel->treeview->append_column("Name", *sel->text_renderer); + sel->treeview->append_column(_("Name"), *sel->text_renderer); Gtk::TreeView::Column* name_column = sel->treeview->get_column(1); sel->text_renderer->property_editable() = true; name_column->add_attribute(sel->text_renderer->property_text(), sel->columns->name); -- cgit v1.2.3 From ed87de315e80b0066e2dd74d07ff2ec688592072 Mon Sep 17 00:00:00 2001 From: John Smith Date: Mon, 22 Oct 2012 21:47:12 +0900 Subject: Fix for 1067808 : Focus issues with new gradient (and swatch) manager in Fill&Stroke (trunk) (bzr r11819) --- src/widgets/gradient-selector.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index dffda69e3..65608585b 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -336,6 +336,14 @@ void SPGradientSelector::onTreeSelection() return; } + if (!treeview->has_focus()) { + /* Workaround for GTK bug on Windows/OS X + * When the treeview initially doesn't have focus and is clicked + * sometimes get_selection()->signal_changed() has the wrong selection + */ + treeview->grab_focus(); + } + const Glib::RefPtr sel = treeview->get_selection(); if (!sel) { return; -- cgit v1.2.3 From 7751440fc80831c41fa95035469eeb920fa45625 Mon Sep 17 00:00:00 2001 From: John Smith Date: Wed, 24 Oct 2012 17:48:02 +0900 Subject: Fix for 1067819 : Changing gradient name does not dirty the document (trunk) (bzr r11825) --- src/widgets/gradient-selector.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') 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 #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); } } } -- cgit v1.2.3 From 50344eb9b83c7d8935010b9a31f0bc243a7da805 Mon Sep 17 00:00:00 2001 From: John Smith Date: Sun, 28 Oct 2012 12:08:09 +0900 Subject: Fix for 1067808 : Focus issues with new gradient (and swatch) manager in Fill&Stroke - Focus fix (bzr r11842) --- src/widgets/gradient-selector.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 0cf1c2c51..2a651544b 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -374,7 +374,10 @@ bool SPGradientSelector::_checkForSelected(const Gtk::TreePath &path, const Gtk: { treeview->scroll_to_row(path, 0.5); Glib::RefPtr select = treeview->get_selection(); + bool wasBlocked = blocked; + blocked = true; select->select(iter); + blocked = wasBlocked; found = true; } -- cgit v1.2.3 From 5da5121b9afaa8b2d1f0308dffc7d1e1b225b142 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sun, 11 Nov 2012 12:46:25 +0000 Subject: Replace remaining C-style pointer casts for src/widgets (bzr r11868) --- src/widgets/gradient-selector.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 2a651544b..33388a0c1 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -249,12 +249,9 @@ void SPGradientSelector::setSpread(SPGradientSpread spread) } -GtkWidget * -sp_gradient_selector_new (void) +GtkWidget *sp_gradient_selector_new() { - SPGradientSelector *sel; - - sel = (SPGradientSelector*)g_object_new (SP_TYPE_GRADIENT_SELECTOR, NULL); + SPGradientSelector *sel = SP_GRADIENT_SELECTOR(g_object_new (SP_TYPE_GRADIENT_SELECTOR, NULL)); return (GtkWidget *) sel; } @@ -361,7 +358,7 @@ void SPGradientSelector::onTreeSelection() } if (obj) { - sp_gradient_selector_vector_set (NULL, (SPGradient*)obj, this); + sp_gradient_selector_vector_set (NULL, SP_GRADIENT(obj), this); } } @@ -508,7 +505,7 @@ sp_gradient_selector_add_vector_clicked (GtkWidget */*w*/, SPGradientSelector *s Glib::ustring old_id = gr->getId(); - gr = (SPGradient *) doc->getObjectByRepr(repr); + gr = SP_GRADIENT(doc->getObjectByRepr(repr)); // Rename the new gradients id to be similar to the cloned gradients rename_id(gr, old_id); -- cgit v1.2.3 From c31f12ada683e302beb99dbc6eaea5d6d1205ab2 Mon Sep 17 00:00:00 2001 From: John Smith Date: Wed, 28 Nov 2012 09:44:24 +0900 Subject: Fix for 1071421 : Setting swatch as fill/stroke creates new swatches which never go away (bzr r11911) --- src/widgets/gradient-selector.cpp | 70 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 33388a0c1..a900a0d10 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -53,6 +53,8 @@ static void sp_gradient_selector_dispose(GObject *object); static void sp_gradient_selector_vector_set (SPGradientVectorSelector *gvs, SPGradient *gr, SPGradientSelector *sel); static void sp_gradient_selector_edit_vector_clicked (GtkWidget *w, SPGradientSelector *sel); static void sp_gradient_selector_add_vector_clicked (GtkWidget *w, SPGradientSelector *sel); +static void sp_gradient_selector_delete_vector_clicked (GtkWidget *w, SPGradientSelector *sel); + static GtkVBoxClass *parent_class; static guint signals[LAST_SIGNAL] = {0}; @@ -125,6 +127,7 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) sel->safelyInit = true; sel->blocked = false; new (&sel->nonsolid) std::vector(); + new (&sel->swatch_widgets) std::vector(); sel->mode = SPGradientSelector::MODE_LINEAR; @@ -189,7 +192,7 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) #else GtkWidget *hb = gtk_hbox_new( FALSE, 2 ); #endif - sel->nonsolid.push_back(hb); + //sel->nonsolid.push_back(hb); gtk_box_pack_start( GTK_BOX(sel), hb, FALSE, FALSE, 0 ); sel->add = gtk_button_new (); @@ -213,6 +216,16 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) gtk_button_set_relief(GTK_BUTTON(sel->edit), GTK_RELIEF_NONE); gtk_widget_set_tooltip_text( sel->edit, _("Edit gradient")); + sel->del = gtk_button_new (); + gtk_button_set_image((GtkButton*)sel->del , gtk_image_new_from_stock ( GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR ) ); + + sel->swatch_widgets.push_back(sel->del); + gtk_box_pack_start (GTK_BOX (hb), sel->del, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (sel->del), "clicked", G_CALLBACK (sp_gradient_selector_delete_vector_clicked), sel); + gtk_widget_set_sensitive (sel->del, FALSE); + gtk_button_set_relief(GTK_BUTTON(sel->del), GTK_RELIEF_NONE); + gtk_widget_set_tooltip_text( sel->del, _("Delete swatch")); + gtk_widget_show_all(hb); @@ -226,6 +239,7 @@ static void sp_gradient_selector_dispose(GObject *object) sel->safelyInit = false; using std::vector; sel->nonsolid.~vector(); + sel->swatch_widgets.~vector(); } if (sel->icon_renderer) { @@ -265,9 +279,23 @@ void SPGradientSelector::setMode(SelectorMode mode) { gtk_widget_hide(*it); } + for (std::vector::iterator it = swatch_widgets.begin(); it != swatch_widgets.end(); ++it) + { + gtk_widget_show_all(*it); + } SPGradientVectorSelector* vs = SP_GRADIENT_VECTOR_SELECTOR(vectors); vs->setSwatched(); + } else { + for (std::vector::iterator it = nonsolid.begin(); it != nonsolid.end(); ++it) + { + gtk_widget_show_all(*it); + } + for (std::vector::iterator it = swatch_widgets.begin(); it != swatch_widgets.end(); ++it) + { + gtk_widget_hide(*it); + } + } } } @@ -412,6 +440,17 @@ void SPGradientSelector::setVector(SPDocument *doc, SPGradient *vector) gtk_widget_show_all(*it); } } + } else if (mode != MODE_SWATCH) { + + for (std::vector::iterator it = swatch_widgets.begin(); it != swatch_widgets.end(); ++it) + { + gtk_widget_hide(*it); + } + for (std::vector::iterator it = nonsolid.begin(); it != nonsolid.end(); ++it) + { + gtk_widget_show_all(*it); + } + } if (edit) { @@ -420,6 +459,9 @@ void SPGradientSelector::setVector(SPDocument *doc, SPGradient *vector) if (add) { gtk_widget_set_sensitive(add, TRUE); } + if (del) { + gtk_widget_set_sensitive(del, TRUE); + } } else { if (edit) { gtk_widget_set_sensitive(edit, FALSE); @@ -427,6 +469,9 @@ void SPGradientSelector::setVector(SPDocument *doc, SPGradient *vector) if (add) { gtk_widget_set_sensitive(add, (doc != NULL)); } + if (del) { + gtk_widget_set_sensitive(del, FALSE); + } } } @@ -451,6 +496,29 @@ sp_gradient_selector_vector_set (SPGradientVectorSelector *gvs, SPGradient *gr, } } + +static void +sp_gradient_selector_delete_vector_clicked (GtkWidget */*w*/, SPGradientSelector *sel) +{ + const Glib::RefPtr selection = sel->treeview->get_selection(); + if (!selection) { + return; + } + + SPGradient *obj = NULL; + /* Single selection */ + Gtk::TreeModel::iterator iter = selection->get_selected(); + if ( iter ) { + Gtk::TreeModel::Row row = *iter; + obj = row[sel->columns->data]; + } + + if (obj) { + sp_gradient_unset_swatch(SP_ACTIVE_DESKTOP, obj->getId()); + } + +} + static void sp_gradient_selector_edit_vector_clicked (GtkWidget */*w*/, SPGradientSelector *sel) { -- cgit v1.2.3 From 7d0688dffd46de8bd6defea214606ab1ad417595 Mon Sep 17 00:00:00 2001 From: John Smith Date: Thu, 29 Nov 2012 09:32:43 +0900 Subject: Fix for 171466 : F/S set swatch preview column name (bzr r11912) --- src/widgets/gradient-selector.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index a900a0d10..89a891284 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -284,6 +284,9 @@ void SPGradientSelector::setMode(SelectorMode mode) gtk_widget_show_all(*it); } + Gtk::TreeView::Column* icon_column = treeview->get_column(0); + icon_column->set_title(_("Swatch")); + SPGradientVectorSelector* vs = SP_GRADIENT_VECTOR_SELECTOR(vectors); vs->setSwatched(); } else { @@ -295,6 +298,8 @@ void SPGradientSelector::setMode(SelectorMode mode) { gtk_widget_hide(*it); } + Gtk::TreeView::Column* icon_column = treeview->get_column(0); + icon_column->set_title(_("Gradient")); } } -- cgit v1.2.3