6 """ |
6 """ |
7 Module implementing a specialized tab bar for the web browser. |
7 Module implementing a specialized tab bar for the web browser. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt5.QtCore import Qt, QPoint, QTimer, QEvent |
10 from PyQt5.QtCore import Qt, QPoint, QTimer, QEvent |
11 from PyQt5.QtWidgets import QFrame, QLabel |
11 from PyQt5.QtWidgets import QLabel |
12 |
12 |
13 from E5Gui.E5TabWidget import E5WheelTabBar |
13 from E5Gui.E5TabWidget import E5WheelTabBar |
14 from E5Gui.E5PassivePopup import E5PassivePopup |
14 from E5Gui.E5PassivePopup import E5PassivePopup, E5PassivePopupStyle |
15 |
15 |
16 import Preferences |
16 import Preferences |
17 |
17 |
18 |
18 |
19 class WebBrowserTabBar(E5WheelTabBar): |
19 class WebBrowserTabBar(E5WheelTabBar): |
54 preview = indexedBrowser.getPreview() |
54 preview = indexedBrowser.getPreview() |
55 if not preview.isNull(): |
55 if not preview.isNull(): |
56 w = self.tabSizeHint(index).width() |
56 w = self.tabSizeHint(index).width() |
57 h = int(w * currentBrowser.height() / currentBrowser.width()) |
57 h = int(w * currentBrowser.height() / currentBrowser.width()) |
58 |
58 |
59 self.__previewPopup = E5PassivePopup(self) |
59 self.__previewPopup = E5PassivePopup( |
60 self.__previewPopup.setFrameShape(QFrame.Shape.StyledPanel) |
60 style=E5PassivePopupStyle.STYLED, parent=self) |
61 self.__previewPopup.setFrameShadow(QFrame.Shadow.Plain) |
|
62 self.__previewPopup.setFixedSize(w, h) |
61 self.__previewPopup.setFixedSize(w, h) |
63 self.__previewPopup.setCustomData("index", index) |
62 self.__previewPopup.setCustomData("index", index) |
64 |
63 |
65 label = QLabel() |
64 label = QLabel() |
66 label.setPixmap(preview.scaled(w, h)) |
65 label.setPixmap(preview.scaled(w, h)) |
79 """ |
78 """ |
80 Private method to hide the preview. |
79 Private method to hide the preview. |
81 """ |
80 """ |
82 if self.__previewPopup is not None: |
81 if self.__previewPopup is not None: |
83 self.__previewPopup.hide() |
82 self.__previewPopup.hide() |
|
83 self.__previewPopup.deleteLater() |
84 self.__previewPopup = None |
84 self.__previewPopup = None |
85 |
85 |
86 def mouseMoveEvent(self, evt): |
86 def mouseMoveEvent(self, evt): |
87 """ |
87 """ |
88 Protected method to handle mouse move events. |
88 Protected method to handle mouse move events. |