QScintilla/Editor.py

changeset 1754
4e2f87d03546
parent 1723
6e690a8f5971
child 1758
e18f96b1714b
--- a/QScintilla/Editor.py	Sat Mar 31 19:15:17 2012 +0200
+++ b/QScintilla/Editor.py	Sun Apr 01 14:31:29 2012 +0200
@@ -411,6 +411,11 @@
         # create the online syntax check timer
         self.__initOnlineSyntaxCheck()
         
+        if self.fileName and \
+           self.project.isOpen() and \
+           self.project.isProjectSource(self.fileName):
+            self.project.projectPropertiesChanged.connect(self.__projectPropertiesChanged)
+        
         self.grabGesture(Qt.PinchGesture)
     
     def __registerImages(self):
@@ -5288,8 +5293,12 @@
         
         if self.spell:
             self.spell.stopIncrementalCheck()
+        
+        try:
             self.project.projectPropertiesChanged.disconnect(
                 self.__projectPropertiesChanged)
+        except TypeError:
+            pass
         
         if self.fileName:
             self.taskViewer.clearFileTasks(self.fileName, True)
@@ -5885,7 +5894,27 @@
             pwl, pel = self.project.getProjectDictionaries()
             self.__setSpellingLanguage(self.project.getProjectSpellLanguage(),
                                        pwl=pwl, pel=pel)
+        
+        self.project.projectPropertiesChanged.connect(self.__projectPropertiesChanged)
+    
+    def projectOpened(self):
+        """
+        Public slot to handle the opening of a project.
+        """
+        if self.fileName and \
+           self.project.isProjectSource(self.fileName):
             self.project.projectPropertiesChanged.connect(self.__projectPropertiesChanged)
+            self.setSpellingForProject()
+    
+    def projectClosed(self):
+        """
+        Public slot to handle the closing of a project.
+        """
+        try:
+            self.project.projectPropertiesChanged.disconnect(
+                self.__projectPropertiesChanged)
+        except TypeError:
+            pass
     
     #######################################################################
     ## Spellchecking related methods
@@ -5913,7 +5942,6 @@
                 self.spell = SpellChecker(self, self.spellingIndicator,
                                           checkRegion=self.isSpellCheckRegion)
             self.setSpellingForProject()
-            self.project.projectPropertiesChanged.connect(self.__projectPropertiesChanged)
             self.spell.setMinimumWordSize(
                 Preferences.getEditor("SpellCheckingMinWordSize"))
             

eric ide

mercurial