Exemplo n.º 1
0
 def __init__(self, project, parent=None, embeddedBrowser=True):
     """
     Constructor
     
     @param project reference to the project object
     @param parent parent widget (QWidget)
     @param embeddedBrowser flag indicating whether the file browser should
         be included. This flag is set to False by those layouts, that
         have the file browser in a separate window or embedded
         in the debeug browser instead
     """
     E5TabWidget.__init__(self, parent)
     self.project = project
     
     self.setWindowIcon(UI.PixmapCache.getIcon("eric.png"))
     
     self.setUsesScrollButtons(True)
     
     self.vcsStatusIndicator = E5ClickableLed(self)
     self.setCornerWidget(self.vcsStatusIndicator, Qt.TopLeftCorner)
     self.vcsStatusIndicator.clicked.connect(
         self.__vcsStatusIndicatorClicked)
     self.vcsStatusColorNames = {
         "A": "VcsAdded",
         "M": "VcsModified",
         "O": "VcsRemoved",
         "R": "VcsReplaced",
         "U": "VcsUpdate",
         "Z": "VcsConflict",
     }
     self.vcsStatusText = {
         " ": self.tr("up to date"),
         "A": self.tr("files added"),
         "M": self.tr("local modifications"),
         "O": self.tr("files removed"),
         "R": self.tr("files replaced"),
         "U": self.tr("update required"),
         "Z": self.tr("conflict"),
     }
     self.__vcsStateChanged(" ")
     
     # step 1: create all the individual browsers
     from .ProjectSourcesBrowser import ProjectSourcesBrowser
     from .ProjectFormsBrowser import ProjectFormsBrowser
     from .ProjectTranslationsBrowser import ProjectTranslationsBrowser
     from .ProjectResourcesBrowser import ProjectResourcesBrowser
     from .ProjectInterfacesBrowser import ProjectInterfacesBrowser
     from .ProjectOthersBrowser import ProjectOthersBrowser
     # sources browser
     self.psBrowser = ProjectSourcesBrowser(self.project)
     # forms browser
     self.pfBrowser = ProjectFormsBrowser(self.project)
     # resources browser
     self.prBrowser = ProjectResourcesBrowser(self.project)
     # translations browser
     self.ptBrowser = ProjectTranslationsBrowser(self.project)
     # interfaces (IDL) browser
     self.piBrowser = ProjectInterfacesBrowser(self.project)
     # others browser
     self.poBrowser = ProjectOthersBrowser(self.project)
     
     # add the file browser, if it should be embedded here
     self.embeddedBrowser = embeddedBrowser
     if embeddedBrowser:
         self.fileBrowser = Browser()
     
     # step 2: connect all the browsers
     # connect the sources browser
     self.project.projectClosed.connect(self.psBrowser._projectClosed)
     self.project.projectOpened.connect(self.psBrowser._projectOpened)
     self.project.newProject.connect(self.psBrowser._newProject)
     self.project.reinitVCS.connect(self.psBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.psBrowser._initMenusAndVcs)
     
     # connect the forms browser
     self.project.projectClosed.connect(self.pfBrowser._projectClosed)
     self.project.projectOpened.connect(self.pfBrowser._projectOpened)
     self.project.newProject.connect(self.pfBrowser._newProject)
     self.project.reinitVCS.connect(self.pfBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.pfBrowser._initMenusAndVcs)
     
     # connect the resources browser
     self.project.projectClosed.connect(self.prBrowser._projectClosed)
     self.project.projectOpened.connect(self.prBrowser._projectOpened)
     self.project.newProject.connect(self.prBrowser._newProject)
     self.project.reinitVCS.connect(self.prBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.prBrowser._initMenusAndVcs)
     
     # connect the translations browser
     self.project.projectClosed.connect(self.ptBrowser._projectClosed)
     self.project.projectOpened.connect(self.ptBrowser._projectOpened)
     self.project.newProject.connect(self.ptBrowser._newProject)
     self.project.reinitVCS.connect(self.ptBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.ptBrowser._initMenusAndVcs)
     
     # connect the interfaces (IDL)  browser
     self.project.projectClosed.connect(self.piBrowser._projectClosed)
     self.project.projectOpened.connect(self.piBrowser._projectOpened)
     self.project.newProject.connect(self.piBrowser._newProject)
     self.project.reinitVCS.connect(self.piBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.piBrowser._initMenusAndVcs)
     
     # connect the others browser
     self.project.projectClosed.connect(self.poBrowser._projectClosed)
     self.project.projectOpened.connect(self.poBrowser._projectOpened)
     self.project.newProject.connect(self.poBrowser._newProject)
     self.project.reinitVCS.connect(self.poBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.poBrowser._initMenusAndVcs)
     
     # add signal connection to ourself
     self.project.projectOpened.connect(self.__projectOpened)
     self.project.projectClosed.connect(self.__projectClosed)
     self.project.newProject.connect(self.__newProject)
     self.project.projectPropertiesChanged.connect(
         self.__projectPropertiesChanged)
     self.currentChanged.connect(self.__currentChanged)
     self.project.getModel().vcsStateChanged.connect(self.__vcsStateChanged)
     
     self.__currentBrowsersFlags = 0
     self.__projectPropertiesChanged()
     if self.embeddedBrowser:
         self.setCurrentWidget(self.fileBrowser)
     else:
         self.setCurrentIndex(0)
