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)
|
self.created_prefix_selector.currentIndexChanged.connect(self.on_created_prefix_selected)
|
||||||
selector_layout.addWidget(self.created_prefix_selector, 1)
|
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 = QPushButton()
|
||||||
self.create_base_pfx_button.setIcon(QIcon.fromTheme("document-export"))
|
self.create_base_pfx_button.setIcon(QIcon.fromTheme("document-export"))
|
||||||
self.create_base_pfx_button.setToolTip("Создать шаблон из выбранного префикса (для опытных пользователей)")
|
self.create_base_pfx_button.setToolTip("Создать шаблон из выбранного префикса (для опытных пользователей)")
|
||||||
@@ -2400,6 +2407,7 @@ class WineHelperGUI(QMainWindow):
|
|||||||
self.delete_prefix_button.setEnabled(False)
|
self.delete_prefix_button.setEnabled(False)
|
||||||
self.remove_all_button.setEnabled(False)
|
self.remove_all_button.setEnabled(False)
|
||||||
self.create_base_pfx_button.setEnabled(False)
|
self.create_base_pfx_button.setEnabled(False)
|
||||||
|
self.open_prefix_folder_button.setEnabled(False)
|
||||||
else:
|
else:
|
||||||
# Прокручиваем к выбранному элементу, чтобы он был виден в списке
|
# Прокручиваем к выбранному элементу, чтобы он был виден в списке
|
||||||
self.created_prefix_selector.view().scrollTo(
|
self.created_prefix_selector.view().scrollTo(
|
||||||
@@ -2411,6 +2419,7 @@ class WineHelperGUI(QMainWindow):
|
|||||||
self.delete_prefix_button.setEnabled(True)
|
self.delete_prefix_button.setEnabled(True)
|
||||||
self.remove_all_button.setEnabled(True)
|
self.remove_all_button.setEnabled(True)
|
||||||
self.create_base_pfx_button.setEnabled(True)
|
self.create_base_pfx_button.setEnabled(True)
|
||||||
|
self.open_prefix_folder_button.setEnabled(True)
|
||||||
|
|
||||||
def delete_selected_prefix(self):
|
def delete_selected_prefix(self):
|
||||||
"""Удаляет префикс, выбранный в выпадающем списке на вкладке 'Менеджер префиксов'."""
|
"""Удаляет префикс, выбранный в выпадающем списке на вкладке 'Менеджер префиксов'."""
|
||||||
@@ -2519,6 +2528,21 @@ class WineHelperGUI(QMainWindow):
|
|||||||
self._run_simple_command("create-base-pfx", [prefix_name])
|
self._run_simple_command("create-base-pfx", [prefix_name])
|
||||||
self.command_dialog.exec_()
|
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):
|
def _setup_prefix_management_panel(self, prefix_name):
|
||||||
"""Настраивает панель управления префиксом на основе текущего состояния."""
|
"""Настраивает панель управления префиксом на основе текущего состояния."""
|
||||||
is_prefix_selected = bool(prefix_name)
|
is_prefix_selected = bool(prefix_name)
|
||||||
|
Reference in New Issue
Block a user