From e0f354b446c6104466f1d9f2125c7fabad161fdf Mon Sep 17 00:00:00 2001 From: luxick Date: Fri, 24 Mar 2017 13:04:03 +0100 Subject: [PATCH] Search: Auto select first result. Add shortcut to add card to library --- mtg-collector/cardlist.py | 2 +- mtg-collector/gui.py | 19 +++++++++++++++++-- mtg-collector/search.py | 7 ++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/mtg-collector/cardlist.py b/mtg-collector/cardlist.py index d304870..55dbdbb 100644 --- a/mtg-collector/cardlist.py +++ b/mtg-collector/cardlist.py @@ -52,7 +52,7 @@ class CardList(Gtk.ScrolledWindow): col_title = Gtk.TreeViewColumn(title="Name", cell_renderer=bold_renderer, text=1) col_title.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE) - # col_title.set_expand(True) + col_title.set_expand(True) col_title.set_sort_column_id(1) col_supertypes = Gtk.TreeViewColumn(title="Supertypes", cell_renderer=text_renderer, text=2) diff --git a/mtg-collector/gui.py b/mtg-collector/gui.py index c0a43f0..343c696 100644 --- a/mtg-collector/gui.py +++ b/mtg-collector/gui.py @@ -34,6 +34,7 @@ class MainWindow(Gtk.Window): # region Menu Bar mb_main = Gtk.Menu() + mb_search = Gtk.Menu() mb_lib = Gtk.Menu() self.menu_import = Gtk.MenuItem("Import Library") @@ -43,6 +44,10 @@ class MainWindow(Gtk.Window): self.menu_quit = Gtk.ImageMenuItem('Quit', Gtk.Image.new_from_icon_name(Gtk.STOCK_QUIT, 0)) self.menu_quit.connect("activate", Gtk.main_quit) + self.search_add = Gtk.MenuItem("Add card") + self.search_add.connect("activate", self.mb_search_add_card) + self.search_add.set_sensitive(False) + self.lib_save = Gtk.ImageMenuItem("Save", Gtk.Image.new_from_icon_name(Gtk.STOCK_SAVE, 0)) self.lib_save.connect("activate", self.mb_save_lib) @@ -51,16 +56,22 @@ class MainWindow(Gtk.Window): mb_main.append(Gtk.SeparatorMenuItem()) mb_main.append(self.menu_quit) + mb_search.append(self.search_add) + mb_lib.append(self.lib_save) root_menu_main = Gtk.MenuItem("Main") root_menu_main.set_submenu(mb_main) + root_menu_search = Gtk.MenuItem("Search") + root_menu_search.set_submenu(mb_search) + root_menu_lib = Gtk.MenuItem("Library") root_menu_lib.set_submenu(mb_lib) mb = Gtk.MenuBar() mb.append(root_menu_main) + mb.append(root_menu_search) mb.append(root_menu_lib) # endregion @@ -73,6 +84,8 @@ class MainWindow(Gtk.Window): self.menu_quit.add_accelerator("activate", accelgrp, key, mod, Gtk.AccelFlags.VISIBLE) key, mod = Gtk.accelerator_parse("S") self.lib_save.add_accelerator("activate", accelgrp, key, mod, Gtk.AccelFlags.VISIBLE) + key, mod = Gtk.accelerator_parse("A") + self.search_add.add_accelerator("activate", accelgrp, key, mod, Gtk.AccelFlags.VISIBLE) self.add_accel_group(accelgrp) @@ -86,8 +99,7 @@ class MainWindow(Gtk.Window): self.library = library.LibraryView() # self.library.add(library.LibraryView()) - self.search = Gtk.Box() - self.search.add(search.SearchView()) + self.search = search.SearchView() self.decks = Gtk.Box() self.decks.add(Gtk.Label("View and organize your Decklists!")) @@ -105,6 +117,9 @@ class MainWindow(Gtk.Window): util.import_library() self.library.fill_lib_list() + def mb_search_add_card(self, menu_item): + self.search.on_add_delete(self.search.add_delete_button) + def mb_save_lib(self, menu_item): util.save_library() diff --git a/mtg-collector/search.py b/mtg-collector/search.py index 0dea721..ebd2e96 100644 --- a/mtg-collector/search.py +++ b/mtg-collector/search.py @@ -188,6 +188,7 @@ class SearchView(Gtk.Grid): print(self.current_card.name + " removed to library") else: util.add_card_to_lib(self.current_card) + util.window.search_add.set_sensitive(False) print(self.current_card.name + " added to library") self._do_update_add_button() @@ -233,6 +234,7 @@ class SearchView(Gtk.Grid): self.add_delete_button.set_visible(True) self._do_update_add_button() + util.window.search_add.set_sensitive(True) # endregion @@ -325,14 +327,13 @@ class SearchView(Gtk.Grid): # update progress bar progress += loadprogress_step GObject.idle_add(self.progressbar.set_fraction, progress, priorty=GObject.PRIORITY_DEFAULT) - print("") - # Reload image cache to include new cards - util.reload_image_cache() # Reactivate search controls GObject.idle_add(self._do_activate_controls, True, priority=GObject.PRIORITY_DEFAULT) GObject.idle_add(util.push_status, "", priorty=GObject.PRIORITY_DEFAULT) # Hide Progress bar GObject.idle_add(self.progressbar.set_visible, False, priorty=GObject.PRIORITY_DEFAULT) + # Focus first element in List + GObject.idle_add(self.search_results.list.grab_focus, priority=GObject.PRIORITY_DEFAULT) # endregion