MultiProject/MultiProject.py

changeset 3545
4a0bbb2d5457
parent 3541
5c35f4f0ecf1
child 3546
adce5fd2d051
--- a/MultiProject/MultiProject.py	Sun Apr 27 19:40:48 2014 +0200
+++ b/MultiProject/MultiProject.py	Mon Apr 28 19:18:51 2014 +0200
@@ -99,6 +99,7 @@
                                 #                 project
                                 # 'description' : description of the project
                                 # 'category'    : name of the group
+                                # 'uid'         : unique identifier
         self.categories = []
     
     def __loadRecent(self):
@@ -213,7 +214,7 @@
     
     def __readMultiProject(self, fn):
         """
-        Private method to read in a multi project (.e4m) file.
+        Private method to read in a multi project (.e4m, .e5m) file.
         
         @param fn filename of the multi project file to be read (string)
         @return flag indicating success
@@ -307,7 +308,8 @@
         dlg = AddProjectDialog(self.ui, startdir=startdir,
                                categories=self.categories)
         if dlg.exec_() == QDialog.Accepted:
-            name, filename, isMaster, description, category = dlg.getData()
+            name, filename, isMaster, description, category, uid = \
+                dlg.getData()
             
             # step 1: check, if project was already added
             for project in self.projects:
@@ -330,6 +332,7 @@
                 'master': isMaster,
                 'description': description,
                 'category': category,
+                'uid': uid,
             }
             self.projects.append(project)
             if category not in self.categories:
@@ -347,7 +350,7 @@
         if pro['master']:
             for project in self.projects:
                 if project['master']:
-                    if project['file'] != pro['file']:
+                    if project['uid'] != pro['uid']:
                         project['master'] = False
                         self.projectDataChanged.emit(project)
                         self.setDirty(True)
@@ -355,8 +358,9 @@
         
         # step 2: change the entry
         for project in self.projects:
-            if project['file'] == pro['file']:
-                # project file name is not changeable via interface
+            if project['uid'] == pro['uid']:
+                # project UID is not changeable via interface
+                project['file'] = pro['file']
                 project['name'] = pro['name']
                 project['master'] = pro['master']
                 project['description'] = pro['description']
@@ -914,9 +918,9 @@
     
     def getDependantProjectFiles(self):
         """
-        Public method to get the filenames of the dependant projects.
+        Public method to get the filenames of the dependent projects.
         
-        @return names of the dependant project files (list of strings)
+        @return names of the dependent project files (list of strings)
         """
         files = []
         for project in self.projects:

eric ide

mercurial