src/eric7/MultiProject/MultiProject.py

branch
eric7
changeset 10503
6a37b6ac3928
parent 10439
21c28b0f9e41
child 10595
59579e8aff98
equal deleted inserted replaced
10502:89b8e0a67fde 10503:6a37b6ac3928
310 for project in self.__projects.values(): 310 for project in self.__projects.values():
311 if project.file == newProject.file: 311 if project.file == newProject.file:
312 return 312 return
313 313
314 # step 2: check, if main should be changed 314 # step 2: check, if main should be changed
315 if newProject.master: 315 if newProject.main:
316 for project in self.__projects.values(): 316 for project in self.__projects.values():
317 if project.master: 317 if project.main:
318 project.master = False 318 project.main = False
319 self.projectDataChanged.emit(project) 319 self.projectDataChanged.emit(project)
320 self.setDirty(True) 320 self.setDirty(True)
321 break 321 break
322 322
323 # step 3: add the project entry 323 # step 3: add the project entry
369 dstProject = MultiProjectProjectMeta( 369 dstProject = MultiProjectProjectMeta(
370 name=self.tr("{0} - Copy").format(srcProject["name"]), 370 name=self.tr("{0} - Copy").format(srcProject["name"]),
371 file=os.path.join( 371 file=os.path.join(
372 dstProjectDirectory, os.path.basename(srcProject["file"]) 372 dstProjectDirectory, os.path.basename(srcProject["file"])
373 ), 373 ),
374 master=False, 374 main=False,
375 description=srcProject.description, 375 description=srcProject.description,
376 category=srcProject.category, 376 category=srcProject.category,
377 uid=dstUid, 377 uid=dstUid,
378 ) 378 )
379 self.__projects[dstUid] = dstProject 379 self.__projects[dstUid] = dstProject
386 386
387 @param pro dictionary with the project data 387 @param pro dictionary with the project data
388 @type str 388 @type str
389 """ 389 """
390 # step 1: check, if main should be changed 390 # step 1: check, if main should be changed
391 if pro.master: 391 if pro.main:
392 for project in self.__projects.values(): 392 for project in self.__projects.values():
393 if project.master: 393 if project.main:
394 if project.uid != pro.uid: 394 if project.uid != pro.uid:
395 project.master = False 395 project.main = False
396 self.projectDataChanged.emit(project) 396 self.projectDataChanged.emit(project)
397 self.setDirty(True) 397 self.setDirty(True)
398 break 398 break
399 399
400 # step 2: change the entry 400 # step 2: change the entry
401 project = self.__projects[pro.uid] 401 project = self.__projects[pro.uid]
402 # project UID is not changeable via interface 402 # project UID is not changeable via interface
403 project.file = pro.file 403 project.file = pro.file
404 project.name = pro.name 404 project.name = pro.name
405 project.master = pro.master 405 project.main = pro.main
406 project.description = pro.description 406 project.description = pro.description
407 project.category = pro.category 407 project.category = pro.category
408 if project.category not in self.categories: 408 if project.category not in self.categories:
409 self.categories.append(project.category) 409 self.categories.append(project.category)
410 self.projectDataChanged.emit(project) 410 self.projectDataChanged.emit(project)
539 self.addProjectAct.setEnabled(True) 539 self.addProjectAct.setEnabled(True)
540 self.propsAct.setEnabled(True) 540 self.propsAct.setEnabled(True)
541 541
542 self.multiProjectOpened.emit() 542 self.multiProjectOpened.emit()
543 543
544 if openMain and Preferences.getMultiProject("OpenMasterAutomatically"): 544 if openMain and Preferences.getMultiProject("OpenMainAutomatically"):
545 self.__openMainProject(False) 545 self.__openMainProject(False)
546 546
547 def saveMultiProject(self): 547 def saveMultiProject(self):
548 """ 548 """
549 Public slot to save the current multi project. 549 Public slot to save the current multi project.
1025 reopened, if it has been opened already 1025 reopened, if it has been opened already
1026 @type bool 1026 @type bool
1027 """ 1027 """
1028 for project in self.__projects.values(): 1028 for project in self.__projects.values():
1029 if ( 1029 if (
1030 project.master 1030 project.main
1031 and not project.removed 1031 and not project.removed
1032 and ( 1032 and (
1033 reopen 1033 reopen
1034 or not self.projectObject.isOpen() 1034 or not self.projectObject.isOpen()
1035 or self.projectObject.getProjectFile() != project.file 1035 or self.projectObject.getProjectFile() != project.file
1044 1044
1045 @return name of the main project file 1045 @return name of the main project file
1046 @rtype str 1046 @rtype str
1047 """ 1047 """
1048 for project in self.__projects: 1048 for project in self.__projects:
1049 if project.master: 1049 if project.main:
1050 return project.file 1050 return project.file
1051 1051
1052 return None 1052 return None
1053 1053
1054 def getDependantProjectFiles(self): 1054 def getDependantProjectFiles(self):
1058 @return names of the dependent project files 1058 @return names of the dependent project files
1059 @rtype list of str 1059 @rtype list of str
1060 """ 1060 """
1061 files = [] 1061 files = []
1062 for project in self.__projects.values(): 1062 for project in self.__projects.values():
1063 if not project.master: 1063 if not project.main:
1064 files.append(project.file) 1064 files.append(project.file)
1065 return files 1065 return files
1066 1066
1067 def __checkFilesExist(self): 1067 def __checkFilesExist(self):
1068 """ 1068 """

eric ide

mercurial