1
0
Fork 0
mirror of synced 2024-06-17 01:54:46 +12:00

Rare settings qscrollarea

This commit is contained in:
Dummerle 2021-04-08 10:38:24 +02:00
parent 62a3d9b609
commit afb74d4bad

View file

@ -2,8 +2,8 @@ import os
import shutil
from logging import getLogger
from PyQt5.QtCore import QSettings
from PyQt5.QtWidgets import QVBoxLayout, QFileDialog, QComboBox, QPushButton, QCheckBox, QGroupBox
from PyQt5.QtCore import QSettings, Qt
from PyQt5.QtWidgets import QVBoxLayout, QFileDialog, QComboBox, QPushButton, QCheckBox, QGroupBox, QScrollArea
from rare.components.tabs.settings.settings_widget import SettingsWidget
from rare.utils.extra_widgets import PathEdit
@ -18,16 +18,17 @@ languages = [
]
class RareSettings(QGroupBox):
class RareSettings(QScrollArea):
def __init__(self):
super(RareSettings, self).__init__()
self.setTitle(self.tr("Rare settings"))
self.setObjectName("group")
self.widget = QGroupBox(self.tr("Rare settings"))
self.widget.setObjectName("group")
self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
self.setWidgetResizable(True)
self.layout = QVBoxLayout()
settings = QSettings()
img_dir = settings.value("img_dir", os.path.expanduser("~/.cache/rare/images/"), type=str)
language = settings.value("language", get_lang(), type=str)
# select Image dir
self.select_path = PathEdit(img_dir, type_of_file=QFileDialog.DirectoryOnly)
self.select_path.text_edit.textChanged.connect(lambda t: self.save_path_button.setDisabled(False))
@ -38,10 +39,8 @@ class RareSettings(QGroupBox):
# Select lang
self.select_lang = QComboBox()
# languages = ["English", "Deutsch", "Français"]
self.select_lang.addItems([i[1] for i in languages])
if language in get_possible_langs():
index = [lang[0] for lang in languages].index(language)
self.select_lang.setCurrentIndex(index)
else:
@ -52,26 +51,22 @@ class RareSettings(QGroupBox):
self.exit_to_sys_tray = QCheckBox(self.tr("Hide to System Tray Icon"))
self.exit_to_sys_tray.setChecked(settings.value("sys_tray", True, bool))
self.exit_to_sys_tray.stateChanged.connect(self.update_sys_tray)
self.exit_to_sys_tray.stateChanged.connect(lambda x: self.update_checkbox(x, "sys_tray"))
self.sys_tray_widget = SettingsWidget(self.tr("Exit to System Tray Icon"), self.exit_to_sys_tray)
self.layout.addWidget(self.sys_tray_widget)
self.game_start_accept = QCheckBox(self.tr("Confirm launch of game"))
self.game_start_accept.stateChanged.connect(self.update_start_confirm)
self.game_start_accept.stateChanged.connect(lambda x: self.update_checkbox(x, "confirm_start"))
self.game_start_accept_widget = SettingsWidget(self.tr("Confirm launch of game"), self.game_start_accept)
self.layout.addWidget(self.game_start_accept_widget)
self.layout.addStretch()
self.widget.setLayout(self.layout)
self.setWidget(self.widget)
self.setLayout(self.layout)
def update_sys_tray(self):
def update_checkbox(self, checked, setting_name):
settings = QSettings()
settings.setValue("sys_tray", self.exit_to_sys_tray.isChecked())
def update_start_confirm(self):
settings = QSettings()
settings.setValue("confirm_start", self.game_start_accept.isChecked())
settings.setValue(setting_name, checked != 0)
def save_path(self):
self.save_path_button.setDisabled(True)
@ -79,8 +74,7 @@ class RareSettings(QGroupBox):
def update_lang(self, i: int):
settings = QSettings()
settings.setValue("language", languages[i][1])
settings.setValue("language", languages[i][0])
self.lang_widget.info_text.setText(self.tr("Restart Application to activate changes"))
def update_path(self):
@ -88,7 +82,6 @@ class RareSettings(QGroupBox):
old_path = settings.value("img_dir", type=str)
new_path = self.select_path.text()
print(old_path, new_path)
if old_path != new_path:
if not os.path.exists(new_path):
os.makedirs(new_path)