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 """ |