From 43702a73b2832c7a8d995c2003fd5b5f93c13697 Mon Sep 17 00:00:00 2001 From: Ajay Garg Date: Sun, 12 May 2013 11:58:20 +0000 Subject: sdxo#2756: Now, when the entries in the "NTP Servers" sections are being edited in ebook-mode, the "Timezone" window will be hidde. When the OSK disappears, the "Timezone" window will be shown again. Signed-off-by: Ajay Garg --- diff --git a/extensions/cpsection/datetime/view.py b/extensions/cpsection/datetime/view.py index 805c08a..3400da8 100644 --- a/extensions/cpsection/datetime/view.py +++ b/extensions/cpsection/datetime/view.py @@ -303,3 +303,12 @@ class TimeZone(SectionView): def perform_accept_actions(self): self._model.set_ntp_servers(self._widget_table._get_entries()) + + def perform_actions_upon_osk_appearence(self): + if self._entry.has_focus() is False: + self._entry.hide() + self._scrolled_window.hide() + + def perform_actions_upon_osk_disappearence(self): + self._entry.show() + self._scrolled_window.show() diff --git a/src/jarabe/controlpanel/gui.py b/src/jarabe/controlpanel/gui.py index 0a53a60..0ebf43f 100644 --- a/src/jarabe/controlpanel/gui.py +++ b/src/jarabe/controlpanel/gui.py @@ -380,6 +380,9 @@ class ControlPanel(Gtk.Window): from jarabe.view.keyhandler import set_key_handlers_active set_key_handlers_active(True) + from jarabe.view.buddymenu import set_control_panel + set_control_panel(None) + self.destroy() def __close_request_cb(self, widget, event=None): diff --git a/src/jarabe/controlpanel/sectionview.py b/src/jarabe/controlpanel/sectionview.py index bee64e0..42e99b8 100644 --- a/src/jarabe/controlpanel/sectionview.py +++ b/src/jarabe/controlpanel/sectionview.py @@ -60,3 +60,11 @@ class SectionView(Gtk.VBox): def perform_accept_actions(self): """Perform additional actions, when the "Ok" button is clicked.""" pass + + def perform_actions_upon_osk_appearence(self): + """Perform additional actions, when the OSK appears.""" + pass + + def perform_actions_upon_osk_disappearence(self): + """Perform additional actions, when the OSK disappears.""" + pass diff --git a/src/jarabe/view/buddymenu.py b/src/jarabe/view/buddymenu.py index 3e6648c..81c6fe3 100644 --- a/src/jarabe/view/buddymenu.py +++ b/src/jarabe/view/buddymenu.py @@ -256,3 +256,7 @@ class BuddyMenu(Palette): def get_control_panel(): return control_panel + +def set_control_panel(panel): + global control_panel + control_panel = panel diff --git a/src/jarabe/view/keyhandler.py b/src/jarabe/view/keyhandler.py index 39ff835..3bdbe3c 100644 --- a/src/jarabe/view/keyhandler.py +++ b/src/jarabe/view/keyhandler.py @@ -199,11 +199,23 @@ class KeyHandler(object): active_window.resize(screen_width, screen_height * factor) + from jarabe.view.buddymenu import get_control_panel + control_panel = get_control_panel() + if control_panel is not None: + if control_panel._section_view is not None: + control_panel._section_view.perform_actions_upon_osk_appearence() + def handle_unaccumulate_osk(self, event_time): screen = Gdk.Screen.get_default() active_window = screen.get_active_window() active_window.resize(screen.get_width(), screen.get_height()) + from jarabe.view.buddymenu import get_control_panel + control_panel = get_control_panel() + if control_panel is not None: + if control_panel._section_view is not None: + control_panel._section_view.perform_actions_upon_osk_disappearence() + def _key_pressed_cb(self, grabber, keycode, state, event_time): key = grabber.get_key(keycode, state) logging.debug('_key_pressed_cb: %i %i %s', keycode, state, key) -- cgit v0.9.1