22 class BookmarksToolBar(E5ModelToolBar): |
22 class BookmarksToolBar(E5ModelToolBar): |
23 """ |
23 """ |
24 Class implementing a tool bar showing bookmarks. |
24 Class implementing a tool bar showing bookmarks. |
25 |
25 |
26 @signal openUrl(QUrl, str) emitted to open a URL in the current tab |
26 @signal openUrl(QUrl, str) emitted to open a URL in the current tab |
27 @signal newUrl(QUrl, str) emitted to open a URL in a new tab |
27 @signal newTab(QUrl, str) emitted to open a URL in a new tab |
|
28 @signal newWindow(QUrl, str) emitted to open a URL in a new window |
28 """ |
29 """ |
29 openUrl = pyqtSignal(QUrl, str) |
30 openUrl = pyqtSignal(QUrl, str) |
30 newUrl = pyqtSignal(QUrl, str) |
31 newTab = pyqtSignal(QUrl, str) |
|
32 newWindow = pyqtSignal(QUrl, str) |
31 |
33 |
32 def __init__(self, mainWindow, model, parent=None): |
34 def __init__(self, mainWindow, model, parent=None): |
33 """ |
35 """ |
34 Constructor |
36 Constructor |
35 |
37 |
137 elif self._mouseButton == Qt.XButton2: |
139 elif self._mouseButton == Qt.XButton2: |
138 self.__mw.currentBrowser().triggerPageAction( |
140 self.__mw.currentBrowser().triggerPageAction( |
139 QWebEnginePage.Forward) |
141 QWebEnginePage.Forward) |
140 elif self._mouseButton == Qt.LeftButton: |
142 elif self._mouseButton == Qt.LeftButton: |
141 if self._keyboardModifiers & Qt.ControlModifier: |
143 if self._keyboardModifiers & Qt.ControlModifier: |
142 self.newUrl.emit( |
144 self.newTab.emit( |
|
145 idx.data(BookmarksModel.UrlRole), |
|
146 idx.data(Qt.DisplayRole)) |
|
147 elif self._keyboardModifiers & Qt.ShiftModifier: |
|
148 self.newWindow.emit( |
143 idx.data(BookmarksModel.UrlRole), |
149 idx.data(BookmarksModel.UrlRole), |
144 idx.data(Qt.DisplayRole)) |
150 idx.data(Qt.DisplayRole)) |
145 else: |
151 else: |
146 self.openUrl.emit( |
152 self.openUrl.emit( |
147 idx.data(BookmarksModel.UrlRole), |
153 idx.data(BookmarksModel.UrlRole), |
148 idx.data(Qt.DisplayRole)) |
154 idx.data(Qt.DisplayRole)) |
149 self.__updateVisitCount(idx) |
155 self.__updateVisitCount(idx) |
150 |
156 |
151 def __openToolBarBookmark(self): |
|
152 """ |
|
153 Private slot to open a bookmark in the current browser tab. |
|
154 """ |
|
155 idx = self.index(self.sender()) |
|
156 |
|
157 if self._keyboardModifiers & Qt.ControlModifier: |
|
158 self.newUrl.emit( |
|
159 idx.data(BookmarksModel.UrlRole), |
|
160 idx.data(Qt.DisplayRole)) |
|
161 else: |
|
162 self.openUrl.emit( |
|
163 idx.data(BookmarksModel.UrlRole), |
|
164 idx.data(Qt.DisplayRole)) |
|
165 self.__updateVisitCount(idx) |
|
166 self.resetFlags() |
|
167 |
|
168 def __openBookmark(self): |
157 def __openBookmark(self): |
169 """ |
158 """ |
170 Private slot to open a bookmark in the current browser tab. |
159 Private slot to open a bookmark in the current browser tab. |
171 """ |
160 """ |
172 idx = self.index(self.sender()) |
161 idx = self.index(self.sender()) |
180 """ |
169 """ |
181 Private slot to open a bookmark in a new browser tab. |
170 Private slot to open a bookmark in a new browser tab. |
182 """ |
171 """ |
183 idx = self.index(self.sender()) |
172 idx = self.index(self.sender()) |
184 |
173 |
185 self.newUrl.emit( |
174 self.newTab.emit( |
186 idx.data(BookmarksModel.UrlRole), |
175 idx.data(BookmarksModel.UrlRole), |
187 idx.data(Qt.DisplayRole)) |
176 idx.data(Qt.DisplayRole)) |
188 self.__updateVisitCount(idx) |
177 self.__updateVisitCount(idx) |
189 |
178 |
190 def __openBookmarkInNewWindow(self): |
179 def __openBookmarkInNewWindow(self): |
191 """ |
180 """ |
192 Private slot to open a bookmark in a new window. |
181 Private slot to open a bookmark in a new window. |
193 """ |
182 """ |
194 idx = self.index(self.sender()) |
183 idx = self.index(self.sender()) |
195 url = idx.data(BookmarksModel.UrlRole) |
184 |
196 |
185 self.newWindow.emit( |
197 from WebBrowser.WebBrowserWindow import WebBrowserWindow |
186 idx.data(BookmarksModel.UrlRole), |
198 WebBrowserWindow.mainWindow().newWindow(url) |
187 idx.data(Qt.DisplayRole)) |
199 self.__updateVisitCount(idx) |
188 self.__updateVisitCount(idx) |
200 |
189 |
201 def __openBookmarkInPrivateWindow(self): |
190 def __openBookmarkInPrivateWindow(self): |
202 """ |
191 """ |
203 Private slot to open a bookmark in a new private window. |
192 Private slot to open a bookmark in a new private window. |
243 @return menu for a tool bar action (E5ModelMenu) |
232 @return menu for a tool bar action (E5ModelMenu) |
244 """ |
233 """ |
245 from .BookmarksMenu import BookmarksMenu |
234 from .BookmarksMenu import BookmarksMenu |
246 menu = BookmarksMenu(self) |
235 menu = BookmarksMenu(self) |
247 menu.openUrl.connect(self.openUrl) |
236 menu.openUrl.connect(self.openUrl) |
248 menu.newUrl.connect(self.newUrl) |
237 menu.newTab.connect(self.newTab) |
|
238 menu.newWindow.connect(self.newWindow) |
249 return menu |
239 return menu |
250 |
240 |
251 def __edit(self): |
241 def __edit(self): |
252 """ |
242 """ |
253 Private slot to edit a bookmarks properties. |
243 Private slot to edit a bookmarks properties. |