summaryrefslogtreecommitdiff
path: root/grc/gui/Actions.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/gui/Actions.py')
-rw-r--r--grc/gui/Actions.py22
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',