eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py

changeset 7679
5816200f021b
parent 7533
88261c96484b
child 7771
787a6b3f8c9f
equal deleted inserted replaced
7678:285c786c4a9c 7679:5816200f021b
317 "Pull changes from a remote repository")) 317 "Pull changes from a remote repository"))
318 self.__lfPullAct = self.__actionsMenu.addAction( 318 self.__lfPullAct = self.__actionsMenu.addAction(
319 self.tr("Pull Large Files"), self.__lfPullActTriggered) 319 self.tr("Pull Large Files"), self.__lfPullActTriggered)
320 self.__lfPullAct.setToolTip(self.tr( 320 self.__lfPullAct.setToolTip(self.tr(
321 "Pull large files for selected revisions")) 321 "Pull large files for selected revisions"))
322 self.__fetchAct = self.__actionsMenu.addAction(
323 self.tr("Fetch Changes"), self.__fetchActTriggered)
324 self.__fetchAct.setToolTip(self.tr(
325 "Fetch changes from a remote repository"))
326 322
327 self.__actionsMenu.addSeparator() 323 self.__actionsMenu.addSeparator()
328 324
329 self.__pushAct = self.__actionsMenu.addAction( 325 self.__pushAct = self.__actionsMenu.addAction(
330 UI.PixmapCache.getIcon("vcsCommit"), 326 UI.PixmapCache.getIcon("vcsCommit"),
1447 self.__bookmarkAct.setEnabled(selectedItemsCount == 1) 1443 self.__bookmarkAct.setEnabled(selectedItemsCount == 1)
1448 self.__bookmarkMoveAct.setEnabled(selectedItemsCount == 1) 1444 self.__bookmarkMoveAct.setEnabled(selectedItemsCount == 1)
1449 1445
1450 if selectedIncomingItemsCount > 0: 1446 if selectedIncomingItemsCount > 0:
1451 self.__pullAct.setText(self.tr("Pull Selected Changes")) 1447 self.__pullAct.setText(self.tr("Pull Selected Changes"))
1452 self.__fetchAct.setText(self.tr("Fetch Selected Changes"))
1453 else: 1448 else:
1454 self.__pullAct.setText(self.tr("Pull Changes")) 1449 self.__pullAct.setText(self.tr("Pull Changes"))
1455 self.__fetchAct.setText(self.tr("Fetch Changes"))
1456 if self.vcs.canPull(): 1450 if self.vcs.canPull():
1457 self.__pullAct.setEnabled(True) 1451 self.__pullAct.setEnabled(True)
1458 self.__lfPullAct.setEnabled( 1452 self.__lfPullAct.setEnabled(
1459 self.vcs.isExtensionActive("largefiles") and 1453 self.vcs.isExtensionActive("largefiles") and
1460 selectedItemsCount > 0) 1454 selectedItemsCount > 0)
1461 self.__fetchAct.setEnabled(
1462 self.vcs.isExtensionActive("fetch"))
1463 else: 1455 else:
1464 self.__pullAct.setEnabled(False) 1456 self.__pullAct.setEnabled(False)
1465 self.__lfPullAct.setEnabled(False) 1457 self.__lfPullAct.setEnabled(False)
1466 self.__fetchAct.setEnabled(False)
1467 1458
1468 if self.vcs.canPush(): 1459 if self.vcs.canPush():
1469 self.__pushAct.setEnabled( 1460 self.__pushAct.setEnabled(
1470 selectedItemsCount == 1 and 1461 selectedItemsCount == 1 and
1471 not self.logTree.selectedItems()[0].data( 1462 not self.logTree.selectedItems()[0].data(
1522 self.__bundleAct, self.__gpgSignAct, 1513 self.__bundleAct, self.__gpgSignAct,
1523 self.__gpgVerifyAct]: 1514 self.__gpgVerifyAct]:
1524 act.setEnabled(False) 1515 act.setEnabled(False)
1525 1516
1526 self.__pullAct.setText(self.tr("Pull Selected Changes")) 1517 self.__pullAct.setText(self.tr("Pull Selected Changes"))
1527 self.__fetchAct.setText(self.tr("Fetch Selected Changes"))
1528 if self.vcs.canPull() and not bool(self.__bundle): 1518 if self.vcs.canPull() and not bool(self.__bundle):
1529 selectedIncomingItemsCount = len([ 1519 selectedIncomingItemsCount = len([
1530 itm for itm in self.logTree.selectedItems() 1520 itm for itm in self.logTree.selectedItems()
1531 if itm.data(0, self.__incomingRole) 1521 if itm.data(0, self.__incomingRole)
1532 ]) 1522 ])
1533 self.__pullAct.setEnabled(selectedIncomingItemsCount > 0) 1523 self.__pullAct.setEnabled(selectedIncomingItemsCount > 0)
1534 self.__lfPullAct.setEnabled( 1524 self.__lfPullAct.setEnabled(
1535 self.vcs.isExtensionActive("largefiles") and 1525 self.vcs.isExtensionActive("largefiles") and
1536 selectedIncomingItemsCount > 0) 1526 selectedIncomingItemsCount > 0)
1537 self.__fetchAct.setEnabled(
1538 self.vcs.isExtensionActive("fetch") and
1539 selectedIncomingItemsCount > 0)
1540 else: 1527 else:
1541 self.__pullAct.setEnabled(False) 1528 self.__pullAct.setEnabled(False)
1542 self.__lfPullAct.setEnabled(False) 1529 self.__lfPullAct.setEnabled(False)
1543 self.__fetchAct.setEnabled(False)
1544 1530
1545 self.__unbundleAct.setEnabled(bool(self.__bundle)) 1531 self.__unbundleAct.setEnabled(bool(self.__bundle))
1546 1532
1547 self.actionsButton.setEnabled(True) 1533 self.actionsButton.setEnabled(True)
1548 1534
1549 elif self.initialCommandMode == "outgoing" and self.projectMode: 1535 elif self.initialCommandMode == "outgoing" and self.projectMode:
1550 for act in [self.__phaseAct, self.__graftAct, self.__mergeAct, 1536 for act in [self.__phaseAct, self.__graftAct, self.__mergeAct,
1551 self.__tagAct, self.__closeHeadsAct, self.__switchAct, 1537 self.__tagAct, self.__closeHeadsAct, self.__switchAct,
1552 self.__bookmarkAct, self.__bookmarkMoveAct, 1538 self.__bookmarkAct, self.__bookmarkMoveAct,
1553 self.__pullAct, self.__lfPullAct, self.__fetchAct, 1539 self.__pullAct, self.__lfPullAct,
1554 self.__stripAct, self.__gpgSignAct, 1540 self.__stripAct, self.__gpgSignAct,
1555 self.__gpgVerifyAct, self.__unbundleAct]: 1541 self.__gpgVerifyAct, self.__unbundleAct]:
1556 act.setEnabled(False) 1542 act.setEnabled(False)
1557 1543
1558 selectedItemsCount = len(self.logTree.selectedItems()) 1544 selectedItemsCount = len(self.logTree.selectedItems())
2149 if revs: 2135 if revs:
2150 self.vcs.getExtensionObject("largefiles").hgLfPull( 2136 self.vcs.getExtensionObject("largefiles").hgLfPull(
2151 self.repodir, revisions=revs) 2137 self.repodir, revisions=revs)
2152 2138
2153 @pyqtSlot() 2139 @pyqtSlot()
2154 def __fetchActTriggered(self):
2155 """
2156 Private slot to fetch changes from a remote repository.
2157 """
2158 shouldReopen = False
2159 refresh = False
2160 addNext = False
2161
2162 if self.initialCommandMode in ("log", "full_log", "incoming"):
2163 revs = []
2164 for itm in [item for item in self.logTree.selectedItems()
2165 if item.data(0, self.__incomingRole)]:
2166 rev = itm.text(self.RevisionColumn).split(":")[1].strip()
2167 if rev:
2168 revs.append(rev)
2169 shouldReopen = self.vcs.getExtensionObject("fetch").hgFetch(
2170 self.repodir, revisions=revs)
2171 refresh = True
2172 if self.initialCommandMode == "incoming":
2173 addNext = True
2174 if shouldReopen:
2175 res = E5MessageBox.yesNo(
2176 None,
2177 self.tr("Fetch Changes"),
2178 self.tr(
2179 """The project should be reread. Do this now?"""),
2180 yesDefault=True)
2181 if res:
2182 e5App().getObject("Project").reopenProject()
2183 return
2184
2185 if refresh:
2186 self.on_refreshButton_clicked(addNext=addNext)
2187
2188 @pyqtSlot()
2189 def __pullActTriggered(self): 2140 def __pullActTriggered(self):
2190 """ 2141 """
2191 Private slot to pull changes from a remote repository. 2142 Private slot to pull changes from a remote repository.
2192 """ 2143 """
2193 shouldReopen = False 2144 shouldReopen = False

eric ide

mercurial