diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-03-12 19:18:55 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-03-12 19:18:55 (GMT) |
commit | bf80cb55b99fd2594e2cb85abddfb787c5b08485 (patch) | |
tree | 4ae85e7bc8387206b783422f00b0b7fe026bef94 /shell/view/frame/frame.py | |
parent | 2bd609e5fda7c1ba4ebb04d159e63a3c24a555ec (diff) |
Some cleanups in the Shell. Add a way to save/restore the frame state.
Diffstat (limited to 'shell/view/frame/frame.py')
-rw-r--r-- | shell/view/frame/frame.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py index 11aea67..51a8032 100644 --- a/shell/view/frame/frame.py +++ b/shell/view/frame/frame.py @@ -110,6 +110,11 @@ class _KeyListener(object): self._hide_sid = gobject.timeout_add( 100, self._hide_frame_timeout_cb) +class _FrameState(object): + def __init__(self, visible, mode): + self.visible = visible + self.mode = mode + class Frame(object): def __init__(self, shell): self.mode = MODE_NONE @@ -124,6 +129,7 @@ class Frame(object): self._current_position = 0.0 self._animator = None self._hover = False + self._saved_state = None self._event_frame = EventFrame() self._event_frame.connect('enter-corner', self._enter_corner_cb) @@ -149,6 +155,16 @@ class Frame(object): self._key_listener = _KeyListener(self) self._mouse_listener = _MouseListener(self) + def save_state(self): + self._saved_state = _FrameState(self.visible, self.mode) + + def restore_state(self): + if self.saved_state.visible: + self.show() + else: + self.hide() + self.mode = self._saved_state.mode + def hide(self, force=False): if not self.visible: return |