src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py	Wed Jul 13 14:55:47 2022 +0200
@@ -19,26 +19,27 @@
     """
     Class implementing the queues extension interface.
     """
+
     APPLIED_LIST = 0
     UNAPPLIED_LIST = 1
     SERIES_LIST = 2
-    
+
     POP = 0
     PUSH = 1
     GOTO = 2
-    
+
     QUEUE_DELETE = 0
     QUEUE_PURGE = 1
     QUEUE_ACTIVATE = 2
-    
+
     def __init__(self, vcs):
         """
         Constructor
-        
+
         @param vcs reference to the Mercurial vcs object
         """
         super().__init__(vcs)
-        
+
         self.qdiffDialog = None
         self.qheaderDialog = None
         self.queuesListDialog = None
@@ -47,7 +48,7 @@
         self.queuesDefineGuardsDialog = None
         self.queuesListQueuesDialog = None
         self.queueStatusDialog = None
-    
+
     def shutdown(self):
         """
         Public method used to shutdown the queues interface.
@@ -68,11 +69,11 @@
             self.queuesListQueuesDialog.close()
         if self.queueStatusDialog is not None:
             self.queueStatusDialog.close()
-    
+
     def __getPatchesList(self, listType, withSummary=False):
         """
         Private method to get a list of patches of a given type.
-        
+
         @param listType type of patches list to get
             (Queues.APPLIED_LIST, Queues.UNAPPLIED_LIST, Queues.SERIES_LIST)
         @param withSummary flag indicating to get a summary as well (boolean)
@@ -80,24 +81,27 @@
         @exception ValueError raised to indicate an invalid patch list type
         """
         patchesList = []
-        
-        if listType not in (Queues.APPLIED_LIST, Queues.UNAPPLIED_LIST,
-                            Queues.SERIES_LIST):
+
+        if listType not in (
+            Queues.APPLIED_LIST,
+            Queues.UNAPPLIED_LIST,
+            Queues.SERIES_LIST,
+        ):
             raise ValueError("illegal value for listType")
-        
+
         if listType == Queues.APPLIED_LIST:
             args = self.vcs.initCommand("qapplied")
         elif listType == Queues.UNAPPLIED_LIST:
             args = self.vcs.initCommand("qunapplied")
         else:
             args = self.vcs.initCommand("qseries")
-        
+
         if withSummary:
             args.append("--summary")
-        
+
         client = self.vcs.getClient()
         output = client.runcommand(args)[0]
-        
+
         for line in output.splitlines():
             if withSummary:
                 li = line.strip().split(": ")
@@ -108,75 +112,79 @@
                 patchesList.append("{0}@@{1}".format(patch, summary))
             else:
                 patchesList.append(line.strip())
-        
+
         return patchesList
-    
+
     def __getCurrentPatch(self):
         """
         Private method to get the name of the current patch.
-        
+
         @return name of the current patch (string)
         """
         currentPatch = ""
-        
+
         args = self.vcs.initCommand("qtop")
-        
+
         client = self.vcs.getClient()
         currentPatch = client.runcommand(args)[0].strip()
-        
+
         return currentPatch
-    
+
     def __getCommitMessage(self):
         """
         Private method to get the commit message of the current patch.
-        
+
         @return name of the current patch (string)
         """
         message = ""
-        
+
         args = self.vcs.initCommand("qheader")
-        
+
         client = self.vcs.getClient()
         message = client.runcommand(args)[0]
-        
+
         return message
-    
+
     def getGuardsList(self, allGuards=True):
         """
         Public method to get a list of all guards defined.
