--- a/PluginRefactoringRope.py Sun May 22 11:37:19 2011 +0200 +++ b/PluginRefactoringRope.py Sat Jul 30 11:07:35 2011 +0200 @@ -9,7 +9,7 @@ import os -from PyQt4.QtCore import QObject, QTranslator, SIGNAL +from PyQt4.QtCore import QObject, QTranslator from E5Gui.E5Application import e5App @@ -20,7 +20,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "2.0.0" +version = "2.1.0" className = "RefactoringRopePlugin" packageName = "RefactoringRope" internalPackages = "rope" @@ -47,8 +47,6 @@ self.__ui = ui self.__initialize() - self.__newStyle = ui.versionIsNewer("5.0.99", "20100811") - self.__translator = None self.__loadTranslator() @@ -62,12 +60,31 @@ self.__mainMenu = None self.__projectIsOpen = False + def __checkUiVersion(self): + """ + Private method to check, if the IDE has a suitable version. + + @return flag indicating a suitable version (boolean) + """ + global error + + suitable = self.__ui.versionIsNewer("5.0.99", "20100811") + if not suitable: + error = self.trUtf8("Your version of eric5 is not supported.") + return suitable + def activate(self): """ Public method to activate this plugin. @return tuple of None and activation status (boolean) """ + global error + error = "" # clear previous error + + if not self.__checkUiVersion(): + return None, False + from RefactoringRope.Refactoring import Refactoring self.__object = Refactoring(self, self.__ui) @@ -90,34 +107,19 @@ else: self.__mainAct.setEnabled(False) - if self.__newStyle: - e5App().getObject("Project").projectOpened.connect( - self.__object.projectOpened) - e5App().getObject("Project").projectClosed.connect( - self.__object.projectClosed) - e5App().getObject("Project").newProject.connect( - self.__object.projectOpened) - - e5App().getObject("Project").projectOpened.connect( - self.__projectOpened) - e5App().getObject("Project").projectClosed.connect( - self.__projectClosed) - e5App().getObject("Project").newProject.connect( - self.__projectOpened) - else: - self.connect(e5App().getObject("Project"), SIGNAL('projectOpened'), - self.__object.projectOpened) - self.connect(e5App().getObject("Project"), SIGNAL('projectClosed'), - self.__object.projectClosed) - self.connect(e5App().getObject("Project"), SIGNAL('newProject'), - self.__object.projectOpened) - - self.connect(e5App().getObject("Project"), SIGNAL('projectOpened'), - self.__projectOpened) - self.connect(e5App().getObject("Project"), SIGNAL('projectClosed'), - self.__projectClosed) - self.connect(e5App().getObject("Project"), SIGNAL('newProject'), - self.__projectOpened) + e5App().getObject("Project").projectOpened.connect( + self.__object.projectOpened) + e5App().getObject("Project").projectClosed.connect( + self.__object.projectClosed) + e5App().getObject("Project").newProject.connect( + self.__object.projectOpened) + + e5App().getObject("Project").projectOpened.connect( + self.__projectOpened) + e5App().getObject("Project").projectClosed.connect( + self.__projectClosed) + e5App().getObject("Project").newProject.connect( + self.__projectOpened) return None, True @@ -127,40 +129,19 @@ """ e5App().unregisterPluginObject("RefactoringRope") - if self.__newStyle: - e5App().getObject("Project").projectOpened.disconnect( - self.__object.projectOpened) - e5App().getObject("Project").projectClosed.disconnect( - self.__object.projectClosed) - e5App().getObject("Project").newProject.disconnect( - self.__object.projectOpened) - - e5App().getObject("Project").projectOpened.disconnect( - self.__projectOpened) - e5App().getObject("Project").projectClosed.disconnect( - self.__projectClosed) - e5App().getObject("Project").newProject.disconnect( - self.__projectOpened) - else: - self.disconnect(e5App().getObject("Project"), - SIGNAL('projectOpened'), - self.__object.projectOpened) - self.disconnect(e5App().getObject("Project"), - SIGNAL('projectClosed'), - self.__object.projectClosed) - self.disconnect(e5App().getObject("Project"), - SIGNAL('newProject'), - self.__object.projectOpened) - - self.disconnect(e5App().getObject("Project"), - SIGNAL('projectOpened'), - self.__projectOpened) - self.disconnect(e5App().getObject("Project"), - SIGNAL('projectClosed'), - self.__projectClosed) - self.disconnect(e5App().getObject("Project"), - SIGNAL('newProject'), - self.__projectOpened) + e5App().getObject("Project").projectOpened.disconnect( + self.__object.projectOpened) + e5App().getObject("Project").projectClosed.disconnect( + self.__object.projectClosed) + e5App().getObject("Project").newProject.disconnect( + self.__object.projectOpened) + + e5App().getObject("Project").projectOpened.disconnect( + self.__projectOpened) + e5App().getObject("Project").projectClosed.disconnect( + self.__projectClosed) + e5App().getObject("Project").newProject.disconnect( + self.__projectOpened) self.__ui.menuBar().removeAction(self.__mainAct)