18 class Purge(HgExtension): |
18 class Purge(HgExtension): |
19 """ |
19 """ |
20 Class implementing the purge extension interface. |
20 Class implementing the purge extension interface. |
21 """ |
21 """ |
22 |
22 |
23 def __init__(self, vcs): |
23 def __init__(self, vcs, ui=None): |
24 """ |
24 """ |
25 Constructor |
25 Constructor |
26 |
26 |
27 @param vcs reference to the Mercurial vcs object |
27 @param vcs reference to the Mercurial vcs object |
28 @type Hg |
28 @type Hg |
|
29 @param ui reference to a UI widget (defaults to None) |
|
30 @type QWidget |
29 """ |
31 """ |
30 super().__init__(vcs) |
32 super().__init__(vcs, ui=ui) |
31 |
33 |
32 self.purgeListDialog = None |
34 self.purgeListDialog = None |
33 |
35 |
34 def shutdown(self): |
36 def shutdown(self): |
35 """ |
37 """ |
80 title = self.tr("Purge Files") |
82 title = self.tr("Purge Files") |
81 message = self.tr( |
83 message = self.tr( |
82 """Do really want to delete files not tracked by Mercurial?""" |
84 """Do really want to delete files not tracked by Mercurial?""" |
83 ) |
85 ) |
84 entries = self.__getEntries(deleteAll) |
86 entries = self.__getEntries(deleteAll) |
85 dlg = DeleteFilesConfirmationDialog(None, title, message, entries) |
87 dlg = DeleteFilesConfirmationDialog(self.ui, title, message, entries) |
86 if dlg.exec() == QDialog.DialogCode.Accepted: |
88 if dlg.exec() == QDialog.DialogCode.Accepted: |
87 args = self.vcs.initCommand("purge") |
89 args = self.vcs.initCommand("purge") |
88 if deleteAll: |
90 if deleteAll: |
89 args.append("--all") |
91 args.append("--all") |
90 args.append("-v") |
92 args.append("-v") |
91 |
93 |
92 dia = HgDialog(title, self.vcs) |
94 dia = HgDialog(title, hg=self.vcs, parent=self.ui) |
93 res = dia.startProcess(args) |
95 res = dia.startProcess(args) |
94 if res: |
96 if res: |
95 dia.exec() |
97 dia.exec() |
96 |
98 |
97 def hgPurgeList(self, deleteAll=False): |
99 def hgPurgeList(self, deleteAll=False): |