Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Collazo <scollazo@activitycentral.com>2013-05-20 14:04:18 (GMT)
committer Santiago Collazo <scollazo@activitycentral.com>2013-05-20 14:04:18 (GMT)
commit99d2a541c472911af5bb56035b56a7a197b8aaf5 (patch)
treea2c51d8e703e0e4353273a77e95b20a211ae721c
parent374643150988c296f2c5aa6de239138481a1e822 (diff)
parent43702a73b2832c7a8d995c2003fd5b5f93c13697 (diff)
Merge remote-tracking branch 'ajay/0.97.7-as-base' into devel
Conflicts: po/es.po
-rw-r--r--extensions/cpsection/datetime/view.py9
-rw-r--r--extensions/deviceicon/resources.py4
-rw-r--r--src/jarabe/controlpanel/gui.py3
-rw-r--r--src/jarabe/controlpanel/sectionview.py8
-rw-r--r--src/jarabe/desktop/activitieslist.py9
-rw-r--r--src/jarabe/model/shell.py17
-rw-r--r--src/jarabe/view/buddymenu.py4
-rw-r--r--src/jarabe/view/keyhandler.py12
8 files changed, 63 insertions, 3 deletions
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)