This commit is contained in:
Kovid Goyal 2017-07-09 21:48:11 +05:30
commit b72c99d12f
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 26 additions and 6 deletions

View File

@ -898,7 +898,7 @@ class ActionFetchNews(InterfaceActionBase):
class ActionQuickview(InterfaceActionBase):
name = 'Show Quickview'
name = 'Quickview'
actual_plugin = 'calibre.gui2.actions.show_quickview:ShowQuickviewAction'
description = _('Show a list of related books quickly')

View File

@ -54,14 +54,18 @@ def get_quickview_action_plugin():
class ShowQuickviewAction(InterfaceAction):
name = 'Show Quickview'
action_spec = (_('Show Quickview'), 'quickview.png', None, _('Q'))
name = 'Quickview'
action_spec = (_('Quickview'), 'quickview.png', None, None)
dont_add_to = frozenset(['context-menu-device'])
action_type = 'current'
current_instance = None
def genesis(self):
self.gui.keyboard.register_shortcut('Toggle Quickview', _('Toggle Quickview'),
description=_('Open/close the Quickview panel/window'),
default_keys=('Q',), action=self.qaction,
group=self.action_spec[0])
self.focus_action = QAction(self.gui)
self.gui.addAction(self.focus_action)
self.gui.keyboard.register_shortcut('Focus To Quickview', _('Focus to Quickview'),
@ -70,6 +74,15 @@ class ShowQuickviewAction(InterfaceAction):
group=self.action_spec[0])
self.focus_action.triggered.connect(self.focus_quickview)
self.focus_bl_action = QAction(self.gui)
self.gui.addAction(self.focus_bl_action)
self.gui.keyboard.register_shortcut('Focus from Quickview',
_('Focus from Quickview to the book list'),
description=_('Move the focus from Quickview to the book list'),
default_keys=('Shift+Alt+Q',), action=self.focus_bl_action,
group=self.action_spec[0])
self.focus_bl_action.triggered.connect(self.focus_booklist)
self.search_action = QAction(self.gui)
self.gui.addAction(self.search_action)
self.gui.keyboard.register_shortcut('Search from Quickview', _('Search from Quickview'),
@ -116,6 +129,7 @@ class ShowQuickviewAction(InterfaceAction):
def set_search_shortcut(self):
if self.current_instance and not self.current_instance.is_closed:
self.current_instance.addAction(self.focus_bl_action)
self.current_instance.set_shortcuts(self.search_action.shortcut().toString(),
self.menuless_qaction.shortcut().toString())
@ -160,6 +174,10 @@ class ShowQuickviewAction(InterfaceAction):
else:
self.current_instance.set_focus()
def focus_booklist(self):
self.gui.activateWindow()
self.gui.library_view.setFocus()
def search_quickview(self):
if not self.current_instance or self.current_instance.is_closed:
return

View File

@ -166,7 +166,7 @@ class LibraryWidget(Splitter): # {{{
parent.quickview_splitter.addWidget(stack)
l = QVBoxLayout()
l.setContentsMargins(0, 0, 0, 0)
l.setContentsMargins(4, 0, 0, 0)
quickview_widget.setLayout(l)
parent.quickview_splitter.addWidget(quickview_widget)
parent.quickview_splitter.hide_quickview_widget()
@ -571,8 +571,10 @@ class LayoutMixin(object): # {{{
button_order = ('sb', 'tb', 'cb', 'gv', 'qv', 'bd')
# }}}
self.qv = find_plugin('Show Quickview')
if self.qv:
# This must use the base method to find the plugin because it hasn't
# been fully initialized yet
self.qv = find_plugin('Quickview')
if self.qv and self.qv.actual_plugin_:
self.qv = self.qv.actual_plugin_
self.status_bar = StatusBar(self)