summaryrefslogtreecommitdiffstats
path: root/src/widgets/gradient-toolbar.cpp
diff options
context:
space:
mode:
authorJohn Smith <john.smith7545@yahoo.com>2012-04-25 04:52:00 +0000
committerJohn Smith <removethis.john.q.public@bigmail.com>2012-04-25 04:52:00 +0000
commit3b09d1b8be1798131ce372d1eb308160c2383f88 (patch)
tree99a456bc10e72019c5a39396630df2669dafe365 /src/widgets/gradient-toolbar.cpp
parentMemory management in context menu (Bug #910529 ) (diff)
downloadinkscape-3b09d1b8be1798131ce372d1eb308160c2383f88.tar.gz
inkscape-3b09d1b8be1798131ce372d1eb308160c2383f88.zip
Fix for 950677 : Add link option to gradient toolbar
(bzr r11291)
Diffstat (limited to 'src/widgets/gradient-toolbar.cpp')
-rw-r--r--src/widgets/gradient-toolbar.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/widgets/gradient-toolbar.cpp b/src/widgets/gradient-toolbar.cpp
index e239457fd..a7b97c21a 100644
--- a/src/widgets/gradient-toolbar.cpp
+++ b/src/widgets/gradient-toolbar.cpp
@@ -636,6 +636,20 @@ gr_remove_stop (GtkWidget */*button*/, GtkWidget *vb)
}
static void
+gr_linked_changed (GtkToggleAction *act, gpointer data)
+{
+ gboolean active = gtk_toggle_action_get_active( act );
+ if ( active ) {
+ g_object_set( G_OBJECT(act), "iconId", INKSCAPE_ICON("object-locked"), NULL );
+ } else {
+ g_object_set( G_OBJECT(act), "iconId", INKSCAPE_ICON("object-unlocked"), NULL );
+ }
+
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ prefs->setBool("/options/forkgradientvectors/value", !active);
+}
+
+static void
gr_reverse (GtkWidget */*button*/, gpointer data)
{
SPDesktop *desktop = static_cast<SPDesktop *>(data);
@@ -1264,6 +1278,22 @@ void sp_gradient_toolbox_prep(SPDesktop * desktop, GtkActionGroup* mainActions,
}
+ // Gradients Linked toggle
+ {
+ InkToggleAction* itact = ink_toggle_action_new( "GradientEditLinkAction",
+ _("Link gradients"),
+ _("Link gradients to change all related gradients"),
+ INKSCAPE_ICON("object-unlocked"),
+ secondarySize );
+ g_object_set( itact, "short_label", "Lock", NULL );
+ g_signal_connect_after( G_OBJECT(itact), "toggled", G_CALLBACK(gr_linked_changed), desktop) ;
+ gtk_action_group_add_action( mainActions, GTK_ACTION(itact) );
+
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ bool linkedmode = prefs->getBool("/options/forkgradientvectors/value", true);
+ gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), !linkedmode );
+ }
+
Inkscape::Selection *selection = sp_desktop_selection (desktop);
SPDocument *document = sp_desktop_document (desktop);