Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPootle daemon <pootle@pootle.sugarlabs.org>2012-02-16 05:33:10 (GMT)
committer Pootle daemon <pootle@pootle.sugarlabs.org>2012-02-16 05:33:10 (GMT)
commitbf6b0f0a7b2b4562262ede6ff26aeaa0ff37d2e9 (patch)
tree47bde30e41fb44d0efd09f292d29b09f566023ea
parent83822fc9dac92e6f94b408d355e13df42f4d99a3 (diff)
parent8c95a945095acdc997f390a3ef25f2e0b845de67 (diff)
Merge branch 'master' of git.sugarlabs.org:calendario/mainline
-rw-r--r--calendario.py47
-rw-r--r--database.py14
-rw-r--r--model.py16
3 files changed, 64 insertions, 13 deletions
diff --git a/calendario.py b/calendario.py
index 5ab2087..ab953c7 100644
--- a/calendario.py
+++ b/calendario.py
@@ -40,6 +40,7 @@ class CalendarioActivity(activity.Activity):
self.left_container = gtk.VBox()
self.label_date = gtk.Label("06 Feb 2012")
self.calendar = gtk.Calendar()
+ self.calendar.connect('day-selected', self._day_selected_cb)
self.tool_frame = gtk.Frame(_("Tools"))
self.reminder_expander = gtk.Expander(_("Tasks reminder"))
@@ -155,27 +156,30 @@ class CalendarioActivity(activity.Activity):
def add_columns(self):
'''Add columns to TreeView'''
- cell_text = gtk.CellRendererText()
+
#for the tasks list
+ cell_text = gtk.CellRendererText()
titles = (_('Tasks'), _('Categoty'), _('Priority'))
- i = 0
+ i = 1
for title in titles:
column = gtk.TreeViewColumn(title, cell_text, text=i)
#if the colum is the first
- if i == 0:
+ if i == 1:
column.set_min_width(300)
else:
column.set_min_width(100)
self.tasks_list.append_column(column)
i = i + 1
- column = gtk.TreeViewColumn('BOTON', cell_text, text=3)
+ cell_toggle = gtk.CellRendererToggle()
+ cell_toggle.connect('toggled', self._toggle_row_cb)
+ column = gtk.TreeViewColumn('', cell_toggle, active=4)
self.tasks_list.append_column(column)
#for the reminder
- column = gtk.TreeViewColumn(titles[0], cell_text, text=0)
+ column = gtk.TreeViewColumn(titles[0], cell_text, text=1)
self.reminder_list.append_column(column)
- column = gtk.TreeViewColumn(titles[2], cell_text, text=2)
+ column = gtk.TreeViewColumn(titles[2], cell_text, text=3)
self.reminder_list.append_column(column)
def _save_cb(self, widget, data=None):
@@ -197,6 +201,33 @@ class CalendarioActivity(activity.Activity):
db.close()
self.get_tasks()
+ def _toggle_row_cb(self, widget, path):
+ '''Toggle button row'''
+ model = self.tasks_list.get_model()
+ row_iter = model.get_iter(path)
+ #row is a gtk.TreeModelRow()
+ row = model[row_iter]
+ row[4] = not row[4]
+ #task, completed, id for the moment category and
+ #priority are excluded
+ data = (row[1], row[4], row[0])
+ log.debug(data)
+ db = DataBase()
+ db.update(data)
+ db.close()
+
+ #model.set(row_iter, 4, val)
+
+ def _day_selected_cb(self, widget, data=None):
+ '''Select new day'''
+ date_formated = date_format(self.calendar.get_date())
+ db = DataBase()
+ data = db.get(date_formated)
+ db.close()
+ tasks_model = TasksModel(data)
+ self.tasks_list.set_model(tasks_model.get_model())
+
+
def close(self, skip_save=False):
'''Override the close method'''
activity.Activity.close(self, True)
@@ -216,8 +247,8 @@ class Task(object):
self.priority = priority
self.completed = completed
- def get_tasks_id(self):
- return self.tasks_id
+ def get_task_id(self):
+ return self.task_id
def get_task(self):
return self.task
diff --git a/database.py b/database.py
index 36caea4..f36b7e8 100644
--- a/database.py
+++ b/database.py
@@ -33,7 +33,7 @@ class DataBase(object):
if create:
self.cursor.execute("CREATE TABLE tasks (id INTEGER PRIMARY KEY \
- AUTOINCREMENT, task TEXT NOT NULL, category TEXT, \
+ AUTOINCREMENT, task TEXT NOT NULL, category INTEGER, \
priority INTEGER, completed INTEGER, date TEXT NOT \
NULL);")
@@ -45,22 +45,30 @@ class DataBase(object):
def get(self, date):
'''Get the rows acording to the date'''
d = (date,)
- self.cursor.execute("SELECT * FROM tasks WHERE date=? ORDER BY priority desc;", d)
+ self.cursor.execute("SELECT * FROM tasks WHERE date=? ORDER BY completed asc, priority desc;", d)
data = list()
for i in self.cursor:
+ log.debug([i[0], i[1], i[2], i[3], i[4]])
task = calendario.Task(i[0], i[1], i[2], i[3], i[4])
data.append(task)
return data
def get_reminder(self):
'''Get the tasks that needs be reminder'''
- self.cursor.execute("SELECT * FROM tasks ORDER BY priority desc;")
+ self.cursor.execute("SELECT * FROM tasks WHERE completed=0 ORDER BY priority desc;")
data = list()
for i in self.cursor:
task = calendario.Task(i[0], i[1], i[2], i[3], i[4])
data.append(task)
return data
+ def update(self, data):
+ #self.cursor.execute("UPDATE tasks SET task=?, category=?, priority=?, \
+ # completed=? where id=?; ", data)
+
+ self.cursor.execute("UPDATE tasks SET task=?, completed=? where id=?; ", data)
+ self.connection.commit()
+
def close(self):
'''Close the connection'''
self.cursor.close()
diff --git a/model.py b/model.py
index 1a813c8..849d550 100644
--- a/model.py
+++ b/model.py
@@ -19,6 +19,7 @@ import gtk
import pygtk
from gettext import gettext as _
import logging
+import gobject
log = logging.getLogger('Calendario-Model-Log')
class ComboBoxModel(object):
@@ -50,7 +51,13 @@ class TasksModel(object):
self.tasks = tasks_list
def get_model(self):
- model = gtk.ListStore(str, str, str, str)
+ model = gtk.ListStore(
+ gobject.TYPE_INT,
+ gobject.TYPE_STRING,
+ gobject.TYPE_STRING,
+ gobject.TYPE_STRING,
+ gobject.TYPE_BOOLEAN)
+
for o in self.tasks:
c = o.get_category()
@@ -73,6 +80,11 @@ class TasksModel(object):
else:
priority = ''
- model.append([o.get_task(), category, priority, o.get_complete()])
+ if o.get_complete() == 1:
+ status = True
+ else:
+ status = False
+
+ model.append([o.get_task_id(), o.get_task(), category, priority, status])
return model