Project/Project.py

changeset 765
e5cbb3f273eb
parent 651
e8020b9ac2b9
child 788
5b1b59777460
equal deleted inserted replaced
763:59c27b72d344 765:e5cbb3f273eb
69 Class implementing the project management functionality. 69 Class implementing the project management functionality.
70 70
71 @signal dirty(int) emitted when the dirty state changes 71 @signal dirty(int) emitted when the dirty state changes
72 @signal projectLanguageAdded(str) emitted after a new language was added 72 @signal projectLanguageAdded(str) emitted after a new language was added
73 @signal projectLanguageAddedByCode(str) emitted after a new language was added. 73 @signal projectLanguageAddedByCode(str) emitted after a new language was added.
74 The language code is sent by this signal. 74 The language code is sent by this signal.
75 @signal projectLanguageRemoved(str) emitted after a language was removed
75 @signal projectFormAdded(str) emitted after a new form was added 76 @signal projectFormAdded(str) emitted after a new form was added
77 @signal projectFormRemoved(str) emitted after a form was removed
76 @signal projectSourceAdded(str) emitted after a new source file was added 78 @signal projectSourceAdded(str) emitted after a new source file was added
79 @signal projectSourceRemoved(str) emitted after a source was removed
77 @signal projectInterfaceAdded(str) emitted after a new IDL file was added 80 @signal projectInterfaceAdded(str) emitted after a new IDL file was added
81 @signal projectInterfaceRemoved(str) emitted after a IDL file was removed
78 @signal projectResourceAdded(str) emitted after a new resource file was added 82 @signal projectResourceAdded(str) emitted after a new resource file was added
83 @signal projectResourceRemoved(str) emitted after a resource was removed
84 @signal projectOthersAdded(str) emitted after a file or directory was added
85 to the OTHERS project data area
86 @signal projectOthersRemoved(str) emitted after a file was removed from the
87 OTHERS project data area
79 @signal projectAboutToBeCreated() emitted just before the project will be created 88 @signal projectAboutToBeCreated() emitted just before the project will be created
80 @signal newProjectHooks() emitted after a new project was generated but before 89 @signal newProjectHooks() emitted after a new project was generated but before
81 the newProject() signal is sent 90 the newProject() signal is sent
82 @signal newProject() emitted after a new project was generated 91 @signal newProject() emitted after a new project was generated
83 @signal sourceFile(str) emitted after a project file was read to 92 @signal sourceFile(str) emitted after a project file was read to
86 projectOpened() signal is sent 95 projectOpened() signal is sent
87 @signal projectOpened() emitted after a project file was read 96 @signal projectOpened() emitted after a project file was read
88 @signal projectClosedHooks() emitted after a project file was closed but before the 97 @signal projectClosedHooks() emitted after a project file was closed but before the
89 projectClosed() signal is sent 98 projectClosed() signal is sent
90 @signal projectClosed() emitted after a project was closed 99 @signal projectClosed() emitted after a project was closed
91 @signal projectOthersAdded(str) emitted after a file or directory was added
92 to the OTHERS project data area
93 @signal projectFileRenamed(str, str) emitted after a file of the project 100 @signal projectFileRenamed(str, str) emitted after a file of the project
94 has been renamed 101 has been renamed
95 @signal projectPropertiesChanged() emitted after the project properties were changed 102 @signal projectPropertiesChanged() emitted after the project properties were changed
96 @signal directoryRemoved(str) emitted after a directory has been removed from 103 @signal directoryRemoved(str) emitted after a directory has been removed from
97 the project 104 the project
108 changed 115 changed
109 """ 116 """
110 dirty = pyqtSignal(int) 117 dirty = pyqtSignal(int)
111 projectLanguageAdded = pyqtSignal(str) 118 projectLanguageAdded = pyqtSignal(str)
112 projectLanguageAddedByCode = pyqtSignal(str) 119 projectLanguageAddedByCode = pyqtSignal(str)
120 projectLanguageRemoved = pyqtSignal(str)
113 projectFormAdded = pyqtSignal(str) 121 projectFormAdded = pyqtSignal(str)
122 projectFormRemoved = pyqtSignal(str)
114 projectSourceAdded = pyqtSignal(str) 123 projectSourceAdded = pyqtSignal(str)
124 projectSourceRemoved = pyqtSignal(str)
115 projectInterfaceAdded = pyqtSignal(str) 125 projectInterfaceAdded = pyqtSignal(str)
126 projectInterfaceRemoved = pyqtSignal(str)
116 projectResourceAdded = pyqtSignal(str) 127 projectResourceAdded = pyqtSignal(str)
128 projectResourceRemoved = pyqtSignal(str)
117 projectOthersAdded = pyqtSignal(str) 129 projectOthersAdded = pyqtSignal(str)
130 projectOthersRemoved = pyqtSignal(str)
118 projectAboutToBeCreated = pyqtSignal() 131 projectAboutToBeCreated = pyqtSignal()
119 newProjectHooks = pyqtSignal() 132 newProjectHooks = pyqtSignal()
120 newProject = pyqtSignal() 133 newProject = pyqtSignal()
121 sourceFile = pyqtSignal(str) 134 sourceFile = pyqtSignal(str)
122 projectOpenedHooks = pyqtSignal() 135 projectOpenedHooks = pyqtSignal()
1632 """ 1645 """
1633 fn = self.getRelativePath(fn) 1646 fn = self.getRelativePath(fn)
1634 dirty = True 1647 dirty = True
1635 if fn in self.pdata["SOURCES"]: 1648 if fn in self.pdata["SOURCES"]:
1636 self.pdata["SOURCES"].remove(fn) 1649 self.pdata["SOURCES"].remove(fn)
1650 self.projectSourceRemoved.emit(fn)
1637 elif fn in self.pdata["FORMS"]: 1651 elif fn in self.pdata["FORMS"]:
1638 self.pdata["FORMS"].remove(fn) 1652 self.pdata["FORMS"].remove(fn)
1653 self.projectFormRemoved.emit(fn)
1639 elif fn in self.pdata["INTERFACES"]: 1654 elif fn in self.pdata["INTERFACES"]:
1640 self.pdata["INTERFACES"].remove(fn) 1655 self.pdata["INTERFACES"].remove(fn)
1656 self.projectInterfaceRemoved.emit(fn)
1641 elif fn in self.pdata["RESOURCES"]: 1657 elif fn in self.pdata["RESOURCES"]:
1642 self.pdata["RESOURCES"].remove(fn) 1658 self.pdata["RESOURCES"].remove(fn)
1659 self.projectResourceRemoved.emit(fn)
1643 elif fn in self.pdata["OTHERS"]: 1660 elif fn in self.pdata["OTHERS"]:
1644 self.pdata["OTHERS"].remove(fn) 1661 self.pdata["OTHERS"].remove(fn)
1662 self.projectOthersRemoved.emit(fn)
1645 elif fn in self.pdata["TRANSLATIONS"]: 1663 elif fn in self.pdata["TRANSLATIONS"]:
1646 self.pdata["TRANSLATIONS"].remove(fn) 1664 self.pdata["TRANSLATIONS"].remove(fn)
1665 self.projectLanguageRemoved.emit(fn)
1647 else: 1666 else:
1648 dirty = False 1667 dirty = False
1649 updateModel and self.__model.removeItem(fn) 1668 updateModel and self.__model.removeItem(fn)
1650 if dirty: 1669 if dirty:
1651 self.setDirty(True) 1670 self.setDirty(True)

eric ide

mercurial