Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py

changeset 2405
d4b5f3bd4720
parent 2302
f29e9405c851
child 2525
8b507a9a2d40
child 2771
281c9b30dd91
equal deleted inserted replaced
2404:cba0ff902c2b 2405:d4b5f3bd4720
14 14
15 from E5Gui import E5MessageBox 15 from E5Gui import E5MessageBox
16 16
17 from ..HgExtension import HgExtension 17 from ..HgExtension import HgExtension
18 from ..HgDialog import HgDialog 18 from ..HgDialog import HgDialog
19 from ..HgDiffDialog import HgDiffDialog
20
21 from .HgQueuesNewPatchDialog import HgQueuesNewPatchDialog
22 from .HgQueuesListDialog import HgQueuesListDialog
23 from .HgQueuesRenamePatchDialog import HgQueuesRenamePatchDialog
24 from .HgQueuesFoldDialog import HgQueuesFoldDialog
25 from .HgQueuesHeaderDialog import HgQueuesHeaderDialog
26 from .HgQueuesListGuardsDialog import HgQueuesListGuardsDialog
27 from .HgQueuesListAllGuardsDialog import HgQueuesListAllGuardsDialog
28 from .HgQueuesDefineGuardsDialog import HgQueuesDefineGuardsDialog
29 from .HgQueuesGuardsSelectionDialog import HgQueuesGuardsSelectionDialog
30 from .HgQueuesQueueManagementDialog import HgQueuesQueueManagementDialog
31 19
32 import Preferences 20 import Preferences
33 21
34 22
35 class Queues(HgExtension): 23 class Queues(HgExtension):
247 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): 235 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)):
248 repodir = os.path.dirname(repodir) 236 repodir = os.path.dirname(repodir)
249 if os.path.splitdrive(repodir)[1] == os.sep: 237 if os.path.splitdrive(repodir)[1] == os.sep:
250 return 238 return
251 239
240 from .HgQueuesNewPatchDialog import HgQueuesNewPatchDialog
252 dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.NEW_MODE) 241 dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.NEW_MODE)
253 if dlg.exec_() == QDialog.Accepted: 242 if dlg.exec_() == QDialog.Accepted:
254 name, message, (userData, currentUser, userName), \ 243 name, message, (userData, currentUser, userName), \
255 (dateData, currentDate, dateStr) = dlg.getData() 244 (dateData, currentDate, dateStr) = dlg.getData()
256 245
297 args = [] 286 args = []
298 args.append("qrefresh") 287 args.append("qrefresh")
299 288
300 if editMessage: 289 if editMessage:
301 currentMessage = self.__getCommitMessage(repodir) 290 currentMessage = self.__getCommitMessage(repodir)
291 from .HgQueuesNewPatchDialog import HgQueuesNewPatchDialog
302 dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.REFRESH_MODE, 292 dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.REFRESH_MODE,
303 currentMessage) 293 currentMessage)
304 if dlg.exec_() == QDialog.Accepted: 294 if dlg.exec_() == QDialog.Accepted:
305 name, message, (userData, currentUser, userName), \ 295 name, message, (userData, currentUser, userName), \
306 (dateData, currentDate, dateStr) = dlg.getData() 296 (dateData, currentDate, dateStr) = dlg.getData()
332 """ 322 """
333 Public method to show the contents of the current patch. 323 Public method to show the contents of the current patch.
334 324
335 @param name file/directory name (string) 325 @param name file/directory name (string)
336 """ 326 """
327 from ..HgDiffDialog import HgDiffDialog
337 self.qdiffDialog = HgDiffDialog(self.vcs) 328 self.qdiffDialog = HgDiffDialog(self.vcs)
338 self.qdiffDialog.show() 329 self.qdiffDialog.show()
339 QApplication.processEvents() 330 QApplication.processEvents()
340 self.qdiffDialog.start(name, qdiff=True) 331 self.qdiffDialog.start(name, qdiff=True)
341 332
343 """ 334 """
344 Public method to show the commit message of the current patch. 335 Public method to show the commit message of the current patch.
345 336
346 @param name file/directory name (string) 337 @param name file/directory name (string)
347 """ 338 """
339 from .HgQueuesHeaderDialog import HgQueuesHeaderDialog
348 self.qheaderDialog = HgQueuesHeaderDialog(self.vcs) 340 self.qheaderDialog = HgQueuesHeaderDialog(self.vcs)
349 self.qheaderDialog.show() 341 self.qheaderDialog.show()
350 QApplication.processEvents() 342 QApplication.processEvents()
351 self.qheaderDialog.start(name) 343 self.qheaderDialog.start(name)
352 344
421 """ 413 """
422 Public method to show a list of all patches. 414 Public method to show a list of all patches.
423 415
424 @param name file/directory name (string) 416 @param name file/directory name (string)
425 """ 417 """
418 from .HgQueuesListDialog import HgQueuesListDialog
426 self.queuesListDialog = HgQueuesListDialog(self.vcs) 419 self.queuesListDialog = HgQueuesListDialog(self.vcs)
427 self.queuesListDialog.show() 420 self.queuesListDialog.show()
428 self.queuesListDialog.start(name) 421 self.queuesListDialog.start(name)
429 422
430 def hgQueueFinishAppliedPatches(self, name): 423 def hgQueueFinishAppliedPatches(self, name):
467 args.append("qrename") 460 args.append("qrename")
468 patchnames = sorted(self.__getPatchesList(repodir, Queues.SERIES_LIST)) 461 patchnames = sorted(self.__getPatchesList(repodir, Queues.SERIES_LIST))
469 if patchnames: 462 if patchnames:
470 currentPatch = self.__getCurrentPatch(repodir) 463 currentPatch = self.__getCurrentPatch(repodir)
471 if currentPatch: 464 if currentPatch:
465 from .HgQueuesRenamePatchDialog import HgQueuesRenamePatchDialog
472 dlg = HgQueuesRenamePatchDialog(currentPatch, patchnames) 466 dlg = HgQueuesRenamePatchDialog(currentPatch, patchnames)
473 if dlg.exec_() == QDialog.Accepted: 467 if dlg.exec_() == QDialog.Accepted:
474 newName, selectedPatch = dlg.getData() 468 newName, selectedPatch = dlg.getData()
475 if selectedPatch: 469 if selectedPatch:
476 args.append(selectedPatch) 470 args.append(selectedPatch)
532 args = [] 526 args = []
533 args.append("qfold") 527 args.append("qfold")
534 patchnames = sorted( 528 patchnames = sorted(
535 self.__getPatchesList(repodir, Queues.UNAPPLIED_LIST, withSummary=True)) 529 self.__getPatchesList(repodir, Queues.UNAPPLIED_LIST, withSummary=True))
536 if patchnames: 530 if patchnames:
531 from .HgQueuesFoldDialog import HgQueuesFoldDialog
537 dlg = HgQueuesFoldDialog(patchnames) 532 dlg = HgQueuesFoldDialog(patchnames)
538 if dlg.exec_() == QDialog.Accepted: 533 if dlg.exec_() == QDialog.Accepted:
539 message, patchesList = dlg.getData() 534 message, patchesList = dlg.getData()
540 if message: 535 if message:
541 args.append("--message") 536 args.append("--message")
570 return 565 return
571 566
572 patchnames = sorted( 567 patchnames = sorted(
573 self.__getPatchesList(repodir, Queues.SERIES_LIST)) 568 self.__getPatchesList(repodir, Queues.SERIES_LIST))
574 if patchnames: 569 if patchnames:
570 from .HgQueuesListGuardsDialog import HgQueuesListGuardsDialog
575 self.queuesListGuardsDialog = HgQueuesListGuardsDialog(self.vcs, patchnames) 571 self.queuesListGuardsDialog = HgQueuesListGuardsDialog(self.vcs, patchnames)
576 self.queuesListGuardsDialog.show() 572 self.queuesListGuardsDialog.show()
577 self.queuesListGuardsDialog.start(name) 573 self.queuesListGuardsDialog.start(name)
578 else: 574 else:
579 E5MessageBox.information(None, 575 E5MessageBox.information(None,
584 """ 580 """
585 Public method to list all guards of all patches. 581 Public method to list all guards of all patches.
586 582
587 @param name file/directory name (string) 583 @param name file/directory name (string)
588 """ 584 """
585 from .HgQueuesListAllGuardsDialog import HgQueuesListAllGuardsDialog
589 self.queuesListAllGuardsDialog = HgQueuesListAllGuardsDialog(self.vcs) 586 self.queuesListAllGuardsDialog = HgQueuesListAllGuardsDialog(self.vcs)
590 self.queuesListAllGuardsDialog.show() 587 self.queuesListAllGuardsDialog.show()
591 self.queuesListAllGuardsDialog.start(name) 588 self.queuesListAllGuardsDialog.start(name)
592 589
593 def hgQueueGuardsDefine(self, name): 590 def hgQueueGuardsDefine(self, name):
604 return 601 return
605 602
606 patchnames = sorted( 603 patchnames = sorted(
607 self.__getPatchesList(repodir, Queues.SERIES_LIST)) 604 self.__getPatchesList(repodir, Queues.SERIES_LIST))
608 if patchnames: 605 if patchnames:
606 from .HgQueuesDefineGuardsDialog import HgQueuesDefineGuardsDialog
609 self.queuesDefineGuardsDialog = HgQueuesDefineGuardsDialog( 607 self.queuesDefineGuardsDialog = HgQueuesDefineGuardsDialog(
610 self.vcs, self, patchnames) 608 self.vcs, self, patchnames)
611 self.queuesDefineGuardsDialog.show() 609 self.queuesDefineGuardsDialog.show()
612 self.queuesDefineGuardsDialog.start(name) 610 self.queuesDefineGuardsDialog.start(name)
613 else: 611 else:
674 return 672 return
675 673
676 guardsList = self.getGuardsList(repodir) 674 guardsList = self.getGuardsList(repodir)
677 if guardsList: 675 if guardsList:
678 activeGuardsList = self.getGuardsList(repodir, all=False) 676 activeGuardsList = self.getGuardsList(repodir, all=False)
677 from .HgQueuesGuardsSelectionDialog import HgQueuesGuardsSelectionDialog
679 dlg = HgQueuesGuardsSelectionDialog( 678 dlg = HgQueuesGuardsSelectionDialog(
680 guardsList, activeGuards=activeGuardsList, listOnly=False) 679 guardsList, activeGuards=activeGuardsList, listOnly=False)
681 if dlg.exec_() == QDialog.Accepted: 680 if dlg.exec_() == QDialog.Accepted:
682 guards = dlg.getData() 681 guards = dlg.getData()
683 if guards: 682 if guards:
730 if os.path.splitdrive(repodir)[1] == os.sep: 729 if os.path.splitdrive(repodir)[1] == os.sep:
731 return 730 return
732 731
733 guardsList = self.getGuardsList(repodir, all=False) 732 guardsList = self.getGuardsList(repodir, all=False)
734 if guardsList: 733 if guardsList:
734 from .HgQueuesGuardsSelectionDialog import HgQueuesGuardsSelectionDialog
735 dlg = HgQueuesGuardsSelectionDialog(guardsList, listOnly=True) 735 dlg = HgQueuesGuardsSelectionDialog(guardsList, listOnly=True)
736 dlg.exec_() 736 dlg.exec_()
737 737
738 def hgQueueCreateRenameQueue(self, name, isCreate): 738 def hgQueueCreateRenameQueue(self, name, isCreate):
739 """ 739 """
751 751
752 if isCreate: 752 if isCreate:
753 title = self.trUtf8("Create New Queue") 753 title = self.trUtf8("Create New Queue")
754 else: 754 else:
755 title = self.trUtf8("Rename Active Queue") 755 title = self.trUtf8("Rename Active Queue")
756 from .HgQueuesQueueManagementDialog import HgQueuesQueueManagementDialog
756 dlg = HgQueuesQueueManagementDialog(HgQueuesQueueManagementDialog.NAME_INPUT, 757 dlg = HgQueuesQueueManagementDialog(HgQueuesQueueManagementDialog.NAME_INPUT,
757 title, False, repodir, self.vcs) 758 title, False, repodir, self.vcs)
758 if dlg.exec_() == QDialog.Accepted: 759 if dlg.exec_() == QDialog.Accepted:
759 queueName = dlg.getData() 760 queueName = dlg.getData()
760 if queueName: 761 if queueName:
822 elif operation == Queues.QUEUE_ACTIVATE: 823 elif operation == Queues.QUEUE_ACTIVATE:
823 title = self.trUtf8("Activate Queue") 824 title = self.trUtf8("Activate Queue")
824 else: 825 else:
825 raise ValueError("illegal value for operation") 826 raise ValueError("illegal value for operation")
826 827
828 from .HgQueuesQueueManagementDialog import HgQueuesQueueManagementDialog
827 dlg = HgQueuesQueueManagementDialog(HgQueuesQueueManagementDialog.QUEUE_INPUT, 829 dlg = HgQueuesQueueManagementDialog(HgQueuesQueueManagementDialog.QUEUE_INPUT,
828 title, True, repodir, self.vcs) 830 title, True, repodir, self.vcs)
829 if dlg.exec_() == QDialog.Accepted: 831 if dlg.exec_() == QDialog.Accepted:
830 queueName = dlg.getData() 832 queueName = dlg.getData()
831 if queueName: 833 if queueName:
882 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): 884 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)):
883 repodir = os.path.dirname(repodir) 885 repodir = os.path.dirname(repodir)
884 if os.path.splitdrive(repodir)[1] == os.sep: 886 if os.path.splitdrive(repodir)[1] == os.sep:
885 return 887 return
886 888
889 from .HgQueuesQueueManagementDialog import HgQueuesQueueManagementDialog
887 self.queuesListQueuesDialog = HgQueuesQueueManagementDialog( 890 self.queuesListQueuesDialog = HgQueuesQueueManagementDialog(
888 HgQueuesQueueManagementDialog.NO_INPUT, 891 HgQueuesQueueManagementDialog.NO_INPUT,
889 self.trUtf8("Available Queues"), 892 self.trUtf8("Available Queues"),
890 False, repodir, self.vcs) 893 False, repodir, self.vcs)
891 self.queuesListQueuesDialog.show() 894 self.queuesListQueuesDialog.show()

eric ide

mercurial