eric6/WebBrowser/WebBrowserTabWidget.py

changeset 7533
88261c96484b
parent 7514
0960c7c1f497
child 7578
13b2c2167c93
equal deleted inserted replaced
7532:1358e9d67a1c 7533:88261c96484b
116 self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu) 116 self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu)
117 self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered) 117 self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered)
118 118
119 self.__navigationButton = QToolButton(self) 119 self.__navigationButton = QToolButton(self)
120 self.__navigationButton.setIcon( 120 self.__navigationButton.setIcon(
121 UI.PixmapCache.getIcon("1downarrow.png")) 121 UI.PixmapCache.getIcon("1downarrow"))
122 self.__navigationButton.setToolTip( 122 self.__navigationButton.setToolTip(
123 self.tr("Show a navigation menu")) 123 self.tr("Show a navigation menu"))
124 self.__navigationButton.setPopupMode(QToolButton.InstantPopup) 124 self.__navigationButton.setPopupMode(QToolButton.InstantPopup)
125 self.__navigationButton.setMenu(self.__navigationMenu) 125 self.__navigationButton.setMenu(self.__navigationMenu)
126 self.__navigationButton.setEnabled(False) 126 self.__navigationButton.setEnabled(False)
129 self.__closedTabsMenu = QMenu(self) 129 self.__closedTabsMenu = QMenu(self)
130 self.__closedTabsMenu.aboutToShow.connect( 130 self.__closedTabsMenu.aboutToShow.connect(
131 self.__aboutToShowClosedTabsMenu) 131 self.__aboutToShowClosedTabsMenu)
132 132
133 self.__closedTabsButton = QToolButton(self) 133 self.__closedTabsButton = QToolButton(self)
134 self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png")) 134 self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash"))
135 self.__closedTabsButton.setToolTip( 135 self.__closedTabsButton.setToolTip(
136 self.tr("Show a navigation menu for closed tabs")) 136 self.tr("Show a navigation menu for closed tabs"))
137 self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup) 137 self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup)
138 self.__closedTabsButton.setMenu(self.__closedTabsMenu) 138 self.__closedTabsButton.setMenu(self.__closedTabsMenu)
139 self.__closedTabsButton.setEnabled(False) 139 self.__closedTabsButton.setEnabled(False)
143 self.tabCloseRequested.connect(self.closeBrowserAt) 143 self.tabCloseRequested.connect(self.closeBrowserAt)
144 144
145 self.setCornerWidget(self.__rightCornerWidget, Qt.TopRightCorner) 145 self.setCornerWidget(self.__rightCornerWidget, Qt.TopRightCorner)
146 146
147 self.__newTabButton = QToolButton(self) 147 self.__newTabButton = QToolButton(self)
148 self.__newTabButton.setIcon(UI.PixmapCache.getIcon("plus.png")) 148 self.__newTabButton.setIcon(UI.PixmapCache.getIcon("plus"))
149 self.__newTabButton.setToolTip( 149 self.__newTabButton.setToolTip(
150 self.tr("Open a new web browser tab")) 150 self.tr("Open a new web browser tab"))
151 self.setCornerWidget(self.__newTabButton, Qt.TopLeftCorner) 151 self.setCornerWidget(self.__newTabButton, Qt.TopLeftCorner)
152 self.__newTabButton.clicked.connect(self.__newBrowser) 152 self.__newTabButton.clicked.connect(self.__newBrowser)
153 153
159 """ 159 """
160 Private method to create the tab context menu. 160 Private method to create the tab context menu.
161 """ 161 """
162 self.__tabContextMenu = QMenu(self) 162 self.__tabContextMenu = QMenu(self)
163 self.tabContextNewAct = self.__tabContextMenu.addAction( 163 self.tabContextNewAct = self.__tabContextMenu.addAction(
164 UI.PixmapCache.getIcon("tabNew.png"), 164 UI.PixmapCache.getIcon("tabNew"),
165 self.tr('New Tab'), self.newBrowser) 165 self.tr('New Tab'), self.newBrowser)
166 self.__tabContextMenu.addSeparator() 166 self.__tabContextMenu.addSeparator()
167 self.leftMenuAct = self.__tabContextMenu.addAction( 167 self.leftMenuAct = self.__tabContextMenu.addAction(
168 UI.PixmapCache.getIcon("1leftarrow.png"), 168 UI.PixmapCache.getIcon("1leftarrow"),
169 self.tr('Move Left'), self.__tabContextMenuMoveLeft) 169 self.tr('Move Left'), self.__tabContextMenuMoveLeft)
170 self.rightMenuAct = self.__tabContextMenu.addAction( 170 self.rightMenuAct = self.__tabContextMenu.addAction(
171 UI.PixmapCache.getIcon("1rightarrow.png"), 171 UI.PixmapCache.getIcon("1rightarrow"),
172 self.tr('Move Right'), self.__tabContextMenuMoveRight) 172 self.tr('Move Right'), self.__tabContextMenuMoveRight)
173 self.__tabContextMenu.addSeparator() 173 self.__tabContextMenu.addSeparator()
174 self.tabContextCloneAct = self.__tabContextMenu.addAction( 174 self.tabContextCloneAct = self.__tabContextMenu.addAction(
175 self.tr("Duplicate Page"), self.__tabContextMenuClone) 175 self.tr("Duplicate Page"), self.__tabContextMenuClone)
176 self.__tabContextMenu.addSeparator() 176 self.__tabContextMenu.addSeparator()
177 self.tabContextCloseAct = self.__tabContextMenu.addAction( 177 self.tabContextCloseAct = self.__tabContextMenu.addAction(
178 UI.PixmapCache.getIcon("tabClose.png"), 178 UI.PixmapCache.getIcon("tabClose"),
179 self.tr('Close'), self.__tabContextMenuClose) 179 self.tr('Close'), self.__tabContextMenuClose)
180 self.tabContextCloseOthersAct = self.__tabContextMenu.addAction( 180 self.tabContextCloseOthersAct = self.__tabContextMenu.addAction(
181 UI.PixmapCache.getIcon("tabCloseOther.png"), 181 UI.PixmapCache.getIcon("tabCloseOther"),
182 self.tr("Close Others"), self.__tabContextMenuCloseOthers) 182 self.tr("Close Others"), self.__tabContextMenuCloseOthers)
183 self.__tabContextMenu.addAction( 183 self.__tabContextMenu.addAction(
184 self.tr('Close All'), self.closeAllBrowsers) 184 self.tr('Close All'), self.closeAllBrowsers)
185 self.__tabContextMenu.addSeparator() 185 self.__tabContextMenu.addSeparator()
186 self.__tabContextMenu.addAction( 186 self.__tabContextMenu.addAction(
187 UI.PixmapCache.getIcon("printPreview.png"), 187 UI.PixmapCache.getIcon("printPreview"),
188 self.tr('Print Preview'), self.__tabContextMenuPrintPreview) 188 self.tr('Print Preview'), self.__tabContextMenuPrintPreview)
189 self.__tabContextMenu.addAction( 189 self.__tabContextMenu.addAction(
190 UI.PixmapCache.getIcon("print.png"), 190 UI.PixmapCache.getIcon("print"),
191 self.tr('Print'), self.__tabContextMenuPrint) 191 self.tr('Print'), self.__tabContextMenuPrint)
192 self.__tabContextMenu.addAction( 192 self.__tabContextMenu.addAction(
193 UI.PixmapCache.getIcon("printPdf.png"), 193 UI.PixmapCache.getIcon("printPdf"),
194 self.tr('Print as PDF'), self.__tabContextMenuPrintPdf) 194 self.tr('Print as PDF'), self.__tabContextMenuPrintPdf)
195 self.__tabContextMenu.addSeparator() 195 self.__tabContextMenu.addSeparator()
196 if hasattr(WebBrowserPage, "isAudioMuted"): 196 if hasattr(WebBrowserPage, "isAudioMuted"):
197 self.__audioAct = self.__tabContextMenu.addAction( 197 self.__audioAct = self.__tabContextMenu.addAction(
198 "", self.__tabContextMenuAudioMute) 198 "", self.__tabContextMenuAudioMute)
199 self.__tabContextMenu.addSeparator() 199 self.__tabContextMenu.addSeparator()
200 else: 200 else:
201 self.__audioAct = None 201 self.__audioAct = None
202 self.__tabContextMenu.addAction( 202 self.__tabContextMenu.addAction(
203 UI.PixmapCache.getIcon("reload.png"), 203 UI.PixmapCache.getIcon("reload"),
204 self.tr('Reload All'), self.reloadAllBrowsers) 204 self.tr('Reload All'), self.reloadAllBrowsers)
205 self.__tabContextMenu.addSeparator() 205 self.__tabContextMenu.addSeparator()
206 self.__tabContextMenu.addAction( 206 self.__tabContextMenu.addAction(
207 UI.PixmapCache.getIcon("addBookmark.png"), 207 UI.PixmapCache.getIcon("addBookmark"),
208 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) 208 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
209 209
210 self.__tabBackContextMenu = QMenu(self) 210 self.__tabBackContextMenu = QMenu(self)
211 self.__tabBackContextMenu.addAction( 211 self.__tabBackContextMenu.addAction(
212 self.tr('Close All'), self.closeAllBrowsers) 212 self.tr('Close All'), self.closeAllBrowsers)
213 self.__tabBackContextMenu.addAction( 213 self.__tabBackContextMenu.addAction(
214 UI.PixmapCache.getIcon("reload.png"), 214 UI.PixmapCache.getIcon("reload"),
215 self.tr('Reload All'), self.reloadAllBrowsers) 215 self.tr('Reload All'), self.reloadAllBrowsers)
216 self.__tabBackContextMenu.addAction( 216 self.__tabBackContextMenu.addAction(
217 UI.PixmapCache.getIcon("addBookmark.png"), 217 UI.PixmapCache.getIcon("addBookmark"),
218 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) 218 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
219 self.__tabBackContextMenu.addSeparator() 219 self.__tabBackContextMenu.addSeparator()
220 self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction( 220 self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction(
221 UI.PixmapCache.getIcon("trash.png"), 221 UI.PixmapCache.getIcon("trash"),
222 self.tr('Restore Closed Tab')) 222 self.tr('Restore Closed Tab'))
223 self.__restoreClosedTabAct.setEnabled(False) 223 self.__restoreClosedTabAct.setEnabled(False)
224 self.__restoreClosedTabAct.setData(0) 224 self.__restoreClosedTabAct.setData(0)
225 self.__restoreClosedTabAct.triggered.connect( 225 self.__restoreClosedTabAct.triggered.connect(
226 lambda: self.restoreClosedTab(self.__restoreClosedTabAct)) 226 lambda: self.restoreClosedTab(self.__restoreClosedTabAct))
247 self.widget(self.__tabContextMenuIndex).page() 247 self.widget(self.__tabContextMenuIndex).page()
248 .isAudioMuted() 248 .isAudioMuted()
249 ): 249 ):
250 self.__audioAct.setText(self.tr("Unmute Tab")) 250 self.__audioAct.setText(self.tr("Unmute Tab"))
251 self.__audioAct.setIcon( 251 self.__audioAct.setIcon(
252 UI.PixmapCache.getIcon("audioVolumeHigh.png")) 252 UI.PixmapCache.getIcon("audioVolumeHigh"))
253 else: 253 else:
254 self.__audioAct.setText(self.tr("Mute Tab")) 254 self.__audioAct.setText(self.tr("Mute Tab"))
255 self.__audioAct.setIcon( 255 self.__audioAct.setIcon(
256 UI.PixmapCache.getIcon("audioVolumeMuted.png")) 256 UI.PixmapCache.getIcon("audioVolumeMuted"))
257 257
258 self.__tabContextMenu.popup(coord) 258 self.__tabContextMenu.popup(coord)
259 259
260 def __tabContextMenuMoveLeft(self): 260 def __tabContextMenuMoveLeft(self):
261 """ 261 """
352 pix = QPixmap(32, 32) 352 pix = QPixmap(32, 32)
353 pix.fill(Qt.transparent) 353 pix.fill(Qt.transparent)
354 painter = QPainter(pix) 354 painter = QPainter(pix)
355 icon.paint(painter, 0, 0, 22, 22) 355 icon.paint(painter, 0, 0, 22, 22)
356 if page.isAudioMuted(): 356 if page.isAudioMuted():
357 audioIcon = UI.PixmapCache.getIcon("audioMuted.png") 357 audioIcon = UI.PixmapCache.getIcon("audioMuted")
358 else: 358 else:
359 audioIcon = UI.PixmapCache.getIcon("audioPlaying.png") 359 audioIcon = UI.PixmapCache.getIcon("audioPlaying")
360 audioIcon.paint(painter, 13, 13, 18, 18) 360 audioIcon.paint(painter, 13, 13, 18, 18)
361 painter.end() 361 painter.end()
362 self.setTabIcon(index, QIcon(pix)) 362 self.setTabIcon(index, QIcon(pix))
363 else: 363 else:
364 self.setTabIcon(index, icon) 364 self.setTabIcon(index, icon)
959 """You have %n tab(s) open.""", "", self.count()), 959 """You have %n tab(s) open.""", "", self.count()),
960 modal=True, 960 modal=True,
961 parent=self) 961 parent=self)
962 quitButton = mb.addButton( 962 quitButton = mb.addButton(
963 self.tr("&Quit"), E5MessageBox.AcceptRole) 963 self.tr("&Quit"), E5MessageBox.AcceptRole)
964 quitButton.setIcon(UI.PixmapCache.getIcon("exit.png")) 964 quitButton.setIcon(UI.PixmapCache.getIcon("exit"))
965 closeTabButton = mb.addButton( 965 closeTabButton = mb.addButton(
966 self.tr("C&lose Current Tab"), E5MessageBox.AcceptRole) 966 self.tr("C&lose Current Tab"), E5MessageBox.AcceptRole)
967 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose.png")) 967 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose"))
968 mb.addButton(E5MessageBox.Cancel) 968 mb.addButton(E5MessageBox.Cancel)
969 mb.exec_() 969 mb.exec_()
970 if mb.clickedButton() == quitButton: 970 if mb.clickedButton() == quitButton:
971 return True 971 return True
972 else: 972 else:

eric ide

mercurial