Project/Project.py

changeset 2427
46481fe988d2
parent 2408
dc3a7c9d8f6e
child 2440
9a2d05a2f6d2
--- a/Project/Project.py	Sun Feb 17 19:07:15 2013 +0100
+++ b/Project/Project.py	Sat Feb 23 11:29:01 2013 +0100
@@ -19,7 +19,7 @@
 from PyQt4.QtCore import QFile, QFileInfo, pyqtSignal, QCryptographicHash, QIODevice, \
     QByteArray, QObject, Qt
 from PyQt4.QtGui import QCursor, QLineEdit, QToolBar, QDialog, QInputDialog, \
-    QApplication, QMenu
+    QApplication, QMenu, QAction
 
 from E5Gui.E5Application import e5App
 from E5Gui import E5FileDialog, E5MessageBox
@@ -805,6 +805,22 @@
                 self.trUtf8("<p>The user specific project properties file <b>{0}</b>"
                     " could not be written.</p>").format(fn))
         
+    def __showContextMenuSession(self):
+        """
+        Private slot called before the Session menu is shown.
+        """
+        enable = True
+        if self.pfile is None:
+            enable = False
+        else:
+            fn, ext = os.path.splitext(os.path.basename(self.pfile))
+            fn = os.path.join(self.getProjectManagementDir(),
+                              '{0}.e4s'.format(fn))
+            enable = os.path.exists(fn)
+        self.sessActGrp.findChild(QAction, "project_load_session").setEnabled(enable)
+        self.sessActGrp.findChild(QAction, "project_delete_session").setEnabled(enable)
+        
+        
     def __readSession(self, quiet=False, indicator=""):
         """
         Private method to read in the project session file (.e4s)
@@ -939,6 +955,23 @@
         TasksWriter(f, True, os.path.splitext(os.path.basename(fn))[0]).writeXML()
         f.close()
         
+    def __showContextMenuDebugger(self):
+        """
+        Private slot called before the Debugger menu is shown.
+        """
+        enable = True
+        if self.pfile is None:
+            enable = False
+        else:
+            fn, ext = os.path.splitext(os.path.basename(self.pfile))
+            fn = os.path.join(self.getProjectManagementDir(),
+                              '{0}.e4d'.format(fn))
+            enable = os.path.exists(fn)
+        self.dbgActGrp.findChild(QAction, "project_debugger_properties_load")\
+            .setEnabled(enable)
+        self.dbgActGrp.findChild(QAction, "project_debugger_properties_delete")\
+            .setEnabled(enable)
+        
     def __readDebugProperties(self, quiet=False):
         """
         Private method to read in the project debugger properties file (.e4d)
@@ -3483,6 +3516,8 @@
         self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics)
         self.apidocMenu.aboutToShow.connect(self.__showContextMenuApiDoc)
         self.packagersMenu.aboutToShow.connect(self.__showContextMenuPackagers)
+        self.sessionMenu.aboutToShow.connect(self.__showContextMenuSession)
+        self.debuggerMenu.aboutToShow.connect(self.__showContextMenuDebugger)
         menu.aboutToShow.connect(self.__showMenu)
         
         # build the show menu

eric ide

mercurial