-        
+
         @param allGuards flag indicating to get all guards (boolean)
         @return sorted list of guards (list of strings)
         """
         guardsList = []
-        
+
         args = self.vcs.initCommand("qselect")
         if allGuards:
             args.append("--series")
-        
+
         client = self.vcs.getClient()
         output = client.runcommand(args)[0]
-        
+
         for guard in output.splitlines():
             guard = guard.strip()
             if allGuards:
                 guard = guard[1:]
             if guard not in guardsList:
                 guardsList.append(guard)
-        
+
         return sorted(guardsList)
-    
+
     def hgQueueNewPatch(self):
         """
         Public method to create a new named patch.
         """
         from .HgQueuesNewPatchDialog import HgQueuesNewPatchDialog
+
         dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.NEW_MODE)
         if dlg.exec() == QDialog.DialogCode.Accepted:
-            (name, message,
-             (userData, currentUser, userName),
-             (dateData, currentDate, dateStr)) = dlg.getData()
-            
+            (
+                name,
+                message,
+                (userData, currentUser, userName),
+                (dateData, currentDate, dateStr),
+            ) = dlg.getData()
+
             args = self.vcs.initCommand("qnew")
             if message != "":
                 args.append("--message")
@@ -194,31 +202,36 @@
                     args.append("--date")
                     args.append(dateStr)
             args.append(name)
-            
-            dia = HgDialog(self.tr('New Patch'), self.vcs)
+
+            dia = HgDialog(self.tr("New Patch"), self.vcs)
             res = dia.startProcess(args)
             if res:
                 dia.exec()
                 self.vcs.checkVCSStatus()
-    
+
     def hgQueueRefreshPatch(self, editMessage=False):
         """
         Public method to refresh the current patch.
-        
+
         @param editMessage flag indicating to edit the current
             commit message (boolean)
         """
         args = self.vcs.initCommand("qrefresh")
-        
+
         if editMessage:
             currentMessage = self.__getCommitMessage()
             from .HgQueuesNewPatchDialog import HgQueuesNewPatchDialog
-            dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.REFRESH_MODE,
-                                         currentMessage)
+
+            dlg = HgQueuesNewPatchDialog(
+                HgQueuesNewPatchDialog.REFRESH_MODE, currentMessage
+            )
             if dlg.exec() == QDialog.DialogCode.Accepted:
-                (name, message,
-                 (userData, currentUser, userName),
-                 (dateData, currentDate, dateStr)) = dlg.getData()
+                (
+                    name,
+                    message,
+                    (userData, currentUser, userName),
+                    (dateData, currentDate, dateStr),
+                ) = dlg.getData()
                 if message != "" and message != currentMessage:
                     args.append("--message")
                     args.append(message)
@@ -236,41 +249,42 @@
                         args.append(dateStr)
             else:
                 return
-        
-        dia = HgDialog(self.tr('Update Current Patch'), self.vcs)
+
+        dia = HgDialog(self.tr("Update Current Patch"), self.vcs)
         res = dia.startProcess(args)
         if res:
             dia.exec()
             self.vcs.checkVCSStatus()
-    
+
     def hgQueueShowPatch(self, name):
         """
         Public method to show the contents of the current patch.
-        
+
         @param name file/directory name (string)
         """
         from ..HgDiffDialog import HgDiffDialog
+
         self.qdiffDialog = HgDiffDialog(self.vcs)
         self.qdiffDialog.show()
         QApplication.processEvents()
         self.qdiffDialog.start(name, qdiff=True)
-    
+
     def hgQueueShowHeader(self):
         """
         Public method to show the commit message of the current patch.
         """
         from .HgQueuesHeaderDialog import HgQueuesHeaderDialog
+
         self.qheaderDialog = HgQueuesHeaderDialog(self.vcs)
         self.qheaderDialog.show()
         QApplication.processEvents()
         self.qheaderDialog.start()
-    
-    def hgQueuePushPopPatches(self, operation, doAll=False, named=False,
-                              force=False):
+
+    def hgQueuePushPopPatches(self, operation, doAll=False, named=False, force=False):
         """
         Public method to push patches onto the stack or pop patches off the
         stack.
-        
+
         @param operation operation type to be performed (Queues.POP,
             Queues.PUSH, Queues.GOTO)
         @param doAll flag indicating to push/pop all (boolean)
