--- a/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py Mon Jul 22 19:02:37 2013 +0200 +++ b/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py Mon Jul 22 20:08:29 2013 +0200 @@ -51,6 +51,7 @@ self.queuesListAllGuardsDialog = None self.queuesDefineGuardsDialog = None self.queuesListQueuesDialog = None + self.queueStatusDialog = None def shutdown(self): """ @@ -70,6 +71,8 @@ self.queuesDefineGuardsDialog.close() if self.queuesListQueuesDialog is not None: self.queuesListQueuesDialog.close() + if self.queueStatusDialog is not None: + self.queueStatusDialog.close() def __getPatchesList(self, repodir, listType, withSummary=False): """ @@ -892,3 +895,37 @@ self.trUtf8("Available Queues"), False, repodir, self.vcs) self.queuesListQueuesDialog.show() + + def hgQueueInit(self, name): + """ + Public method to initialize a new queue repository. + + @param name directory name (string) + """ + # find the root of the repo + repodir = self.vcs.splitPath(name)[0] + while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): + repodir = os.path.dirname(repodir) + if os.path.splitdrive(repodir)[1] == os.sep: + return + + args = [] + args.append('init') + args.append('--mq') + args.append(repodir) + # init is not possible with the command server + dia = HgDialog(self.trUtf8('Initializing new queue repository'), self.vcs) + res = dia.startProcess(args) + if res: + dia.exec_() + + def hgQueueStatus(self, name): + """ + Public method used to view the status of a queue repository. + + @param name directory name (string) + """ + from ..HgStatusDialog import HgStatusDialog + self.queueStatusDialog = HgStatusDialog(self.vcs, mq=True) + self.queueStatusDialog.show() + self.queueStatusDialog.start(name)