diff --git a/src/Mod/AddonManager/addonmanager_macro.py b/src/Mod/AddonManager/addonmanager_macro.py index 2313d9cb1a..e9579d40bb 100644 --- a/src/Mod/AddonManager/addonmanager_macro.py +++ b/src/Mod/AddonManager/addonmanager_macro.py @@ -63,6 +63,7 @@ class Macro(object): self.comment = "" self.code = "" self.url = "" + self.wiki = "" self.version = "" self.date = "" self.src_filename = "" @@ -112,6 +113,7 @@ class Macro(object): # For now: # __Comment__ # __Web__ + # __Wiki__ # __Version__ # __Files__ # __Author__ @@ -123,6 +125,7 @@ class Macro(object): string_search_mapping = { "__comment__": "comment", "__web__": "url", + "__wiki__": "wiki", "__version__": "version", "__files__": "other_files", "__author__": "author", diff --git a/src/Mod/AddonManager/package_details.py b/src/Mod/AddonManager/package_details.py index 99534e3ca1..4825309383 100644 --- a/src/Mod/AddonManager/package_details.py +++ b/src/Mod/AddonManager/package_details.py @@ -491,15 +491,23 @@ class PackageDetails(QWidget): self.macro_readme_updated() def macro_readme_updated(self): + url = self.repo.macro.wiki + if not url: + url = self.repo.macro.url + if HAS_QTWEBENGINE: - self.ui.webView.load(QUrl(self.repo.macro.url)) - self.ui.urlBar.setText(self.repo.macro.url) + if url: + self.ui.webView.load(QUrl(url)) + self.ui.urlBar.setText(url) + else: + self.ui.urlBar.setText("(" + translate("AddonsInstaller", "No URL or wiki page provided by this macro") + ")") else: - readme_data = NetworkManager.AM_NETWORK_MANAGER.blocking_get( - self.repo.macro.url - ) - text = readme_data.data().decode("utf8") - self.ui.textBrowserReadMe.setHtml(text) + if url: + readme_data = NetworkManager.AM_NETWORK_MANAGER.blocking_get(url) + text = readme_data.data().decode("utf8") + self.ui.textBrowserReadMe.setHtml(text) + else: + self.ui.textBrowserReadMe.setHtml("(" + translate("AddonsInstaller", "No URL or wiki page provided by this macro") + ")") def run_javascript(self): """Modify the page for a README to optimize for viewing in a smaller window"""