QScintilla/Editor.py

branch
5_3_x
changeset 2970
e9f971b4b3c5
parent 2901
11fdeb2891a8
child 3093
a0cf4c26566f
equal deleted inserted replaced
2943:12ff9a078e11 2970:e9f971b4b3c5
297 self.__setEolMode() 297 self.__setEolMode()
298 298
299 # set the text display 299 # set the text display
300 self.__setTextDisplay() 300 self.__setTextDisplay()
301 301
302 # initialize the online syntax check timer
303 self.__initOnlineSyntaxCheck()
304
302 self.isResourcesFile = False 305 self.isResourcesFile = False
303 if editor is None: 306 if editor is None:
304 if self.fileName is not None: 307 if self.fileName is not None:
305 if (QFileInfo(self.fileName).size() // 1024) > \ 308 if (QFileInfo(self.fileName).size() // 1024) > \
306 Preferences.getEditor("WarnFilesize"): 309 Preferences.getEditor("WarnFilesize"):
420 # register images to be shown in autocompletion lists 423 # register images to be shown in autocompletion lists
421 self.__registerImages() 424 self.__registerImages()
422 425
423 # connect signals after loading the text 426 # connect signals after loading the text
424 self.textChanged.connect(self.__textChanged) 427 self.textChanged.connect(self.__textChanged)
425
426 # initialize the online syntax check timer
427 self.__initOnlineSyntaxCheck()
428 428
429 # initialize the online change trace timer 429 # initialize the online change trace timer
430 self.__initOnlineChangeTrace() 430 self.__initOnlineChangeTrace()
431 431
432 if self.fileName and \ 432 if self.fileName and \
2561 ############################################################################ 2561 ############################################################################
2562 2562
2563 def __processFlags(self): 2563 def __processFlags(self):
2564 """ 2564 """
2565 Private method to extract flags and process them. 2565 Private method to extract flags and process them.
2566
2567 @return list of change flags (list of string)
2566 """ 2568 """
2567 txt = self.text() 2569 txt = self.text()
2568 flags = Utilities.extractFlags(txt) 2570 flags = Utilities.extractFlags(txt)
2569 2571
2572 changedFlags = []
2573
2570 # Flag 1: FileType 2574 # Flag 1: FileType
2571 if "FileType" in flags: 2575 if "FileType" in flags:
2576 oldFiletype = self.filetype
2572 if isinstance(flags["FileType"], str): 2577 if isinstance(flags["FileType"], str):
2573 self.filetype = flags["FileType"] 2578 self.filetype = flags["FileType"]
2574 self.filetypeByFlag = True 2579 self.filetypeByFlag = True
2580 if oldFiletype != self.filetype:
2581 changedFlags.append("FileType")
2575 else: 2582 else:
2576 if self.filetype != "" and self.filetypeByFlag: 2583 if self.filetype != "" and self.filetypeByFlag:
2577 self.filetype = "" 2584 self.filetype = ""
2578 self.filetypeByFlag = False 2585 self.filetypeByFlag = False
2579 self.__bindName(txt.splitlines()[0]) 2586 self.__bindName(txt.splitlines()[0])
2587 changedFlags.append("FileType")
2588
2589 return changedFlags
2580 2590
2581 ############################################################################ 2591 ############################################################################
2582 ## File handling methods below 2592 ## File handling methods below
2583 ############################################################################ 2593 ############################################################################
2584 2594
2828 self.fileName = fn 2838 self.fileName = fn
2829 self.setModified(False) 2839 self.setModified(False)
2830 self.setReadOnly(False) 2840 self.setReadOnly(False)
2831 self.setWindowTitle(self.fileName) 2841 self.setWindowTitle(self.fileName)
2832 # get eric specific flags 2842 # get eric specific flags
2833 self.__processFlags() 2843 changedFlags = self.__processFlags()
2834 if self.lexer_ is None and not self.__lexerReset: 2844 if not self.__lexerReset and "FileType" in changedFlags:
2835 self.setLanguage(self.fileName) 2845 self.setLanguage(self.fileName)
2836 2846
2837 if saveas: 2847 if saveas:
2838 self.isResourcesFile = self.fileName.endswith(".qrc") 2848 self.isResourcesFile = self.fileName.endswith(".qrc")
2839 self.__initContextMenu() 2849 self.__initContextMenu()
4769 def __autoSyntaxCheck(self): 4779 def __autoSyntaxCheck(self):
4770 """ 4780 """
4771 Private method to perform an automatic syntax check of the file. 4781 Private method to perform an automatic syntax check of the file.
4772 """ 4782 """
4773 if Preferences.getEditor("AutoCheckSyntax"): 4783 if Preferences.getEditor("AutoCheckSyntax"):
4784 if Preferences.getEditor("OnlineSyntaxCheck"):
4785 self.__onlineSyntaxCheckTimer.stop()
4774 self.clearSyntaxError() 4786 self.clearSyntaxError()
4775 self.clearFlakesWarnings() 4787 self.clearFlakesWarnings()
4776 if self.isPy3File(): 4788 if self.isPy3File():
4777 syntaxError, _fn, errorline, errorindex, _code, _error = \ 4789 syntaxError, _fn, errorline, errorindex, _code, _error = \
4778 Utilities.compile(self.fileName or "(Unnamed)", self.text()) 4790 Utilities.compile(self.fileName or "(Unnamed)", self.text())

eric ide

mercurial