Exemplo n.º 2
0
    def __init__(self, project, parent=None):
        """
        Constructor
        
        @param project reference to the project object
        @param parent parent widget (QWidget)
        """
        E5TabWidget.__init__(self, parent)
        self.project = project

        self.setWindowIcon(UI.PixmapCache.getIcon("eric.png"))

        self.setUsesScrollButtons(True)

        self.vcsStatusIndicator = E5ClickableLed(self)
        self.setCornerWidget(self.vcsStatusIndicator, Qt.TopLeftCorner)
        self.vcsStatusIndicator.clicked.connect(
            self.__vcsStatusIndicatorClicked)
        self.vcsStatusColorNames = {
            "A": "VcsAdded",
            "M": "VcsModified",
            "O": "VcsRemoved",
            "R": "VcsReplaced",
            "U": "VcsUpdate",
            "Z": "VcsConflict",
        }
        self.vcsStatusText = {
            " ": self.tr("up to date"),
            "A": self.tr("files added"),
            "M": self.tr("local modifications"),
            "O": self.tr("files removed"),
            "R": self.tr("files replaced"),
            "U": self.tr("update required"),
            "Z": self.tr("conflict"),
        }
        self.__vcsStateChanged(" ")

        # step 1: create all the individual browsers
        from .ProjectSourcesBrowser import ProjectSourcesBrowser
        from .ProjectFormsBrowser import ProjectFormsBrowser
        from .ProjectTranslationsBrowser import ProjectTranslationsBrowser
        from .ProjectResourcesBrowser import ProjectResourcesBrowser
        from .ProjectInterfacesBrowser import ProjectInterfacesBrowser
        from .ProjectOthersBrowser import ProjectOthersBrowser
        from .ProjectProtocolsBrowser import ProjectProtocolsBrowser
        # sources browser
        self.psBrowser = ProjectSourcesBrowser(self.project)
        # forms browser
        self.pfBrowser = ProjectFormsBrowser(self.project)
        # resources browser
        self.prBrowser = ProjectResourcesBrowser(self.project)
        # translations browser
        self.ptBrowser = ProjectTranslationsBrowser(self.project)
        # interfaces (IDL) browser
        self.piBrowser = ProjectInterfacesBrowser(self.project)
        # protocols (protobuf) browser
        self.ppBrowser = ProjectProtocolsBrowser(self.project)
        # others browser
        self.poBrowser = ProjectOthersBrowser(self.project)

        # step 2: connect all the browsers
        # connect the sources browser
        self.project.projectClosed.connect(self.psBrowser._projectClosed)
        self.project.projectOpened.connect(self.psBrowser._projectOpened)
        self.project.newProject.connect(self.psBrowser._newProject)
        self.project.reinitVCS.connect(self.psBrowser._initMenusAndVcs)
        self.project.projectPropertiesChanged.connect(
            self.psBrowser._initMenusAndVcs)

        # connect the forms browser
        self.project.projectClosed.connect(self.pfBrowser._projectClosed)
        self.project.projectOpened.connect(self.pfBrowser._projectOpened)
        self.project.newProject.connect(self.pfBrowser._newProject)
        self.project.reinitVCS.connect(self.pfBrowser._initMenusAndVcs)
        self.project.projectPropertiesChanged.connect(
            self.pfBrowser._initMenusAndVcs)

        # connect the resources browser
        self.project.projectClosed.connect(self.prBrowser._projectClosed)
        self.project.projectOpened.connect(self.prBrowser._projectOpened)
        self.project.newProject.connect(self.prBrowser._newProject)
        self.project.reinitVCS.connect(self.prBrowser._initMenusAndVcs)
        self.project.projectPropertiesChanged.connect(
            self.prBrowser._initMenusAndVcs)

        # connect the translations browser
        self.project.projectClosed.connect(self.ptBrowser._projectClosed)
        self.project.projectOpened.connect(self.ptBrowser._projectOpened)
        self.project.newProject.connect(self.ptBrowser._newProject)
        self.project.reinitVCS.connect(self.ptBrowser._initMenusAndVcs)
        self.project.projectPropertiesChanged.connect(
            self.ptBrowser._initMenusAndVcs)

        # connect the interfaces (IDL)  browser
        self.project.projectClosed.connect(self.piBrowser._projectClosed)
        self.project.projectOpened.connect(self.piBrowser._projectOpened)
        self.project.newProject.connect(self.piBrowser._newProject)
        self.project.reinitVCS.connect(self.piBrowser._initMenusAndVcs)
        self.project.projectPropertiesChanged.connect(
            self.piBrowser._initMenusAndVcs)

        # connect the protocols (protobuf)  browser
        self.project.projectClosed.connect(self.ppBrowser._projectClosed)
        self.project.projectOpened.connect(self.ppBrowser._projectOpened)
        self.project.newProject.connect(self.ppBrowser._newProject)
        self.project.reinitVCS.connect(self.ppBrowser._initMenusAndVcs)
        self.project.projectPropertiesChanged.connect(
            self.ppBrowser._initMenusAndVcs)

        # connect the others browser
        self.project.projectClosed.connect(self.poBrowser._projectClosed)
        self.project.projectOpened.connect(self.poBrowser._projectOpened)
        self.project.newProject.connect(self.poBrowser._newProject)
        self.project.reinitVCS.connect(self.poBrowser._initMenusAndVcs)
        self.project.projectPropertiesChanged.connect(
            self.poBrowser._initMenusAndVcs)

        # add signal connection to ourselves
        self.project.projectOpened.connect(self.__projectOpened)
        self.project.projectClosed.connect(self.__projectClosed)
        self.project.newProject.connect(self.__newProject)
        self.project.projectPropertiesChanged.connect(
            self.__projectPropertiesChanged)
        self.currentChanged.connect(self.__currentChanged)
        self.project.getModel().vcsStateChanged.connect(self.__vcsStateChanged)

        self.__currentBrowsersFlags = 0
        self.__projectPropertiesChanged()
        self.setCurrentIndex(0)
