Search: Auto select first result. Add shortcut to add card to library
This commit is contained in:
@@ -52,7 +52,7 @@ class CardList(Gtk.ScrolledWindow):
|
|||||||
|
|
||||||
col_title = Gtk.TreeViewColumn(title="Name", cell_renderer=bold_renderer, text=1)
|
col_title = Gtk.TreeViewColumn(title="Name", cell_renderer=bold_renderer, text=1)
|
||||||
col_title.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
|
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_title.set_sort_column_id(1)
|
||||||
|
|
||||||
col_supertypes = Gtk.TreeViewColumn(title="Supertypes", cell_renderer=text_renderer, text=2)
|
col_supertypes = Gtk.TreeViewColumn(title="Supertypes", cell_renderer=text_renderer, text=2)
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ class MainWindow(Gtk.Window):
|
|||||||
# region Menu Bar
|
# region Menu Bar
|
||||||
|
|
||||||
mb_main = Gtk.Menu()
|
mb_main = Gtk.Menu()
|
||||||
|
mb_search = Gtk.Menu()
|
||||||
mb_lib = Gtk.Menu()
|
mb_lib = Gtk.Menu()
|
||||||
|
|
||||||
self.menu_import = Gtk.MenuItem("Import Library")
|
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 = Gtk.ImageMenuItem('Quit', Gtk.Image.new_from_icon_name(Gtk.STOCK_QUIT, 0))
|
||||||
self.menu_quit.connect("activate", Gtk.main_quit)
|
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 = Gtk.ImageMenuItem("Save", Gtk.Image.new_from_icon_name(Gtk.STOCK_SAVE, 0))
|
||||||
self.lib_save.connect("activate", self.mb_save_lib)
|
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(Gtk.SeparatorMenuItem())
|
||||||
mb_main.append(self.menu_quit)
|
mb_main.append(self.menu_quit)
|
||||||
|
|
||||||
|
mb_search.append(self.search_add)
|
||||||
|
|
||||||
mb_lib.append(self.lib_save)
|
mb_lib.append(self.lib_save)
|
||||||
|
|
||||||
root_menu_main = Gtk.MenuItem("Main")
|
root_menu_main = Gtk.MenuItem("Main")
|
||||||
root_menu_main.set_submenu(mb_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 = Gtk.MenuItem("Library")
|
||||||
root_menu_lib.set_submenu(mb_lib)
|
root_menu_lib.set_submenu(mb_lib)
|
||||||
|
|
||||||
mb = Gtk.MenuBar()
|
mb = Gtk.MenuBar()
|
||||||
mb.append(root_menu_main)
|
mb.append(root_menu_main)
|
||||||
|
mb.append(root_menu_search)
|
||||||
mb.append(root_menu_lib)
|
mb.append(root_menu_lib)
|
||||||
|
|
||||||
# endregion
|
# endregion
|
||||||
@@ -73,6 +84,8 @@ class MainWindow(Gtk.Window):
|
|||||||
self.menu_quit.add_accelerator("activate", accelgrp, key, mod, Gtk.AccelFlags.VISIBLE)
|
self.menu_quit.add_accelerator("activate", accelgrp, key, mod, Gtk.AccelFlags.VISIBLE)
|
||||||
key, mod = Gtk.accelerator_parse("<Control>S")
|
key, mod = Gtk.accelerator_parse("<Control>S")
|
||||||
self.lib_save.add_accelerator("activate", accelgrp, key, mod, Gtk.AccelFlags.VISIBLE)
|
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)
|
self.add_accel_group(accelgrp)
|
||||||
|
|
||||||
@@ -86,8 +99,7 @@ class MainWindow(Gtk.Window):
|
|||||||
self.library = library.LibraryView()
|
self.library = library.LibraryView()
|
||||||
# self.library.add(library.LibraryView())
|
# self.library.add(library.LibraryView())
|
||||||
|
|
||||||
self.search = Gtk.Box()
|
self.search = search.SearchView()
|
||||||
self.search.add(search.SearchView())
|
|
||||||
|
|
||||||
self.decks = Gtk.Box()
|
self.decks = Gtk.Box()
|
||||||
self.decks.add(Gtk.Label("View and organize your Decklists!"))
|
self.decks.add(Gtk.Label("View and organize your Decklists!"))
|
||||||
@@ -105,6 +117,9 @@ class MainWindow(Gtk.Window):
|
|||||||
util.import_library()
|
util.import_library()
|
||||||
self.library.fill_lib_list()
|
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):
|
def mb_save_lib(self, menu_item):
|
||||||
util.save_library()
|
util.save_library()
|
||||||
|
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ class SearchView(Gtk.Grid):
|
|||||||
print(self.current_card.name + " removed to library")
|
print(self.current_card.name + " removed to library")
|
||||||
else:
|
else:
|
||||||
util.add_card_to_lib(self.current_card)
|
util.add_card_to_lib(self.current_card)
|
||||||
|
util.window.search_add.set_sensitive(False)
|
||||||
print(self.current_card.name + " added to library")
|
print(self.current_card.name + " added to library")
|
||||||
self._do_update_add_button()
|
self._do_update_add_button()
|
||||||
|
|
||||||
@@ -233,6 +234,7 @@ class SearchView(Gtk.Grid):
|
|||||||
|
|
||||||
self.add_delete_button.set_visible(True)
|
self.add_delete_button.set_visible(True)
|
||||||
self._do_update_add_button()
|
self._do_update_add_button()
|
||||||
|
util.window.search_add.set_sensitive(True)
|
||||||
|
|
||||||
# endregion
|
# endregion
|
||||||
|
|
||||||
@@ -325,14 +327,13 @@ class SearchView(Gtk.Grid):
|
|||||||
# update progress bar
|
# update progress bar
|
||||||
progress += loadprogress_step
|
progress += loadprogress_step
|
||||||
GObject.idle_add(self.progressbar.set_fraction, progress, priorty=GObject.PRIORITY_DEFAULT)
|
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
|
# Reactivate search controls
|
||||||
GObject.idle_add(self._do_activate_controls, True, priority=GObject.PRIORITY_DEFAULT)
|
GObject.idle_add(self._do_activate_controls, True, priority=GObject.PRIORITY_DEFAULT)
|
||||||
GObject.idle_add(util.push_status, "", priorty=GObject.PRIORITY_DEFAULT)
|
GObject.idle_add(util.push_status, "", priorty=GObject.PRIORITY_DEFAULT)
|
||||||
# Hide Progress bar
|
# Hide Progress bar
|
||||||
GObject.idle_add(self.progressbar.set_visible, False, priorty=GObject.PRIORITY_DEFAULT)
|
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
|
# endregion
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user