src/eric7/Project/ProjectInterfacesBrowser.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/Project/ProjectInterfacesBrowser.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/Project/ProjectInterfacesBrowser.py	Wed Jul 13 14:55:47 2022 +0200
@@ -20,14 +20,18 @@
 from EricWidgets.EricProgressDialog import EricProgressDialog
 
 from .ProjectBrowserModel import (
-    ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem,
-    ProjectBrowserDirectoryItem, ProjectBrowserInterfaceType
+    ProjectBrowserFileItem,
+    ProjectBrowserSimpleDirectoryItem,
+    ProjectBrowserDirectoryItem,
+    ProjectBrowserInterfaceType,
 )
 from .ProjectBaseBrowser import ProjectBaseBrowser
 
 from UI.BrowserModel import (
-    BrowserFileItem, BrowserClassItem, BrowserMethodItem,
-    BrowserClassAttributeItem
+    BrowserFileItem,
+    BrowserClassItem,
+    BrowserMethodItem,
+    BrowserClassAttributeItem,
 )
 import UI.PixmapCache
 from UI.NotificationWidget import NotificationTypes
@@ -39,7 +43,7 @@
 class ProjectInterfacesBrowser(ProjectBaseBrowser):
     """
     A class used to display the interfaces (IDL) part of the project.
-    
+
     @signal appendStdout(str) emitted after something was received from
         a QProcess on stdout
     @signal appendStderr(str) emitted after something was received from
@@ -47,44 +51,45 @@
     @signal showMenu(str, QMenu) emitted when a menu is about to be shown.
         The name of the menu and a reference to the menu are given.
     """
+
     appendStdout = pyqtSignal(str)
     appendStderr = pyqtSignal(str)
     showMenu = pyqtSignal(str, QMenu)
-    
+
     def __init__(self, project, parent=None):
         """
         Constructor
-        
+
         @param project reference to the project object
         @param parent parent widget of this browser (QWidget)
         """
         self.omniidl = Preferences.getCorba("omniidl")
         if self.omniidl == "":
-            self.omniidl = (
-                Utilities.isWindowsPlatform() and
-                "omniidl.exe" or "omniidl"
-            )
+            self.omniidl = Utilities.isWindowsPlatform() and "omniidl.exe" or "omniidl"
         if not Utilities.isinpath(self.omniidl):
             self.omniidl = None
-        
-        ProjectBaseBrowser.__init__(self, project,
-                                    ProjectBrowserInterfaceType, parent)
-        
-        self.selectedItemsFilter = [ProjectBrowserFileItem,
-                                    ProjectBrowserSimpleDirectoryItem]
-        
-        self.setWindowTitle(self.tr('Interfaces (IDL)'))
-        
-        self.setWhatsThis(self.tr(
-            """<b>Project Interfaces Browser</b>"""
-            """<p>This allows to easily see all interfaces (CORBA IDL files)"""
-            """ contained in the current project. Several actions can be"""
-            """ executed via the context menu.</p>"""
-        ))
-        
+
+        ProjectBaseBrowser.__init__(self, project, ProjectBrowserInterfaceType, parent)
+
+        self.selectedItemsFilter = [
+            ProjectBrowserFileItem,
+            ProjectBrowserSimpleDirectoryItem,
+        ]
+
+        self.setWindowTitle(self.tr("Interfaces (IDL)"))
+
+        self.setWhatsThis(
+            self.tr(
+                """<b>Project Interfaces Browser</b>"""
+                """<p>This allows to easily see all interfaces (CORBA IDL files)"""
+                """ contained in the current project. Several actions can be"""
+                """ executed via the context menu.</p>"""
+            )
+        )
+
         project.prepareRepopulateItem.connect(self._prepareRepopulateItem)
         project.completeRepopulateItem.connect(self._completeRepopulateItem)
