summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Bintz <me@johnbintz.com>2007-03-28 00:49:11 +0000
committerjohncoswell <johncoswell@users.sourceforge.net>2007-03-28 00:49:11 +0000
commit79fbaa4426aa45b43b33fa3f319df72e5057c96a (patch)
treee8a26150e0ce2d37b7402b72984fc5b2ad879c7e /src
parentAdding the new/change label to the star toolbar (diff)
downloadinkscape-79fbaa4426aa45b43b33fa3f319df72e5057c96a.tar.gz
inkscape-79fbaa4426aa45b43b33fa3f319df72e5057c96a.zip
Add shift+click to union new fill with old selection
(bzr r2773)
Diffstat (limited to 'src')
-rw-r--r--src/flood-context.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/flood-context.cpp b/src/flood-context.cpp
index 40c6c4190..f377d6b94 100644
--- a/src/flood-context.cpp
+++ b/src/flood-context.cpp
@@ -784,8 +784,16 @@ static gint sp_flood_context_root_handler(SPEventContext *event_context, GdkEven
// Since setWaitingCursor runs main loop iterations, we may have already left this tool!
// So check if the tool is valid before doing anything
+ Inkscape::Selection *selection = sp_desktop_selection(desktop);
+ GSList *items = g_slist_copy((GSList *) selection->itemList());
+
sp_flood_do_flood_fill(event_context, event);
-
+
+ if (event->button.state & GDK_SHIFT_MASK) {
+ selection->addList(items);
+ sp_selected_path_union();
+ }
+
// restore cursor when done; note that it may already be different if e.g. user
// switched to another tool during interruptible tracing or drawing, in which case do nothing
desktop->clearWaitingCursor();