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 |