-        
+
     def _createPopupMenus(self):
         """
         Protected overloaded method to generate the popup menu.
@@ -93,226 +98,228 @@
         self.multiMenuActions = []
         self.dirMenuActions = []
         self.dirMultiMenuActions = []
-        
+
         self.sourceMenu = QMenu(self)
         if self.omniidl is not None:
             self.sourceMenu.addAction(
-                self.tr('Compile interface'), self.__compileInterface)
+                self.tr("Compile interface"), self.__compileInterface
+            )
             self.sourceMenu.addAction(
-                self.tr('Compile all interfaces'),
-                self.__compileAllInterfaces)
+                self.tr("Compile all interfaces"), self.__compileAllInterfaces
+            )
             self.sourceMenu.addSeparator()
             self.sourceMenu.addAction(
-                self.tr('Configure IDL compiler'),
-                self.__configureIdlCompiler)
+                self.tr("Configure IDL compiler"), self.__configureIdlCompiler
+            )
             self.sourceMenu.addSeparator()
-        self.sourceMenu.addAction(self.tr('Open'), self._openItem)
+        self.sourceMenu.addAction(self.tr("Open"), self._openItem)
         self.sourceMenu.addSeparator()
-        act = self.sourceMenu.addAction(
-            self.tr('Rename file'), self._renameFile)
+        act = self.sourceMenu.addAction(self.tr("Rename file"), self._renameFile)
         self.menuActions.append(act)
         act = self.sourceMenu.addAction(
-            self.tr('Remove from project'), self._removeFile)
+            self.tr("Remove from project"), self._removeFile
+        )
         self.menuActions.append(act)
-        act = self.sourceMenu.addAction(
-            self.tr('Delete'), self.__deleteFile)
+        act = self.sourceMenu.addAction(self.tr("Delete"), self.__deleteFile)
         self.menuActions.append(act)
         self.sourceMenu.addSeparator()
         self.sourceMenu.addAction(
-            self.tr('Add interfaces...'), self.__addInterfaceFiles)
+            self.tr("Add interfaces..."), self.__addInterfaceFiles
+        )
         self.sourceMenu.addAction(
-            self.tr('Add interfaces directory...'),
-            self.__addInterfacesDirectory)
+            self.tr("Add interfaces directory..."), self.__addInterfacesDirectory
+        )
         self.sourceMenu.addSeparator()
         self.sourceMenu.addAction(
-            self.tr('Copy Path to Clipboard'), self._copyToClipboard)
+            self.tr("Copy Path to Clipboard"), self._copyToClipboard
+        )
         self.sourceMenu.addSeparator()
         self.sourceMenu.addAction(
-            self.tr('Expand all directories'), self._expandAllDirs)
+            self.tr("Expand all directories"), self._expandAllDirs
+        )
         self.sourceMenu.addAction(
-            self.tr('Collapse all directories'), self._collapseAllDirs)
+            self.tr("Collapse all directories"), self._collapseAllDirs
+        )
         self.sourceMenu.addSeparator()
-        self.sourceMenu.addAction(self.tr('Configure...'), self._configure)
-        self.sourceMenu.addAction(
-            self.tr('Configure CORBA...'), self.__configureCorba)
+        self.sourceMenu.addAction(self.tr("Configure..."), self._configure)
+        self.sourceMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
 
         self.menu = QMenu(self)
         if self.omniidl is not None:
-            self.menu.addAction(
-                self.tr('Compile interface'), self.__compileInterface)
+            self.menu.addAction(self.tr("Compile interface"), self.__compileInterface)
             self.menu.addAction(
-                self.tr('Compile all interfaces'),
-                self.__compileAllInterfaces)
+                self.tr("Compile all interfaces"), self.__compileAllInterfaces
+            )
             self.menu.addSeparator()
             self.menu.addAction(
-                self.tr('Configure IDL compiler'),
-                self.__configureIdlCompiler)
+                self.tr("Configure IDL compiler"), self.__configureIdlCompiler
+            )
             self.menu.addSeparator()
-        self.menu.addAction(self.tr('Open'), self._openItem)
+        self.menu.addAction(self.tr("Open"), self._openItem)
         self.menu.addSeparator()
-        self.menu.addAction(
-            self.tr('Add interfaces...'), self.__addInterfaceFiles)
+        self.menu.addAction(self.tr("Add interfaces..."), self.__addInterfaceFiles)
         self.menu.addAction(
-            self.tr('Add interfaces directory...'),
-            self.__addInterfacesDirectory)
+            self.tr("Add interfaces directory..."), self.__addInterfacesDirectory
+        )
         self.menu.addSeparator()
-        self.menu.addAction(
-            self.tr('Expand all directories'), self._expandAllDirs)
-        self.menu.addAction(
-            self.tr('Collapse all directories'), self._collapseAllDirs)
+        self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
+        self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs)
         self.menu.addSeparator()
-        self.menu.addAction(self.tr('Configure...'), self._configure)
-        self.menu.addAction(
-            self.tr('Configure CORBA...'), self.__configureCorba)
+        self.menu.addAction(self.tr("Configure..."), self._configure)
+        self.menu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
 
         self.backMenu = QMenu(self)
         if self.omniidl is not None:
             self.backMenu.addAction(
-                self.tr('Compile all interfaces'),
-                self.__compileAllInterfaces)
+                self.tr("Compile all interfaces"), self.__compileAllInterfaces
+            )
             self.backMenu.addSeparator()
             self.backMenu.addAction(
-                self.tr('Configure IDL compiler'),
-                self.__configureIdlCompiler)
+                self.tr("Configure IDL compiler"), self.__configureIdlCompiler
+            )
             self.backMenu.addSeparator()
+        self.backMenu.addAction(self.tr("Add interfaces..."), self.project.addIdlFiles)
         self.backMenu.addAction(
-            self.tr('Add interfaces...'), self.project.addIdlFiles)
-        self.backMenu.addAction(
-            self.tr('Add interfaces directory...'), self.project.addIdlDir)
+            self.tr("Add interfaces directory..."), self.project.addIdlDir
+        )
         self.backMenu.addSeparator()
-        self.backMenu.addAction(
-            self.tr('Expand all directories'), self._expandAllDirs)
+        self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
         self.backMenu.addAction(
-            self.tr('Collapse all directories'), self._collapseAllDirs)
+            self.tr("Collapse all directories"), self._collapseAllDirs
+        )
         self.backMenu.addSeparator()
-        self.backMenu.addAction(self.tr('Configure...'), self._configure)
-        self.backMenu.addAction(
-            self.tr('Configure CORBA...'), self.__configureCorba)
+        self.backMenu.addAction(self.tr("Configure..."), self._configure)
+        self.backMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
         self.backMenu.setEnabled(False)
 
         # create the menu for multiple selected files
         self.multiMenu = QMenu(self)
         if self.omniidl is not None:
             self.multiMenu.addAction(
-                self.tr('Compile interfaces'),
-                self.__compileSelectedInterfaces)
+                self.tr("Compile interfaces"), self.__compileSelectedInterfaces
+            )
             self.multiMenu.addSeparator()
             self.multiMenu.addAction(
-                self.tr('Configure IDL compiler'),
-                self.__configureIdlCompiler)
+                self.tr("Configure IDL compiler"), self.__configureIdlCompiler
+            )
             self.multiMenu.addSeparator()
-        self.multiMenu.addAction(self.tr('Open'), self._openItem)
+        self.multiMenu.addAction(self.tr("Open"), self._openItem)
         self.multiMenu.addSeparator()
-        act = self.multiMenu.addAction(
-            self.tr('Remove from project'), self._removeFile)
+        act = self.multiMenu.addAction(self.tr("Remove from project"), self._removeFile)
         self.multiMenuActions.append(act)
-        act = self.multiMenu.addAction(
-            self.tr('Delete'), self.__deleteFile)
+        act = self.multiMenu.addAction(self.tr("Delete"), self.__deleteFile)
         self.multiMenuActions.append(act)
         self.multiMenu.addSeparator()
-        self.multiMenu.addAction(
-            self.tr('Expand all directories'), self._expandAllDirs)
+        self.multiMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
         self.multiMenu.addAction(
-            self.tr('Collapse all directories'), self._collapseAllDirs)
+            self.tr("Collapse all directories"), self._collapseAllDirs
+        )
         self.multiMenu.addSeparator()
-        self.multiMenu.addAction(self.tr('Configure...'), self._configure)
-        self.multiMenu.addAction(
-            self.tr('Configure CORBA...'), self.__configureCorba)
+        self.multiMenu.addAction(self.tr("Configure..."), self._configure)
+        self.multiMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
 
         self.dirMenu = QMenu(self)
         if self.omniidl is not None:
             self.dirMenu.addAction(
-                self.tr('Compile all interfaces'),
-                self.__compileAllInterfaces)
+                self.tr("Compile all interfaces"), self.__compileAllInterfaces
+            )
             self.dirMenu.addSeparator()
             self.dirMenu.addAction(
-                self.tr('Configure IDL compiler'),
-                self.__configureIdlCompiler)
+                self.tr("Configure IDL compiler"), self.__configureIdlCompiler
+            )
             self.dirMenu.addSeparator()
-        act = self.dirMenu.addAction(
-            self.tr('Remove from project'), self._removeFile)
+        act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeFile)
         self.dirMenuActions.append(act)
-        act = self.dirMenu.addAction(
-            self.tr('Delete'), self._deleteDirectory)
+        act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory)
         self.dirMenuActions.append(act)
         self.dirMenu.addSeparator()
-        self.dirMenu.addAction(
-            self.tr('Add interfaces...'), self.__addInterfaceFiles)
+        self.dirMenu.addAction(self.tr("Add interfaces..."), self.__addInterfaceFiles)
         self.dirMenu.addAction(
-            self.tr('Add interfaces directory...'),
-            self.__addInterfacesDirectory)
+            self.tr("Add interfaces directory..."), self.__addInterfacesDirectory
+        )
         self.dirMenu.addSeparator()
-        self.dirMenu.addAction(
-            self.tr('Copy Path to Clipboard'), self._copyToClipboard)
+        self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard)
         self.dirMenu.addSeparator()
+        self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
         self.dirMenu.addAction(
-            self.tr('Expand all directories'), self._expandAllDirs)
-        self.dirMenu.addAction(
-            self.tr('Collapse all directories'), self._collapseAllDirs)
+            self.tr("Collapse all directories"), self._collapseAllDirs
+        )
         self.dirMenu.addSeparator()
-        self.dirMenu.addAction(self.tr('Configure...'), self._configure)
-        self.dirMenu.addAction(
-            self.tr('Configure CORBA...'), self.__configureCorba)
-        
+        self.dirMenu.addAction(self.tr("Configure..."), self._configure)
+        self.dirMenu.addAction(self.tr("Configure CORBA..."), self.__configureCorba)
+
         self.dirMultiMenu = QMenu(self)
         if self.omniidl is not None:
             self.dirMultiMenu.addAction(
-                self.tr('Compile all interfaces'),
-                self.__compileAllInterfaces)
+                self.tr("Compile all interfaces"), self.__compileAllInterfaces
+            )
             self.dirMultiMenu.addSeparator()
             self.dirMultiMenu.addAction(
-                self.tr('Configure IDL compiler'),
-                self.__configureIdlCompiler)
+                self.tr("Configure IDL compiler"), self.__configureIdlCompiler
+            )
             self.dirMultiMenu.addSeparator()
         self.dirMultiMenu.addAction(
-            self.tr('Add interfaces...'), self.project.addIdlFiles)
+            self.tr("Add interfaces..."), self.project.addIdlFiles
+        )
         self.dirMultiMenu.addAction(
-            self.tr('Add interfaces directory...'), self.project.addIdlDir)
+            self.tr("Add interfaces directory..."), self.project.addIdlDir
+        )
         self.dirMultiMenu.addSeparator()
         self.dirMultiMenu.addAction(
-            self.tr('Expand all directories'), self._expandAllDirs)
-        self.dirMultiMenu.addAction(
-            self.tr('Collapse all directories'), self._collapseAllDirs)
-        self.dirMultiMenu.addSeparator()
+            self.tr("Expand all directories"), self._expandAllDirs
+        )
         self.dirMultiMenu.addAction(
-            self.tr('Configure...'), self._configure)
-        self.dirMultiMenu.addAction(self.tr('Configure CORBA...'),
-                                    self.__configureCorba)
-        
+            self.tr("Collapse all directories"), self._collapseAllDirs
+        )
+        self.dirMultiMenu.addSeparator()
+        self.dirMultiMenu.addAction(self.tr("Configure..."), self._configure)
+        self.dirMultiMenu.addAction(
+            self.tr("Configure CORBA..."), self.__configureCorba
+        )
+
         self.sourceMenu.aboutToShow.connect(self.__showContextMenu)
         self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti)
         self.dirMenu.aboutToShow.connect(self.__showContextMenuDir)
         self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti)
         self.backMenu.aboutToShow.connect(self.__showContextMenuBack)
         self.mainMenu = self.sourceMenu
-        
+
     def _contextMenuRequested(self, coord):
         """
         Protected slot to show the context menu.
