mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Sigh
This commit is contained in:
parent
09590d9942
commit
c47cdad1fc
@ -147,26 +147,32 @@ class ChooseLibraryAction(InterfaceAction):
|
||||
self.qs_locations = [i[1] for i in locations]
|
||||
self.rename_menu.clear()
|
||||
self.delete_menu.clear()
|
||||
quick_actions = []
|
||||
quick_actions, rename_actions, delete_actions = [], [], []
|
||||
for name, loc in locations:
|
||||
ac = self.quick_menu.addAction(name, Dispatcher(partial(self.switch_requested,
|
||||
loc)))
|
||||
quick_actions.append(ac)
|
||||
self.rename_menu.addAction(name, Dispatcher(partial(self.rename_requested,
|
||||
ac = self.rename_menu.addAction(name, Dispatcher(partial(self.rename_requested,
|
||||
name, loc)))
|
||||
self.delete_menu.addAction(name, Dispatcher(partial(self.delete_requested,
|
||||
rename_actions.append(ac)
|
||||
ac = self.delete_menu.addAction(name, Dispatcher(partial(self.delete_requested,
|
||||
name, loc)))
|
||||
delete_actions.append(ac)
|
||||
|
||||
qs_actions = []
|
||||
for i, x in enumerate(locations[:len(self.switch_actions)]):
|
||||
name, loc = x
|
||||
ac = self.switch_actions[i]
|
||||
ac.setText(name)
|
||||
ac.setVisible(True)
|
||||
qs_actions.append(ac)
|
||||
|
||||
self.quick_menu_action.setVisible(bool(locations))
|
||||
self.rename_menu_action.setVisible(bool(locations))
|
||||
self.delete_menu_action.setVisible(bool(locations))
|
||||
self.gui.location_manager.set_switch_actions(quick_actions)
|
||||
self.gui.location_manager.set_switch_actions(quick_actions,
|
||||
rename_actions, delete_actions, qs_actions,
|
||||
self.action_choose)
|
||||
|
||||
|
||||
def location_selected(self, loc):
|
||||
|
@ -24,7 +24,6 @@ class LocationManager(QObject): # {{{
|
||||
locations_changed = pyqtSignal()
|
||||
unmount_device = pyqtSignal()
|
||||
location_selected = pyqtSignal(object)
|
||||
switch_actions_set = pyqtSignal(object)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
QObject.__init__(self, parent)
|
||||
@ -70,12 +69,23 @@ class LocationManager(QObject): # {{{
|
||||
ac('cardb', _('Card B'), 'sd.png',
|
||||
_('Show books in storage card B'))
|
||||
|
||||
def set_switch_actions(self, actions):
|
||||
def set_switch_actions(self, quick_actions, rename_actions, delete_actions,
|
||||
switch_actions, choose_action):
|
||||
self.switch_menu = QMenu()
|
||||
for ac in actions:
|
||||
self.switch_menu.addAction(choose_action)
|
||||
self.cs_menus = []
|
||||
for t, acs in [(_('Quick switch'), quick_actions),
|
||||
(_('Rename library'), rename_actions),
|
||||
(_('Delete library'), delete_actions)]:
|
||||
if acs:
|
||||
self.cs_menus.append(QMenu(t))
|
||||
for ac in acs:
|
||||
self.cs_menus[-1].addAction(ac)
|
||||
self.switch_menu.addMenu(self.cs_menus[-1])
|
||||
self.switch_menu.addSeparator()
|
||||
for ac in switch_actions:
|
||||
self.switch_menu.addAction(ac)
|
||||
self.library_action.setMenu(self.switch_menu)
|
||||
self.switch_actions_set.emit(bool(actions))
|
||||
|
||||
def _location_selected(self, location, *args):
|
||||
if location != self.current_location and hasattr(self,
|
||||
|
Loading…
x
Reference in New Issue
Block a user