eric7/Graphics/PackageDiagramBuilder.py

branch
eric7
changeset 8943
23f9c7b9e18e
parent 8881
54e42bc2437a
diff -r e91951ff3bbd -r 23f9c7b9e18e eric7/Graphics/PackageDiagramBuilder.py
--- a/eric7/Graphics/PackageDiagramBuilder.py	Mon Feb 07 22:02:35 2022 +0100
+++ b/eric7/Graphics/PackageDiagramBuilder.py	Tue Feb 08 16:21:09 2022 +0100
@@ -8,7 +8,8 @@
 """
 
 import glob
-import os.path
+import os
+import time
 from itertools import zip_longest
 
 from PyQt6.QtWidgets import QApplication, QGraphicsTextItem
@@ -110,9 +111,12 @@
             progress.show()
             QApplication.processEvents()
             
+            now = time.monotonic()
             for prog, module in enumerate(modules):
                 progress.setValue(prog)
-                QApplication.processEvents()
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()
+                    now = time.monotonic()
                 try:
                     mod = Utilities.ModuleParser.readModule(
                         module, extensions=extensions, caching=False)
@@ -174,6 +178,7 @@
             progress.show()
             QApplication.processEvents()
             
+            now = time.monotonic()
             for subpackage in subpackagesList:
                 packageName = os.path.basename(subpackage)
                 subpackagesDict[packageName] = []
@@ -183,7 +188,9 @@
                         Utilities.normjoinpath(subpackage, ext)))
                 for prog, module in enumerate(modules):
                     progress.setValue(prog)
-                    QApplication.processEvents()
+                    if time.monotonic() - now > 0.01:
+                        QApplication.processEvents()
+                        now = time.monotonic()
                     try:
                         mod = Utilities.ModuleParser.readModule(
                             module, extensions=extensions, caching=False)

eric ide

mercurial