370 lambda: self.__selectAllActTriggered(False)) |
370 lambda: self.__selectAllActTriggered(False)) |
371 |
371 |
372 self.actionsButton.setIcon( |
372 self.actionsButton.setIcon( |
373 UI.PixmapCache.getIcon("actionsToolButton.png")) |
373 UI.PixmapCache.getIcon("actionsToolButton.png")) |
374 self.actionsButton.setMenu(self.__actionsMenu) |
374 self.actionsButton.setMenu(self.__actionsMenu) |
|
375 |
|
376 # TODO: add action to apply viewed bundle file |
375 |
377 |
376 def __actionsMenuHovered(self, action): |
378 def __actionsMenuHovered(self, action): |
377 """ |
379 """ |
378 Private slot to show the tooltip for an action menu entry. |
380 Private slot to show the tooltip for an action menu entry. |
379 |
381 |
1524 self.__gpgVerifyAct.setEnabled( |
1526 self.__gpgVerifyAct.setEnabled( |
1525 self.vcs.isExtensionActive("gpg") and |
1527 self.vcs.isExtensionActive("gpg") and |
1526 selectedItemsCount == 1) |
1528 selectedItemsCount == 1) |
1527 |
1529 |
1528 self.actionsButton.setEnabled(True) |
1530 self.actionsButton.setEnabled(True) |
|
1531 |
1529 elif self.initialCommandMode == "incoming" and self.projectMode: |
1532 elif self.initialCommandMode == "incoming" and self.projectMode: |
1530 for act in [self.__phaseAct, self.__graftAct, self.__mergeAct, |
1533 for act in [self.__phaseAct, self.__graftAct, self.__mergeAct, |
1531 self.__tagAct, self.__switchAct, self.__bookmarkAct, |
1534 self.__tagAct, self.__switchAct, self.__bookmarkAct, |
1532 self.__bookmarkMoveAct, self.__pushAct, |
1535 self.__bookmarkMoveAct, self.__pushAct, |
1533 self.__pushAllAct, self.__stripAct, self.__bundleAct, |
1536 self.__pushAllAct, self.__stripAct, self.__bundleAct, |
1555 self.__pullAct.setEnabled(False) |
1558 self.__pullAct.setEnabled(False) |
1556 self.__lfPullAct.setEnabled(False) |
1559 self.__lfPullAct.setEnabled(False) |
1557 self.__fetchAct.setEnabled(False) |
1560 self.__fetchAct.setEnabled(False) |
1558 |
1561 |
1559 self.actionsButton.setEnabled(True) |
1562 self.actionsButton.setEnabled(True) |
|
1563 |
|
1564 elif self.initialCommandMode == "outgoing" and self.projectMode: |
|
1565 for act in [self.__phaseAct, self.__graftAct, self.__mergeAct, |
|
1566 self.__tagAct, self.__switchAct, self.__bookmarkAct, |
|
1567 self.__bookmarkMoveAct, self.__pullAct, |
|
1568 self.__lfPullAct, self.__fetchAct, self.__stripAct, |
|
1569 self.__gpgSignAct, self.__gpgVerifyAct]: |
|
1570 act.setEnabled(False) |
|
1571 |
|
1572 selectedItemsCount = len(self.logTree.selectedItems()) |
|
1573 if self.vcs.canPush(): |
|
1574 self.__pushAct.setEnabled( |
|
1575 selectedItemsCount == 1 and |
|
1576 self.logTree.selectedItems()[0].text(self.PhaseColumn) == |
|
1577 self.phases["draft"]) |
|
1578 self.__pushAllAct.setEnabled(True) |
|
1579 else: |
|
1580 self.__pushAct.setEnabled(False) |
|
1581 self.__pushAllAct.setEnabled(False) |
|
1582 |
|
1583 self.__bundleAct.setEnabled(selectedItemsCount > 0) |
|
1584 |
1560 else: |
1585 else: |
1561 self.actionsButton.setEnabled(False) |
1586 self.actionsButton.setEnabled(False) |
1562 # TODO: add code to enable menu in incoming / outgoing mode as well |
|
1563 |
1587 |
1564 def __updateDetailsAndFiles(self): |
1588 def __updateDetailsAndFiles(self): |
1565 """ |
1589 """ |
1566 Private slot to update the details and file changes panes. |
1590 Private slot to update the details and file changes panes. |
1567 """ |
1591 """ |
2309 "revs": [str(rev) for rev in revs], |
2333 "revs": [str(rev) for rev in revs], |
2310 "base": str(baseRev), |
2334 "base": str(baseRev), |
2311 "all": False, |
2335 "all": False, |
2312 } |
2336 } |
2313 elif self.initialCommandMode == "outgoing": |
2337 elif self.initialCommandMode == "outgoing": |
2314 # TODO: implement bundle for outgoing mode |
2338 selectedItems = self.logTree.selectedItems() |
2315 pass |
2339 if len(selectedItems) > 0: |
|
2340 revs = [] |
|
2341 for itm in selectedItems: |
|
2342 rev = itm.text(self.RevisionColumn).split(":", 1)[0] |
|
2343 revs.append(rev.strip()) |
|
2344 |
|
2345 bundleData = { |
|
2346 "revs": revs, |
|
2347 "base": "", |
|
2348 "all": False, |
|
2349 } |
2316 |
2350 |
2317 self.vcs.hgBundle(self.repodir, bundleData=bundleData) |
2351 self.vcs.hgBundle(self.repodir, bundleData=bundleData) |
2318 |
2352 |
2319 @pyqtSlot() |
2353 @pyqtSlot() |
2320 def __gpgSignActTriggered(self): |
2354 def __gpgSignActTriggered(self): |