This commit is contained in:
Kovid Goyal 2023-04-28 17:23:38 +05:30
commit 5ea8bb83ff
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -71,6 +71,12 @@ class SortByAction(InterfaceAction):
def about_to_show(self): def about_to_show(self):
self.update_menu() self.update_menu()
def library_changed(self, db):
self.update_menu()
def initialization_complete(self):
self.update_menu()
def update_menu(self, menu=None): def update_menu(self, menu=None):
menu = self.qaction.menu() if menu is None else menu menu = self.qaction.menu() if menu is None else menu
for action in menu.actions(): for action in menu.actions():
@ -80,9 +86,8 @@ class SortByAction(InterfaceAction):
action.toggled.disconnect() action.toggled.disconnect()
menu.clear() menu.clear()
lv = self.gui.library_view m = self.gui.library_view.model()
m = lv.model() db = self.gui.current_db
db = m.db
# Add saved sorts to the menu # Add saved sorts to the menu
saved_sorts = db.new_api.pref('saved_multisort_specs', {}) saved_sorts = db.new_api.pref('saved_multisort_specs', {})
@ -161,6 +166,7 @@ class SortByAction(InterfaceAction):
d = ChooseMultiSort(self.gui.current_db, parent=self.gui, is_device_connected=self.gui.device_connected) d = ChooseMultiSort(self.gui.current_db, parent=self.gui, is_device_connected=self.gui.device_connected)
if d.exec() == QDialog.DialogCode.Accepted: if d.exec() == QDialog.DialogCode.Accepted:
self.gui.library_view.multisort(d.current_sort_spec) self.gui.library_view.multisort(d.current_sort_spec)
self.update_menu()
def sort_requested(self, key, ascending): def sort_requested(self, key, ascending):
if ascending is None: if ascending is None: