From 61dad1863f9e48455158f8a069b671b19714c1f5 Mon Sep 17 00:00:00 2001 From: Dummerle Date: Tue, 6 Apr 2021 10:28:03 +0200 Subject: [PATCH] Fixed bugs in dxvk settings, make more texts selectable --- Rare/Components/Tabs/CloudSaves/SyncWidget.py | 3 ++- Rare/Components/Tabs/Downloads/DownloadTab.py | 1 - .../Tabs/Games/GameInfo/GameInfo.py | 3 +++ Rare/Components/Tabs/Settings/Dxvk.py | 19 ++++++++++++++----- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Rare/Components/Tabs/CloudSaves/SyncWidget.py b/Rare/Components/Tabs/CloudSaves/SyncWidget.py index f3b48457..9abe2aa4 100644 --- a/Rare/Components/Tabs/CloudSaves/SyncWidget.py +++ b/Rare/Components/Tabs/CloudSaves/SyncWidget.py @@ -1,7 +1,7 @@ import os from logging import getLogger -from PyQt5.QtCore import QThread, pyqtSignal +from PyQt5.QtCore import QThread, pyqtSignal, Qt from PyQt5.QtWidgets import QWidget, QVBoxLayout, QPushButton, QHBoxLayout, QLabel from Rare.Components.Dialogs.PathInputDialog import PathInputDialog @@ -130,6 +130,7 @@ class SyncWidget(QWidget): save_path_layout = QHBoxLayout() self.save_path_text = QLabel(igame.save_path) + self.save_path_text.setTextInteractionFlags(Qt.TextSelectableByMouse) self.save_path_text.setWordWrap(True) self.change_save_path = QPushButton(self.tr("Change path")) self.change_save_path.clicked.connect(self.change_path) diff --git a/Rare/Components/Tabs/Downloads/DownloadTab.py b/Rare/Components/Tabs/Downloads/DownloadTab.py index 16a6f632..dc1946e5 100644 --- a/Rare/Components/Tabs/Downloads/DownloadTab.py +++ b/Rare/Components/Tabs/Downloads/DownloadTab.py @@ -337,7 +337,6 @@ class UpdateWidget(QWidget): def __init__(self, core: LegendaryCore, game: InstalledGame): super(UpdateWidget, self).__init__() - print(game) self.core = core self.game = game print(self.game) diff --git a/Rare/Components/Tabs/Games/GameInfo/GameInfo.py b/Rare/Components/Tabs/Games/GameInfo/GameInfo.py index 159ee834..1ca27074 100644 --- a/Rare/Components/Tabs/Games/GameInfo/GameInfo.py +++ b/Rare/Components/Tabs/Games/GameInfo/GameInfo.py @@ -65,6 +65,7 @@ class GameInfo(QWidget): right_layout.addWidget(self.game_title) self.dev = QLabel("Error") + self.dev.setTextInteractionFlags(Qt.TextSelectableByMouse) right_layout.addWidget(self.dev) self.app_name = QLabel("Error") @@ -72,12 +73,14 @@ class GameInfo(QWidget): right_layout.addWidget(self.app_name) self.version = QLabel("Error") + self.version.setTextInteractionFlags(Qt.TextSelectableByMouse) right_layout.addWidget(self.version) self.install_size = QLabel("Error") right_layout.addWidget(self.install_size) self.install_path = QLabel("Error") + self.install_path.setTextInteractionFlags(Qt.TextSelectableByMouse) right_layout.addWidget(self.install_path) top_layout.addLayout(right_layout) diff --git a/Rare/Components/Tabs/Settings/Dxvk.py b/Rare/Components/Tabs/Settings/Dxvk.py index 993d3ba9..4fffa1c0 100644 --- a/Rare/Components/Tabs/Settings/Dxvk.py +++ b/Rare/Components/Tabs/Settings/Dxvk.py @@ -41,8 +41,10 @@ class DxvkWidget(QGroupBox): self.more_settings.setPopupMode(QToolButton.InstantPopup) self.more_settings.setMenu(QMenu()) self.more_settings.setText("More DXVK settings") + action = QWidgetAction(self) self.more_settings_widget = DxvkMoreSettingsWidget(self.dxvk_settings, self.core) + self.more_settings_widget.show_dxvk.connect(lambda x: self.show_dxvk.setChecked(x)) action.setDefaultWidget(self.more_settings_widget) self.more_settings.menu().addAction(action) @@ -71,7 +73,8 @@ class DxvkWidget(QGroupBox): def update_dxvk_active(self): if self.show_dxvk.isChecked(): if not f"{self.name}.env" in self.core.lgd.config.sections(): - self.core.lgd.config[f"{self.name}.env"] = {} + print("add section dxvk") + self.core.lgd.config.add_section(f"{self.name}.env") self.more_settings.setDisabled(False) for i in self.more_settings_widget.settings: @@ -93,11 +96,11 @@ class DxvkWidget(QGroupBox): self.core.lgd.config.remove_option(f"{self.name}.env", "DXVK_HUD") if not self.core.lgd.config[f"{self.name}.env"]: self.core.lgd.config.remove_section(f"{self.name}.env") - print("Remove Section DXVK_HUD") self.core.lgd.save_config() class DxvkMoreSettingsWidget(QWidget): + show_dxvk = pyqtSignal(bool) def __init__(self, settings: dict, core: LegendaryCore): super(DxvkMoreSettingsWidget, self).__init__() self.layout = QVBoxLayout() @@ -118,16 +121,22 @@ class DxvkMoreSettingsWidget(QWidget): y = list(self.settings[tag]) y[0] = checked self.settings[tag] = tuple(y) - # print(self.settings) + sett = [] logger.debug(self.settings) for i in self.settings: check, _ = self.settings[i] if check: sett.append(i) - if sett: + if len(sett) != 0: self.core.lgd.config[f"{self.name}.env"]["DXVK_HUD"] = ",".join(sett) - self.core.lgd.save_config() + + else: + self.core.lgd.config.remove_option(f"{self.name}.env", "DXVK_HUD") + self.show_dxvk.emit(False) + if not self.core.lgd.config.options(f"{self.name}.env"): + self.core.lgd.config.remove_section(f"{self.name}.env") + self.core.lgd.save_config() class CheckBox(QCheckBox):