Skip to content

Commit d2e6c14

Browse files
Addon: Added button to open folder with Addons (#55)
* Addon: Button to open folder with Addons * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent e6cdc36 commit d2e6c14

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

AddonManager.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
from typing import Dict
3434

3535
from PySide import QtGui, QtCore, QtWidgets
36+
from PySide.QtGui import QDesktopServices
37+
from PySide.QtCore import QUrl
38+
3639
import FreeCAD
3740
import FreeCADGui
3841

@@ -310,6 +313,7 @@ def launch(self) -> None:
310313
lambda: self.force_check_updates(standalone=True)
311314
)
312315
self.button_bar.python_dependencies.clicked.connect(self.show_python_updates_dialog)
316+
self.button_bar.addons_folder.clicked.connect(self.open_addons_folder)
313317
self.button_bar.developer_tools.clicked.connect(self.show_developer_tools)
314318
self.composite_view.package_list.stop_loading.connect(self.stop_update)
315319
self.composite_view.package_list.setEnabled(False)
@@ -947,5 +951,10 @@ def remove(self, addon: Addon) -> None:
947951
)
948952
self.installer_gui.run() # Does not block
949953

954+
def open_addons_folder(self):
955+
addons_folder = fci.DataPaths().mod_dir
956+
QDesktopServices.openUrl(QUrl.fromLocalFile(addons_folder))
957+
return
958+
950959

951960
# @}

Widgets/addonmanager_widget_global_buttons.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def __init__(self, parent: QtWidgets.QWidget = None):
6363
self.update_all_addons = None
6464
self.check_for_updates = None
6565
self.python_dependencies = None
66+
self.addons_folder = None
6667
self.developer_tools = None
6768
self.close = None
6869
self._update_ui()
@@ -76,11 +77,13 @@ def _update_ui(self):
7677
self.check_for_updates = QtWidgets.QPushButton(self)
7778
self.python_dependencies = QtWidgets.QPushButton(self)
7879
self.developer_tools = QtWidgets.QPushButton(self)
80+
self.addons_folder = QtWidgets.QPushButton(self)
7981
self.close = QtWidgets.QPushButton(self)
8082
self.horizontal_layout.addWidget(self.refresh_local_cache)
8183
self.horizontal_layout.addWidget(self.update_all_addons)
8284
self.horizontal_layout.addWidget(self.check_for_updates)
8385
self.horizontal_layout.addWidget(self.python_dependencies)
86+
self.horizontal_layout.addWidget(self.addons_folder)
8487
self.horizontal_layout.addWidget(self.developer_tools)
8588
self.horizontal_layout.addStretch()
8689
self.horizontal_layout.addWidget(self.close)
@@ -96,6 +99,7 @@ def retranslateUi(self, _):
9699
self.update_all_addons.setText(translate("AddonsInstaller", "Update all addons"))
97100
self.check_for_updates.setText(translate("AddonsInstaller", "Check for updates"))
98101
self.python_dependencies.setText(translate("AddonsInstaller", "Python dependencies..."))
102+
self.addons_folder.setText(translate("AddonsFolder", "Open Addons folder"))
99103
self.developer_tools.setText(translate("AddonsInstaller", "Developer tools..."))
100104
self.close.setText(translate("AddonsInstaller", "Close"))
101105

0 commit comments

Comments
 (0)