-        
+
         @param coord the position of the mouse pointer (QPoint)
         """
         if not self.project.isOpen():
             return
-        
+
         with contextlib.suppress(Exception):
             categories = self.getSelectedItemsCountCategorized(
-                [ProjectBrowserFileItem, BrowserClassItem,
-                 BrowserMethodItem, ProjectBrowserSimpleDirectoryItem])
+                [
+                    ProjectBrowserFileItem,
+                    BrowserClassItem,
+                    BrowserMethodItem,
+                    ProjectBrowserSimpleDirectoryItem,
+                ]
+            )
             cnt = categories["sum"]
             if cnt <= 1:
                 index = self.indexAt(coord)
                 if index.isValid():
                     self._selectSingleItem(index)
                     categories = self.getSelectedItemsCountCategorized(
-                        [ProjectBrowserFileItem, BrowserClassItem,
-                         BrowserMethodItem, ProjectBrowserSimpleDirectoryItem])
+                        [
+                            ProjectBrowserFileItem,
+                            BrowserClassItem,
+                            BrowserMethodItem,
+                            ProjectBrowserSimpleDirectoryItem,
+                        ]
+                    )
                     cnt = categories["sum"]
-            
+
             bfcnt = categories[str(ProjectBrowserFileItem)]
             cmcnt = (
-                categories[str(BrowserClassItem)] +
-                categories[str(BrowserMethodItem)]
+                categories[str(BrowserClassItem)] + categories[str(BrowserMethodItem)]
             )
             sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)]
             if cnt > 1 and cnt == bfcnt:
@@ -326,10 +333,7 @@
                         itm = self.model().item(index)
                         if isinstance(itm, ProjectBrowserFileItem):
                             self.sourceMenu.popup(self.mapToGlobal(coord))
-                        elif isinstance(
-                            itm,
-                            (BrowserClassItem, BrowserMethodItem)
-                        ):
+                        elif isinstance(itm, (BrowserClassItem, BrowserMethodItem)):
                             self.menu.popup(self.mapToGlobal(coord))
                         else:
                             self.backMenu.popup(self.mapToGlobal(coord))
@@ -339,112 +343,114 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        
+
     def __showContextMenu(self):
         """
         Private slot called by the menu aboutToShow signal.
         """
         ProjectBaseBrowser._showContextMenu(self, self.menu)
-        
+
         self.showMenu.emit("Main", self.menu)
-        
+
     def __showContextMenuMulti(self):
         """
         Private slot called by the multiMenu aboutToShow signal.
         """
         ProjectBaseBrowser._showContextMenuMulti(self, self.multiMenu)
-        
+
         self.showMenu.emit("MainMulti", self.multiMenu)
-        
+
     def __showContextMenuDir(self):
         """
         Private slot called by the dirMenu aboutToShow signal.
         """
         ProjectBaseBrowser._showContextMenuDir(self, self.dirMenu)
-        
+
         self.showMenu.emit("MainDir", self.dirMenu)
-        
+
     def __showContextMenuDirMulti(self):
         """
         Private slot called by the dirMultiMenu aboutToShow signal.
         """
         ProjectBaseBrowser._showContextMenuDirMulti(self, self.dirMultiMenu)
-        
+
         self.showMenu.emit("MainDirMulti", self.dirMultiMenu)
-        
+
     def __showContextMenuBack(self):
         """
         Private slot called by the backMenu aboutToShow signal.
         """
         ProjectBaseBrowser._showContextMenuBack(self, self.backMenu)
-        
+
         self.showMenu.emit("MainBack", self.backMenu)
-        
+
     def _openItem(self):
         """
         Protected slot to handle the open popup menu entry.
         """
         itmList = self.getSelectedItems(
-            [BrowserFileItem, BrowserClassItem, BrowserMethodItem,
-             BrowserClassAttributeItem])
-        
+            [
+                BrowserFileItem,
+                BrowserClassItem,
+                BrowserMethodItem,
+                BrowserClassAttributeItem,
+            ]
+        )
+
         for itm in itmList:
             if isinstance(itm, BrowserFileItem):
                 self.sourceFile[str].emit(itm.fileName())
             elif isinstance(itm, BrowserClassItem):
-                self.sourceFile[str, int].emit(
-                    itm.fileName(), itm.classObject().lineno)
+                self.sourceFile[str, int].emit(itm.fileName(), itm.classObject().lineno)
             elif isinstance(itm, BrowserMethodItem):
                 self.sourceFile[str, int].emit(
-                    itm.fileName(), itm.functionObject().lineno)
+                    itm.fileName(), itm.functionObject().lineno
+                )
             elif isinstance(itm, BrowserClassAttributeItem):
                 self.sourceFile[str, int].emit(
-                    itm.fileName(), itm.attributeObject().lineno)
-        
+                    itm.fileName(), itm.attributeObject().lineno
+                )
+
     def __addInterfaceFiles(self):
         """
         Private method to add interface files to the project.
         """
         itm = self.model().item(self.currentIndex())
         if isinstance(
-            itm,
-            (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
+            itm, (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
         ):
             dn = os.path.dirname(itm.fileName())
         elif isinstance(
-            itm,
-            (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
+            itm, (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
         ):
             dn = itm.dirName()
         else:
             dn = None
-        self.project.addFiles('interface', dn)
-        
+        self.project.addFiles("interface", dn)
+
     def __addInterfacesDirectory(self):
         """
         Private method to add interface files of a directory to the project.
         """
         itm = self.model().item(self.currentIndex())
         if isinstance(
-            itm,
-            (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
+            itm, (ProjectBrowserFileItem, BrowserClassItem, BrowserMethodItem)
         ):
             dn = os.path.dirname(itm.fileName())
         elif isinstance(
-            itm,
-            (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
+            itm, (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem)
         ):
             dn = itm.dirName()
         else:
             dn = None
-        self.project.addDirectory('interface', dn)
-        
+        self.project.addDirectory("interface", dn)
+
     def __deleteFile(self):
         """
         Private method to delete files from the project.
         """
         itmList = self.getSelectedItems()
-        
+
         files = []
         fullNames = []
         for itm in itmList:
@@ -452,26 +458,27 @@
             fullNames.append(fn2)
             fn = self.project.getRelativePath(fn2)
             files.append(fn)
-        
-        from UI.DeleteFilesConfirmationDialog import (
-            DeleteFilesConfirmationDialog
-        )
+
+        from UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog
+
         dlg = DeleteFilesConfirmationDialog(
             self.parent(),
             self.tr("Delete interfaces"),
-            self.tr("Do you really want to delete these interfaces from"
-                    " the project?"),
-            files)
-        
+            self.tr(
+                "Do you really want to delete these interfaces from" " the project?"
+            ),
+            files,
+        )
+
         if dlg.exec() == QDialog.DialogCode.Accepted:
             for fn2, fn in zip(fullNames, files):
                 self.closeSourceWindow.emit(fn2)
                 self.project.deleteFile(fn)
-    
+
     ###########################################################################
     ##  Methods to handle the various compile commands
     ###########################################################################
-    
+
     def __readStdout(self):
         """
         Private slot to handle the readyReadStandardOutput signal of the
