Helpviewer/Bookmarks/BookmarksToolBar.py

changeset 1170
a3731e520b28
parent 1112
8a7d1b9d18db
child 1509
c0b5e693b0eb
equal deleted inserted replaced
1169:36a3bb21e6e6 1170:a3731e520b28
7 Module implementing a tool bar showing bookmarks. 7 Module implementing a tool bar showing bookmarks.
8 """ 8 """
9 9
10 from PyQt4.QtCore import pyqtSignal, Qt, QUrl 10 from PyQt4.QtCore import pyqtSignal, Qt, QUrl
11 from PyQt4.QtGui import QMenu, QApplication, QCursor 11 from PyQt4.QtGui import QMenu, QApplication, QCursor
12 from PyQt4.QtWebKit import QWebPage
12 13
13 from E5Gui.E5ModelToolBar import E5ModelToolBar 14 from E5Gui.E5ModelToolBar import E5ModelToolBar
14 15
15 import Helpviewer.HelpWindow 16 import Helpviewer.HelpWindow
16 17
27 @signal newUrl(QUrl, str) emitted to open a URL in a new tab 28 @signal newUrl(QUrl, str) emitted to open a URL in a new tab
28 """ 29 """
29 openUrl = pyqtSignal(QUrl, str) 30 openUrl = pyqtSignal(QUrl, str)
30 newUrl = pyqtSignal(QUrl, str) 31 newUrl = pyqtSignal(QUrl, str)
31 32
32 def __init__(self, model, parent=None): 33 def __init__(self, mainWindow, model, parent=None):
33 """ 34 """
34 Constructor 35 Constructor
35 36
37 @param mainWindow reference to the main window (HelpWindow)
36 @param model reference to the bookmarks model (BookmarksModel) 38 @param model reference to the bookmarks model (BookmarksModel)
37 @param parent reference to the parent widget (QWidget) 39 @param parent reference to the parent widget (QWidget)
38 """ 40 """
39 E5ModelToolBar.__init__(self, 41 E5ModelToolBar.__init__(self,
40 QApplication.translate("BookmarksToolBar", "Bookmarks"), parent) 42 QApplication.translate("BookmarksToolBar", "Bookmarks"), parent)
41 43
44 self.__mw = mainWindow
42 self.__bookmarksModel = model 45 self.__bookmarksModel = model
43 46
44 self.setModel(model) 47 self.setModel(model)
45 self.setRootIndex(model.nodeIndex( 48 self.setRootIndex(model.nodeIndex(
46 Helpviewer.HelpWindow.HelpWindow.bookmarksManager().toolbar())) 49 Helpviewer.HelpWindow.HelpWindow.bookmarksManager().toolbar()))
92 95
93 @param idx index of the activated bookmark (QModelIndex) 96 @param idx index of the activated bookmark (QModelIndex)
94 """ 97 """
95 assert idx.isValid() 98 assert idx.isValid()
96 99
97 if self._keyboardModifiers & Qt.ControlModifier: 100 if self._mouseButton == Qt.XButton1:
98 self.newUrl.emit( 101 self.__mw.currentBrowser().pageAction(QWebPage.Back).trigger()
99 idx.data(BookmarksModel.UrlRole), 102 elif self._mouseButton == Qt.XButton2:
100 idx.data(Qt.DisplayRole)) 103 self.__mw.currentBrowser().pageAction(QWebPage.Forward).trigger()
101 else: 104 elif self._mouseButton == Qt.LeftButton:
102 self.openUrl.emit( 105 if self._keyboardModifiers & Qt.ControlModifier:
103 idx.data(BookmarksModel.UrlRole), 106 self.newUrl.emit(
104 idx.data(Qt.DisplayRole)) 107 idx.data(BookmarksModel.UrlRole),
108 idx.data(Qt.DisplayRole))
109 else:
110 self.openUrl.emit(
111 idx.data(BookmarksModel.UrlRole),
112 idx.data(Qt.DisplayRole))
105 113
106 def __openToolBarBookmark(self): 114 def __openToolBarBookmark(self):
107 """ 115 """
108 Private slot to open a bookmark in the current browser tab. 116 Private slot to open a bookmark in the current browser tab.
109 """ 117 """

eric ide

mercurial