eric7/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py

branch
eric7
changeset 8324
83084f088655
parent 8322
b422b4e77d19
child 8356
68ec9c3d4de5
equal deleted inserted replaced
8323:3bb9b7d997db 8324:83084f088655
1425 self.subMenus.append(bookmarksMenu) 1425 self.subMenus.append(bookmarksMenu)
1426 1426
1427 self.__extensionsMenu = QMenu(self.tr("Extensions"), menu) 1427 self.__extensionsMenu = QMenu(self.tr("Extensions"), menu)
1428 self.__extensionsMenu.setTearOffEnabled(True) 1428 self.__extensionsMenu.setTearOffEnabled(True)
1429 self.__extensionsMenu.aboutToShow.connect(self.__showExtensionMenu) 1429 self.__extensionsMenu.aboutToShow.connect(self.__showExtensionMenu)
1430 # TODO: change this to store the menu instead of the menu action to not use action.menu() 1430 self.__extensionMenus = {}
1431 self.extensionMenus = {}
1432 for extensionMenuTitle in sorted(self.__extensionMenuTitles): 1431 for extensionMenuTitle in sorted(self.__extensionMenuTitles):
1433 extensionName = self.__extensionMenuTitles[extensionMenuTitle] 1432 extensionName = self.__extensionMenuTitles[extensionMenuTitle]
1434 self.extensionMenus[extensionName] = self.__extensionsMenu.addMenu( 1433 extensionMenu = self.__extensions[extensionName].initMenu(
1435 self.__extensions[extensionName].initMenu( 1434 self.__extensionsMenu)
1436 self.__extensionsMenu)) 1435 self.__extensionMenus[extensionName] = extensionMenu
1436 self.__extensionsMenu.addMenu(extensionMenu)
1437 self.vcs.activeExtensionsChanged.connect(self.__showExtensionMenu) 1437 self.vcs.activeExtensionsChanged.connect(self.__showExtensionMenu)
1438 1438
1439 graftMenu = QMenu(self.tr("Copy Changesets"), menu) 1439 graftMenu = QMenu(self.tr("Copy Changesets"), menu)
1440 graftMenu.setIcon(UI.PixmapCache.getIcon("vcsGraft")) 1440 graftMenu.setIcon(UI.PixmapCache.getIcon("vcsGraft"))
1441 graftMenu.setTearOffEnabled(True) 1441 graftMenu.setTearOffEnabled(True)
1628 for menu in self.subMenus: 1628 for menu in self.subMenus:
1629 if menu.isTearOffMenuVisible(): 1629 if menu.isTearOffMenuVisible():
1630 menu.hideTearOffMenu() 1630 menu.hideTearOffMenu()
1631 1631
1632 # close torn off extension menus 1632 # close torn off extension menus
1633 for extensionName in self.extensionMenus: 1633 for extensionName in self.__extensionMenus:
1634 self.__extensions[extensionName].shutdown() 1634 self.__extensions[extensionName].shutdown()
1635 menu = self.extensionMenus[extensionName].menu() 1635 menu = self.__extensionMenus[extensionName]
1636 if menu.isTearOffMenuVisible(): 1636 if menu.isTearOffMenuVisible():
1637 menu.hideTearOffMenu() 1637 menu.hideTearOffMenu()
1638 1638
1639 if self.__extensionsMenu.isTearOffMenuVisible(): 1639 if self.__extensionsMenu.isTearOffMenuVisible():
1640 self.__extensionsMenu.hideTearOffMenu() 1640 self.__extensionsMenu.hideTearOffMenu()
1641 1641
1642 def __showExtensionMenu(self): 1642 def __showExtensionMenu(self):
1643 """ 1643 """
1644 Private slot showing the extensions menu. 1644 Private slot showing the extensions menu.
1645 """ 1645 """
1646 for extensionName in self.extensionMenus: 1646 for extensionName in self.__extensionMenus:
1647 self.extensionMenus[extensionName].setEnabled( 1647 extensionMenu = self.__extensionMenus[extensionName]
1648 extensionMenu.menuAction().setEnabled(
1648 self.vcs.isExtensionActive(extensionName)) 1649 self.vcs.isExtensionActive(extensionName))
1649 if ( 1650 if (
1650 not self.extensionMenus[extensionName].isEnabled() and 1651 not extensionMenu.menuAction().isEnabled() and
1651 self.extensionMenus[extensionName].menu() 1652 extensionMenu.isTearOffMenuVisible()
1652 .isTearOffMenuVisible()
1653 ): 1653 ):
1654 self.extensionMenus[extensionName].menu().hideTearOffMenu() 1654 extensionMenu.hideTearOffMenu()
1655 if self.vcs.version < (4, 8, 0):
1656 self.extensionMenus["closehead"].setEnabled(False)
1657 1655
1658 def __hgExtendedDiff(self): 1656 def __hgExtendedDiff(self):
1659 """ 1657 """
1660 Private slot used to perform a hg diff with the selection of revisions. 1658 Private slot used to perform a hg diff with the selection of revisions.
1661 """ 1659 """

eric ide

mercurial