diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-10-29 14:49:17 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-10-29 14:49:17 (GMT) |
commit | 702a89077074d57ab4c7bc8ecd770dece4d86691 (patch) | |
tree | d905f5869d43d187bdf71d364dfbe131fb23d168 /shell/view/frame/frame.py | |
parent | 91c97ba0188fa87eb91ab59bdf4edc4288146943 (diff) |
Revert to the trial-3 frame behavior (always visible on
the home page). Readapt things which are changed in the
meantime.
Diffstat (limited to 'shell/view/frame/frame.py')
-rw-r--r-- | shell/view/frame/frame.py | 107 |
1 files changed, 29 insertions, 78 deletions
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py index f77f662..c507262 100644 --- a/shell/view/frame/frame.py +++ b/shell/view/frame/frame.py @@ -33,16 +33,11 @@ from view.frame.framewindow import FrameWindow from view.frame.clipboardpanelwindow import ClipboardPanelWindow from model.shellmodel import ShellModel -MODE_NONE = 0 -MODE_MOUSE = 1 -MODE_KEYBOARD = 2 -MODE_FORCE = 3 - _FRAME_HIDING_DELAY = 500 class _Animation(animator.Animation): def __init__(self, frame, end): - start = frame.get_current_position() + start = frame.current_position animator.Animation.__init__(self, start, end) self._frame = frame @@ -55,19 +50,16 @@ class _MouseListener(object): self._hide_sid = 0 def mouse_enter(self): - if self._frame.mode == MODE_NONE or \ - self._frame.mode == MODE_MOUSE: - self._show_frame() + self._show_frame() def mouse_leave(self): - if self._frame.mode == MODE_MOUSE: + if self._frame.mode == Frame.MODE_MOUSE: self._hide_frame() def _show_frame(self): if self._hide_sid != 0: gobject.source_remove(self._hide_sid) - self._frame.show() - self._frame.mode = MODE_MOUSE + self._frame.show(Frame.MODE_MOUSE) def _hide_frame_timeout_cb(self): self._frame.hide() @@ -80,52 +72,23 @@ class _MouseListener(object): _FRAME_HIDING_DELAY, self._hide_frame_timeout_cb) class _KeyListener(object): - _HIDDEN = 1 - _SHOWN_PRESSED = 2 - _SHOWN_REPEAT = 3 - _SHOWN_RELEASED = 4 - def __init__(self, frame): self._frame = frame - self._state = _KeyListener._HIDDEN def key_press(self): - if self._frame.mode != MODE_NONE and \ - self._frame.mode != MODE_KEYBOARD: - return - if self._frame.visible: - self._frame.hide() + if self._frame.mode == Frame.MODE_KEYBOARD: + self._frame.hide() else: - self._frame.show() - self._frame.mode = MODE_KEYBOARD - - """ - if self._state == _KeyListener._HIDDEN: - self._frame.show() - self._frame.mode = MODE_KEYBOARD - self._state = _KeyListener._SHOWN_PRESSED - elif self._state == _KeyListener._SHOWN_PRESSED: - self._state = _KeyListener._SHOWN_REPEAT - elif self._state == _KeyListener._SHOWN_RELEASED: - self._frame.hide() - self._state = _KeyListener._HIDDEN - """ - - def key_release(self): - pass - """ - if self._state == _KeyListener._SHOWN_PRESSED: - self._state = _KeyListener._SHOWN_RELEASED - elif self._state == _KeyListener._SHOWN_REPEAT: - self._frame.hide() - self._state = _KeyListener._HIDDEN - """ + self._frame.show(Frame.MODE_KEYBOARD) class Frame(object): + MODE_MOUSE = 0 + MODE_KEYBOARD = 1 + MODE_HOME = 2 + def __init__(self, shell): - self.mode = MODE_NONE - self.visible = False + self.mode = None self._palette_group = palettegroup.get_group('frame') self._palette_group.connect('popdown', self._palette_group_popdown_cb) @@ -136,7 +99,7 @@ class Frame(object): self._bottom_panel = None self._shell = shell - self._current_position = 0.0 + self.current_position = 0.0 self._animator = None self._event_area = EventArea() @@ -157,9 +120,12 @@ class Frame(object): self._key_listener = _KeyListener(self) self._mouse_listener = _MouseListener(self) - def hide(self, force=False): - if not self.visible: - return + self.move(1.0) + + def is_visible(self): + return self.current_position != 0.0 + + def hide(self): if self._animator: self._animator.stop() @@ -169,16 +135,9 @@ class Frame(object): self._event_area.show() - self.visible = False - if force: - self.mode = MODE_NONE - else: - self.mode = MODE_FORCE - self._animator.connect('completed', self._hide_completed_cb) - - def show(self): - self.mode = MODE_FORCE + self.mode = None + def show(self, mode): if self.visible: return if self._animator: @@ -186,19 +145,16 @@ class Frame(object): self._shell.take_activity_screenshot() + self.mode = mode + self._animator = animator.Animator(0.5) self._animator.add(_Animation(self, 1.0)) self._animator.start() self._event_area.hide() - self.visible = True - - def get_current_position(self): - return self._current_position - def move(self, pos): - self._current_position = pos + self.current_position = pos self._update_position() def _is_hover(self): @@ -266,21 +222,18 @@ class Frame(object): screen_h = gtk.gdk.screen_height() screen_w = gtk.gdk.screen_width() - self._move_panel(self._top_panel, self._current_position, + self._move_panel(self._top_panel, self.current_position, 0, - self._top_panel.size, 0, 0) - self._move_panel(self._bottom_panel, self._current_position, + self._move_panel(self._bottom_panel, self.current_position, 0, screen_h, 0, screen_h - self._bottom_panel.size) - self._move_panel(self._left_panel, self._current_position, + self._move_panel(self._left_panel, self.current_position, - self._left_panel.size, 0, 0, 0) - self._move_panel(self._right_panel, self._current_position, + self._move_panel(self._right_panel, self.current_position, screen_w, 0, screen_w - self._right_panel.size, 0) - def _hide_completed_cb(self, animator): - self.mode = MODE_NONE - def _size_changed_cb(self, screen): self._update_position() @@ -316,6 +269,4 @@ class Frame(object): def notify_key_press(self): self._key_listener.key_press() - def notify_key_release(self): - self._key_listener.key_release() - + visible = property(is_visible, None) |