class Liststorehandler(object):
+ SHOW_ALL = "all"
+ SHOW_ACTIVE = "active"
+ ALL_FILTERS = (SHOW_ALL, SHOW_ACTIVE)
+
def __init__(self, db, selection):
self.db = db
+ self.__filter = self.SHOW_ALL
self.liststore = None
self.unitsstore = None
self.selection = selection
print "inserted"
"""
+ def set_filter(self, filter):
+ assert filter in self.ALL_FILTERS
+ self.__filter = filter
+ self.update_list()
+
+ def get_filter(self):
+ return self.__filter
+
def get_unitsstore(self):
if (self.unitsstore == None):
self.unitsstore = gtk.ListStore(str, str, str, str, str, str, str, str, str, str, str, str, str)
return self.unitsstore
+ def __calculate_status(self):
+ if self.__filter == self.SHOW_ACTIVE:
+ status = "0"
+ else:
+ status = "-1"
+ return status
+
def get_liststore(self, titlesearch = ""):
if (self.liststore == None):
self.liststore = gtk.ListStore(str, str, str, str, str, str, str, str, str, str, str, str, str)
titlesearch = titlesearch+"%"
- if (self.selection.get_status() == "0"): #only 0 and 1 (active items)
- sql = "SELECT uid, status, title, quantitiy, unit, price, priority, date, private, stores, note, custom1, custom2 FROM items WHERE list = ? AND category LIKE ? AND status> = ? AND title like ? ORDER BY category, status, title"
- rows = self.db.ladeSQL(sql, (self.selection.get_list(), self.selection.get_category(True), self.selection.get_status(), titlesearch))
+ if self.__filter == self.SHOW_ACTIVE:
+ status = self.__calculate_status()
+ sql = "SELECT uid, status, title, quantitiy, unit, price, priority, date, private, stores, note, custom1, custom2 FROM items WHERE list = ? AND category LIKE ? AND status = ? AND title like ? ORDER BY category, status, title"
+ rows = self.db.ladeSQL(sql, (self.selection.get_list(), self.selection.get_category(True), status, titlesearch))
else:
sql = "SELECT uid, status, title, quantitiy, unit, price, priority, date, private, stores, note, custom1, custom2 FROM items WHERE list = ? AND category LIKE ? AND title LIKE ? ORDER BY category, title ASC"
rows = self.db.ladeSQL(sql, (self.selection.get_list(), self.selection.get_category(True), titlesearch))
- #print rows
- if ((rows is not None) and (len(rows) > 0)):
+ if rows is not None:
for row in rows:
uid, status, title, quantitiy, unit, price, priority, date, private, stores, note, custom1, custom2 = row
if unit == None:
#self.update_row(-1, 1, "-1")
#for x in self.liststore:
# print x[0], x[2]
- status = self.selection.get_status()
+ status = self.__calculate_status()
import uuid
uid = str(uuid.uuid4())
sql = "INSERT INTO items (uid, list, category, status, title) VALUES (?, ?, ?, ?, ?)"
self.comboList.connect("changed", self.comboList_changed, None)
self.comboCategory.connect("changed", self.comboCategory_changed, None)
- label = gtk.Label(_(" View:"))
- self.pack_start(label, expand = False, fill = True, padding = 0)
-
- self.radio_all = gtk.RadioButton(group = None, label = _("All"), use_underline = True)
- self.pack_start(self.radio_all, expand = False, fill = True, padding = 0)
- self.radio_active = gtk.RadioButton(group = self.radio_all, label = _("Active"), use_underline = True)
- self.pack_start(self.radio_active, expand = False, fill = True, padding = 0)
- self.radio_all.connect("toggled", self.radioActive_changed, None)
-
def load(self):
model = self.comboList.get_model()
model.clear()
if self.comboCategory.get_active()>-1:
self.db.speichereDirekt("comboCategoryText"+self.comboList.get_child().get_text(), self.comboCategory.get_child().get_text())
- @gtk_toolbox.log_exception(_moduleLogger)
- def radioActive_changed(self, widget, data = None):
- self.emit("changed", "radio", "")
-
def comboLists_check_for_update(self):
if self.comboCategory.get_active() == -1:
model = self.comboCategory.get_model()
def get_category(self, select = False):
s = self.comboCategory.get_child().get_text()
if s == _("all"):
- if (select == False):
+ if not select:
return "undefined"
else:
return "%"
else:
return s
+
def set_category(self, category):
self.comboCategory.get_child().set_text(category)
def get_list(self):
return self.comboList.get_child().get_text()
-
- def get_status(self):
- #return self.comboCategory.get_child().get_text()
- if self.radio_all.get_active() == True:
- return "-1"
- else:
- return "0"
#print irow, ls[irow][1], status
ls = self.treeview.get_model()
- if self.liststorehandler.selection.get_status() == "0":
+ if self.liststorehandler.get_filter() == self.liststorehandler.SHOW_ACTIVE:
if ls[irow][1] == "0":
self.liststorehandler.update_row(irow, 1, "1")
else:
#Menue
if hildonize.GTK_MENU_USED:
- dateimenu = gtk.Menu()
+ fileMenu = gtk.Menu()
menu_items = gtk.MenuItem(_("Choose database file"))
- dateimenu.append(menu_items)
menu_items.connect("activate", self.select_db_dialog, None)
+ fileMenu.append(menu_items)
menu_items = gtk.MenuItem(_("SQL history"))
- dateimenu.append(menu_items)
menu_items.connect("activate", self.view_sql_history, None)
+ fileMenu.append(menu_items)
menu_items = gtk.MenuItem(_("SQL optimize"))
- dateimenu.append(menu_items)
menu_items.connect("activate", self.optimizeSQL, None)
+ fileMenu.append(menu_items)
menu_items = gtk.MenuItem(_("Sync items"))
- dateimenu.append(menu_items)
menu_items.connect("activate", self.sync_notes, None)
+ fileMenu.append(menu_items)
menu_items = gtk.MenuItem(_("Quit"))
- dateimenu.append(menu_items)
menu_items.connect("activate", self.destroy, None)
- #menu_items.show()
+ fileMenu.append(menu_items)
- datei_menu = gtk.MenuItem(_("File"))
- datei_menu.show()
- datei_menu.set_submenu(dateimenu)
+ fileMenuItem = gtk.MenuItem(_("File"))
+ fileMenuItem.show()
+ fileMenuItem.set_submenu(fileMenu)
- toolsmenu = gtk.Menu()
+ viewMenu = gtk.Menu()
+
+ menu_items = gtk.MenuItem(_("Show Active"))
+ menu_items.connect("activate", self._on_toggle_filter, None)
+ viewMenu.append(menu_items)
+
+ viewMenuItem = gtk.MenuItem(_("View"))
+ viewMenuItem.show()
+ viewMenuItem.set_submenu(viewMenu)
+
+ toolsMenu = gtk.Menu()
menu_items = gtk.MenuItem(_("Choose columns"))
- toolsmenu.append(menu_items)
menu_items.connect("activate", self.show_columns_dialog, None)
+ toolsMenu.append(menu_items)
menu_items = gtk.MenuItem(_("Rename Category"))
- toolsmenu.append(menu_items)
menu_items.connect("activate", self.bottombar.rename_category, None)
+ toolsMenu.append(menu_items)
menu_items = gtk.MenuItem(_("Rename List"))
- toolsmenu.append(menu_items)
menu_items.connect("activate", self.bottombar.rename_list, None)
+ toolsMenu.append(menu_items)
- tools_menu = gtk.MenuItem(_("Tools"))
- tools_menu.show()
- tools_menu.set_submenu(toolsmenu)
+ toolsMenuItem = gtk.MenuItem(_("Tools"))
+ toolsMenuItem.show()
+ toolsMenuItem.set_submenu(toolsMenu)
- hilfemenu = gtk.Menu()
+ helpMenu = gtk.Menu()
menu_items = gtk.MenuItem(_("About"))
- hilfemenu.append(menu_items)
+ helpMenu.append(menu_items)
menu_items.connect("activate", self.show_about, None)
- hilfe_menu = gtk.MenuItem(_("Help"))
- hilfe_menu.show()
- hilfe_menu.set_submenu(hilfemenu)
+ helpMenuItem = gtk.MenuItem(_("Help"))
+ helpMenuItem.show()
+ helpMenuItem.set_submenu(helpMenu)
menu_bar = gtk.MenuBar()
menu_bar.show()
- menu_bar.append (datei_menu)
- menu_bar.append (tools_menu)
- # unten -> damit als letztes menu_bar.append (hilfe_menu)
+ menu_bar.append (fileMenuItem)
+ menu_bar.append (toolsMenuItem)
+ menu_bar.append (viewMenuItem)
+ # unten -> damit als letztes menu_bar.append (helpMenuItem)
#Als letztes menĂ¼
- menu_bar.append (hilfe_menu)
+ menu_bar.append (helpMenuItem)
self.vbox.pack_start(menu_bar, False, False, 0)
else:
self.ladeAlles()
@gtk_toolbox.log_exception(_moduleLogger)
+ def _on_toggle_filter(self, *args):
+ if self.liststorehandler.get_filter() == self.liststorehandler.SHOW_ALL:
+ self.liststorehandler.set_filter(self.liststorehandler.SHOW_ACTIVE)
+ elif self.liststorehandler.get_filter() == self.liststorehandler.SHOW_ACTIVE:
+ self.liststorehandler.set_filter(self.liststorehandler.SHOW_ALL)
+ else:
+ assert False, "Unknown"
+
+ @gtk_toolbox.log_exception(_moduleLogger)
def on_key_press(self, widget, event, *args):
RETURN_TYPES = (gtk.keysyms.Return, gtk.keysyms.ISO_Enter, gtk.keysyms.KP_Enter)
isCtrl = bool(event.get_state() & gtk.gdk.CONTROL_MASK)
__version__ = constants.__version__
__build__ = constants.__build__
__changelog__ = """
+0.3.2
+* Cleaned up some code
+* Moved Active/All filter to menu
+
0.3.1
- * I18N, extract de.po, add ru.po.
+* I18N, extract de.po, add ru.po.
0.3.0
- * Initial Release.
+* Initial Release.
"""