Give up on the save/restore logic, it seem too unpredictable to be clear to the user.
Try a simpler logic where the frame state is reset when switching zoom levels.
This commit is contained in:
@@ -110,11 +110,6 @@ 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
|
||||
@@ -129,7 +124,6 @@ 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)
|
||||
@@ -155,21 +149,6 @@ class Frame(object):
|
||||
self._key_listener = _KeyListener(self)
|
||||
self._mouse_listener = _MouseListener(self)
|
||||
|
||||
self.save_state()
|
||||
|
||||
def save_state(self):
|
||||
self._saved_state = _FrameState(self.visible, self.mode)
|
||||
|
||||
def restore_state(self):
|
||||
if self._saved_state == None:
|
||||
return
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user