eric6/Helpviewer/HelpTabBar.py

changeset 7220
5cf645f6daab
parent 7218
eaf2cf171f3a
parent 7211
1c97f3142fa8
child 7221
0485ccdf7877
diff -r eaf2cf171f3a -r 5cf645f6daab eric6/Helpviewer/HelpTabBar.py
--- a/eric6/Helpviewer/HelpTabBar.py	Sat Sep 07 14:45:27 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2010 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a specialized tab bar for the web browser.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import Qt, QPoint, QTimer, QEvent
-from PyQt5.QtWidgets import QFrame, QLabel
-
-from E5Gui.E5TabWidget import E5WheelTabBar
-from E5Gui.E5PassivePopup import E5PassivePopup
-
-import Preferences
-
-
-class HelpTabBar(E5WheelTabBar):
-    """
-    Class implementing the tab bar of the web browser.
-    """
-    def __init__(self, parent=None):
-        """
-        Constructor
-        
-        @param parent reference to the parent widget (HelpTabWidget)
-        """
-        E5WheelTabBar.__init__(self, parent)
-        
-        self.__tabWidget = parent
-        
-        self.__previewPopup = None
-        
-        self.setMouseTracking(True)
-    
-    def __showTabPreview(self, index):
-        """
-        Private slot to show the tab preview.
-        
-        @param index index of tab to show a preview for
-        @type int
-        """
-        indexedBrowser = self.__tabWidget.browserAt(index)
-        currentBrowser = self.__tabWidget.currentBrowser()
-        
-        if indexedBrowser is None or currentBrowser is None:
-            return
-        
-        # no previews during load
-        if indexedBrowser.progress() != 0:
-            return
-        
-        w = self.tabSizeHint(index).width()
-        h = int(w * currentBrowser.height() / currentBrowser.width())
-        
-        self.__previewPopup = E5PassivePopup(self)
-        self.__previewPopup.setFrameShape(QFrame.StyledPanel)
-        self.__previewPopup.setFrameShadow(QFrame.Plain)
-        self.__previewPopup.setFixedSize(w, h)
-        self.__previewPopup.setCustomData("index", index)
-        
-        from .HelpSnap import renderTabPreview
-        label = QLabel()
-        label.setPixmap(renderTabPreview(indexedBrowser.page(), w, h))
-        
-        self.__previewPopup.setView(label)
-        self.__previewPopup.layout().setAlignment(Qt.AlignTop)
-        self.__previewPopup.layout().setContentsMargins(0, 0, 0, 0)
-        
-        tr = self.tabRect(index)
-        pos = QPoint(tr.x(), tr.y() + tr.height())
-        
-        self.__previewPopup.show(self.mapToGlobal(pos))
-    
-    def __hidePreview(self):
-        """
-        Private method to hide the preview.
-        """
-        if self.__previewPopup is not None:
-            self.__previewPopup.hide()
-        self.__previewPopup = None
-    
-    def mouseMoveEvent(self, evt):
-        """
-        Protected method to handle mouse move events.
-        
-        @param evt reference to the mouse move event (QMouseEvent)
-        """
-        if self.count() == 1:
-            return
-        
-        E5WheelTabBar.mouseMoveEvent(self, evt)
-        
-        if Preferences.getHelp("ShowPreview"):
-            # Find the tab under the mouse
-            i = 0
-            tabIndex = -1
-            while i < self.count() and tabIndex == -1:
-                if self.tabRect(i).contains(evt.pos()):
-                    tabIndex = i
-                i += 1
-            
-            # If found and not the current tab then show tab preview
-            if tabIndex != -1 and \
-               tabIndex != self.currentIndex() and \
-               evt.buttons() == Qt.NoButton:
-                if self.__previewPopup is None or \
-                    (self.__previewPopup is not None and
-                     self.__previewPopup.getCustomData("index") != tabIndex):
-                    QTimer.singleShot(
-                        0, lambda: self.__showTabPreview(tabIndex))
-            
-            # If current tab or not found then hide previous tab preview
-            if tabIndex == self.currentIndex() or \
-               tabIndex == -1:
-                self.__hidePreview()
-    
-    def leaveEvent(self, evt):
-        """
-        Protected method to handle leave events.
-        
-        @param evt reference to the leave event (QEvent)
-        """
-        if Preferences.getHelp("ShowPreview"):
-            # If leave tabwidget then hide previous tab preview
-            self.__hidePreview()
-        
-        E5WheelTabBar.leaveEvent(self, evt)
-    
-    def mousePressEvent(self, evt):
-        """
-        Protected method to handle mouse press events.
-        
-        @param evt reference to the mouse press event (QMouseEvent)
-        """
-        if Preferences.getHelp("ShowPreview"):
-            self.__hidePreview()
-        
-        E5WheelTabBar.mousePressEvent(self, evt)
-    
-    def event(self, evt):
-        """
-        Public method to handle event.
-        
-        This event handler just handles the tooltip event and passes the
-        handling of all others to the superclass.
-        
-        @param evt reference to the event to be handled (QEvent)
-        @return flag indicating, if the event was handled (boolean)
-        """
-        if evt.type() == QEvent.ToolTip and \
-           Preferences.getHelp("ShowPreview"):
-            # suppress tool tips if we are showing previews
-            evt.setAccepted(True)
-            return True
-        
-        return E5WheelTabBar.event(self, evt)
-    
-    def tabRemoved(self, index):
-        """
-        Public slot to handle the removal of a tab.
-        
-        @param index index of the removed tab (integer)
-        """
-        if Preferences.getHelp("ShowPreview"):
-            self.__hidePreview()

eric ide

mercurial