@@ -282,7 +296,7 @@
         """
         if operation not in (Queues.POP, Queues.PUSH, Queues.GOTO):
             raise ValueError("illegal value for operation")
-        
+
         if operation == Queues.POP:
             args = self.vcs.initCommand("qpop")
             title = self.tr("Pop Patches")
@@ -295,7 +309,7 @@
             args = self.vcs.initCommand("qgoto")
             title = self.tr("Go to Patch")
             listType = Queues.SERIES_LIST
-        
+
         args.append("-v")
         if force:
             args.append("--force")
@@ -309,7 +323,9 @@
                     self.tr("Select Patch"),
                     self.tr("Select the target patch name:"),
                     patchnames,
-                    0, False)
+                    0,
+                    False,
+                )
                 if ok and patch:
                     args.append(patch)
                 else:
@@ -318,9 +334,10 @@
                 EricMessageBox.information(
                     None,
                     self.tr("Select Patch"),
-                    self.tr("""No patches to select from."""))
+                    self.tr("""No patches to select from."""),
+                )
                 return False
-        
+
         dia = HgDialog(title, self.vcs)
         res = dia.startProcess(args)
         if res:
@@ -328,29 +345,30 @@
             res = dia.hasAddOrDelete()
             self.vcs.checkVCSStatus()
         return res
-    
+
     def hgQueueListPatches(self):
         """
         Public method to show a list of all patches.
         """
         from .HgQueuesListDialog import HgQueuesListDialog
+
         self.queuesListDialog = HgQueuesListDialog(self.vcs)
         self.queuesListDialog.show()
         self.queuesListDialog.start()
-    
+
     def hgQueueFinishAppliedPatches(self):
         """
         Public method to finish all applied patches.
         """
         args = self.vcs.initCommand("qfinish")
         args.append("--applied")
-        
-        dia = HgDialog(self.tr('Finish Applied Patches'), self.vcs)
+
+        dia = HgDialog(self.tr("Finish Applied Patches"), self.vcs)
         res = dia.startProcess(args)
         if res:
             dia.exec()
             self.vcs.checkVCSStatus()
-    
+
     def hgQueueRenamePatch(self):
         """
         Public method to rename the current or a selected patch.
@@ -360,21 +378,20 @@
         if patchnames:
             currentPatch = self.__getCurrentPatch()
             if currentPatch:
-                from .HgQueuesRenamePatchDialog import (
-                    HgQueuesRenamePatchDialog
-                )
+                from .HgQueuesRenamePatchDialog import HgQueuesRenamePatchDialog
+
                 dlg = HgQueuesRenamePatchDialog(currentPatch, patchnames)
                 if dlg.exec() == QDialog.DialogCode.Accepted:
                     newName, selectedPatch = dlg.getData()
                     if selectedPatch:
                         args.append(selectedPatch)
                     args.append(newName)
-                    
+
                     dia = HgDialog(self.tr("Rename Patch"), self.vcs)
                     res = dia.startProcess(args)
                     if res:
                         dia.exec()
-    
+
     def hgQueueDeletePatch(self):
         """
         Public method to delete a selected unapplied patch.
@@ -387,29 +404,32 @@
                 self.tr("Select Patch"),
                 self.tr("Select the patch to be deleted:"),
                 patchnames,
-                0, False)
+                0,
+                False,
+            )
             if ok and patch:
                 args.append(patch)
-                
+
                 dia = HgDialog(self.tr("Delete Patch"), self.vcs)
                 res = dia.startProcess(args)
                 if res:
                     dia.exec()
         else:
             EricMessageBox.information(
-                None,
-                self.tr("Select Patch"),
-                self.tr("""No patches to select from."""))
-    
+                None, self.tr("Select Patch"), self.tr("""No patches to select from.""")
+            )
+
     def hgQueueFoldUnappliedPatches(self):
         """
         Public method to fold patches into the current patch.
         """
         args = self.vcs.initCommand("qfold")
         patchnames = sorted(
-            self.__getPatchesList(Queues.UNAPPLIED_LIST, withSummary=True))
+            self.__getPatchesList(Queues.UNAPPLIED_LIST, withSummary=True)
+        )
         if patchnames:
             from .HgQueuesFoldDialog import HgQueuesFoldDialog
+
             dlg = HgQueuesFoldDialog(patchnames)
             if dlg.exec() == QDialog.DialogCode.Accepted:
                 message, patchesList = dlg.getData()
@@ -418,7 +438,7 @@
                     args.append(message)
                 if patchesList:
                     args.extend(patchesList)
-                    
+
                     dia = HgDialog(self.tr("Fold Patches"), self.vcs)
                     res = dia.startProcess(args)
                     if res:
@@ -427,13 +447,15 @@
                     EricMessageBox.information(
                         None,
                         self.tr("Fold Patches"),
-                        self.tr("""No patches selected."""))
+                        self.tr("""No patches selected."""),
+                    )
         else:
             EricMessageBox.information(
                 None,
                 self.tr("Fold Patches"),
-                self.tr("""No patches available to be folded."""))
-    
+                self.tr("""No patches available to be folded."""),
+            )
+
     def hgQueueGuardsList(self):
         """
         Public method to list the guards for the current or a named patch.
