Fixes for Library Keyboard Shortcuts aren't disabled when location is device

https://bugs.launchpad.net/bugs/1793800
This commit is contained in:
Jim Miller 2018-09-25 13:12:37 -05:00
parent d00b9e704a
commit 5d80280edf
16 changed files with 26 additions and 3 deletions

View File

@ -143,6 +143,7 @@ class InterfaceAction(QObject):
self.gui.addAction(self.qaction) self.gui.addAction(self.qaction)
self.gui.addAction(self.menuless_qaction) self.gui.addAction(self.menuless_qaction)
self.genesis() self.genesis()
self.location_selected('library')
@property @property
def unique_name(self): def unique_name(self):

View File

@ -23,6 +23,7 @@ class AddToLibraryAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc != 'library' enabled = loc != 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def add_books_to_library(self, *args): def add_books_to_library(self, *args):
self.gui.iactions['Add Books'].add_books_from_device( self.gui.iactions['Add Books'].add_books_from_device(

View File

@ -29,6 +29,7 @@ class GenerateCatalogAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def generate_catalog(self): def generate_catalog(self):
rows = self.gui.library_view.selectionModel().selectedRows() rows = self.gui.library_view.selectionModel().selectedRows()

View File

@ -401,6 +401,7 @@ class ChooseLibraryAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def rename_requested(self, name, location): def rename_requested(self, name, location):
LibraryDatabase = db_class() LibraryDatabase = db_class()

View File

@ -69,6 +69,9 @@ class ConvertAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
for action in list(self.convert_menu.actions()):
action.setEnabled(enabled)
def auto_convert(self, book_ids, on_card, format): def auto_convert(self, book_ids, on_card, format):
previous = self.gui.library_view.currentIndex() previous = self.gui.library_view.currentIndex()

View File

@ -432,6 +432,7 @@ class CopyToLibraryAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def build_menus(self): def build_menus(self):
self.menu.clear() self.menu.clear()

View File

@ -163,6 +163,7 @@ class SendToDeviceAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def do_sync(self, *args): def do_sync(self, *args):
self.gui._sync_action_triggered() self.gui._sync_action_triggered()
@ -189,6 +190,7 @@ class ConnectShareAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def set_state(self, device_connected, device): def set_state(self, device_connected, device):
self.share_conn_menu.set_state(device_connected, device) self.share_conn_menu.set_state(device_connected, device)

View File

@ -23,6 +23,7 @@ class EditCollectionsAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc != 'library' enabled = loc != 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def edit_collections(self, *args): def edit_collections(self, *args):
oncard = None oncard = None

View File

@ -77,7 +77,7 @@ class EditMetadataAction(InterfaceAction):
shortcut='Ctrl+D') shortcut='Ctrl+D')
self.metadata_menu = md self.metadata_menu = md
mb = QMenu() self.metamerge_menu = mb = QMenu()
cm2 = partial(self.create_menu_action, mb) cm2 = partial(self.create_menu_action, mb)
cm2('merge delete', _('Merge into first selected book - delete others'), cm2('merge delete', _('Merge into first selected book - delete others'),
triggered=self.merge_books) triggered=self.merge_books)
@ -102,7 +102,9 @@ class EditMetadataAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.action_merge.setEnabled(enabled) self.menuless_qaction.setEnabled(enabled)
for action in self.metamerge_menu.actions() + self.metadata_menu.actions():
action.setEnabled(enabled)
def copy_metadata(self): def copy_metadata(self):
rows = self.gui.library_view.selectionModel().selectedRows() rows = self.gui.library_view.selectionModel().selectedRows()

View File

@ -23,6 +23,7 @@ class FetchNewsAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def genesis(self): def genesis(self):
self.conversion_jobs = {} self.conversion_jobs = {}

View File

@ -95,6 +95,9 @@ class MarkBooksAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
for action in self.menu.actions():
action.setEnabled(enabled)
def toggle_selected(self): def toggle_selected(self):
book_ids = self._get_selected_ids() book_ids = self._get_selected_ids()

View File

@ -27,6 +27,7 @@ class MatchBookAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc != 'library' enabled = loc != 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def match_books_in_library(self, *args): def match_books_in_library(self, *args):
view = self.gui.current_view() view = self.gui.current_view()

View File

@ -23,5 +23,6 @@ class OpenFolderAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)

View File

@ -435,6 +435,7 @@ class PolishAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def get_books_for_polishing(self): def get_books_for_polishing(self):
rows = [r.row() for r in rows = [r.row() for r in

View File

@ -25,6 +25,7 @@ class PickRandomAction(InterfaceAction):
def location_selected(self, loc): def location_selected(self, loc):
enabled = loc == 'library' enabled = loc == 'library'
self.qaction.setEnabled(enabled) self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def pick_random(self): def pick_random(self):
pick = random.randint(0, self.gui.library_view.model().rowCount(None)) pick = random.randint(0, self.gui.library_view.model().rowCount(None))

View File

@ -41,7 +41,9 @@ class SortByAction(InterfaceAction):
self.qaction.menu().aboutToShow.connect(self.about_to_show) self.qaction.menu().aboutToShow.connect(self.about_to_show)
def location_selected(self, loc): def location_selected(self, loc):
self.qaction.setEnabled(loc == 'library') enabled = loc == 'library'
self.qaction.setEnabled(enabled)
self.menuless_qaction.setEnabled(enabled)
def about_to_show(self): def about_to_show(self):
self.update_menu() self.update_menu()