18 # Start-Of-Header |
21 # Start-Of-Header |
19 name = "Refactoring Rope Plugin" |
22 name = "Refactoring Rope Plugin" |
20 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
23 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
21 autoactivate = True |
24 autoactivate = True |
22 deactivateable = True |
25 deactivateable = True |
23 version = "2.3.8" |
26 version = "2.4.0" |
24 className = "RefactoringRopePlugin" |
27 className = "RefactoringRopePlugin" |
25 packageName = "RefactoringRope" |
28 packageName = "RefactoringRope" |
26 internalPackages = "rope" |
29 internalPackages = "rope" |
27 shortDescription = "Refactoring using the Rope library." |
30 shortDescription = "Refactoring using the Rope library." |
28 longDescription = """This plugin implements refactoring functionality""" \ |
31 longDescription = """This plugin implements refactoring functionality""" \ |
29 """ using the Rope refactoring library.""" |
32 """ using the Rope refactoring library. Only refactoring in the same""" \ |
|
33 """ Python version as Eric is running is allowed.""" |
30 pyqtApi = 2 |
34 pyqtApi = 2 |
|
35 doNotCompile = True |
|
36 python2Compatible = True |
31 # End-Of-Header |
37 # End-Of-Header |
32 |
38 |
33 error = "" |
39 error = "" |
34 |
40 |
35 |
41 |
100 extrasAct = self.__ui.getMenuBarAction("extras") |
106 extrasAct = self.__ui.getMenuBarAction("extras") |
101 self.__mainAct = self.__ui.menuBar().insertMenu( |
107 self.__mainAct = self.__ui.menuBar().insertMenu( |
102 extrasAct, self.__mainMenu) |
108 extrasAct, self.__mainMenu) |
103 |
109 |
104 if e5App().getObject("Project").isOpen(): |
110 if e5App().getObject("Project").isOpen(): |
105 self.__mainAct.setEnabled(True) |
111 self.__projectOpened() |
|
112 |
|
113 if self.__projectIsOpen: |
106 self.__object.projectOpened() |
114 self.__object.projectOpened() |
107 else: |
|
108 self.__mainAct.setEnabled(False) |
|
109 |
115 |
110 e5App().getObject("Project").projectOpened.connect( |
116 e5App().getObject("Project").projectOpened.connect( |
|
117 self.__object.projectOpened) |
|
118 e5App().getObject("Project").projectPropertiesChanged.connect( |
111 self.__object.projectOpened) |
119 self.__object.projectOpened) |
112 e5App().getObject("Project").projectClosed.connect( |
120 e5App().getObject("Project").projectClosed.connect( |
113 self.__object.projectClosed) |
121 self.__object.projectClosed) |
114 e5App().getObject("Project").newProject.connect( |
122 e5App().getObject("Project").newProject.connect( |
115 self.__object.projectOpened) |
123 self.__object.projectOpened) |
116 |
124 |
117 e5App().getObject("Project").projectOpened.connect( |
125 e5App().getObject("Project").projectOpened.connect( |
118 self.__projectOpened) |
126 self.__projectOpened) |
|
127 e5App().getObject("Project").projectPropertiesChanged.connect( |
|
128 self.__projectOpened) |
119 e5App().getObject("Project").projectClosed.connect( |
129 e5App().getObject("Project").projectClosed.connect( |
120 self.__projectClosed) |
130 self.__projectClosed) |
121 e5App().getObject("Project").newProject.connect( |
131 e5App().getObject("Project").newProject.connect( |
122 self.__projectOpened) |
132 self.__projectOpened) |
123 |
133 |
129 """ |
139 """ |
130 e5App().unregisterPluginObject("RefactoringRope") |
140 e5App().unregisterPluginObject("RefactoringRope") |
131 |
141 |
132 e5App().getObject("Project").projectOpened.disconnect( |
142 e5App().getObject("Project").projectOpened.disconnect( |
133 self.__object.projectOpened) |
143 self.__object.projectOpened) |
|
144 e5App().getObject("Project").projectPropertiesChanged.disconnect( |
|
145 self.__object.projectOpened) |
134 e5App().getObject("Project").projectClosed.disconnect( |
146 e5App().getObject("Project").projectClosed.disconnect( |
135 self.__object.projectClosed) |
147 self.__object.projectClosed) |
136 e5App().getObject("Project").newProject.disconnect( |
148 e5App().getObject("Project").newProject.disconnect( |
137 self.__object.projectOpened) |
149 self.__object.projectOpened) |
138 |
150 |
139 e5App().getObject("Project").projectOpened.disconnect( |
151 e5App().getObject("Project").projectOpened.disconnect( |
|
152 self.__projectOpened) |
|
153 e5App().getObject("Project").projectPropertiesChanged.disconnect( |
140 self.__projectOpened) |
154 self.__projectOpened) |
141 e5App().getObject("Project").projectClosed.disconnect( |
155 e5App().getObject("Project").projectClosed.disconnect( |
142 self.__projectClosed) |
156 self.__projectClosed) |
143 e5App().getObject("Project").newProject.disconnect( |
157 e5App().getObject("Project").newProject.disconnect( |
144 self.__projectOpened) |
158 self.__projectOpened) |
170 |
184 |
171 def __projectOpened(self): |
185 def __projectOpened(self): |
172 """ |
186 """ |
173 Public slot to handle the projectOpened signal. |
187 Public slot to handle the projectOpened signal. |
174 """ |
188 """ |
175 if e5App().getObject("Project").getProjectLanguage() in ["Python3"]: |
189 if sys.version_info[0] == 3: |
176 self.__mainAct.setEnabled(True) |
190 lang = ["Python3"] |
177 self.__projectIsOpen = True |
191 elif sys.version_info[0] == 2: |
|
192 lang = ["Python", "Python2"] |
|
193 else: |
|
194 lang = [] |
|
195 |
|
196 enabled = e5App().getObject("Project").getProjectLanguage() in lang |
|
197 self.__mainAct.setEnabled(enabled) |
|
198 self.__projectIsOpen = enabled |
178 |
199 |
179 def __projectClosed(self): |
200 def __projectClosed(self): |
180 """ |
201 """ |
181 Public slot to handle the projectClosed signal. |
202 Public slot to handle the projectClosed signal. |
182 """ |
203 """ |