Search: Auto select first result. Add shortcut to add card to library

This commit is contained in:
luxick
2017-03-24 13:04:03 +01:00
parent 86d1cc70aa
commit e0f354b446
3 changed files with 22 additions and 6 deletions

View File

@@ -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)

View File

@@ -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("<Control>S")
self.lib_save.add_accelerator("activate", accelgrp, key, mod, Gtk.AccelFlags.VISIBLE)
key, mod = Gtk.accelerator_parse("<Control>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()

View File

@@ -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