337 """ revision is selected, it will be interpreted as the base""" |
337 """ revision is selected, it will be interpreted as the base""" |
338 """ revision. Otherwise the lowest revision will be used as""" |
338 """ revision. Otherwise the lowest revision will be used as""" |
339 """ the base revision and all other revision will be bundled.""" |
339 """ the base revision and all other revision will be bundled.""" |
340 """ If the dialog is showing outgoing changesets, all""" |
340 """ If the dialog is showing outgoing changesets, all""" |
341 """ selected changesets will be bundled.</p>""")) |
341 """ selected changesets will be bundled.</p>""")) |
|
342 self.__unbundleAct = self.__actionsMenu.addAction( |
|
343 UI.PixmapCache.getIcon("vcsApplyChangegroup.png"), |
|
344 self.tr("Apply Changegroup"), self.__unbundleActTriggered) |
|
345 self.__unbundleAct.setToolTip(self.tr( |
|
346 "Apply the currently viewed changegroup file")) |
342 |
347 |
343 self.__actionsMenu.addSeparator() |
348 self.__actionsMenu.addSeparator() |
344 |
349 |
345 self.__gpgSignAct = self.__actionsMenu.addAction( |
350 self.__gpgSignAct = self.__actionsMenu.addAction( |
346 UI.PixmapCache.getIcon("changesetSign.png"), |
351 UI.PixmapCache.getIcon("changesetSign.png"), |
370 lambda: self.__selectAllActTriggered(False)) |
375 lambda: self.__selectAllActTriggered(False)) |
371 |
376 |
372 self.actionsButton.setIcon( |
377 self.actionsButton.setIcon( |
373 UI.PixmapCache.getIcon("actionsToolButton.png")) |
378 UI.PixmapCache.getIcon("actionsToolButton.png")) |
374 self.actionsButton.setMenu(self.__actionsMenu) |
379 self.actionsButton.setMenu(self.__actionsMenu) |
375 |
|
376 # TODO: add action to apply viewed bundle file |
|
377 |
380 |
378 def __actionsMenuHovered(self, action): |
381 def __actionsMenuHovered(self, action): |
379 """ |
382 """ |
380 Private slot to show the tooltip for an action menu entry. |
383 Private slot to show the tooltip for an action menu entry. |
381 |
384 |
1517 self.__stripAct.setEnabled( |
1520 self.__stripAct.setEnabled( |
1518 self.vcs.isExtensionActive("strip") and |
1521 self.vcs.isExtensionActive("strip") and |
1519 selectedItemsCount == 1) |
1522 selectedItemsCount == 1) |
1520 |
1523 |
1521 self.__bundleAct.setEnabled(self.logTree.topLevelItemCount() > 0) |
1524 self.__bundleAct.setEnabled(self.logTree.topLevelItemCount() > 0) |
|
1525 self.__unbundleAct.setEnabled(False) |
1522 |
1526 |
1523 self.__gpgSignAct.setEnabled( |
1527 self.__gpgSignAct.setEnabled( |
1524 self.vcs.isExtensionActive("gpg") and |
1528 self.vcs.isExtensionActive("gpg") and |
1525 selectedItemsCount > 0) |
1529 selectedItemsCount > 0) |
1526 self.__gpgVerifyAct.setEnabled( |
1530 self.__gpgVerifyAct.setEnabled( |
1557 else: |
1561 else: |
1558 self.__pullAct.setEnabled(False) |
1562 self.__pullAct.setEnabled(False) |
1559 self.__lfPullAct.setEnabled(False) |
1563 self.__lfPullAct.setEnabled(False) |
1560 self.__fetchAct.setEnabled(False) |
1564 self.__fetchAct.setEnabled(False) |
1561 |
1565 |
|
1566 self.__unbundleAct.setEnabled(bool(self.__bundle)) |
|
1567 |
1562 self.actionsButton.setEnabled(True) |
1568 self.actionsButton.setEnabled(True) |
1563 |
1569 |
1564 elif self.initialCommandMode == "outgoing" and self.projectMode: |
1570 elif self.initialCommandMode == "outgoing" and self.projectMode: |
1565 for act in [self.__phaseAct, self.__graftAct, self.__mergeAct, |
1571 for act in [self.__phaseAct, self.__graftAct, self.__mergeAct, |
1566 self.__tagAct, self.__switchAct, self.__bookmarkAct, |
1572 self.__tagAct, self.__switchAct, self.__bookmarkAct, |
1567 self.__bookmarkMoveAct, self.__pullAct, |
1573 self.__bookmarkMoveAct, self.__pullAct, |
1568 self.__lfPullAct, self.__fetchAct, self.__stripAct, |
1574 self.__lfPullAct, self.__fetchAct, self.__stripAct, |
1569 self.__gpgSignAct, self.__gpgVerifyAct]: |
1575 self.__gpgSignAct, self.__gpgVerifyAct, |
|
1576 self.__unbundleAct]: |
1570 act.setEnabled(False) |
1577 act.setEnabled(False) |
1571 |
1578 |
1572 selectedItemsCount = len(self.logTree.selectedItems()) |
1579 selectedItemsCount = len(self.logTree.selectedItems()) |
1573 if self.vcs.canPush(): |
1580 if self.vcs.canPush(): |
1574 self.__pushAct.setEnabled( |
1581 self.__pushAct.setEnabled( |
2349 } |
2356 } |
2350 |
2357 |
2351 self.vcs.hgBundle(self.repodir, bundleData=bundleData) |
2358 self.vcs.hgBundle(self.repodir, bundleData=bundleData) |
2352 |
2359 |
2353 @pyqtSlot() |
2360 @pyqtSlot() |
|
2361 def __unbundleActTriggered(self): |
|
2362 """ |
|
2363 Private slot to apply the currently previewed bundle file. |
|
2364 """ |
|
2365 if self.initialCommandMode == "incoming" and bool(self.__bundle): |
|
2366 shouldReopen = self.vcs.hgUnbundle(self.repodir, |
|
2367 files=[self.__bundle]) |
|
2368 if shouldReopen: |
|
2369 res = E5MessageBox.yesNo( |
|
2370 None, |
|
2371 self.tr("Apply Changegroup"), |
|
2372 self.tr("""The project should be reread. Do this now?"""), |
|
2373 yesDefault=True) |
|
2374 if res: |
|
2375 e5App().getObject("Project").reopenProject() |
|
2376 return |
|
2377 |
|
2378 self.on_refreshButton_clicked() |
|
2379 |
|
2380 @pyqtSlot() |
2354 def __gpgSignActTriggered(self): |
2381 def __gpgSignActTriggered(self): |
2355 """ |
2382 """ |
2356 Private slot to sign the selected revisions. |
2383 Private slot to sign the selected revisions. |
2357 """ |
2384 """ |
2358 revs = [] |
2385 revs = [] |