Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/addons/disablewidget.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/disablewidget.py')
-rw-r--r--addons/disablewidget.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/addons/disablewidget.py b/addons/disablewidget.py
index 210d1eb..ce3f235 100644
--- a/addons/disablewidget.py
+++ b/addons/disablewidget.py
@@ -36,12 +36,19 @@ class DisableWidgetAction(Action):
if os.activity:
self._widget = gtkutils.find_widget(os.activity, self.target)
if self._widget:
+ # If we have an object whose sensitivity we can query, we will
+ # keep it to reset it in the undo() method
+ if hasattr(self._widget, 'get_sensitive') and callable(self._widget.get_sensitive):
+ self._previous_sensitivity = self._widget.get_sensitive()
self._widget.set_sensitive(False)
def undo(self):
"""Action undo"""
if self._widget:
- self._widget.set_sensitive(True)
+ if hasattr(self, '_previous_sensitivity'):
+ self._widget.set_sensitive(self._previous_sensitivity)
+ else:
+ self._widget.set_sensitive(True)
__action__ = {
'name' : 'DisableWidgetAction',