diff options
Diffstat (limited to 'grc/gui/Actions.py')
-rw-r--r-- | grc/gui/Actions.py | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/grc/gui/Actions.py b/grc/gui/Actions.py index cbd41332ab..c41798aab8 100644 --- a/grc/gui/Actions.py +++ b/grc/gui/Actions.py @@ -21,6 +21,8 @@ import pygtk pygtk.require('2.0') import gtk +import Preferences + NO_MODS_MASK = 0 ######################################################################## @@ -127,7 +129,7 @@ class ToggleAction(gtk.ToggleAction, _ActionBase): Pass additional arguments such as keypresses. """ - def __init__(self, keypresses=(), name=None, label=None, tooltip=None, stock_id=None): + def __init__(self, keypresses=(), name=None, label=None, tooltip=None, stock_id=None, preference_name=None): """ Create a new ToggleAction instance. @@ -142,6 +144,15 @@ class ToggleAction(gtk.ToggleAction, _ActionBase): ) #register this action _ActionBase.__init__(self, label, keypresses) + self.preference_name = preference_name + + def load_from_preferences(self): + if self.preference_name is not None: + self.set_active(Preferences.bool_entry(self.preference_name)) + + def save_to_preferences(self): + if self.preference_name is not None: + Preferences.bool_entry(self.preference_name, self.get_active()) ######################################################################## # Actions @@ -236,6 +247,11 @@ BLOCK_DISABLE = Action( stock_id=gtk.STOCK_DISCONNECT, keypresses=(gtk.keysyms.d, NO_MODS_MASK), ) +TOGGLE_SNAP_TO_GRID = ToggleAction( + label='_Snap to grid', + tooltip='Snap blocks to a grid for an easier connection alignment', + preference_name='snap_to_grid' +) TOGGLE_HIDE_DISABLED_BLOCKS = ToggleAction( label='Hide _disabled blocks', tooltip='Toggle visibility of disabled blocks and connections', @@ -245,6 +261,7 @@ TOGGLE_HIDE_DISABLED_BLOCKS = ToggleAction( TOGGLE_AUTO_HIDE_PORT_LABELS = ToggleAction( label='Auto-hide port _labels', tooltip='Automatically hide port labels', + preference_name='auto_hide_port_labels' ) BLOCK_CREATE_HIER = Action( label='C_reate Hier', @@ -279,15 +296,18 @@ TOGGLE_REPORTS_WINDOW = ToggleAction( label='Show _Reports', tooltip='Toggle visibility of the Report widget', keypresses=(gtk.keysyms.r, gtk.gdk.CONTROL_MASK), + preference_name='reports_window_visible' ) TOGGLE_BLOCKS_WINDOW = ToggleAction( label='Show _Block Tree', tooltip='Toggle visibility of the block tree widget', keypresses=(gtk.keysyms.b, gtk.gdk.CONTROL_MASK), + preference_name='blocks_window_visible' ) TOGGLE_SCROLL_LOCK = ToggleAction( label='_Reports Scroll Lock', tooltip='Toggle scroll lock for the report window', + preference_name='scroll_lock' ) ABOUT_WINDOW_DISPLAY = Action( label='_About', |