Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-03-12 15:57:52 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-03-12 15:57:52 (GMT)
commitce91f2df995fa07b7dd6a2f5777e7785e2c08d48 (patch)
treebc41aeec66efd4b8fb6c07e84e96667a1673ac4d /shell
parent978965bfa8e042b9daa2b0d4a5bc28a758a355a6 (diff)
Force hiding when running an activity even if the user hover the frame again.
Diffstat (limited to 'shell')
-rw-r--r--shell/view/frame/frame.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py
index de375e6..b21a223 100644
--- a/shell/view/frame/frame.py
+++ b/shell/view/frame/frame.py
@@ -36,7 +36,7 @@ STATE_HIDING = 1
MODE_NONE = 0
MODE_MOUSE = 1
MODE_KEYBOARD = 2
-MODE_NOT_INTERACTIVE = 3
+MODE_FORCE = 3
_FRAME_HIDING_DELAY = 500
@@ -152,7 +152,7 @@ class Frame(object):
self._key_listener = _KeyListener(self)
self._mouse_listener = _MouseListener(self)
- def hide(self):
+ def hide(self, force=False):
if self.state == STATE_HIDING:
return
if self._animator:
@@ -165,7 +165,11 @@ class Frame(object):
self._event_frame.show()
self.state = STATE_HIDING
- self.mode = MODE_NONE
+ if force:
+ self.mode = MODE_NONE
+ else:
+ self.mode = MODE_FORCE
+ self._animator.connect('completed', self._hide_completed_cb)
def show(self):
if self.state == STATE_SHOWING:
@@ -180,7 +184,7 @@ class Frame(object):
self._event_frame.hide()
self.state = STATE_SHOWING
- self.mode = MODE_NOT_INTERACTIVE
+ self.mode = MODE_FORCE
def get_popup_context(self):
return self._popup_context
@@ -281,6 +285,9 @@ class Frame(object):
screen_w, 0,
screen_w - units.grid_to_pixels(1), 0)
+ def _hide_completed_cb(self, animator):
+ self.mode = MODE_NONE
+
def _size_changed_cb(self, screen):
self._update_position()