From d51a0be334cc0e9c25dea62f730a698042507e9f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 17 Dec 2013 10:11:51 +0530 Subject: [PATCH] Edit book: ToC view, allow single clicking on items to activate them --- src/calibre/gui2/tweak_book/toc.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/tweak_book/toc.py b/src/calibre/gui2/tweak_book/toc.py index c6f16d4ea6..78eb32dae2 100644 --- a/src/calibre/gui2/tweak_book/toc.py +++ b/src/calibre/gui2/tweak_book/toc.py @@ -9,7 +9,7 @@ __copyright__ = '2013, Kovid Goyal ' from PyQt4.Qt import ( QDialog, pyqtSignal, QIcon, QVBoxLayout, QDialogButtonBox, QStackedWidget, QAction, QMenu, QTreeWidget, QTreeWidgetItem, QGridLayout, QWidget, Qt, - QSize, QStyledItemDelegate) + QSize, QStyledItemDelegate, QApplication, QTimer) from calibre.constants import plugins from calibre.ebooks.oeb.polish.toc import commit_toc, get_toc @@ -126,6 +126,7 @@ class TOCViewer(QWidget): self.view.setContextMenuPolicy(Qt.CustomContextMenu) self.view.customContextMenuRequested.connect(self.show_context_menu, type=Qt.QueuedConnection) self.view.itemActivated.connect(self.emit_navigate) + self.view.itemPressed.connect(self.item_pressed) pi = plugins['progress_indicator'][0] if hasattr(pi, 'set_no_activate_on_click'): pi.set_no_activate_on_click(self.view) @@ -135,6 +136,10 @@ class TOCViewer(QWidget): self.refresh_action = QAction(QIcon(I('view-refresh.png')), _('&Refresh'), self) self.refresh_action.triggered.connect(self.build) + def item_pressed(self, item): + if QApplication.mouseButtons() & Qt.LeftButton: + QTimer.singleShot(0, self.emit_navigate) + def show_context_menu(self, pos): menu = QMenu(self) menu.addAction(actions['edit-toc'])