@@ -479,16 +486,16 @@
         """
         if self.compileProc is None:
             return
-        
+
         ioEncoding = Preferences.getSystem("IOEncoding")
-        
+
         self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardOutput)
         while self.compileProc and self.compileProc.canReadLine():
-            s = 'omniidl: '
-            output = str(self.compileProc.readLine(), ioEncoding, 'replace')
+            s = "omniidl: "
+            output = str(self.compileProc.readLine(), ioEncoding, "replace")
             s += output
             self.appendStdout.emit(s)
-        
+
     def __readStderr(self):
         """
         Private slot to handle the readyReadStandardError signal of the
@@ -496,20 +503,20 @@
         """
         if self.compileProc is None:
             return
-        
+
         ioEncoding = Preferences.getSystem("IOEncoding")
-        
+
         self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardError)
         while self.compileProc and self.compileProc.canReadLine():
-            s = 'omniidl: '
-            error = str(self.compileProc.readLine(), ioEncoding, 'replace')
+            s = "omniidl: "
+            error = str(self.compileProc.readLine(), ioEncoding, "replace")
             s += error
             self.appendStderr.emit(s)
-        
+
     def __compileIDLDone(self, exitCode, exitStatus):
         """
         Private slot to handle the finished signal of the omniidl process.