Exemplo n.º 3
0
 def __init__(self, project, parent=None, embeddedBrowser=True):
     """
     Constructor
     
     @param project reference to the project object
     @param parent parent widget (QWidget)
     @param embeddedBrowser flag indicating whether the file browser should
         be included. This flag is set to False by those layouts, that
         have the file browser in a separate window or embedded
         in the debeug browser instead
     """
     E5TabWidget.__init__(self, parent)
     self.project = project
     
     self.setWindowIcon(UI.PixmapCache.getIcon("pymakr.png"))
     
     self.setUsesScrollButtons(True)
     
     self.vcsStatusIndicator = E5ClickableLed(self)
     self.setCornerWidget(self.vcsStatusIndicator, Qt.TopLeftCorner)
     self.vcsStatusIndicator.clicked.connect(
         self.__vcsStatusIndicatorClicked)
     self.vcsStatusColorNames = {
         "A": "VcsAdded",
         "M": "VcsModified",
         "O": "VcsRemoved",
         "R": "VcsReplaced",
         "U": "VcsUpdate",
         "Z": "VcsConflict",
     }
     self.vcsStatusText = {
         " ": self.tr("up to date"),
         "A": self.tr("files added"),
         "M": self.tr("local modifications"),
         "O": self.tr("files removed"),
         "R": self.tr("files replaced"),
         "U": self.tr("update required"),
         "Z": self.tr("conflict"),
     }
     self.__vcsStateChanged(" ")
     
     # step 1: create all the individual browsers
     from .ProjectSourcesBrowser import ProjectSourcesBrowser
     from .ProjectFormsBrowser import ProjectFormsBrowser
     from .ProjectTranslationsBrowser import ProjectTranslationsBrowser
     from .ProjectResourcesBrowser import ProjectResourcesBrowser
     from .ProjectInterfacesBrowser import ProjectInterfacesBrowser
     from .ProjectOthersBrowser import ProjectOthersBrowser
     # sources browser
     self.psBrowser = ProjectSourcesBrowser(self.project)
     # forms browser
     self.pfBrowser = ProjectFormsBrowser(self.project)
     # resources browser
     self.prBrowser = ProjectResourcesBrowser(self.project)
     # translations browser
     self.ptBrowser = ProjectTranslationsBrowser(self.project)
     # interfaces (IDL) browser
     self.piBrowser = ProjectInterfacesBrowser(self.project)
     # others browser
     self.poBrowser = ProjectOthersBrowser(self.project)
     
     # add the file browser, if it should be embedded here
     self.embeddedBrowser = embeddedBrowser
     if embeddedBrowser:
         self.fileBrowser = Browser()
     
     # step 2: connect all the browsers
     # connect the sources browser
     self.project.projectClosed.connect(self.psBrowser._projectClosed)
     self.project.projectOpened.connect(self.psBrowser._projectOpened)
     self.project.newProject.connect(self.psBrowser._newProject)
     self.project.reinitVCS.connect(self.psBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.psBrowser._initMenusAndVcs)
     
     # connect the forms browser
     self.project.projectClosed.connect(self.pfBrowser._projectClosed)
     self.project.projectOpened.connect(self.pfBrowser._projectOpened)
     self.project.newProject.connect(self.pfBrowser._newProject)
     self.project.reinitVCS.connect(self.pfBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.pfBrowser._initMenusAndVcs)
     
     # connect the resources browser
     self.project.projectClosed.connect(self.prBrowser._projectClosed)
     self.project.projectOpened.connect(self.prBrowser._projectOpened)
     self.project.newProject.connect(self.prBrowser._newProject)
     self.project.reinitVCS.connect(self.prBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.prBrowser._initMenusAndVcs)
     
     # connect the translations browser
     self.project.projectClosed.connect(self.ptBrowser._projectClosed)
     self.project.projectOpened.connect(self.ptBrowser._projectOpened)
     self.project.newProject.connect(self.ptBrowser._newProject)
     self.project.reinitVCS.connect(self.ptBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.ptBrowser._initMenusAndVcs)
     
     # connect the interfaces (IDL)  browser
     self.project.projectClosed.connect(self.piBrowser._projectClosed)
     self.project.projectOpened.connect(self.piBrowser._projectOpened)
     self.project.newProject.connect(self.piBrowser._newProject)
     self.project.reinitVCS.connect(self.piBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.piBrowser._initMenusAndVcs)
     
     # connect the others browser
     self.project.projectClosed.connect(self.poBrowser._projectClosed)
     self.project.projectOpened.connect(self.poBrowser._projectOpened)
     self.project.newProject.connect(self.poBrowser._newProject)
     self.project.reinitVCS.connect(self.poBrowser._initMenusAndVcs)
     self.project.projectPropertiesChanged.connect(
         self.poBrowser._initMenusAndVcs)
     
     # add signal connection to ourself
     self.project.projectOpened.connect(self.__projectOpened)
     self.project.projectClosed.connect(self.__projectClosed)
     self.project.newProject.connect(self.__newProject)
     self.project.projectPropertiesChanged.connect(
         self.__projectPropertiesChanged)
     self.currentChanged.connect(self.__currentChanged)
     self.project.getModel().vcsStateChanged.connect(self.__vcsStateChanged)
     
     self.__currentBrowsersFlags = 0
     self.__projectPropertiesChanged()
     if self.embeddedBrowser:
         self.setCurrentWidget(self.fileBrowser)
     else:
         self.setCurrentIndex(0)
