mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Shortcuts to move through the error list and open error in editor on Enter
This commit is contained in:
parent
2136fca624
commit
15b2a95919
@ -59,6 +59,15 @@ class Check(QWidget):
|
|||||||
elif url == 'run:check':
|
elif url == 'run:check':
|
||||||
self.check_requested.emit()
|
self.check_requested.emit()
|
||||||
|
|
||||||
|
def next_error(self, delta=1):
|
||||||
|
row = self.items.currentRow()
|
||||||
|
num = self.items.count()
|
||||||
|
if num > 0:
|
||||||
|
row = (row + delta) % num
|
||||||
|
self.items.setCurrentRow(row)
|
||||||
|
self.items.item(row).setSelected(True)
|
||||||
|
self.current_item_activated()
|
||||||
|
|
||||||
def current_item_activated(self, *args):
|
def current_item_activated(self, *args):
|
||||||
i = self.items.currentItem()
|
i = self.items.currentItem()
|
||||||
if i is not None:
|
if i is not None:
|
||||||
@ -100,6 +109,7 @@ class Check(QWidget):
|
|||||||
self.items.item(0).setSelected(True)
|
self.items.item(0).setSelected(True)
|
||||||
self.items.setCurrentRow(0)
|
self.items.setCurrentRow(0)
|
||||||
self.current_item_changed()
|
self.current_item_changed()
|
||||||
|
self.items.setFocus(Qt.OtherFocusReason)
|
||||||
else:
|
else:
|
||||||
self.clear_help(_('No problems found'))
|
self.clear_help(_('No problems found'))
|
||||||
|
|
||||||
@ -111,6 +121,11 @@ class Check(QWidget):
|
|||||||
self.help.setText('')
|
self.help.setText('')
|
||||||
self.items.clear()
|
self.items.clear()
|
||||||
|
|
||||||
|
def keyPressEvent(self, ev):
|
||||||
|
if ev.key() in (Qt.Key_Enter, Qt.Key_Return):
|
||||||
|
self.current_item_activated()
|
||||||
|
return super(Check, self).keyPressEvent(ev)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
from calibre.gui2 import Application
|
from calibre.gui2 import Application
|
||||||
from calibre.gui2.tweak_book.boss import get_container
|
from calibre.gui2.tweak_book.boss import get_container
|
||||||
|
@ -195,6 +195,7 @@ class Main(MainWindow):
|
|||||||
|
|
||||||
self.central = Central(self)
|
self.central = Central(self)
|
||||||
self.setCentralWidget(self.central)
|
self.setCentralWidget(self.central)
|
||||||
|
self.check_book = Check(self)
|
||||||
|
|
||||||
self.create_actions()
|
self.create_actions()
|
||||||
self.create_toolbars()
|
self.create_toolbars()
|
||||||
@ -282,7 +283,6 @@ class Main(MainWindow):
|
|||||||
_('Beautify current file'))
|
_('Beautify current file'))
|
||||||
self.action_pretty_all = reg('format-justify-fill.png', _('&Beautify all files'), partial(self.boss.pretty_print, False), 'pretty-all', (),
|
self.action_pretty_all = reg('format-justify-fill.png', _('&Beautify all files'), partial(self.boss.pretty_print, False), 'pretty-all', (),
|
||||||
_('Beautify all files'))
|
_('Beautify all files'))
|
||||||
self.action_check_book = reg('debug.png', _('&Check Book'), self.boss.check_requested, 'check-book', ('F7'), _('Check book for errors'))
|
|
||||||
|
|
||||||
# Polish actions
|
# Polish actions
|
||||||
group = _('Polish Book')
|
group = _('Polish Book')
|
||||||
@ -329,6 +329,14 @@ class Main(MainWindow):
|
|||||||
self.action_mark = reg(None, _('&Mark selected text'), self.boss.mark_selected_text, 'mark-selected-text', ('Ctrl+Shift+M',), _('Mark selected text'))
|
self.action_mark = reg(None, _('&Mark selected text'), self.boss.mark_selected_text, 'mark-selected-text', ('Ctrl+Shift+M',), _('Mark selected text'))
|
||||||
self.action_go_to_line = reg(None, _('Go to &line'), self.boss.go_to_line_number, 'go-to-line-number', ('Ctrl+.',), _('Go to line number'))
|
self.action_go_to_line = reg(None, _('Go to &line'), self.boss.go_to_line_number, 'go-to-line-number', ('Ctrl+.',), _('Go to line number'))
|
||||||
|
|
||||||
|
# Check Book actions
|
||||||
|
group = _('Check Book')
|
||||||
|
self.action_check_book = reg('debug.png', _('&Check Book'), self.boss.check_requested, 'check-book', ('F7'), _('Check book for errors'))
|
||||||
|
self.action_check_book_next = reg('forward.png', _('&Next error'), partial(
|
||||||
|
self.check_book.next_error, delta=1), 'check-book-next', ('Ctrl+F7'), _('Show next error'))
|
||||||
|
self.action_check_book_previous = reg('back.png', _('&Previous error'), partial(
|
||||||
|
self.check_book.next_error, delta=-1), 'check-book-previous', ('Ctrl+Shift+F7'), _('Show previous error'))
|
||||||
|
|
||||||
# Miscellaneous actions
|
# Miscellaneous actions
|
||||||
group = _('Miscellaneous')
|
group = _('Miscellaneous')
|
||||||
self.action_create_checkpoint = reg(
|
self.action_create_checkpoint = reg(
|
||||||
@ -463,7 +471,6 @@ class Main(MainWindow):
|
|||||||
|
|
||||||
d = create(_('Check Book'), 'check-book')
|
d = create(_('Check Book'), 'check-book')
|
||||||
d.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea | Qt.BottomDockWidgetArea | Qt.TopDockWidgetArea)
|
d.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea | Qt.BottomDockWidgetArea | Qt.TopDockWidgetArea)
|
||||||
self.check_book = Check(self)
|
|
||||||
d.setWidget(self.check_book)
|
d.setWidget(self.check_book)
|
||||||
self.addDockWidget(Qt.TopDockWidgetArea, d)
|
self.addDockWidget(Qt.TopDockWidgetArea, d)
|
||||||
d.close() # By default the check window is closed
|
d.close() # By default the check window is closed
|
||||||
|
Loading…
x
Reference in New Issue
Block a user