@@ -441,25 +463,27 @@
         patchnames = sorted(self.__getPatchesList(Queues.SERIES_LIST))
         if patchnames:
             from .HgQueuesListGuardsDialog import HgQueuesListGuardsDialog
-            self.queuesListGuardsDialog = HgQueuesListGuardsDialog(
-                self.vcs, patchnames)
+
+            self.queuesListGuardsDialog = HgQueuesListGuardsDialog(self.vcs, patchnames)
             self.queuesListGuardsDialog.show()
             self.queuesListGuardsDialog.start()
         else:
             EricMessageBox.information(
                 None,
                 self.tr("List Guards"),
-                self.tr("""No patches available to list guards for."""))
-    
+                self.tr("""No patches available to list guards for."""),
+            )
+
     def hgQueueGuardsListAll(self):
         """
         Public method to list all guards of all patches.
         """
         from .HgQueuesListAllGuardsDialog import HgQueuesListAllGuardsDialog
+
         self.queuesListAllGuardsDialog = HgQueuesListAllGuardsDialog(self.vcs)
         self.queuesListAllGuardsDialog.show()
         self.queuesListAllGuardsDialog.start()
-    
+
     def hgQueueGuardsDefine(self):
         """
         Public method to define guards for the current or a named patch.
@@ -467,44 +491,51 @@
         patchnames = sorted(self.__getPatchesList(Queues.SERIES_LIST))
         if patchnames:
             from .HgQueuesDefineGuardsDialog import HgQueuesDefineGuardsDialog
+
             self.queuesDefineGuardsDialog = HgQueuesDefineGuardsDialog(
-                self.vcs, self, patchnames)
+                self.vcs, self, patchnames
+            )
             self.queuesDefineGuardsDialog.show()
             self.queuesDefineGuardsDialog.start()
         else:
             EricMessageBox.information(
                 None,
                 self.tr("Define Guards"),
-                self.tr("""No patches available to define guards for."""))
-    
+                self.tr("""No patches available to define guards for."""),
+            )
+
     def hgQueueGuardsDropAll(self):
         """
         Public method to drop all guards of the current or a named patch.
         """
-        patchnames = sorted(
-            self.__getPatchesList(Queues.SERIES_LIST))
+        patchnames = sorted(self.__getPatchesList(Queues.SERIES_LIST))
         if patchnames:
             patch, ok = QInputDialog.getItem(
                 None,
                 self.tr("Drop All Guards"),
-                self.tr("Select the patch to drop guards for"
-                        " (leave empty for the current patch):"),
+                self.tr(
+                    "Select the patch to drop guards for"
+                    " (leave empty for the current patch):"
+                ),
                 [""] + patchnames,
-                0, False)
+                0,
+                False,
+            )
             if ok:
                 args = self.vcs.initCommand("qguard")
                 if patch:
                     args.append(patch)
                 args.append("--none")
-                
+
                 client = self.vcs.getClient()
                 client.runcommand(args)
         else:
             EricMessageBox.information(
                 None,
                 self.tr("Drop All Guards"),
-                self.tr("""No patches available to define guards for."""))
-    
+                self.tr("""No patches available to define guards for."""),
+            )
+
     def hgQueueGuardsSetActive(self):
         """
         Public method to set the active guards.
@@ -512,18 +543,18 @@
         guardsList = self.getGuardsList()
         if guardsList:
             activeGuardsList = self.getGuardsList(allGuards=False)
