Code

Add shift+click to union new fill with old selection
authorjohncoswell <johncoswell@users.sourceforge.net>
Wed, 28 Mar 2007 00:49:11 +0000 (00:49 +0000)
committerjohncoswell <johncoswell@users.sourceforge.net>
Wed, 28 Mar 2007 00:49:11 +0000 (00:49 +0000)
src/flood-context.cpp

index 40c6c4190a610a8e792a94cc25b429735edbdda6..f377d6b943c016ce5a1f6623dfc7252fe0ffd28f 100644 (file)
@@ -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();