import gtk_toolbox
import libspeichern
+import search
import sqldialog
+import settings
import libselection
import libview
import libliststorehandler
self.vbox = gtk.VBox(homogeneous = False, spacing = 0)
self.selection = libselection.Selection(self.db, isHildon)
+ self._search = search.Search()
self.liststorehandler = libliststorehandler.Liststorehandler(self.db, self.selection)
self.view = libview.View(self.db, self.liststorehandler, self.window)
self.bottombar = libbottombar.Bottombar(self.db, self.view, isHildon)
fileMenuItem.show()
fileMenuItem.set_submenu(fileMenu)
+ categorymenu = gtk.Menu()
+
+ menu_items = gtk.MenuItem(_("Search"))
+ menu_items.connect("activate", self._on_toggle_search)
+ categorymenu.append(menu_items)
+
+ menu_items = gtk.MenuItem(_("Checkout All"))
+ menu_items.connect("activate", self._on_checkout_all)
+ categorymenu.append(menu_items)
+
+ menu_items = gtk.MenuItem(_("Rename Category"))
+ menu_items.connect("activate", self.bottombar.rename_category, None)
+ categorymenu.append(menu_items)
+
+ category_menu = gtk.MenuItem(_("Category"))
+ category_menu.show()
+ category_menu.set_submenu(categorymenu)
+
viewMenu = gtk.Menu()
menu_items = gtk.MenuItem(_("Show Active"))
menu_items.connect("activate", self._on_toggle_filter, None)
viewMenu.append(menu_items)
+ menu_items = gtk.MenuItem(_("Settings"))
+ menu_items.connect("activate", self._on_settings, None)
+ viewMenu.append(menu_items)
+
viewMenuItem = gtk.MenuItem(_("View"))
viewMenuItem.show()
viewMenuItem.set_submenu(viewMenu)
toolsMenu = gtk.Menu()
- menu_items = gtk.MenuItem(_("Choose columns"))
- menu_items.connect("activate", self.show_columns_dialog, None)
- toolsMenu.append(menu_items)
-
- menu_items = gtk.MenuItem(_("Rename Category"))
- menu_items.connect("activate", self.bottombar.rename_category, None)
- toolsMenu.append(menu_items)
-
menu_items = gtk.MenuItem(_("Rename List"))
menu_items.connect("activate", self.bottombar.rename_list, None)
toolsMenu.append(menu_items)
menu_bar.show()
menu_bar.append (fileMenuItem)
menu_bar.append (toolsMenuItem)
+ menu_bar.append (category_menu)
menu_bar.append (viewMenuItem)
# unten -> damit als letztes menu_bar.append (helpMenuItem)
#Als letztes menĂ¼
self.vbox.pack_start(menuBar, False, False, 0)
#add to vbox below (to get it on top)
+ self.vbox.pack_end(self._search, expand = False, fill = True)
self.vbox.pack_end(self.bottombar, expand = False, fill = True, padding = 0)
self.vbox.pack_end(self.view, expand = True, fill = True, padding = 0)
self.vbox.pack_end(self.selection, expand = False, fill = True, padding = 0)
menu_bar,
)
if hildonize.IS_FREMANTLE_SUPPORTED:
- pass
+ button = hildonize.hildon.GtkRadioButton(gtk.HILDON_SIZE_AUTO, None)
+ button.set_label("All")
+ menuBar.add_filter(button)
+ button.connect("clicked", self._on_click_menu_filter, self.liststorehandler.SHOW_ALL)
+ button.set_mode(False)
+ filterGroup = button
+
+ button = hildonize.hildon.GtkRadioButton(gtk.HILDON_SIZE_AUTO, filterGroup)
+ button.set_label("Active")
+ menuBar.add_filter(button)
+ button.connect("clicked", self._on_click_menu_filter, self.liststorehandler.SHOW_ACTIVE)
+ button.set_mode(False)
+
+ renameCategoryButton = gtk.Button(_("Rename Category"))
+ renameCategoryButton.connect("clicked", self.bottombar.rename_category)
+ menuBar.append(renameCategoryButton)
+
+ renameListButton= gtk.Button(_("Rename List"))
+ renameListButton.connect("clicked", self.bottombar.rename_list)
+ menuBar.append(renameListButton)
+
+ searchButton= gtk.Button(_("Search Category"))
+ searchButton.connect("clicked", self._on_toggle_search)
+ menuBar.append(searchButton)
+
+ searchButton= gtk.Button(_("Settings"))
+ searchButton.connect("clicked", self._on_settings)
+ menuBar.append(searchButton)
+
+ menuBar.show_all()
if not hildonize.IS_HILDON_SUPPORTED:
_moduleLogger.info("No hildonization support")
self.window.connect("destroy", self.destroy)
self.window.connect("key-press-event", self.on_key_press)
self.window.connect("window-state-event", self.on_window_state_change)
+ self._search.connect("search_changed", self._on_search)
self.window.show_all()
+ self._search.hide()
self.prepare_sync_dialog()
self.ladeAlles()
@gtk_toolbox.log_exception(_moduleLogger)
+ def _on_checkout_all(self, widget):
+ self.liststorehandler.checkout_rows()
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_search(self, widget):
+ self.liststorehandler.get_liststore(self._search.get_search_pattern())
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_click_menu_filter(self, button, val):
+ self.liststorehandler.set_filter(val)
+
+ def _toggle_search(self):
+ if self._search.get_property("visible"):
+ self._search.hide()
+ else:
+ self._search.show()
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_toggle_search(self, *args):
+ self._toggle_search()
+
+ @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)
else:
self.window.fullscreen ()
return True
- #elif event.keyval == gtk.keysyms.f and isCtrl:
- # self._toggle_search()
- # return True
+ elif event.keyval == gtk.keysyms.f and isCtrl:
+ self._toggle_search()
+ return True
elif (
event.keyval in (gtk.keysyms.w, gtk.keysyms.q) and
event.get_state() & gtk.gdk.CONTROL_MASK
self.sync_dialog.hide()
@gtk_toolbox.log_exception(_moduleLogger)
- def show_columns_dialog(self, widget = None, data = None):
- col_dialog = gtk.Dialog(_("Choose columns"), self.window, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
-
- col_dialog.set_position(gtk.WIN_POS_CENTER)
- cols = libview.Columns_dialog(self.db, self.liststorehandler)
+ def _on_settings(self, *args):
+ col_dialog = gtk.Dialog(
+ _("Settings"),
+ self.window,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)
+ )
- col_dialog.vbox.pack_start(cols, True, True, 0)
- col_dialog.set_size_request(500, 350)
- col_dialog.vbox.show_all()
+ cols = settings.SettingsDialog(col_dialog.vbox, self.db, self.liststorehandler)
+ col_dialog.show_all()
resp = col_dialog.run()
- col_dialog.hide()
- if resp == gtk.RESPONSE_ACCEPT:
- logging.info("changing columns")
- cols.save_column_setting()
- self.view.reload_view()
- #children = self.vbox.get_children()
- #while len(children)>1:
- # self.vbox.remove(children[1])
-
- #self.vbox.pack_end(self.bottombar, expand = True, fill = True, padding = 0)
- #self.vbox.pack_end(view, expand = True, fill = True, padding = 0)
- #self.vbox.pack_end(self.selection, expand = False, fill = True, padding = 0)
-
- col_dialog.destroy()
+ try:
+ col_dialog.hide()
+ if resp == gtk.RESPONSE_ACCEPT:
+ logging.info("changing columns")
+ cols.save(self.db)
+ self.view.reload_view()
+ finally:
+ col_dialog.destroy()
@gtk_toolbox.log_exception(_moduleLogger)
def destroy(self, widget = None, data = None):