eric7/PluginManager/PluginInstallDialog.py

branch
eric7
changeset 8943
23f9c7b9e18e
parent 8881
54e42bc2437a
child 9152
8a68afaf1ba2
--- a/eric7/PluginManager/PluginInstallDialog.py	Mon Feb 07 22:02:35 2022 +0100
+++ b/eric7/PluginManager/PluginInstallDialog.py	Tue Feb 08 16:21:09 2022 +0100
@@ -7,14 +7,15 @@
 Module implementing the Plugin installation dialog.
 """
 
+import compileall
+import contextlib
+import glob
 import os
+import shutil
 import sys
-import shutil
+import time
+import urllib.parse
 import zipfile
-import compileall
-import glob
-import contextlib
-import urllib.parse
 
 from PyQt6.QtCore import pyqtSlot, Qt, QDir, QFileInfo
 from PyQt6.QtWidgets import (
@@ -440,9 +441,13 @@
                 tot = len(namelist)
                 self.progress.setMaximum(tot)
                 QApplication.processEvents()
+                
+                now = time.monotonic()
                 for prog, name in enumerate(namelist):
                     self.progress.setValue(prog)
-                    QApplication.processEvents()
+                    if time.monotonic() - now > 0.01:
+                        QApplication.processEvents()
+                        now = time.monotonic()
                     if (
                         name == pluginFileName or
                         name.startswith("{0}/".format(packageName)) or

eric ide

mercurial