diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2016-02-16 21:04:33 +0100 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2016-04-04 15:34:49 +0200 |
commit | fc05698ba1c292a3185ccff26f730320d7d27de6 (patch) | |
tree | fa74ad9d53495de1e0bd97ab7b5c6332e3c3e6a0 | |
parent | 5e383b0b6ef90cc555803856b82609dca6f8186a (diff) |
grc: add select all action
-rw-r--r-- | grc/gui/ActionHandler.py | 3 | ||||
-rw-r--r-- | grc/gui/Actions.py | 6 | ||||
-rw-r--r-- | grc/gui/Bars.py | 1 | ||||
-rw-r--r-- | grc/gui/FlowGraph.py | 6 |
4 files changed, 15 insertions, 1 deletions
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py index 0f227d08f5..8812704b26 100644 --- a/grc/gui/ActionHandler.py +++ b/grc/gui/ActionHandler.py @@ -143,6 +143,7 @@ class ActionHandler: Actions.TOGGLE_SHOW_CODE_PREVIEW_TAB, Actions.TOGGLE_SHOW_FLOWGRAPH_COMPLEXITY, Actions.FLOW_GRAPH_OPEN_QSS_THEME, + Actions.SELECT_ALL, ): action.set_sensitive(True) if hasattr(action, 'load_from_preferences'): @@ -162,6 +163,8 @@ class ActionHandler: pass #do nothing, update routines below elif action == Actions.NOTHING_SELECT: self.get_flow_graph().unselect() + elif action == Actions.SELECT_ALL: + self.get_flow_graph().select_all() ################################################## # Enable/Disable ################################################## diff --git a/grc/gui/Actions.py b/grc/gui/Actions.py index d53375f291..354e536a82 100644 --- a/grc/gui/Actions.py +++ b/grc/gui/Actions.py @@ -226,6 +226,12 @@ FLOW_GRAPH_REDO = Action( keypresses=(gtk.keysyms.y, gtk.gdk.CONTROL_MASK), ) NOTHING_SELECT = Action() +SELECT_ALL = Action( + label='Select _All', + tooltip='Select all blocks and connections in the flow graph', + stock_id=gtk.STOCK_SELECT_ALL, + keypresses=(gtk.keysyms.a, gtk.gdk.CONTROL_MASK), +) ELEMENT_SELECT = Action() ELEMENT_CREATE = Action() ELEMENT_DELETE = Action( diff --git a/grc/gui/Bars.py b/grc/gui/Bars.py index 19f041f508..259aa6ed8b 100644 --- a/grc/gui/Bars.py +++ b/grc/gui/Bars.py @@ -82,6 +82,7 @@ MENU_BAR_LIST = ( Actions.BLOCK_COPY, Actions.BLOCK_PASTE, Actions.ELEMENT_DELETE, + Actions.SELECT_ALL, None, Actions.BLOCK_ROTATE_CCW, Actions.BLOCK_ROTATE_CW, diff --git a/grc/gui/FlowGraph.py b/grc/gui/FlowGraph.py index 63fd841218..e940661a1d 100644 --- a/grc/gui/FlowGraph.py +++ b/grc/gui/FlowGraph.py @@ -49,7 +49,7 @@ class FlowGraph(Element): #important vars dealing with mouse event tracking self.element_moved = False self.mouse_pressed = False - self.unselect() + self._selected_elements = [] self.press_coor = (0, 0) #selected ports self._old_selected_port = None @@ -429,6 +429,10 @@ class FlowGraph(Element): """ self._selected_elements = [] + def select_all(self): + """Select all blocks in the flow graph""" + self._selected_elements = list(self.get_elements()) + def what_is_selected(self, coor, coor_m=None): """ What is selected? |