-        
+
         @param exitCode exit code of the process (integer)
         @param exitStatus exit status of the process (QProcess.ExitStatus)
         """
@@ -527,19 +534,18 @@
             ui.showNotification(
                 UI.PixmapCache.getPixmap("corba48"),
                 self.tr("Interface Compilation"),
-                self.tr(
-                    "The compilation of the interface file was"
-                    " successful."))
+                self.tr("The compilation of the interface file was" " successful."),
+            )
         else:
             ui.showNotification(
                 UI.PixmapCache.getPixmap("corba48"),
                 self.tr("Interface Compilation"),
-                self.tr(
-                    "The compilation of the interface file failed."),
+                self.tr("The compilation of the interface file failed."),
                 kind=NotificationTypes.CRITICAL,
-                timeout=0)
+                timeout=0,
+            )
         self.compileProc = None
-        
+
     def __compileIDL(self, fn, noDialog=False, progress=None):
         """
         Private method to compile a .idl file to python.
@@ -550,29 +556,30 @@
         @return reference to the compile process (QProcess)
         """
         params = self.project.pdata["IDLPARAMS"]
-        
+
         self.compileProc = QProcess()
         args = []
-        
+
         args.append("-bpython")
         args.append("-I.")
         for directory in params["IncludeDirs"]:
-            args.append("-I{0}".format(
-                self.project.getAbsoluteUniversalPath(directory)))
+            args.append(
+                "-I{0}".format(self.project.getAbsoluteUniversalPath(directory))
+            )
         for name in params["DefinedNames"]:
             args.append("-D{0}".format(name))
         for name in params["UndefinedNames"]:
             args.append("-U{0}".format(name))
-        
+
         fn = self.project.getAbsoluteUniversalPath(fn)
         self.idlFile = fn
         args.append("-C{0}".format(os.path.dirname(fn)))
         args.append(fn)
-        
+
         self.compileProc.finished.connect(self.__compileIDLDone)
         self.compileProc.readyReadStandardOutput.connect(self.__readStdout)
         self.compileProc.readyReadStandardError.connect(self.__readStderr)
-        
+
         self.noDialog = noDialog
         self.compileProc.start(self.omniidl, args)
         procStarted = self.compileProc.waitForStarted(5000)
@@ -585,13 +592,14 @@
                 progress.cancel()
             EricMessageBox.critical(
                 self,
-                self.tr('Process Generation Error'),
+                self.tr("Process Generation Error"),
                 self.tr(
-                    '<p>Could not start {0}.<br>'
-                    'Ensure that it is in the search path.</p>'
-                ).format(self.omniidl))
+                    "<p>Could not start {0}.<br>"
+                    "Ensure that it is in the search path.</p>"
+                ).format(self.omniidl),
+            )
             return None
-        
+
     def __compileInterface(self):
         """
         Private method to compile an interface to python.
