WebBrowser/Bookmarks/BookmarksToolBar.py

changeset 5038
df7103c3f2a6
parent 5015
ca1d44f0f6b2
child 5389
9b1c800daff3
equal deleted inserted replaced
5037:b2b37d7c0791 5038:df7103c3f2a6
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.

eric ide

mercurial