diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py
index 01d2ec90e6..41384a0b77 100644
--- a/src/Mod/AddonManager/AddonManager.py
+++ b/src/Mod/AddonManager/AddonManager.py
@@ -146,6 +146,7 @@ class CommandAddonManager:
warning_dialog = FreeCADGui.PySideUic.loadUi(
os.path.join(os.path.dirname(__file__), "first_run.ui")
)
+ warning_dialog.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint, True)
autocheck = pref.GetBool("AutoCheck", False)
download_macros = pref.GetBool("DownloadMacros", False)
proxy_string = pref.GetString("ProxyUrl", "")
@@ -258,7 +259,7 @@ class CommandAddonManager:
self.dialog = FreeCADGui.PySideUic.loadUi(
os.path.join(os.path.dirname(__file__), "AddonManager.ui")
)
- self.dialog.setWindowFlag(QtCore.Qt.Tool)
+ self.dialog.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint, True)
# cleanup the leftovers from previous runs
self.macro_repo_dir = FreeCAD.getUserMacroDir(True)
@@ -1045,6 +1046,7 @@ class CommandAddonManager:
os.path.dirname(__file__), "dependency_resolution_dialog.ui"
)
)
+ self.dependency_dialog.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint, True)
for addon in missing.external_addons:
self.dependency_dialog.listWidgetAddons.addItem(addon)
diff --git a/src/Mod/AddonManager/NetworkManager.py b/src/Mod/AddonManager/NetworkManager.py
index 625249e032..7a4dd322a2 100644
--- a/src/Mod/AddonManager/NetworkManager.py
+++ b/src/Mod/AddonManager/NetworkManager.py
@@ -405,6 +405,7 @@ if HAVE_QTNETWORK:
proxy_authentication = FreeCADGui.PySideUic.loadUi(
os.path.join(os.path.dirname(__file__), "proxy_authentication.ui")
)
+ proxy_authentication.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint, True)
# Show the right labels, etc.
proxy_authentication.labelProxyAddress.setText(
f"{reply.hostName()}:{reply.port()}"
diff --git a/src/Mod/AddonManager/change_branch.py b/src/Mod/AddonManager/change_branch.py
index 3480ba5d96..d737584595 100644
--- a/src/Mod/AddonManager/change_branch.py
+++ b/src/Mod/AddonManager/change_branch.py
@@ -48,6 +48,7 @@ class ChangeBranchDialog(QtWidgets.QWidget):
self.ui = FreeCADGui.PySideUic.loadUi(
os.path.join(os.path.dirname(__file__), "change_branch.ui")
)
+ self.ui.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint, True)
self.item_filter = ChangeBranchDialogFilter()
self.ui.tableView.setModel(self.item_filter)
diff --git a/src/Mod/AddonManager/dependency_resolution_dialog.ui b/src/Mod/AddonManager/dependency_resolution_dialog.ui
index 28cd16b365..55ce7a57b3 100644
--- a/src/Mod/AddonManager/dependency_resolution_dialog.ui
+++ b/src/Mod/AddonManager/dependency_resolution_dialog.ui
@@ -3,7 +3,7 @@
DependencyResolutionDialog
- Qt::WindowModal
+ Qt::ApplicationModal
@@ -16,6 +16,12 @@
Resolve Dependencies
+
+ true
+
+
+ true
+
-
diff --git a/src/Mod/AddonManager/first_run.ui b/src/Mod/AddonManager/first_run.ui
index 4daf95476c..1f13c7d04c 100644
--- a/src/Mod/AddonManager/first_run.ui
+++ b/src/Mod/AddonManager/first_run.ui
@@ -3,7 +3,7 @@
Dialog
- Qt::WindowModal
+ Qt::ApplicationModal
diff --git a/src/Mod/AddonManager/install_to_toolbar.py b/src/Mod/AddonManager/install_to_toolbar.py
index bf1d3ca4ea..654bba052d 100644
--- a/src/Mod/AddonManager/install_to_toolbar.py
+++ b/src/Mod/AddonManager/install_to_toolbar.py
@@ -37,6 +37,7 @@ def ask_to_install_toolbar_button(repo: Addon) -> None:
add_toolbar_button_dialog = FreeCADGui.PySideUic.loadUi(
os.path.join(os.path.dirname(__file__), "add_toolbar_button_dialog.ui")
)
+ add_toolbar_button_dialog.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint, True)
add_toolbar_button_dialog.buttonYes.clicked.connect(
lambda: install_toolbar_button(repo)
)
@@ -72,6 +73,7 @@ def ask_for_toolbar(
select_toolbar_dialog = FreeCADGui.PySideUic.loadUi(
os.path.join(os.path.dirname(__file__), "select_toolbar_dialog.ui")
)
+ select_toolbar_dialog.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint, True)
select_toolbar_dialog.comboBox.clear()