diff options
| author | John Smith <john.smith7545@yahoo.com> | 2012-04-03 03:32:00 +0000 |
|---|---|---|
| committer | John Smith <removethis.john.q.public@bigmail.com> | 2012-04-03 03:32:00 +0000 |
| commit | bf5917550889e6a3af05b4b997327dbcc583381a (patch) | |
| tree | 5d5482ce5288bab772a234e89a96211c998e93d9 /src/ui/context-menu.cpp | |
| parent | Fix for 367607 : Remove deprecated GTK+ symbols - Deprecated *_unref symbols ... (diff) | |
| download | inkscape-bf5917550889e6a3af05b4b997327dbcc583381a.tar.gz inkscape-bf5917550889e6a3af05b4b997327dbcc583381a.zip | |
Fix for 170378 : Select same objects by fill or stroke
(bzr r11141)
Diffstat (limited to 'src/ui/context-menu.cpp')
| -rw-r--r-- | src/ui/context-menu.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ui/context-menu.cpp b/src/ui/context-menu.cpp index 9e5c65af9..d8d495b1e 100644 --- a/src/ui/context-menu.cpp +++ b/src/ui/context-menu.cpp @@ -25,6 +25,8 @@ #include "preferences.h" #include "verbs.h" +#include "selection-chemistry.h" + using Inkscape::DocumentUndo; static void sp_object_type_menu(GType type, SPObject *object, SPDesktop *desktop, GtkMenu *menu); @@ -90,6 +92,7 @@ static void sp_object_type_menu(GType type, SPObject *object, SPDesktop *desktop static void sp_item_properties(GtkMenuItem *menuitem, SPItem *item); static void sp_item_select_this(GtkMenuItem *menuitem, SPItem *item); +static void sp_item_select_same_fill_stroke(GtkMenuItem *menuitem, SPItem *item); static void sp_item_create_link(GtkMenuItem *menuitem, SPItem *item); static void sp_set_mask(GtkMenuItem *menuitem, SPItem *item); static void sp_release_mask(GtkMenuItem *menuitem, SPItem *item); @@ -124,6 +127,12 @@ static void sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m) } gtk_widget_show(w); gtk_menu_shell_append(GTK_MENU_SHELL(m), w); + /* Select same fill and stroke */ + w = gtk_menu_item_new_with_mnemonic(_("_Select Same Fill and Stroke")); + g_object_set_data(G_OBJECT(w), "desktop", desktop); + g_signal_connect(G_OBJECT(w), "activate", G_CALLBACK(sp_item_select_same_fill_stroke), item); + gtk_widget_show(w); + gtk_menu_shell_append(GTK_MENU_SHELL(m), w); /* Create link */ w = gtk_menu_item_new_with_mnemonic(_("_Create Link")); g_object_set_data(G_OBJECT(w), "desktop", desktop); @@ -258,6 +267,16 @@ static void sp_item_select_this(GtkMenuItem *menuitem, SPItem *item) sp_desktop_selection(desktop)->set(item); } +static void sp_item_select_same_fill_stroke(GtkMenuItem *menuitem, SPItem *item) +{ + SPDesktop *desktop; + desktop = (SPDesktop*)g_object_get_data(G_OBJECT(menuitem), "desktop"); + g_return_if_fail(desktop != NULL); + + sp_select_same_fill_stroke(desktop, true, true); +} + + static void sp_item_create_link(GtkMenuItem *menuitem, SPItem *item) { g_assert(SP_IS_ITEM(item)); |
