1
0
Fork 0
mirror of synced 2024-06-26 10:11:19 +12:00

Fixed bugs in dxvk settings, make more texts selectable

This commit is contained in:
Dummerle 2021-04-06 10:28:03 +02:00
parent f6e53a7e1f
commit 61dad1863f
4 changed files with 19 additions and 7 deletions

View file

@ -1,7 +1,7 @@
import os import os
from logging import getLogger 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 PyQt5.QtWidgets import QWidget, QVBoxLayout, QPushButton, QHBoxLayout, QLabel
from Rare.Components.Dialogs.PathInputDialog import PathInputDialog from Rare.Components.Dialogs.PathInputDialog import PathInputDialog
@ -130,6 +130,7 @@ class SyncWidget(QWidget):
save_path_layout = QHBoxLayout() save_path_layout = QHBoxLayout()
self.save_path_text = QLabel(igame.save_path) self.save_path_text = QLabel(igame.save_path)
self.save_path_text.setTextInteractionFlags(Qt.TextSelectableByMouse)
self.save_path_text.setWordWrap(True) self.save_path_text.setWordWrap(True)
self.change_save_path = QPushButton(self.tr("Change path")) self.change_save_path = QPushButton(self.tr("Change path"))
self.change_save_path.clicked.connect(self.change_path) self.change_save_path.clicked.connect(self.change_path)

View file

@ -337,7 +337,6 @@ class UpdateWidget(QWidget):
def __init__(self, core: LegendaryCore, game: InstalledGame): def __init__(self, core: LegendaryCore, game: InstalledGame):
super(UpdateWidget, self).__init__() super(UpdateWidget, self).__init__()
print(game)
self.core = core self.core = core
self.game = game self.game = game
print(self.game) print(self.game)

View file

@ -65,6 +65,7 @@ class GameInfo(QWidget):
right_layout.addWidget(self.game_title) right_layout.addWidget(self.game_title)
self.dev = QLabel("Error") self.dev = QLabel("Error")
self.dev.setTextInteractionFlags(Qt.TextSelectableByMouse)
right_layout.addWidget(self.dev) right_layout.addWidget(self.dev)
self.app_name = QLabel("Error") self.app_name = QLabel("Error")
@ -72,12 +73,14 @@ class GameInfo(QWidget):
right_layout.addWidget(self.app_name) right_layout.addWidget(self.app_name)
self.version = QLabel("Error") self.version = QLabel("Error")
self.version.setTextInteractionFlags(Qt.TextSelectableByMouse)
right_layout.addWidget(self.version) right_layout.addWidget(self.version)
self.install_size = QLabel("Error") self.install_size = QLabel("Error")
right_layout.addWidget(self.install_size) right_layout.addWidget(self.install_size)
self.install_path = QLabel("Error") self.install_path = QLabel("Error")
self.install_path.setTextInteractionFlags(Qt.TextSelectableByMouse)
right_layout.addWidget(self.install_path) right_layout.addWidget(self.install_path)
top_layout.addLayout(right_layout) top_layout.addLayout(right_layout)

View file

@ -41,8 +41,10 @@ class DxvkWidget(QGroupBox):
self.more_settings.setPopupMode(QToolButton.InstantPopup) self.more_settings.setPopupMode(QToolButton.InstantPopup)
self.more_settings.setMenu(QMenu()) self.more_settings.setMenu(QMenu())
self.more_settings.setText("More DXVK settings") self.more_settings.setText("More DXVK settings")
action = QWidgetAction(self) action = QWidgetAction(self)
self.more_settings_widget = DxvkMoreSettingsWidget(self.dxvk_settings, self.core) 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) action.setDefaultWidget(self.more_settings_widget)
self.more_settings.menu().addAction(action) self.more_settings.menu().addAction(action)
@ -71,7 +73,8 @@ class DxvkWidget(QGroupBox):
def update_dxvk_active(self): def update_dxvk_active(self):
if self.show_dxvk.isChecked(): if self.show_dxvk.isChecked():
if not f"{self.name}.env" in self.core.lgd.config.sections(): 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) self.more_settings.setDisabled(False)
for i in self.more_settings_widget.settings: 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") self.core.lgd.config.remove_option(f"{self.name}.env", "DXVK_HUD")
if not self.core.lgd.config[f"{self.name}.env"]: if not self.core.lgd.config[f"{self.name}.env"]:
self.core.lgd.config.remove_section(f"{self.name}.env") self.core.lgd.config.remove_section(f"{self.name}.env")
print("Remove Section DXVK_HUD")
self.core.lgd.save_config() self.core.lgd.save_config()
class DxvkMoreSettingsWidget(QWidget): class DxvkMoreSettingsWidget(QWidget):
show_dxvk = pyqtSignal(bool)
def __init__(self, settings: dict, core: LegendaryCore): def __init__(self, settings: dict, core: LegendaryCore):
super(DxvkMoreSettingsWidget, self).__init__() super(DxvkMoreSettingsWidget, self).__init__()
self.layout = QVBoxLayout() self.layout = QVBoxLayout()
@ -118,16 +121,22 @@ class DxvkMoreSettingsWidget(QWidget):
y = list(self.settings[tag]) y = list(self.settings[tag])
y[0] = checked y[0] = checked
self.settings[tag] = tuple(y) self.settings[tag] = tuple(y)
# print(self.settings)
sett = [] sett = []
logger.debug(self.settings) logger.debug(self.settings)
for i in self.settings: for i in self.settings:
check, _ = self.settings[i] check, _ = self.settings[i]
if check: if check:
sett.append(i) sett.append(i)
if sett: if len(sett) != 0:
self.core.lgd.config[f"{self.name}.env"]["DXVK_HUD"] = ",".join(sett) 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): class CheckBox(QCheckBox):