eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py

branch
eric7
changeset 8943
23f9c7b9e18e
parent 8881
54e42bc2437a
--- a/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Mon Feb 07 22:02:35 2022 +0100
+++ b/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Tue Feb 08 16:21:09 2022 +0100
@@ -7,8 +7,9 @@
 Module implementing a simple Python syntax checker.
 """
 
+import fnmatch
 import os
-import fnmatch
+import time
 
 from PyQt6.QtCore import pyqtSlot, Qt, QTimer
 from PyQt6.QtWidgets import (
@@ -62,6 +63,7 @@
         self.__batch = False
         self.__finished = True
         self.__errorItem = None
+        self.__timenow = time.monotonic()
         
         self.__fileList = []
         self.__project = None
@@ -219,6 +221,7 @@
                 # now go through all the files
                 self.progress = 0
                 self.files.sort()
+                self.__timenow = time.monotonic()
                 if codestring or len(self.files) == 1:
                     self.__batch = False
                     self.check(codestring)
@@ -285,7 +288,9 @@
         argumentsList = []
         for progress, filename in enumerate(self.files, start=1):
             self.checkProgress.setValue(progress)
-            QApplication.processEvents()
+            if time.monotonic() - self.__timenow > 0.01:
+                QApplication.processEvents()
+                self.__timenow = time.monotonic()
             
             try:
                 source = Utilities.readEncodedFile(filename)[0]
@@ -381,7 +386,9 @@
         self.progress += 1
         self.checkProgress.setValue(self.progress)
         self.checkProgressLabel.setPath(fn)
-        QApplication.processEvents()
+        if time.monotonic() - self.__timenow > 0.01:
+            QApplication.processEvents()
+            self.__timenow = time.monotonic()
         self.__resort()
 
         if not self.__batch:

eric ide

mercurial