Exemplo n.º 4
0
 def __init__(self, parent):
     """
     Constructor
     
     @param parent reference to the parent widget (QWidget)
     """
     E5TabWidget.__init__(self, parent, dnd=True)
     
     from .HelpTabBar import HelpTabBar
     self.__tabBar = HelpTabBar(self)
     self.setCustomTabBar(True, self.__tabBar)
     
     self.__mainWindow = parent
     
     self.setUsesScrollButtons(True)
     self.setDocumentMode(True)
     self.setElideMode(Qt.ElideNone)
     
     from .ClosedTabsManager import ClosedTabsManager
     self.__closedTabsManager = ClosedTabsManager(self)
     self.__closedTabsManager.closedTabAvailable.connect(
         self.__closedTabAvailable)
     
     from .UrlBar.StackedUrlBar import StackedUrlBar
     self.__stackedUrlBar = StackedUrlBar(self)
     self.__tabBar.tabMoved.connect(self.__stackedUrlBar.moveBar)
     
     self.__tabContextMenuIndex = -1
     self.currentChanged[int].connect(self.__currentChanged)
     self.setTabContextMenuPolicy(Qt.CustomContextMenu)
     self.customTabContextMenuRequested.connect(self.__showContextMenu)
     
     self.__rightCornerWidget = QWidget(self)
     self.__rightCornerWidgetLayout = QHBoxLayout(self.__rightCornerWidget)
     self.__rightCornerWidgetLayout.setContentsMargins(0, 0, 0, 0)
     self.__rightCornerWidgetLayout.setSpacing(0)
     
     self.__navigationMenu = QMenu(self)
     self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu)
     self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered)
     
     self.__navigationButton = QToolButton(self)
     self.__navigationButton.setIcon(
         UI.PixmapCache.getIcon("1downarrow.png"))
     self.__navigationButton.setToolTip(
         self.tr("Show a navigation menu"))
     self.__navigationButton.setPopupMode(QToolButton.InstantPopup)
     self.__navigationButton.setMenu(self.__navigationMenu)
     self.__navigationButton.setEnabled(False)
     self.__rightCornerWidgetLayout.addWidget(self.__navigationButton)
     
     self.__closedTabsMenu = QMenu(self)
     self.__closedTabsMenu.aboutToShow.connect(
         self.__aboutToShowClosedTabsMenu)
     
     self.__closedTabsButton = QToolButton(self)
     self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png"))
     self.__closedTabsButton.setToolTip(
         self.tr("Show a navigation menu for closed tabs"))
     self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup)
     self.__closedTabsButton.setMenu(self.__closedTabsMenu)
     self.__closedTabsButton.setEnabled(False)
     self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton)
     
     self.__closeButton = QToolButton(self)
     self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png"))
     self.__closeButton.setToolTip(
         self.tr("Close the current help window"))
     self.__closeButton.setEnabled(False)
     self.__closeButton.clicked[bool].connect(self.closeBrowser)
     self.__rightCornerWidgetLayout.addWidget(self.__closeButton)
     if Preferences.getUI("SingleCloseButton") or \
        not hasattr(self, 'setTabsClosable'):
         self.__closeButton.show()
     else:
         self.setTabsClosable(True)
         self.tabCloseRequested.connect(self.closeBrowserAt)
         self.__closeButton.hide()
     
     self.setCornerWidget(self.__rightCornerWidget, Qt.TopRightCorner)
     
     self.__newTabButton = QToolButton(self)
     self.__newTabButton.setIcon(UI.PixmapCache.getIcon("plus.png"))
     self.__newTabButton.setToolTip(
         self.tr("Open a new help window tab"))
     self.setCornerWidget(self.__newTabButton, Qt.TopLeftCorner)
     self.__newTabButton.clicked[bool].connect(self.newBrowser)
     
     self.__initTabContextMenu()
     
     self.__historyCompleter = None
