Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAjay Garg <ajay@activitycentral.com>2013-05-12 10:22:55 (GMT)
committer Ajay Garg <ajay@activitycentral.com>2013-05-12 10:28:19 (GMT)
commit80e913ba4af35dae32ce41f627177031d8794676 (patch)
treef44b2724aeeea83c61886554ff75189a6306630c
parent40eb574957de73780d15e71b5f69a7c24aea2e22 (diff)
sdxo#3220: Now, activity-usage time will be updated, when an activity-window is exited.
Signed-off-by: Ajay Garg <ajay@activitycentral.com>
-rw-r--r--src/jarabe/desktop/activitieslist.py9
-rw-r--r--src/jarabe/model/shell.py17
2 files changed, 25 insertions, 1 deletions
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',