diff options
author | aru31 <guptarpit1997@gmail.com> | 2019-02-02 16:03:13 +0530 |
---|---|---|
committer | Andrej Rode <mail@andrejro.de> | 2019-02-14 13:04:16 +0100 |
commit | 0ab52db4c42424804bd31d77c1fdb0a9ae7d37c2 (patch) | |
tree | 7a6a16623f4db18093ddcb2b49a7eea51505d776 | |
parent | 4befd86c7446812e553c4d0f2dff8ae74a5042bc (diff) |
grc: fix for GRC's block hotkeys
-rw-r--r-- | grc/gui/Actions.py | 29 | ||||
-rw-r--r-- | grc/gui/DrawingArea.py | 39 | ||||
-rw-r--r-- | grc/gui/canvas/block.py | 2 |
3 files changed, 26 insertions, 44 deletions
diff --git a/grc/gui/Actions.py b/grc/gui/Actions.py index 623170f38f..dd373847bb 100644 --- a/grc/gui/Actions.py +++ b/grc/gui/Actions.py @@ -311,35 +311,43 @@ BLOCK_ROTATE_CCW = actions.register("win.block_rotate_ccw", label='Rotate Counterclockwise', tooltip='Rotate the selected blocks 90 degrees to the left', icon_name='object-rotate-left', + keypresses=["Left"], ) BLOCK_ROTATE_CW = actions.register("win.block_rotate", label='Rotate Clockwise', tooltip='Rotate the selected blocks 90 degrees to the right', icon_name='object-rotate-right', + keypresses=["Right"], ) BLOCK_VALIGN_TOP = actions.register("win.block_align_top", label='Vertical Align Top', tooltip='Align tops of selected blocks', + keypresses=["<Shift>t"], ) BLOCK_VALIGN_MIDDLE = actions.register("win.block_align_middle", label='Vertical Align Middle', tooltip='Align centers of selected blocks vertically', + keypresses=["<Shift>m"], ) BLOCK_VALIGN_BOTTOM = actions.register("win.block_align_bottom", label='Vertical Align Bottom', tooltip='Align bottoms of selected blocks', + keypresses=["<Shift>b"], ) BLOCK_HALIGN_LEFT = actions.register("win.block_align_left", label='Horizontal Align Left', tooltip='Align left edges of blocks selected blocks', + keypresses=["<Shift>l"], ) BLOCK_HALIGN_CENTER = actions.register("win.block_align_center", label='Horizontal Align Center', tooltip='Align centers of selected blocks horizontally', + keypresses=["<Shift>c"], ) BLOCK_HALIGN_RIGHT = actions.register("win.block_align_right", label='Horizontal Align Right', tooltip='Align right edges of selected blocks', + keypresses=["<Shift>r"], ) BLOCK_ALIGNMENTS = [ BLOCK_VALIGN_TOP, @@ -354,21 +362,25 @@ BLOCK_PARAM_MODIFY = actions.register("win.block_modify", label='_Properties', tooltip='Modify params for the selected block', icon_name='document-properties', + keypresses=["Return"], ) BLOCK_ENABLE = actions.register("win.block_enable", label='E_nable', tooltip='Enable the selected blocks', icon_name='network-wired', + keypresses=["e"], ) BLOCK_DISABLE = actions.register("win.block_disable", label='D_isable', tooltip='Disable the selected blocks', icon_name='network-wired-disconnected', + keypresses=["d"], ) BLOCK_BYPASS = actions.register("win.block_bypass", label='_Bypass', tooltip='Bypass the selected block', icon_name='media-seek-forward', + keypresses=["b"], ) TOGGLE_SNAP_TO_GRID = actions.register("win.snap_to_grid", label='_Snap to grid', @@ -429,6 +441,7 @@ BLOCK_CREATE_HIER = actions.register("win.block_create_hier", label='C_reate Hier', tooltip='Create hier block from selected blocks', icon_name='document-new', + keypresses=["c"], ) BLOCK_CUT = actions.register("win.block_cut", label='Cu_t', @@ -514,10 +527,18 @@ FLOW_GRAPH_SCREEN_CAPTURE = actions.register("app.flowgraph.screen_capture", icon_name='printer', keypresses=["<Ctrl>p"], ) -PORT_CONTROLLER_DEC = actions.register("win.port_controller_dec") -PORT_CONTROLLER_INC = actions.register("win.port_controller_inc") -BLOCK_INC_TYPE = actions.register("win.block_inc_type") -BLOCK_DEC_TYPE = actions.register("win.block_dec_type") +PORT_CONTROLLER_DEC = actions.register("win.port_controller_dec", + keypresses=["KP_Subtract", "minus"], +) +PORT_CONTROLLER_INC = actions.register("win.port_controller_inc", + keypresses=["KP_Add", "plus"], +) +BLOCK_INC_TYPE = actions.register("win.block_inc_type", + keypresses=["Down"], +) +BLOCK_DEC_TYPE = actions.register("win.block_dec_type", + keypresses=["Up"], +) RELOAD_BLOCKS = actions.register("app.reload_blocks", label='Reload _Blocks', tooltip='Reload Blocks', diff --git a/grc/gui/DrawingArea.py b/grc/gui/DrawingArea.py index 3a77d062f4..007c21e290 100644 --- a/grc/gui/DrawingArea.py +++ b/grc/gui/DrawingArea.py @@ -71,7 +71,6 @@ class DrawingArea(Gtk.DrawingArea): # This may not be the correct place to be handling the user events # Should this be in the page instead? # Or should more of the page functionality move here? - self.connect('key_press_event', self._handle_key_press) # setup drag and drop self.drag_dest_set(Gtk.DestDefaults.ALL, [], Gdk.DragAction.COPY) @@ -92,29 +91,6 @@ class DrawingArea(Gtk.DrawingArea): # self.set_flags(Gtk.CAN_FOCUS) # self.set_can_focus(True) # self.connect('focus-out-event', self._handle_focus_lost_event) - # Setup a map of the accelerator keys to the action to trigger - self.accels = { - Gtk.accelerator_parse('d'): Actions.BLOCK_DISABLE, - Gtk.accelerator_parse('e'): Actions.BLOCK_ENABLE, - Gtk.accelerator_parse('b'): Actions.BLOCK_BYPASS, - Gtk.accelerator_parse('c'): Actions.BLOCK_CREATE_HIER, - Gtk.accelerator_parse('Up'): Actions.BLOCK_DEC_TYPE, - Gtk.accelerator_parse('Down'): Actions.BLOCK_INC_TYPE, - Gtk.accelerator_parse('Left'): Actions.BLOCK_ROTATE_CCW, - Gtk.accelerator_parse('Right'): Actions.BLOCK_ROTATE_CW, - Gtk.accelerator_parse('minus'): Actions.PORT_CONTROLLER_DEC, - Gtk.accelerator_parse('plus'): Actions.PORT_CONTROLLER_INC, - Gtk.accelerator_parse('Add'): Actions.PORT_CONTROLLER_INC, - Gtk.accelerator_parse('Subtract'): Actions.PORT_CONTROLLER_DEC, - Gtk.accelerator_parse('Return'): Actions.BLOCK_PARAM_MODIFY, - Gtk.accelerator_parse('<Shift>t'): Actions.BLOCK_VALIGN_TOP, - Gtk.accelerator_parse('<Shift>m'): Actions.BLOCK_VALIGN_MIDDLE, - Gtk.accelerator_parse('<Shift>b'): Actions.BLOCK_VALIGN_BOTTOM, - Gtk.accelerator_parse('<Shift>l'): Actions.BLOCK_HALIGN_LEFT, - Gtk.accelerator_parse('<Shift>c'): Actions.BLOCK_HALIGN_CENTER, - Gtk.accelerator_parse('<Shift>r'): Actions.BLOCK_HALIGN_RIGHT, - } - ########################################################################## # Handlers @@ -187,21 +163,6 @@ class DrawingArea(Gtk.DrawingArea): coordinate=self._translate_event_coords(event), ) - def _handle_key_press(self, widget, event): - """ - Handle specific keypresses when the drawing area has focus that - triggers actions by the user. - """ - key = event.keyval - mod = event.state - - try: - action = self.accels[(key, mod)] - action() - return True - except KeyError: - return False - def _update_size(self): w, h = self._flow_graph.get_extents()[2:] self.set_size_request(w * self.zoom_factor + 100, h * self.zoom_factor + 100) diff --git a/grc/gui/canvas/block.py b/grc/gui/canvas/block.py index 2f0d057d4f..31a474fae2 100644 --- a/grc/gui/canvas/block.py +++ b/grc/gui/canvas/block.py @@ -345,7 +345,7 @@ class Block(CoreBlock, Drawable): Returns: true for change """ - type_templates = ' '.join(p._type for p in self.params.values()) + type_templates = ' '.join(p.dtype for p in self.params.values()) + ' ' type_templates += ' '.join(p.get_raw('dtype') for p in (self.sinks + self.sources)) type_param = None for key, param in six.iteritems(self.params): |