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