-            from .HgQueuesGuardsSelectionDialog import (
-                HgQueuesGuardsSelectionDialog
+            from .HgQueuesGuardsSelectionDialog import HgQueuesGuardsSelectionDialog
+
+            dlg = HgQueuesGuardsSelectionDialog(
+                guardsList, activeGuards=activeGuardsList, listOnly=False
             )
-            dlg = HgQueuesGuardsSelectionDialog(
-                guardsList, activeGuards=activeGuardsList, listOnly=False)
             if dlg.exec() == QDialog.DialogCode.Accepted:
                 guards = dlg.getData()
                 if guards:
                     args = self.vcs.initCommand("qselect")
                     args.extend(guards)
-                    
-                    dia = HgDialog(self.tr('Set Active Guards'), self.vcs)
+
+                    dia = HgDialog(self.tr("Set Active Guards"), self.vcs)
                     res = dia.startProcess(args)
                     if res:
                         dia.exec()
@@ -531,51 +562,47 @@
             EricMessageBox.information(
                 None,
                 self.tr("Set Active Guards"),
-                self.tr("""No guards available to select from."""))
+                self.tr("""No guards available to select from."""),
+            )
             return
-    
+
     def hgQueueGuardsDeactivate(self):
         """
         Public method to deactivate all active guards.
         """
         args = self.vcs.initCommand("qselect")
         args.append("--none")
-        
-        dia = HgDialog(self.tr('Deactivate Guards'), self.vcs)
+
+        dia = HgDialog(self.tr("Deactivate Guards"), self.vcs)
         res = dia.startProcess(args)
         if res:
             dia.exec()
-    
+
     def hgQueueGuardsIdentifyActive(self):
         """
         Public method to list all active guards.
         """
         guardsList = self.getGuardsList(allGuards=False)
         if guardsList:
-            from .HgQueuesGuardsSelectionDialog import (
-                HgQueuesGuardsSelectionDialog
-            )
+            from .HgQueuesGuardsSelectionDialog import HgQueuesGuardsSelectionDialog
+
             dlg = HgQueuesGuardsSelectionDialog(guardsList, listOnly=True)
             dlg.exec()
-    
+
     def hgQueueCreateRenameQueue(self, isCreate):
         """
         Public method to create a new queue or rename the active queue.
-        
+
         @param isCreate flag indicating to create a new queue (boolean)
         """
-        from .HgQueuesQueueManagementDialog import (
-            HgQueuesQueueManagementDialog
-        )
-        
+        from .HgQueuesQueueManagementDialog import HgQueuesQueueManagementDialog
+
         title = (
-            self.tr("Create New Queue")
-            if isCreate else
-            self.tr("Rename Active Queue")
+            self.tr("Create New Queue") if isCreate else self.tr("Rename Active Queue")
         )
         dlg = HgQueuesQueueManagementDialog(
-            HgQueuesQueueManagementDialog.NAME_INPUT,
-            title, False, self.vcs)
+            HgQueuesQueueManagementDialog.NAME_INPUT, title, False, self.vcs
+        )
         if dlg.exec() == QDialog.DialogCode.Accepted:
             queueName = dlg.getData()
             if queueName:
@@ -585,54 +612,53 @@
                 else:
                     args.append("--rename")
                 args.append(queueName)
-                
+
                 client = self.vcs.getClient()
                 error = client.runcommand(args)[1]
-                
+
                 if error:
                     if isCreate:
-                        errMsg = self.tr(
-                            "Error while creating a new queue.")
+                        errMsg = self.tr("Error while creating a new queue.")
                     else:
-                        errMsg = self.tr(
-                            "Error while renaming the active queue.")
+                        errMsg = self.tr("Error while renaming the active queue.")
                     EricMessageBox.warning(
-                        None,
-                        title,
-                        """<p>{0}</p><p>{1}</p>""".format(errMsg, error))
+                        None, title, """<p>{0}</p><p>{1}</p>""".format(errMsg, error)
+                    )
                 else:
                     if (
-                        self.queuesListQueuesDialog is not None and
-                        self.queuesListQueuesDialog.isVisible()
+                        self.queuesListQueuesDialog is not None
+                        and self.queuesListQueuesDialog.isVisible()
                     ):
                         self.queuesListQueuesDialog.refresh()
