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() |