PluginRefactoringRope.py

changeset 31
0389d4a924cc
parent 20
83b71483e198
child 32
0fdb3a385bb5
--- 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)
         

eric ide

mercurial