1
0
Fork 0
mirror of synced 2024-06-17 01:54:46 +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
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)

View file

@ -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)

View file

@ -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)

View file

@ -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):