-    
+
     def hgQueueDeletePurgeActivateQueue(self, operation):
         """
         Public method to delete the reference to a queue and optionally
         remove the patch directory or set the active queue.
-        
+
         @param operation operation to be performed (Queues.QUEUE_DELETE,
             Queues.QUEUE_PURGE, Queues.QUEUE_ACTIVATE)
         @exception ValueError raised to indicate an invalid operation
         """
-        if operation not in (Queues.QUEUE_PURGE, Queues.QUEUE_DELETE,
-                             Queues.QUEUE_ACTIVATE):
+        if operation not in (
+            Queues.QUEUE_PURGE,
+            Queues.QUEUE_DELETE,
+            Queues.QUEUE_ACTIVATE,
+        ):
             raise ValueError("illegal value for operation")
-        
+
         if operation == Queues.QUEUE_PURGE:
             title = self.tr("Purge Queue")
         elif operation == Queues.QUEUE_DELETE:
             title = self.tr("Delete Queue")
         else:
             title = self.tr("Activate Queue")
-        
-        from .HgQueuesQueueManagementDialog import (
-            HgQueuesQueueManagementDialog
+
+        from .HgQueuesQueueManagementDialog import HgQueuesQueueManagementDialog
+
+        dlg = HgQueuesQueueManagementDialog(
+            HgQueuesQueueManagementDialog.QUEUE_INPUT, title, True, self.vcs
         )
-        dlg = HgQueuesQueueManagementDialog(
-            HgQueuesQueueManagementDialog.QUEUE_INPUT,
-            title, True, self.vcs)
         if dlg.exec() == QDialog.DialogCode.Accepted:
             queueName = dlg.getData()
             if queueName:
@@ -642,65 +668,64 @@
                 elif operation == Queues.QUEUE_DELETE:
                     args.append("--delete")
                 args.append(queueName)
-                
+
                 client = self.vcs.getClient()
                 error = client.runcommand(args)[1]
-                
+
                 if error:
                     if operation == Queues.QUEUE_PURGE:
                         errMsg = self.tr("Error while purging the queue.")
                     elif operation == Queues.QUEUE_DELETE:
                         errMsg = self.tr("Error while deleting the queue.")
                     elif operation == Queues.QUEUE_ACTIVATE:
-                        errMsg = self.tr(
-                            "Error while setting the active queue.")
+                        errMsg = self.tr("Error while setting the active queue.")
                     EricMessageBox.warning(
-                        None,
-                        title,
-                        """<p>{0}</p><p>{1}</p>""".format(errMsg, error))
+                        None, title, """<p>{0}</p><p>{1}</p>""".format(errMsg, error)
+                    )
                 else:
                     if (
-                        self.queuesListQueuesDialog is not None and
-                        self.queuesListQueuesDialog.isVisible()
+                        self.queuesListQueuesDialog is not None
+                        and self.queuesListQueuesDialog.isVisible()
                     ):
                         self.queuesListQueuesDialog.refresh()
-    
+
     def hgQueueListQueues(self):
         """
         Public method to list available queues.
         """
-        from .HgQueuesQueueManagementDialog import (
-            HgQueuesQueueManagementDialog
-        )
+        from .HgQueuesQueueManagementDialog import HgQueuesQueueManagementDialog
+
         self.queuesListQueuesDialog = HgQueuesQueueManagementDialog(
             HgQueuesQueueManagementDialog.NO_INPUT,
             self.tr("Available Queues"),
-            False, self.vcs)
+            False,
+            self.vcs,
+        )
         self.queuesListQueuesDialog.show()
-    
+
     def hgQueueInit(self, name):
         """
         Public method to initialize a new queue repository.
-        
+
         @param name directory name (string)
         """
         args = self.vcs.initCommand("init")
-        args.append('--mq')
+        args.append("--mq")
         args.append(self.vcs.getClient().getRepository())
         # init is not possible with the command server
-        dia = HgDialog(
-            self.tr('Initializing new queue repository'), self.vcs)
+        dia = HgDialog(self.tr("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