@@ -601,7 +609,7 @@
             fn2 = itm.fileName()
             fn = self.project.getRelativePath(fn2)
             self.__compileIDL(fn)
-        
+
     def __compileAllInterfaces(self):
         """
         Private method to compile all interfaces to python.
@@ -610,12 +618,16 @@
             numIDLs = len(self.project.pdata["INTERFACES"])
             progress = EricProgressDialog(
                 self.tr("Compiling interfaces..."),
-                self.tr("Abort"), 0, numIDLs,
-                self.tr("%v/%m Interfaces"), self)
+                self.tr("Abort"),
+                0,
+                numIDLs,
+                self.tr("%v/%m Interfaces"),
+                self,
+            )
             progress.setModal(True)
             progress.setMinimumDuration(0)
             progress.setWindowTitle(self.tr("Interfaces"))
-            
+
             for prog, fn in enumerate(self.project.pdata["INTERFACES"]):
                 progress.setValue(prog)
                 if progress.wasCanceled():
@@ -628,25 +640,28 @@
                 else:
                     break
             progress.setValue(numIDLs)
-        
+
     def __compileSelectedInterfaces(self):
         """
         Private method to compile selected interfaces to python.
         """
         if self.omniidl is not None:
             items = self.getSelectedItems()
-            
-            files = [self.project.getRelativePath(itm.fileName())
-                     for itm in items]
+
+            files = [self.project.getRelativePath(itm.fileName()) for itm in items]
             numIDLs = len(files)
             progress = EricProgressDialog(
                 self.tr("Compiling interfaces..."),
-                self.tr("Abort"), 0, numIDLs,
-                self.tr("%v/%m Interfaces"), self)
+                self.tr("Abort"),
+                0,
+                numIDLs,
+                self.tr("%v/%m Interfaces"),
+                self,
+            )
             progress.setModal(True)
             progress.setMinimumDuration(0)
             progress.setWindowTitle(self.tr("Interfaces"))
-            
+
             for prog, fn in enumerate(files):
                 progress.setValue(prog)
                 if progress.wasCanceled():
@@ -659,18 +674,23 @@
                 else:
                     break
             progress.setValue(numIDLs)
-    
+
     def __configureIdlCompiler(self):
         """
         Private method to show a dialog to configure some options for the
         IDL compiler.
         """
         params = self.project.pdata["IDLPARAMS"]
-        
+
         from .IdlCompilerOptionsDialog import IdlCompilerOptionsDialog
+
         dlg = IdlCompilerOptionsDialog(
-            params["IncludeDirs"][:], params["DefinedNames"][:],
-            params["UndefinedNames"][:], self.project, self)
+            params["IncludeDirs"][:],
+            params["DefinedNames"][:],
+            params["UndefinedNames"][:],
+            self.project,
+            self,
+        )
         if dlg.exec() == QDialog.DialogCode.Accepted:
             include, defined, undefined = dlg.getData()
             if include != params["IncludeDirs"]:
@@ -682,7 +702,7 @@
             if undefined != params["UndefinedNames"]:
                 params["UndefinedNames"] = undefined[:]
                 self.project.setDirty(True)
-    
+
     def __configureCorba(self):
         """
         Private method to open the configuration dialog.

eric ide

mercurial