forked from CastroFidel/winehelper
added the Open Prefix folder button in the file manager
This commit is contained in:
@@ -2179,6 +2179,13 @@ class WineHelperGUI(QMainWindow):
|
||||
self.created_prefix_selector.currentIndexChanged.connect(self.on_created_prefix_selected)
|
||||
selector_layout.addWidget(self.created_prefix_selector, 1)
|
||||
|
||||
self.open_prefix_folder_button = QPushButton()
|
||||
self.open_prefix_folder_button.setIcon(QIcon.fromTheme("folder-open"))
|
||||
self.open_prefix_folder_button.setToolTip("Открыть папку префикса в файловом менеджере")
|
||||
self.open_prefix_folder_button.setEnabled(False)
|
||||
self.open_prefix_folder_button.clicked.connect(self.open_selected_prefix_folder)
|
||||
selector_layout.addWidget(self.open_prefix_folder_button)
|
||||
|
||||
self.create_base_pfx_button = QPushButton()
|
||||
self.create_base_pfx_button.setIcon(QIcon.fromTheme("document-export"))
|
||||
self.create_base_pfx_button.setToolTip("Создать шаблон из выбранного префикса (для опытных пользователей)")
|
||||
@@ -2400,6 +2407,7 @@ class WineHelperGUI(QMainWindow):
|
||||
self.delete_prefix_button.setEnabled(False)
|
||||
self.remove_all_button.setEnabled(False)
|
||||
self.create_base_pfx_button.setEnabled(False)
|
||||
self.open_prefix_folder_button.setEnabled(False)
|
||||
else:
|
||||
# Прокручиваем к выбранному элементу, чтобы он был виден в списке
|
||||
self.created_prefix_selector.view().scrollTo(
|
||||
@@ -2411,6 +2419,7 @@ class WineHelperGUI(QMainWindow):
|
||||
self.delete_prefix_button.setEnabled(True)
|
||||
self.remove_all_button.setEnabled(True)
|
||||
self.create_base_pfx_button.setEnabled(True)
|
||||
self.open_prefix_folder_button.setEnabled(True)
|
||||
|
||||
def delete_selected_prefix(self):
|
||||
"""Удаляет префикс, выбранный в выпадающем списке на вкладке 'Менеджер префиксов'."""
|
||||
@@ -2519,6 +2528,21 @@ class WineHelperGUI(QMainWindow):
|
||||
self._run_simple_command("create-base-pfx", [prefix_name])
|
||||
self.command_dialog.exec_()
|
||||
|
||||
def open_selected_prefix_folder(self):
|
||||
"""Открывает папку выбранного префикса в системном файловом менеджере."""
|
||||
prefix_name = self.current_managed_prefix_name
|
||||
if not prefix_name:
|
||||
return
|
||||
|
||||
prefix_path = os.path.join(Var.USER_WORK_PATH, "prefixes", prefix_name)
|
||||
if os.path.isdir(prefix_path):
|
||||
try:
|
||||
subprocess.Popen(['xdg-open', prefix_path])
|
||||
except Exception as e:
|
||||
QMessageBox.warning(self, "Ошибка", f"Не удалось открыть директорию:\n{prefix_path}\n\nОшибка: {e}")
|
||||
else:
|
||||
QMessageBox.warning(self, "Ошибка", f"Директория префикса не найдена:\n{prefix_path}")
|
||||
|
||||
def _setup_prefix_management_panel(self, prefix_name):
|
||||
"""Настраивает панель управления префиксом на основе текущего состояния."""
|
||||
is_prefix_selected = bool(prefix_name)
|
||||
|
Reference in New Issue
Block a user