Project/ProjectSourcesBrowser.py

changeset 3439
08aa0cef69e3
parent 3438
29717a5e8b97
child 3441
1b07f996e9ee
diff -r 29717a5e8b97 -r 08aa0cef69e3 Project/ProjectSourcesBrowser.py
--- a/Project/ProjectSourcesBrowser.py	Wed Mar 26 20:03:25 2014 +0100
+++ b/Project/ProjectSourcesBrowser.py	Thu Mar 27 18:53:16 2014 +0100
@@ -108,7 +108,8 @@
             self.__createPythonPopupMenus()
         elif self.project.pdata["PROGLANGUAGE"][0] == "Ruby":
             self.__createRubyPopupMenus()
-        # TODO: add JavaScript menu
+        elif self.project.pdata["PROGLANGUAGE"][0] == "JavaScript":
+            self.__createJavaScriptPopupMenus()
         
     def __createPythonPopupMenus(self):
         """
@@ -434,6 +435,188 @@
         self.backMenu.aboutToShow.connect(self.__showContextMenuBack)
         self.mainMenu = self.sourceMenu
         
+    def __createJavaScriptPopupMenus(self):
+        """
+        Privat method to generate the popup menus for a Python project.
+        """
+        self.checksMenu = QMenu(self.tr('Check'))
+        self.checksMenu.aboutToShow.connect(self.__showContextMenuCheck)
+        
+##        self.menuShow = QMenu(self.tr('Show'))
+##        self.menuShow.addAction(
+##            self.tr('Code metrics...'), self.__showCodeMetrics)
+##        self.coverageMenuAction = self.menuShow.addAction(
+##            self.tr('Code coverage...'), self.__showCodeCoverage)
+##        self.profileMenuAction = self.menuShow.addAction(
+##            self.tr('Profile data...'), self.__showProfileData)
+##        self.menuShow.aboutToShow.connect(self.__showContextMenuShow)
+##        
+##        self.graphicsMenu = QMenu(self.tr('Diagrams'))
+##        self.classDiagramAction = self.graphicsMenu.addAction(
+##            self.tr("Class Diagram..."), self.__showClassDiagram)
+##        self.graphicsMenu.addAction(
+##            self.tr("Package Diagram..."), self.__showPackageDiagram)
+##        self.importsDiagramAction = self.graphicsMenu.addAction(
+##            self.tr("Imports Diagram..."), self.__showImportsDiagram)
+##        self.graphicsMenu.addAction(
+##            self.tr("Application Diagram..."),
+##            self.__showApplicationDiagram)
+##        self.graphicsMenu.addSeparator()
+##        self.graphicsMenu.addAction(
+##            UI.PixmapCache.getIcon("open.png"),
+##            self.tr("Load Diagram..."), self.__loadDiagram)
+##        self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics)
+##        
+##        self.unittestAction = self.sourceMenu.addAction(
+##            self.tr('Run unittest...'), self.handleUnittest)
+        self.sourceMenu.addSeparator()
+        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.menuActions.append(act)
+        act = self.sourceMenu.addAction(
+            self.tr('Delete'), self.__deleteFile)
+        self.menuActions.append(act)
+        self.sourceMenu.addSeparator()
+##        self.sourceMenu.addAction(
+##            self.tr('New package...'), self.__addNewPackage)
+        self.sourceMenu.addAction(
+            self.tr('Add source files...'), self.__addSourceFiles)
+        self.sourceMenu.addAction(
+            self.tr('Add source directory...'), self.__addSourceDirectory)
+        self.sourceMenu.addSeparator()
+##        act = self.sourceMenu.addMenu(self.graphicsMenu)
+##        self.sourceMenu.addSeparator()
+        self.sourceMenu.addMenu(self.checksMenu)
+        self.sourceMenu.addSeparator()
+##        self.sourceMenuActions["Show"] = self.sourceMenu.addMenu(self.menuShow)
+##        self.sourceMenu.addSeparator()
+        self.sourceMenu.addAction(
+            self.tr('Copy Path to Clipboard'), self._copyToClipboard)
+        self.sourceMenu.addSeparator()
+        self.sourceMenu.addAction(
+            self.tr('Expand all directories'), self._expandAllDirs)
+        self.sourceMenu.addAction(
+            self.tr('Collapse all directories'), self._collapseAllDirs)
+        self.sourceMenu.addSeparator()
+        self.sourceMenu.addAction(self.tr('Configure...'), self._configure)
+
+        self.menu.addSeparator()
+##        self.menu.addAction(
+##            self.tr('New package...'), self.__addNewPackage)
+        self.menu.addAction(
+            self.tr('Add source files...'), self.__addSourceFiles)
+        self.menu.addAction(
+            self.tr('Add source directory...'), self.__addSourceDirectory)
+        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.addSeparator()
+        self.menu.addAction(self.tr('Configure...'), self._configure)
+
+        # create the attribute menu
+        self.gotoMenu = QMenu(self.tr("Goto"), self)
+        self.gotoMenu.aboutToShow.connect(self._showGotoMenu)
+        self.gotoMenu.triggered.connect(self._gotoAttribute)
+        
+        self.attributeMenu = QMenu(self)
+        self.attributeMenu.addMenu(self.gotoMenu)
+        self.attributeMenu.addSeparator()
+##        self.attributeMenu.addAction(
+##            self.tr('New package...'), self.__addNewPackage)
+        self.attributeMenu.addAction(
+            self.tr('Add source files...'), self.project.addSourceFiles)
+        self.attributeMenu.addAction(
+            self.tr('Add source directory...'), self.project.addSourceDir)
+        self.attributeMenu.addSeparator()
+        self.attributeMenu.addAction(
+            self.tr('Expand all directories'), self._expandAllDirs)
+        self.attributeMenu.addAction(
+            self.tr('Collapse all directories'), self._collapseAllDirs)
+        self.attributeMenu.addSeparator()
+        self.attributeMenu.addAction(
+            self.tr('Configure...'), self._configure)
+        
+        self.backMenu = QMenu(self)
+##        self.backMenu.addAction(
+##            self.tr('New package...'), self.__addNewPackage)
+        self.backMenu.addAction(
+            self.tr('Add source files...'), self.project.addSourceFiles)
+        self.backMenu.addAction(
+            self.tr('Add source directory...'), self.project.addSourceDir)
+        self.backMenu.addSeparator()
+        self.backMenu.addAction(
+            self.tr('Expand all directories'), self._expandAllDirs)
+        self.backMenu.addAction(
+            self.tr('Collapse all directories'), self._collapseAllDirs)
+        self.backMenu.addSeparator()
+        self.backMenu.addAction(self.tr('Configure...'), self._configure)
+        self.backMenu.setEnabled(False)
+        
+        self.multiMenu.addSeparator()
+        act = self.multiMenu.addAction(
+            self.tr('Remove from project'), self._removeFile)
+        self.multiMenuActions.append(act)
+        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('Collapse all directories'), self._collapseAllDirs)
+        self.multiMenu.addSeparator()
+        self.multiMenu.addAction(self.tr('Configure...'), self._configure)
+        
+        self.dirMenu = QMenu(self)
+        act = self.dirMenu.addAction(
+            self.tr('Remove from project'), self._removeDir)
+        self.dirMenuActions.append(act)
+        act = self.dirMenu.addAction(
+            self.tr('Delete'), self._deleteDirectory)
+        self.dirMenuActions.append(act)
+        self.dirMenu.addSeparator()
+##        self.dirMenu.addAction(
+##            self.tr('New package...'), self.__addNewPackage)
+        self.dirMenu.addAction(
+            self.tr('Add source files...'), self.__addSourceFiles)
+        self.dirMenu.addAction(
+            self.tr('Add source directory...'), self.__addSourceDirectory)
+        self.dirMenu.addSeparator()
+##        act = self.dirMenu.addMenu(self.graphicsMenu)
+##        self.dirMenu.addSeparator()
+        self.dirMenu.addMenu(self.checksMenu)
+        self.dirMenu.addSeparator()
+        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('Collapse all directories'), self._collapseAllDirs)
+        self.dirMenu.addSeparator()
+        self.dirMenu.addAction(self.tr('Configure...'), self._configure)
+        
+        self.dirMultiMenu = QMenu(self)
+        self.dirMultiMenu.addAction(
+            self.tr('Expand all directories'), self._expandAllDirs)
+        self.dirMultiMenu.addAction(
+            self.tr('Collapse all directories'), self._collapseAllDirs)
+        self.dirMultiMenu.addSeparator()
+        self.dirMultiMenu.addAction(
+            self.tr('Configure...'), self._configure)
+        
+        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.

eric ide

mercurial