2 # -*- coding: utf-8 -*-
11 class Bottombar(gtk.HBox):
14 'changed' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,(gobject.TYPE_STRING,gobject.TYPE_STRING)),
15 #'changedCategory': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,(gobject.TYPE_STRING,gobject.TYPE_STRING))
19 def new_item(self,widget=None,data1=None,data2=None):
20 self.view.liststorehandler.add_row()
23 def del_item(self,widget=None,data1=None,data2=None):
24 path, col = self.view.treeview.get_cursor()
26 mbox=gtk.MessageDialog(None,gtk.DIALOG_MODAL,gtk.MESSAGE_QUESTION,gtk.BUTTONS_YES_NO,"Delete current item?")
30 if response==gtk.RESPONSE_YES:
31 self.view.del_active_row()
33 mbox=gtk.MessageDialog(None,gtk.DIALOG_MODAL,gtk.MESSAGE_ERROR,gtk.BUTTONS_OK,"No item selected!")
39 def checkout_items(self,widget=None,data1=None,data2=None):
40 #self.view.del_active_row()
41 mbox=gtk.MessageDialog(None,gtk.DIALOG_MODAL,gtk.MESSAGE_QUESTION,gtk.BUTTONS_YES_NO,"Really checlout all items?")
45 if response==gtk.RESPONSE_YES:
46 n=len(self.view.liststorehandler.get_liststore())
48 self.view.liststorehandler.checkout_rows()
51 def search_list(self,widget=None,data1=None,data2=None):
52 self.view.liststorehandler.get_liststore(widget.get_text())
55 def rename_category(self,widget=None,data1=None,data2=None):
56 dialog = gtk.Dialog("New categrory name:",None,gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
58 dialog.set_position(gtk.WIN_POS_CENTER)
59 entryKlasse=gtk.Entry()
60 entryKlasse.set_text(self.view.liststorehandler.selection.get_category())
62 dialog.vbox.pack_start(entryKlasse, True, True, 0)
64 dialog.vbox.show_all()
65 #dialog.set_size_request(400,300)
67 if dialog.run() == gtk.RESPONSE_ACCEPT:
68 logging.info("new category name "+entryKlasse.get_text())
69 self.view.liststorehandler.rename_category(entryKlasse.get_text())
76 def rename_list(self,widget=None,data1=None,data2=None):
77 dialog = gtk.Dialog("New list name:",None,gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
79 dialog.set_position(gtk.WIN_POS_CENTER)
80 entryKlasse=gtk.Entry()
81 entryKlasse.set_text(self.view.liststorehandler.selection.get_list())
83 dialog.vbox.pack_start(entryKlasse, True, True, 0)
85 dialog.vbox.show_all()
86 #dialog.set_size_request(400,300)
88 if dialog.run() == gtk.RESPONSE_ACCEPT:
89 logging.info("new list name "+entryKlasse.get_text())
90 self.view.liststorehandler.rename_list(entryKlasse.get_text())
96 def __init__(self,db,view,isHildon):
97 gtk.HBox.__init__(self,homogeneous=False, spacing=3)
100 self.isHildon=isHildon
103 logging.info("libBottomBar, init")
106 button=gtk.Button("New item")
107 button.connect("clicked",self.new_item)
108 self.pack_start(button, expand=False, fill=True, padding=0)
111 self.pack_start(label, expand=True, fill=True, padding=0)
113 label=gtk.Label("Search:")
114 self.pack_start(label, expand=False, fill=True, padding=0)
115 searchEntry=gtk.Entry()
116 searchEntry.connect("changed",self.search_list)
117 self.pack_start(searchEntry, expand=True, fill=True, padding=0)
120 self.pack_start(label, expand=True, fill=True, padding=0)
122 button=gtk.Button("Checkout all items")
123 button.connect("clicked",self.checkout_items)
124 self.pack_start(button, expand=False, fill=True, padding=0)
126 button=gtk.Button("Del item")
127 button.connect("clicked",self.del_item)
128 self.pack_start(button, expand=False, fill=True, padding=0)