[hamster-applet] enter update_fact to reduce refresh numbers
- From: Toms Baugis <tbaugis src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [hamster-applet] enter update_fact to reduce refresh numbers
- Date: Mon, 21 Dec 2009 23:53:32 +0000 (UTC)
commit 6781fd15bfd7f327ae1255ff2ebbb5f30dc8610f
Author: Toms Bauģis <toms baugis gmail com>
Date: Mon Dec 21 23:52:44 2009 +0000
enter update_fact to reduce refresh numbers
hamster/edit_activity.py | 6 +++---
hamster/storage.py | 10 ++++++++++
2 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/hamster/edit_activity.py b/hamster/edit_activity.py
index 176b24b..6d6d0c8 100644
--- a/hamster/edit_activity.py
+++ b/hamster/edit_activity.py
@@ -174,9 +174,9 @@ class CustomFactController:
# we don't do updates, we do insert/delete. So now it is time to delete
if self.fact_id:
- runtime.storage.remove_fact(self.fact_id)
-
- runtime.storage.add_fact(activity, tags, start_time, end_time)
+ runtime.storage.update_fact(self.fact_id, activity, tags, start_time, end_time)
+ else:
+ runtime.storage.add_fact(activity, tags, start_time, end_time)
# hide panel only on add - on update user will want to see changes
diff --git a/hamster/storage.py b/hamster/storage.py
index a05b442..366cdf4 100644
--- a/hamster/storage.py
+++ b/hamster/storage.py
@@ -75,6 +75,16 @@ class Storage(object):
self.__remove_fact(fact_id)
self.dispatch('day_updated', fact['start_time'])
+ def update_fact(self, fact_id, activity_name, tags, start_time, end_time):
+ fact = self.get_fact(fact_id)
+ if fact:
+ self.__remove_fact(fact_id)
+
+ result = self.__add_fact(activity_name, tags, start_time, end_time)
+ if result:
+ self.dispatch('day_updated', result['start_time'])
+ return result
+
def get_activities(self, category_id = None):
return self.__get_activities(category_id = category_id)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]