From 99d2a541c472911af5bb56035b56a7a197b8aaf5 Mon Sep 17 00:00:00 2001 From: Santiago Collazo Date: Mon, 20 May 2013 14:04:18 +0000 Subject: Merge remote-tracking branch 'ajay/0.97.7-as-base' into devel Conflicts: po/es.po --- 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/extensions/deviceicon/resources.py b/extensions/deviceicon/resources.py index ef4adac..eed6c31 100644 --- a/extensions/deviceicon/resources.py +++ b/extensions/deviceicon/resources.py @@ -165,9 +165,9 @@ class ResourcePalette(Palette): self._stop_and_show_error() return False else: - self._cpu_text.set_label(_('CPU in use: %d%%' % cpu_in_use)) + self._cpu_text.set_label(_('CPU in use: %d%%%' % cpu_in_use)) self._cpu_bar.set_fraction(float(cpu_in_use) / 100) - self._memory_text.set_label(_('Memory in use: %d%%' % + self._memory_text.set_label(_('Memory in use: %d%%%' % memory_in_use)) self._memory_bar.set_fraction(float(memory_in_use) / 100) 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/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py index 7b1c9c1..9fdaa16 100644 --- a/src/jarabe/desktop/activitieslist.py +++ b/src/jarabe/desktop/activitieslist.py @@ -213,6 +213,13 @@ class ListModel(Gtk.TreeModelSort): registry.connect('bundle-changed', self.__activity_changed_cb) registry.connect('bundle-removed', self.__activity_removed_cb) + def refresh_model(self): + self._model.clear() + + registry = bundleregistry.get_registry() + for info in registry: + self._add_activity(info) + def __activity_added_cb(self, activity_registry, activity_info): self._add_activity(activity_info) @@ -248,7 +255,7 @@ class ListModel(Gtk.TreeModelSort): if activity_info.get_bundle_id() == 'org.laptop.JournalActivity': return - timestamp = activity_info.get_installation_time() + timestamp = os.stat(activity_info._path).st_mtime version = activity_info.get_activity_version() registry = bundleregistry.get_registry() diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py index 1a2b919..6078b3c 100644 --- a/src/jarabe/model/shell.py +++ b/src/jarabe/model/shell.py @@ -17,6 +17,7 @@ import logging import time +import os from gi.repository import GConf from gi.repository import Wnck @@ -27,6 +28,7 @@ from gi.repository import GdkX11 import dbus from sugar3 import dispatch +from sugar3 import util from sugar3.graphics.xocolor import XoColor from gi.repository import SugarExt @@ -598,6 +600,21 @@ class ShellModel(GObject.GObject): xid = window.get_xid() activity = self._get_activity_by_xid(xid) if activity is not None: + + # Now, update the modification-time on the filesystem, + # and in the activities-list. + # + bundle_path = activity._activity_info.get_path() + current_timestamp = time.time() + + # 1. On filesystem. + os.utime(bundle_path, (os.stat(bundle_path).st_mtime, current_timestamp)) + + # 2. On the activities-list. + from jarabe.desktop.homewindow import get_instance + activities_model = get_instance()._home_box._list_view._tree_view.get_model() + activities_model.refresh_model() + activity.remove_window_by_xid(xid) if activity.get_window() is None: logging.debug('last window gone - remove activity %s', 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