diff --git a/src/Mod/AddonManager/package_details.py b/src/Mod/AddonManager/package_details.py index 130d17d783..c6c5526d6a 100644 --- a/src/Mod/AddonManager/package_details.py +++ b/src/Mod/AddonManager/package_details.py @@ -41,12 +41,13 @@ show_javascript_console_output = False try: from PySide2.QtWebEngineWidgets import * + HAS_QTWEBENGINE = True except Exception: FreeCAD.Console.PrintWarning( translate( "AddonsInstaller", - "Addon Manager Warning: Could not import QtWebEngineWidgets, it seems to be missing from your system. Please use your system's package manager to install the python3-pyside2.qtwebengine* packages, and if possible alert your package creator to the missing dependency. Display of package README will be limited until dependency is resolved.", + "Addon Manager Warning: Could not import QtWebEngineWidgets, it seems to be missing from your system. Please use your system's package manager to install the python3-pyside2.qtwebengine* and python3-pyside2.qtwebchannel packages, and if possible alert your package creator to the missing dependency. Display of package README will be limited until this dependency is resolved.", ) + "\n" ) @@ -73,7 +74,6 @@ class PackageDetails(QWidget): self.status_update_thread = None self.ui.buttonBack.clicked.connect(self.back.emit) - self.ui.buttonBack.clicked.connect(self.clear_web_view) self.ui.buttonExecute.clicked.connect(lambda: self.execute.emit(self.repo)) self.ui.buttonInstall.clicked.connect(lambda: self.install.emit(self.repo)) self.ui.buttonUninstall.clicked.connect(lambda: self.uninstall.emit(self.repo)) @@ -102,8 +102,13 @@ class PackageDetails(QWidget): if HAS_QTWEBENGINE: self.ui.loadingLabel.show() + self.ui.slowLoadLabel.hide() + self.ui.webView.setHtml("
Loading...") self.ui.webView.hide() self.ui.progressBar.show() + self.timeout = QTimer.singleShot( + 6000, self.long_load_running + ) # Six seconds else: self.ui.missingWebViewLabel.setStyleSheet( "color:" + utils.warning_color_string() @@ -403,9 +408,6 @@ class PackageDetails(QWidget): """ self.ui.webView.page().runJavaScript(s) - def clear_web_view(self): - self.ui.webView.setHtml("