Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py

changeset 2815
53c1d1f9ec86
parent 2771
281c9b30dd91
child 2847
1843ef6e2656
child 2962
d6c9d1ca2da4
--- 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)

eric ide

mercurial