From 4b6fab878f4413033a729fa72da873acf1c55c35 Mon Sep 17 00:00:00 2001 From: Sergey Palcheh Date: Sat, 24 Jan 2026 16:15:41 +0600 Subject: [PATCH] gui: Prefix Manager -> added the Wine Control Panel button --- winehelper_gui.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/winehelper_gui.py b/winehelper_gui.py index 93c9466..3ea0d07 100644 --- a/winehelper_gui.py +++ b/winehelper_gui.py @@ -2303,42 +2303,48 @@ class WineHelperGUI(QMainWindow): self.prefix_winefile_button.setToolTip("Запуск файлового менеджера Wine (winefile) для просмотра файлов внутри префикса.") management_layout.addWidget(self.prefix_winefile_button, 2, 1) + self.prefix_control_button = QPushButton("Панель управления Wine") + self.prefix_control_button.setMinimumHeight(32) + self.prefix_control_button.clicked.connect(lambda: self._run_wine_util('control', prefix_name=self.current_managed_prefix_name)) + self.prefix_control_button.setToolTip("Запуск панели управления Wine (control) для настройки компонентов и параметров.") + management_layout.addWidget(self.prefix_control_button, 3, 0, 1, 2) + self.change_wine_version_button = QPushButton("Управление Wine/Proton") self.change_wine_version_button.setMinimumHeight(32) self.change_wine_version_button.clicked.connect(self.open_wine_version_manager) self.change_wine_version_button.setToolTip("Изменение версии Wine или Proton для выбранного префикса.") - management_layout.addWidget(self.change_wine_version_button, 3, 0, 1, 2) + management_layout.addWidget(self.change_wine_version_button, 4, 0, 1, 2) self.esync_button = QPushButton("ESync") self.esync_button.setCheckable(True) self.esync_button.setToolTip("Включить/выключить Eventfd-based synchronization.") self.esync_button.clicked.connect(lambda: self.update_sync_option("WINEESYNC", self.esync_button.isChecked())) - management_layout.addWidget(self.esync_button, 4, 0) + management_layout.addWidget(self.esync_button, 5, 0) self.fsync_button = QPushButton("FSync") self.fsync_button.setCheckable(True) self.fsync_button.setToolTip("Включить/выключить Futex-based synchronization.") self.fsync_button.clicked.connect(lambda: self.update_sync_option("WINEFSYNC", self.fsync_button.isChecked())) - management_layout.addWidget(self.fsync_button, 4, 1) + management_layout.addWidget(self.fsync_button, 5, 1) self.dxvk_manage_button = QPushButton("Управление DXVK") self.dxvk_manage_button.setMinimumHeight(32) self.dxvk_manage_button.clicked.connect(lambda: self.open_component_version_manager('dxvk')) self.dxvk_manage_button.setToolTip("Установка или удаление определенной версии DXVK в префиксе.") - management_layout.addWidget(self.dxvk_manage_button, 5, 0) + management_layout.addWidget(self.dxvk_manage_button, 6, 0) self.vkd3d_manage_button = QPushButton("Управление VKD3D") self.vkd3d_manage_button.setMinimumHeight(32) self.vkd3d_manage_button.clicked.connect(lambda: self.open_component_version_manager('vkd3d-proton')) self.vkd3d_manage_button.setToolTip("Установка или удаление определенной версии vkd3d-proton в префиксе.") - management_layout.addWidget(self.vkd3d_manage_button, 5, 1) + management_layout.addWidget(self.vkd3d_manage_button, 6, 1) self.file_associations_button = QPushButton("Ассоциации файлов") self.file_associations_button.setMinimumHeight(32) self.file_associations_button.clicked.connect(self.open_file_associations_manager) self.file_associations_button.setToolTip( "Настройка открытия определенных типов файлов с помощью нативных приложений Linux.") - management_layout.addWidget(self.file_associations_button, 6, 0, 1, 2) + management_layout.addWidget(self.file_associations_button, 7, 0, 1, 2) # --- Правая сторона: Информационный блок и кнопки установки --- right_column_widget = QWidget() @@ -2372,7 +2378,7 @@ class WineHelperGUI(QMainWindow): right_column_layout.setStretch(0, 1) # Информационное окно растягивается right_column_layout.setStretch(1, 0) # Группа кнопок не растягивается - management_layout.addWidget(right_column_widget, 0, 2, 7, 1) + management_layout.addWidget(right_column_widget, 0, 2, 8, 1) management_layout.setColumnStretch(0, 1) management_layout.setColumnStretch(1, 1)