Exemplo n.º 5
0
    def __init__(self, parent):
        """
        Constructor
        
        @param parent reference to the parent widget (QWidget)
        """
        E5TabWidget.__init__(self, parent, dnd=True)

        from .HelpTabBar import HelpTabBar
        self.__tabBar = HelpTabBar(self)
        self.setCustomTabBar(True, self.__tabBar)

        self.__mainWindow = parent

        self.setUsesScrollButtons(True)
        self.setDocumentMode(True)
        self.setElideMode(Qt.ElideNone)

        from .ClosedTabsManager import ClosedTabsManager
        self.__closedTabsManager = ClosedTabsManager(self)
        self.__closedTabsManager.closedTabAvailable.connect(
            self.__closedTabAvailable)

        from .UrlBar.StackedUrlBar import StackedUrlBar
        self.__stackedUrlBar = StackedUrlBar(self)
        self.__tabBar.tabMoved.connect(self.__stackedUrlBar.moveBar)

        self.__tabContextMenuIndex = -1
        self.currentChanged[int].connect(self.__currentChanged)
        self.setTabContextMenuPolicy(Qt.CustomContextMenu)
        self.customTabContextMenuRequested.connect(self.__showContextMenu)

        self.__rightCornerWidget = QWidget(self)
        self.__rightCornerWidgetLayout = QHBoxLayout(self.__rightCornerWidget)
        self.__rightCornerWidgetLayout.setContentsMargins(0, 0, 0, 0)
        self.__rightCornerWidgetLayout.setSpacing(0)

        self.__navigationMenu = QMenu(self)
        self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu)
        self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered)

        self.__navigationButton = QToolButton(self)
        self.__navigationButton.setIcon(
            UI.PixmapCache.getIcon("1downarrow.png"))
        self.__navigationButton.setToolTip(self.tr("Show a navigation menu"))
        self.__navigationButton.setPopupMode(QToolButton.InstantPopup)
        self.__navigationButton.setMenu(self.__navigationMenu)
        self.__navigationButton.setEnabled(False)
        self.__rightCornerWidgetLayout.addWidget(self.__navigationButton)

        self.__closedTabsMenu = QMenu(self)
        self.__closedTabsMenu.aboutToShow.connect(
            self.__aboutToShowClosedTabsMenu)

        self.__closedTabsButton = QToolButton(self)
        self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png"))
        self.__closedTabsButton.setToolTip(
            self.tr("Show a navigation menu for closed tabs"))
        self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup)
        self.__closedTabsButton.setMenu(self.__closedTabsMenu)
        self.__closedTabsButton.setEnabled(False)
        self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton)

        self.__closeButton = QToolButton(self)
        self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png"))
        self.__closeButton.setToolTip(self.tr("Close the current help window"))
        self.__closeButton.setEnabled(False)
        self.__closeButton.clicked.connect(self.closeBrowser)
        self.__rightCornerWidgetLayout.addWidget(self.__closeButton)
        if Preferences.getUI("SingleCloseButton") or \
           not hasattr(self, 'setTabsClosable'):
            self.__closeButton.show()
        else:
            self.setTabsClosable(True)
            self.tabCloseRequested.connect(self.closeBrowserAt)
            self.__closeButton.hide()

        self.setCornerWidget(self.__rightCornerWidget, Qt.TopRightCorner)

        self.__newTabButton = QToolButton(self)
        self.__newTabButton.setIcon(UI.PixmapCache.getIcon("plus.png"))
        self.__newTabButton.setToolTip(self.tr("Open a new help window tab"))
        self.setCornerWidget(self.__newTabButton, Qt.TopLeftCorner)
        self.__newTabButton.clicked.connect(self.__newBrowser)

        self.__initTabContextMenu()

        self.__historyCompleter = None