--- 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"))