67 |
67 |
68 self.setUsesScrollButtons(True) |
68 self.setUsesScrollButtons(True) |
69 self.setDocumentMode(True) |
69 self.setDocumentMode(True) |
70 self.setElideMode(Qt.ElideNone) |
70 self.setElideMode(Qt.ElideNone) |
71 |
71 |
72 # TODO: Closed Tabs Manager |
72 from .ClosedTabsManager import ClosedTabsManager |
73 ## from .ClosedTabsManager import ClosedTabsManager |
73 self.__closedTabsManager = ClosedTabsManager(self) |
74 ## self.__closedTabsManager = ClosedTabsManager(self) |
74 self.__closedTabsManager.closedTabAvailable.connect( |
75 ## self.__closedTabsManager.closedTabAvailable.connect( |
75 self.__closedTabAvailable) |
76 ## self.__closedTabAvailable) |
|
77 |
76 |
78 from .UrlBar.StackedUrlBar import StackedUrlBar |
77 from .UrlBar.StackedUrlBar import StackedUrlBar |
79 self.__stackedUrlBar = StackedUrlBar(self) |
78 self.__stackedUrlBar = StackedUrlBar(self) |
80 self.__tabBar.tabMoved.connect(self.__stackedUrlBar.moveBar) |
79 self.__tabBar.tabMoved.connect(self.__stackedUrlBar.moveBar) |
81 |
80 |
101 self.__navigationButton.setPopupMode(QToolButton.InstantPopup) |
100 self.__navigationButton.setPopupMode(QToolButton.InstantPopup) |
102 self.__navigationButton.setMenu(self.__navigationMenu) |
101 self.__navigationButton.setMenu(self.__navigationMenu) |
103 self.__navigationButton.setEnabled(False) |
102 self.__navigationButton.setEnabled(False) |
104 self.__rightCornerWidgetLayout.addWidget(self.__navigationButton) |
103 self.__rightCornerWidgetLayout.addWidget(self.__navigationButton) |
105 |
104 |
106 # TODO: Closed Tabs Manager |
105 self.__closedTabsMenu = QMenu(self) |
107 ## self.__closedTabsMenu = QMenu(self) |
106 self.__closedTabsMenu.aboutToShow.connect( |
108 ## self.__closedTabsMenu.aboutToShow.connect( |
107 self.__aboutToShowClosedTabsMenu) |
109 ## self.__aboutToShowClosedTabsMenu) |
108 |
110 ## |
109 self.__closedTabsButton = QToolButton(self) |
111 ## self.__closedTabsButton = QToolButton(self) |
110 self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png")) |
112 ## self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png")) |
111 self.__closedTabsButton.setToolTip( |
113 ## self.__closedTabsButton.setToolTip( |
112 self.tr("Show a navigation menu for closed tabs")) |
114 ## self.tr("Show a navigation menu for closed tabs")) |
113 self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup) |
115 ## self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup) |
114 self.__closedTabsButton.setMenu(self.__closedTabsMenu) |
116 ## self.__closedTabsButton.setMenu(self.__closedTabsMenu) |
115 self.__closedTabsButton.setEnabled(False) |
117 ## self.__closedTabsButton.setEnabled(False) |
116 self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton) |
118 ## self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton) |
117 |
119 ## |
|
120 self.__closeButton = QToolButton(self) |
118 self.__closeButton = QToolButton(self) |
121 self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png")) |
119 self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png")) |
122 self.__closeButton.setToolTip( |
120 self.__closeButton.setToolTip( |
123 self.tr("Close the current web browser")) |
121 self.tr("Close the current web browser")) |
124 self.__closeButton.setEnabled(False) |
122 self.__closeButton.setEnabled(False) |
184 ## self.tr('Print as PDF'), self.__tabContextMenuPrintPdf) |
182 ## self.tr('Print as PDF'), self.__tabContextMenuPrintPdf) |
185 self.__tabContextMenu.addSeparator() |
183 self.__tabContextMenu.addSeparator() |
186 self.__tabContextMenu.addAction( |
184 self.__tabContextMenu.addAction( |
187 UI.PixmapCache.getIcon("reload.png"), |
185 UI.PixmapCache.getIcon("reload.png"), |
188 self.tr('Reload All'), self.reloadAllBrowsers) |
186 self.tr('Reload All'), self.reloadAllBrowsers) |
189 ## self.__tabContextMenu.addSeparator() |
187 self.__tabContextMenu.addSeparator() |
190 ## self.__tabContextMenu.addAction( |
188 self.__tabContextMenu.addAction( |
191 ## UI.PixmapCache.getIcon("addBookmark.png"), |
189 UI.PixmapCache.getIcon("addBookmark.png"), |
192 ## self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
190 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
193 |
191 |
194 self.__tabBackContextMenu = QMenu(self) |
192 self.__tabBackContextMenu = QMenu(self) |
195 self.__tabBackContextMenu.addAction( |
193 self.__tabBackContextMenu.addAction( |
196 self.tr('Close All'), self.closeAllBrowsers) |
194 self.tr('Close All'), self.closeAllBrowsers) |
197 self.__tabBackContextMenu.addAction( |
195 self.__tabBackContextMenu.addAction( |
198 UI.PixmapCache.getIcon("reload.png"), |
196 UI.PixmapCache.getIcon("reload.png"), |
199 self.tr('Reload All'), self.reloadAllBrowsers) |
197 self.tr('Reload All'), self.reloadAllBrowsers) |
200 ## self.__tabBackContextMenu.addAction( |
198 self.__tabBackContextMenu.addAction( |
201 ## UI.PixmapCache.getIcon("addBookmark.png"), |
199 UI.PixmapCache.getIcon("addBookmark.png"), |
202 ## self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
200 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
203 ## self.__tabBackContextMenu.addSeparator() |
201 self.__tabBackContextMenu.addSeparator() |
204 ## self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction( |
202 self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction( |
205 ## UI.PixmapCache.getIcon("trash.png"), |
203 UI.PixmapCache.getIcon("trash.png"), |
206 ## self.tr('Restore Closed Tab'), self.restoreClosedTab) |
204 self.tr('Restore Closed Tab'), self.restoreClosedTab) |
207 ## self.__restoreClosedTabAct.setEnabled(False) |
205 self.__restoreClosedTabAct.setEnabled(False) |
208 ## self.__restoreClosedTabAct.setData(0) |
206 self.__restoreClosedTabAct.setData(0) |
209 |
207 |
210 def __showContextMenu(self, coord, index): |
208 def __showContextMenu(self, coord, index): |
211 """ |
209 """ |
212 Private slot to show the tab context menu. |
210 Private slot to show the tab context menu. |
213 |
211 |
953 if browser.url() == "" and browser.hasFocus(): |
952 if browser.url() == "" and browser.hasFocus(): |
954 self.__stackedUrlBar.currentWidget.setFocus() |
953 self.__stackedUrlBar.currentWidget.setFocus() |
955 elif browser.url() != "": |
954 elif browser.url() != "": |
956 browser.setFocus() |
955 browser.setFocus() |
957 |
956 |
958 # TODO: Closed Tabs Manager |
957 def restoreClosedTab(self): |
959 ## def restoreClosedTab(self): |
958 """ |
960 ## """ |
959 Public slot to restore the most recently closed tab. |
961 ## Public slot to restore the most recently closed tab. |
960 """ |
962 ## """ |
961 if not self.canRestoreClosedTab(): |
963 ## if not self.canRestoreClosedTab(): |
962 return |
964 ## return |
963 |
965 ## |
964 act = self.sender() |
966 ## act = self.sender() |
965 tab = self.__closedTabsManager.getClosedTabAt(act.data()) |
967 ## tab = self.__closedTabsManager.getClosedTabAt(act.data()) |
966 |
968 ## |
967 self.newBrowser(tab.url.toString(), position=tab.position) |
969 ## self.newBrowser(tab.url.toString(), position=tab.position) |
968 |
970 ## |
969 def canRestoreClosedTab(self): |
971 ## def canRestoreClosedTab(self): |
970 """ |
972 ## """ |
971 Public method to check, if closed tabs can be restored. |
973 ## Public method to check, if closed tabs can be restored. |
972 |
974 ## |
973 @return flag indicating that closed tabs can be restored (boolean) |
975 ## @return flag indicating that closed tabs can be restored (boolean) |
974 """ |
976 ## """ |
975 return self.__closedTabsManager.isClosedTabAvailable() |
977 ## return self.__closedTabsManager.isClosedTabAvailable() |
976 |
978 ## |
977 def restoreAllClosedTabs(self): |
979 ## def restoreAllClosedTabs(self): |
978 """ |
980 ## """ |
979 Public slot to restore all closed tabs. |
981 ## Public slot to restore all closed tabs. |
980 """ |
982 ## """ |
981 if not self.canRestoreClosedTab(): |
983 ## if not self.canRestoreClosedTab(): |
982 return |
984 ## return |
983 |
985 ## |
984 for tab in self.__closedTabsManager.allClosedTabs(): |
986 ## for tab in self.__closedTabsManager.allClosedTabs(): |
985 self.newBrowser(tab.url.toString(), position=tab.position) |
987 ## self.newBrowser(tab.url.toString(), position=tab.position) |
986 self.__closedTabsManager.clearList() |
988 ## self.__closedTabsManager.clearList() |
987 |
989 ## |
988 def clearClosedTabsList(self): |
990 ## def clearClosedTabsList(self): |
989 """ |
991 ## """ |
990 Public slot to clear the list of closed tabs. |
992 ## Public slot to clear the list of closed tabs. |
991 """ |
993 ## """ |
992 self.__closedTabsManager.clearList() |
994 ## self.__closedTabsManager.clearList() |
993 |
995 ## |
994 def __aboutToShowClosedTabsMenu(self): |
996 ## def __aboutToShowClosedTabsMenu(self): |
995 """ |
997 ## """ |
996 Private slot to populate the closed tabs menu. |
998 ## Private slot to populate the closed tabs menu. |
997 """ |
999 ## """ |
998 fm = self.__closedTabsMenu.fontMetrics() |
1000 ## fm = self.__closedTabsMenu.fontMetrics() |
999 maxWidth = fm.width('m') * 40 |
1001 ## maxWidth = fm.width('m') * 40 |
1000 |
1002 ## |
1001 self.__closedTabsMenu.clear() |
1003 ## self.__closedTabsMenu.clear() |
1002 index = 0 |
1004 ## index = 0 |
1003 for tab in self.__closedTabsManager.allClosedTabs(): |
1005 ## for tab in self.__closedTabsManager.allClosedTabs(): |
1004 title = fm.elidedText(tab.title, Qt.ElideRight, maxWidth) |
1006 ## title = fm.elidedText(tab.title, Qt.ElideRight, maxWidth) |
1005 self.__closedTabsMenu.addAction( |
1007 ## self.__closedTabsMenu.addAction( |
1006 self.__mainWindow.icon(tab.url), title, |
1008 ## self.__mainWindow.icon(tab.url), title, |
1007 self.restoreClosedTab).setData(index) |
1009 ## self.restoreClosedTab).setData(index) |
1008 index += 1 |
1010 ## index += 1 |
1009 self.__closedTabsMenu.addSeparator() |
1011 ## self.__closedTabsMenu.addSeparator() |
1010 self.__closedTabsMenu.addAction( |
1012 ## self.__closedTabsMenu.addAction( |
1011 self.tr("Restore All Closed Tabs"), self.restoreAllClosedTabs) |
1013 ## self.tr("Restore All Closed Tabs"), self.restoreAllClosedTabs) |
1012 self.__closedTabsMenu.addAction( |
1014 ## self.__closedTabsMenu.addAction( |
1013 self.tr("Clear List"), self.clearClosedTabsList) |
1015 ## self.tr("Clear List"), self.clearClosedTabsList) |
1014 |
1016 ## |
1015 def closedTabsManager(self): |
1017 ## def closedTabsManager(self): |
1016 """ |
1018 ## """ |
1017 Public slot to get a reference to the closed tabs manager. |
1019 ## Public slot to get a reference to the closed tabs manager. |
1018 |
1020 ## |
1019 @return reference to the closed tabs manager (ClosedTabsManager) |
1021 ## @return reference to the closed tabs manager (ClosedTabsManager) |
1020 """ |
1022 ## """ |
1021 return self.__closedTabsManager |
1023 ## return self.__closedTabsManager |
1022 |
1024 ## |
1023 def __closedTabAvailable(self, avail): |
1025 ## def __closedTabAvailable(self, avail): |
1024 """ |
1026 ## """ |
1025 Private slot to handle changes of the availability of closed tabs. |
1027 ## Private slot to handle changes of the availability of closed tabs. |
1026 |
1028 ## |
1027 @param avail flag indicating the availability of closed tabs (boolean) |
1029 ## @param avail flag indicating the availability of closed tabs (boolean) |
1028 """ |
1030 ## """ |
1029 self.__closedTabsButton.setEnabled(avail) |
1031 ## self.__closedTabsButton.setEnabled(avail) |
1030 self.__restoreClosedTabAct.setEnabled(avail) |
1032 ## self.__restoreClosedTabAct.setEnabled(avail) |
|