1
0
Fork 0
mirror of synced 2024-06-02 02:34:40 +12:00

Adjust for one-line PathEdit

Make Console font monospaced.
Revert changes in Rare settings because they weren't working.
Replace a few GridLayouts with FormLayouts
This commit is contained in:
Stelios Tsampas 2021-09-08 23:50:42 +03:00
parent 9bec942358
commit 45dc4b8e7c
13 changed files with 1138 additions and 1064 deletions

View file

@ -1,4 +1,4 @@
from PyQt5.QtGui import QTextCursor
from PyQt5.QtGui import QTextCursor, QFont
from PyQt5.QtWidgets import QPlainTextEdit, QWidget, QPushButton, QFileDialog, QVBoxLayout
@ -39,6 +39,7 @@ class Console(QPlainTextEdit):
def __init__(self):
super().__init__()
self.setReadOnly(True)
self.setFont(QFont("monospace"))
self._cursor_output = self.textCursor()
def log(self, text):

View file

@ -84,12 +84,28 @@ class RareSettings(QWidget, Ui_RareSettings):
self.rpc = RPCSettings()
self.rpc_layout.addWidget(self.rpc, alignment=Qt.AlignTop)
for cb in self.checkboxes:
widget, option, default = cb
widget.setChecked(self.settings.value(option, default, bool))
widget.stateChanged.connect(
lambda: self.settings.setValue(option, widget.isChecked())
)
self.init_checkboxes(self.checkboxes)
self.sys_tray.stateChanged.connect(
lambda: self.settings.setValue("sys_tray", self.sys_tray.isChecked())
)
self.auto_update.stateChanged.connect(
lambda: self.settings.setValue("auto_update", self.auto_update.isChecked())
)
self.confirm_start.stateChanged.connect(
lambda: self.settings.setValue("confirm_start", self.confirm_start.isChecked())
)
self.auto_sync_cloud.stateChanged.connect(
lambda: self.settings.setValue("auto_sync_cloud", self.auto_sync_cloud.isChecked())
)
self.notification.stateChanged.connect(
lambda: self.settings.setValue("notification", self.notification.isChecked())
)
self.save_size.stateChanged.connect(
lambda: self.settings.setValue("save_size", self.save_size.isChecked())
)
# self.image_cache.stateChanged.connect(
# lambda: self.settings.setValue("cache_images", self.image_cache.isChecked())
# )
if platform.system() == "Linux":
@ -201,3 +217,8 @@ class RareSettings(QWidget, Ui_RareSettings):
os.rmdir(old_path)
self.img_dir_path = new_path
self.settings.setValue("img_dir", new_path)
def init_checkboxes(self, checkboxes):
for cb in checkboxes:
widget, option, default = cb
widget.setChecked(self.settings.value(option, default, bool))

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'game_settings.ui'
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/game_settings.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtWidgets
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_GameSettings(object):
@ -19,54 +19,52 @@ class Ui_GameSettings(object):
self.game_settings_layout.setObjectName("game_settings_layout")
self.title = QtWidgets.QLabel(GameSettings)
self.title.setText("error")
self.title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.title.setObjectName("title")
self.game_settings_layout.addWidget(self.title)
self.launch_settings_groupbox = QtWidgets.QGroupBox(GameSettings)
self.launch_settings_groupbox.setObjectName("launch_settings_groupbox")
self.launch_settings_layout = QtWidgets.QGridLayout(self.launch_settings_groupbox)
self.launch_settings_layout = QtWidgets.QFormLayout(self.launch_settings_groupbox)
self.launch_settings_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.launch_settings_layout.setObjectName("launch_settings_layout")
self.skip_update_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.skip_update_label.setObjectName("skip_update_label")
self.launch_settings_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.skip_update_label)
self.skip_update = QtWidgets.QComboBox(self.launch_settings_groupbox)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.skip_update.sizePolicy().hasHeightForWidth())
self.skip_update.setSizePolicy(sizePolicy)
self.skip_update.setObjectName("skip_update")
self.skip_update.addItem("")
self.skip_update.addItem("")
self.skip_update.addItem("")
self.launch_settings_layout.addWidget(self.skip_update, 0, 1, 1, 1, QtCore.Qt.AlignLeft)
self.cloud_sync = QtWidgets.QCheckBox(self.launch_settings_groupbox)
self.cloud_sync.setText("")
self.cloud_sync.setObjectName("cloud_sync")
self.launch_settings_layout.addWidget(self.cloud_sync, 2, 1, 1, 1, QtCore.Qt.AlignLeft)
self.launch_params_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.launch_params_label.setObjectName("launch_params_label")
self.launch_settings_layout.addWidget(self.launch_params_label, 3, 0, 1, 1, QtCore.Qt.AlignRight)
self.wrapper_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.wrapper_label.setObjectName("wrapper_label")
self.launch_settings_layout.addWidget(self.wrapper_label, 4, 0, 1, 1, QtCore.Qt.AlignRight)
self.skip_update_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.skip_update_label.setObjectName("skip_update_label")
self.launch_settings_layout.addWidget(self.skip_update_label, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.wrapper_widget = QtWidgets.QWidget(self.launch_settings_groupbox)
self.wrapper_widget.setObjectName("wrapper_widget")
self.wrapper_layout = QtWidgets.QHBoxLayout(self.wrapper_widget)
self.wrapper_layout.setContentsMargins(0, 0, 0, 0)
self.wrapper_layout.setObjectName("wrapper_layout")
self.wrapper = QtWidgets.QLineEdit(self.wrapper_widget)
self.wrapper.setMinimumSize(QtCore.QSize(400, 0))
self.wrapper.setObjectName("wrapper")
self.wrapper_layout.addWidget(self.wrapper)
self.wrapper_button = QtWidgets.QPushButton(self.wrapper_widget)
self.wrapper_button.setObjectName("wrapper_button")
self.wrapper_layout.addWidget(self.wrapper_button)
self.launch_settings_layout.addWidget(self.wrapper_widget, 4, 1, 1, 1)
self.launch_settings_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.skip_update)
self.offline_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.offline_label.setObjectName("offline_label")
self.launch_settings_layout.addWidget(self.offline_label, 1, 0, 1, 1, QtCore.Qt.AlignRight)
self.launch_settings_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.offline_label)
self.offline = QtWidgets.QComboBox(self.launch_settings_groupbox)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.offline.sizePolicy().hasHeightForWidth())
self.offline.setSizePolicy(sizePolicy)
self.offline.setObjectName("offline")
self.offline.addItem("")
self.offline.addItem("")
self.offline.addItem("")
self.launch_settings_layout.addWidget(self.offline, 1, 1, 1, 1, QtCore.Qt.AlignLeft)
self.launch_settings_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.offline)
self.cloud_sync_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.cloud_sync_label.setObjectName("cloud_sync_label")
self.launch_settings_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.cloud_sync_label)
self.cloud_sync = QtWidgets.QCheckBox(self.launch_settings_groupbox)
self.cloud_sync.setText("")
self.cloud_sync.setObjectName("cloud_sync")
self.launch_settings_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.cloud_sync)
self.launch_params_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.launch_params_label.setObjectName("launch_params_label")
self.launch_settings_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.launch_params_label)
self.launch_params_widget = QtWidgets.QWidget(self.launch_settings_groupbox)
self.launch_params_widget.setObjectName("launch_params_widget")
self.launch_params_layout = QtWidgets.QHBoxLayout(self.launch_params_widget)
@ -79,42 +77,54 @@ class Ui_GameSettings(object):
self.launch_params_button = QtWidgets.QPushButton(self.launch_params_widget)
self.launch_params_button.setObjectName("launch_params_button")
self.launch_params_layout.addWidget(self.launch_params_button)
self.launch_settings_layout.addWidget(self.launch_params_widget, 3, 1, 1, 1)
self.cloud_sync_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.cloud_sync_label.setObjectName("cloud_sync_label")
self.launch_settings_layout.addWidget(self.cloud_sync_label, 2, 0, 1, 1, QtCore.Qt.AlignRight)
self.game_settings_layout.addWidget(self.launch_settings_groupbox)
self.launch_settings_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.launch_params_widget)
self.wrapper_label = QtWidgets.QLabel(self.launch_settings_groupbox)
self.wrapper_label.setObjectName("wrapper_label")
self.launch_settings_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.wrapper_label)
self.wrapper_widget = QtWidgets.QWidget(self.launch_settings_groupbox)
self.wrapper_widget.setObjectName("wrapper_widget")
self.wrapper_layout = QtWidgets.QHBoxLayout(self.wrapper_widget)
self.wrapper_layout.setContentsMargins(0, 0, 0, 0)
self.wrapper_layout.setObjectName("wrapper_layout")
self.wrapper = QtWidgets.QLineEdit(self.wrapper_widget)
self.wrapper.setMinimumSize(QtCore.QSize(400, 0))
self.wrapper.setObjectName("wrapper")
self.wrapper_layout.addWidget(self.wrapper)
self.wrapper_button = QtWidgets.QPushButton(self.wrapper_widget)
self.wrapper_button.setObjectName("wrapper_button")
self.wrapper_layout.addWidget(self.wrapper_button)
self.launch_settings_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.wrapper_widget)
self.game_settings_layout.addWidget(self.launch_settings_groupbox, 0, QtCore.Qt.AlignTop)
self.proton_groupbox = QtWidgets.QGroupBox(GameSettings)
self.proton_groupbox.setObjectName("proton_groupbox")
self.proton_layout = QtWidgets.QGridLayout(self.proton_groupbox)
self.proton_layout = QtWidgets.QFormLayout(self.proton_groupbox)
self.proton_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.proton_layout.setObjectName("proton_layout")
self.proton_wrapper = QtWidgets.QComboBox(self.proton_groupbox)
self.proton_wrapper.setObjectName("proton_wrapper")
self.proton_wrapper.addItem("")
self.proton_layout.addWidget(self.proton_wrapper, 0, 1, 1, 1, QtCore.Qt.AlignLeft)
self.proton_wrapper_label = QtWidgets.QLabel(self.proton_groupbox)
self.proton_wrapper_label.setObjectName("proton_wrapper_label")
self.proton_layout.addWidget(self.proton_wrapper_label, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.proton_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.proton_wrapper_label)
self.proton_wrapper = QtWidgets.QComboBox(self.proton_groupbox)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.proton_wrapper.sizePolicy().hasHeightForWidth())
self.proton_wrapper.setSizePolicy(sizePolicy)
self.proton_wrapper.setObjectName("proton_wrapper")
self.proton_wrapper.addItem("")
self.proton_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.proton_wrapper)
self.proton_prefix_label = QtWidgets.QLabel(self.proton_groupbox)
self.proton_prefix_label.setObjectName("proton_prefix_label")
self.proton_layout.addWidget(self.proton_prefix_label, 1, 0, 1, 1, QtCore.Qt.AlignRight)
spacerItem = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum)
self.proton_layout.addItem(spacerItem, 4, 1, 1, 1)
self.proton_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.proton_prefix_label)
self.proton_prefix_layout = QtWidgets.QVBoxLayout()
self.proton_prefix_layout.setObjectName("proton_prefix_layout")
self.proton_layout.addLayout(self.proton_prefix_layout, 1, 1, 2, 1)
self.proton_prefix_alignment_label = QtWidgets.QLabel(self.proton_groupbox)
self.proton_prefix_alignment_label.setEnabled(False)
self.proton_prefix_alignment_label.setText("")
self.proton_prefix_alignment_label.setObjectName("proton_prefix_alignment_label")
self.proton_layout.addWidget(self.proton_prefix_alignment_label, 2, 0, 1, 1)
self.proton_layout.setLayout(2, QtWidgets.QFormLayout.FieldRole, self.proton_prefix_layout)
self.linux_layout = QtWidgets.QVBoxLayout()
self.linux_layout.setSpacing(0)
self.linux_layout.setObjectName("linux_layout")
self.proton_layout.addLayout(self.linux_layout, 3, 0, 1, 2)
self.game_settings_layout.addWidget(self.proton_groupbox)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.game_settings_layout.addItem(spacerItem1)
self.proton_layout.setLayout(3, QtWidgets.QFormLayout.SpanningRole, self.linux_layout)
self.game_settings_layout.addWidget(self.proton_groupbox, 0, QtCore.Qt.AlignTop)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.game_settings_layout.addItem(spacerItem)
self.retranslateUi(GameSettings)
QtCore.QMetaObject.connectSlotsByName(GameSettings)
@ -123,30 +133,29 @@ class Ui_GameSettings(object):
_translate = QtCore.QCoreApplication.translate
GameSettings.setWindowTitle(_translate("GameSettings", "GameSettings"))
self.launch_settings_groupbox.setTitle(_translate("GameSettings", "Launch Settings"))
self.skip_update_label.setText(_translate("GameSettings", "Skip update check"))
self.skip_update.setItemText(0, _translate("GameSettings", "Default"))
self.skip_update.setItemText(1, _translate("GameSettings", "Yes"))
self.skip_update.setItemText(2, _translate("GameSettings", "No"))
self.launch_params_label.setText(_translate("GameSettings", "Launch parameters"))
self.wrapper_label.setText(_translate("GameSettings", "Wrapper"))
self.skip_update_label.setText(_translate("GameSettings", "Skip update check"))
self.wrapper.setPlaceholderText(_translate("GameSettings", "e.g. optirun"))
self.wrapper_button.setText(_translate("GameSettings", "Save"))
self.offline_label.setText(_translate("GameSettings", "Offline mode"))
self.offline.setItemText(0, _translate("GameSettings", "Default"))
self.offline.setItemText(1, _translate("GameSettings", "Yes"))
self.offline.setItemText(2, _translate("GameSettings", "No"))
self.cloud_sync_label.setText(_translate("GameSettings", "Sync with cloud"))
self.launch_params_label.setText(_translate("GameSettings", "Launch parameters"))
self.launch_params.setPlaceholderText(_translate("GameSettings", "parameters"))
self.launch_params_button.setText(_translate("GameSettings", "Save"))
self.cloud_sync_label.setText(_translate("GameSettings", "Sync with cloud"))
self.wrapper_label.setText(_translate("GameSettings", "Wrapper"))
self.wrapper.setPlaceholderText(_translate("GameSettings", "e.g. optirun"))
self.wrapper_button.setText(_translate("GameSettings", "Save"))
self.proton_groupbox.setTitle(_translate("GameSettings", "Linux Settings"))
self.proton_wrapper.setItemText(0, _translate("GameSettings", "Don\'t use Proton"))
self.proton_wrapper_label.setText(_translate("GameSettings", "Proton"))
self.proton_wrapper.setItemText(0, _translate("GameSettings", "Don\'t use Proton"))
self.proton_prefix_label.setText(_translate("GameSettings", "Prefix"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
GameSettings = QtWidgets.QWidget()
ui = Ui_GameSettings()

View file

@ -1,277 +1,275 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>GameSettings</class>
<widget class="QWidget" name="GameSettings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>759</width>
<height>617</height>
</rect>
</property>
<property name="windowTitle">
<string>GameSettings</string>
</property>
<layout class="QVBoxLayout" name="game_settings_layout">
<item>
<widget class="QLabel" name="title">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="launch_settings_groupbox">
<property name="title">
<string>Launch Settings</string>
</property>
<layout class="QGridLayout" name="launch_settings_layout">
<item row="0" column="1" alignment="Qt::AlignLeft">
<widget class="QComboBox" name="skip_update">
<item>
<property name="text">
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>Yes</string>
</property>
</item>
<item>
<property name="text">
<string>No</string>
</property>
</item>
</widget>
</item>
<item row="2" column="1" alignment="Qt::AlignLeft">
<widget class="QCheckBox" name="cloud_sync">
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
<item row="3" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="launch_params_label">
<property name="text">
<string>Launch parameters</string>
</property>
</widget>
</item>
<item row="4" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="wrapper_label">
<property name="text">
<string>Wrapper</string>
</property>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="skip_update_label">
<property name="text">
<string>Skip update check</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QWidget" name="wrapper_widget" native="true">
<layout class="QHBoxLayout" name="wrapper_layout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="wrapper">
<property name="minimumSize">
<size>
<width>400</width>
<height>0</height>
</size>
</property>
<property name="placeholderText">
<string>e.g. optirun</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="wrapper_button">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="offline_label">
<property name="text">
<string>Offline mode</string>
</property>
</widget>
</item>
<item row="1" column="1" alignment="Qt::AlignLeft">
<widget class="QComboBox" name="offline">
<item>
<property name="text">
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>Yes</string>
</property>
</item>
<item>
<property name="text">
<string>No</string>
</property>
</item>
</widget>
</item>
<item row="3" column="1">
<widget class="QWidget" name="launch_params_widget" native="true">
<layout class="QHBoxLayout" name="launch_params_layout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="launch_params">
<property name="minimumSize">
<size>
<width>400</width>
<height>0</height>
</size>
</property>
<property name="placeholderText">
<string>parameters</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="launch_params_button">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="cloud_sync_label">
<property name="text">
<string>Sync with cloud</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="proton_groupbox">
<property name="title">
<string>Linux Settings</string>
</property>
<layout class="QGridLayout" name="proton_layout">
<item row="0" column="1" alignment="Qt::AlignLeft">
<widget class="QComboBox" name="proton_wrapper">
<item>
<property name="text">
<string>Don't use Proton</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="proton_wrapper_label">
<property name="text">
<string>Proton</string>
</property>
</widget>
</item>
<item row="1" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="proton_prefix_label">
<property name="text">
<string>Prefix</string>
</property>
</widget>
</item>
<item row="4" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1" rowspan="2">
<layout class="QVBoxLayout" name="proton_prefix_layout"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="proton_prefix_alignment_label">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<layout class="QVBoxLayout" name="linux_layout">
<property name="spacing">
<number>0</number>
</property>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="game_settings_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
<class>GameSettings</class>
<widget class="QWidget" name="GameSettings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>759</width>
<height>617</height>
</rect>
</property>
<property name="windowTitle">
<string>GameSettings</string>
</property>
<layout class="QVBoxLayout" name="game_settings_layout">
<item>
<widget class="QLabel" name="title">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
<resources/>
<connections/>
</item>
<item alignment="Qt::AlignTop">
<widget class="QGroupBox" name="launch_settings_groupbox">
<property name="title">
<string>Launch Settings</string>
</property>
<layout class="QFormLayout" name="launch_settings_layout">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<item row="0" column="0">
<widget class="QLabel" name="skip_update_label">
<property name="text">
<string>Skip update check</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="skip_update">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>Yes</string>
</property>
</item>
<item>
<property name="text">
<string>No</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="offline_label">
<property name="text">
<string>Offline mode</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="offline">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>Yes</string>
</property>
</item>
<item>
<property name="text">
<string>No</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="cloud_sync_label">
<property name="text">
<string>Sync with cloud</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="cloud_sync">
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="launch_params_label">
<property name="text">
<string>Launch parameters</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QWidget" name="launch_params_widget" native="true">
<layout class="QHBoxLayout" name="launch_params_layout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="launch_params">
<property name="minimumSize">
<size>
<width>400</width>
<height>0</height>
</size>
</property>
<property name="placeholderText">
<string>parameters</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="launch_params_button">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="wrapper_label">
<property name="text">
<string>Wrapper</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QWidget" name="wrapper_widget" native="true">
<layout class="QHBoxLayout" name="wrapper_layout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="wrapper">
<property name="minimumSize">
<size>
<width>400</width>
<height>0</height>
</size>
</property>
<property name="placeholderText">
<string>e.g. optirun</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="wrapper_button">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item alignment="Qt::AlignTop">
<widget class="QGroupBox" name="proton_groupbox">
<property name="title">
<string>Linux Settings</string>
</property>
<layout class="QFormLayout" name="proton_layout">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<item row="1" column="0">
<widget class="QLabel" name="proton_wrapper_label">
<property name="text">
<string>Proton</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="proton_wrapper">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Don't use Proton</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="proton_prefix_label">
<property name="text">
<string>Prefix</string>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QVBoxLayout" name="proton_prefix_layout"/>
</item>
<item row="3" column="0" colspan="2">
<layout class="QVBoxLayout" name="linux_layout">
<property name="spacing">
<number>0</number>
</property>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="game_settings_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'legendary.ui'
# Form implementation generated from reading ui file 'rare/ui/components/tabs/settings/legendary.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
@ -17,8 +17,8 @@ class Ui_legendary_settings(object):
legendary_settings.resize(532, 383)
self.settings = QtWidgets.QWidget()
self.settings.setObjectName("settings")
self.gridLayout_2 = QtWidgets.QGridLayout(self.settings)
self.gridLayout_2.setObjectName("gridLayout_2")
self.layout_settings = QtWidgets.QGridLayout(self.settings)
self.layout_settings.setObjectName("layout_settings")
self.gb_clean = QtWidgets.QGroupBox(self.settings)
self.gb_clean.setObjectName("gb_clean")
self.layout_clean = QtWidgets.QVBoxLayout(self.gb_clean)
@ -29,7 +29,7 @@ class Ui_legendary_settings(object):
self.clean_button = QtWidgets.QPushButton(self.gb_clean)
self.clean_button.setObjectName("clean_button")
self.layout_clean.addWidget(self.clean_button)
self.gridLayout_2.addWidget(self.gb_clean, 0, 1, 1, 1)
self.layout_settings.addWidget(self.gb_clean, 0, 1, 1, 1)
self.egl_sync = QtWidgets.QGroupBox(self.settings)
self.egl_sync.setObjectName("egl_sync")
self.verticalLayout = QtWidgets.QVBoxLayout(self.egl_sync)
@ -37,7 +37,7 @@ class Ui_legendary_settings(object):
self.sync_button = QtWidgets.QPushButton(self.egl_sync)
self.sync_button.setObjectName("sync_button")
self.verticalLayout.addWidget(self.sync_button)
self.gridLayout_2.addWidget(self.egl_sync, 1, 1, 1, 1)
self.layout_settings.addWidget(self.egl_sync, 1, 1, 1, 1)
self.gb_downloads = QtWidgets.QGroupBox(self.settings)
self.gb_downloads.setObjectName("gb_downloads")
self.layout_downloads = QtWidgets.QGridLayout(self.gb_downloads)
@ -61,14 +61,14 @@ class Ui_legendary_settings(object):
self.lbl_max_workers_info.setFont(font)
self.lbl_max_workers_info.setObjectName("lbl_max_workers_info")
self.layout_downloads.addWidget(self.lbl_max_workers_info, 0, 2, 1, 1)
self.gridLayout_2.addWidget(self.gb_downloads, 1, 0, 1, 1)
self.layout_settings.addWidget(self.gb_downloads, 1, 0, 1, 1)
self.gb_install_dir = QtWidgets.QGroupBox(self.settings)
self.gb_install_dir.setObjectName("gb_install_dir")
self.layout_install_dir = QtWidgets.QVBoxLayout(self.gb_install_dir)
self.layout_install_dir.setObjectName("layout_install_dir")
self.gridLayout_2.addWidget(self.gb_install_dir, 0, 0, 1, 1)
self.layout_settings.addWidget(self.gb_install_dir, 0, 0, 1, 1, QtCore.Qt.AlignTop)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem1, 2, 1, 1, 1)
self.layout_settings.addItem(spacerItem1, 2, 0, 1, 2)
legendary_settings.addWidget(self.settings)
self.egl_sync_page = QtWidgets.QWidget()
self.egl_sync_page.setObjectName("egl_sync_page")
@ -86,25 +86,25 @@ class Ui_legendary_settings(object):
self.path_info = QtWidgets.QLabel(self.egl_sync_page)
self.path_info.setObjectName("path_info")
self.verticalLayout_2.addWidget(self.path_info)
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.layout_export_import = QtWidgets.QGridLayout()
self.layout_export_import.setObjectName("layout_export_import")
self.exportable_games = QtWidgets.QGroupBox(self.egl_sync_page)
self.exportable_games.setObjectName("exportable_games")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.exportable_games)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.gridLayout.addWidget(self.exportable_games, 0, 0, 1, 1)
self.layout_export_import.addWidget(self.exportable_games, 0, 0, 1, 1)
self.importable_games = QtWidgets.QGroupBox(self.egl_sync_page)
self.importable_games.setObjectName("importable_games")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.importable_games)
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.gridLayout.addWidget(self.importable_games, 0, 1, 1, 1)
self.layout_export_import.addWidget(self.importable_games, 0, 1, 1, 1)
self.export_all_button = QtWidgets.QPushButton(self.egl_sync_page)
self.export_all_button.setObjectName("export_all_button")
self.gridLayout.addWidget(self.export_all_button, 1, 0, 1, 1)
self.layout_export_import.addWidget(self.export_all_button, 1, 0, 1, 1)
self.import_all_button = QtWidgets.QPushButton(self.egl_sync_page)
self.import_all_button.setObjectName("import_all_button")
self.gridLayout.addWidget(self.import_all_button, 1, 1, 1, 1)
self.verticalLayout_2.addLayout(self.gridLayout)
self.layout_export_import.addWidget(self.import_all_button, 1, 1, 1, 1)
self.verticalLayout_2.addLayout(self.layout_export_import)
self.groupBox = QtWidgets.QGroupBox(self.egl_sync_page)
self.groupBox.setObjectName("groupBox")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
@ -121,12 +121,12 @@ class Ui_legendary_settings(object):
legendary_settings.addWidget(self.egl_sync_page)
self.retranslateUi(legendary_settings)
legendary_settings.setCurrentIndex(1)
legendary_settings.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(legendary_settings)
def retranslateUi(self, legendary_settings):
_translate = QtCore.QCoreApplication.translate
legendary_settings.setWindowTitle(_translate("legendary_settings", "StackedWidget"))
legendary_settings.setWindowTitle(_translate("legendary_settings", "LegendarySettings"))
self.gb_clean.setTitle(_translate("legendary_settings", "Cleanup"))
self.clean_button_without_manifests.setText(_translate("legendary_settings", "Clean, but keep manifests"))
self.clean_button.setText(_translate("legendary_settings", "Remove everything"))
@ -150,7 +150,6 @@ class Ui_legendary_settings(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
legendary_settings = QtWidgets.QStackedWidget()
ui = Ui_legendary_settings()

View file

@ -1,234 +1,234 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>legendary_settings</class>
<widget class="QStackedWidget" name="legendary_settings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>532</width>
<height>383</height>
</rect>
</property>
<property name="windowTitle">
<string>StackedWidget</string>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="settings">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1">
<widget class="QGroupBox" name="gb_clean">
<property name="title">
<string>Cleanup</string>
</property>
<layout class="QVBoxLayout" name="layout_clean">
<item>
<widget class="QPushButton" name="clean_button_without_manifests">
<property name="text">
<string>Clean, but keep manifests</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="clean_button">
<property name="text">
<string>Remove everything</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="egl_sync">
<property name="title">
<string>EGL Sync</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="sync_button">
<property name="text">
<string>Sync Settings</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="gb_downloads">
<property name="title">
<string>Download Settings</string>
</property>
<layout class="QGridLayout" name="layout_downloads">
<item row="0" column="4">
<spacer name="hs_downloads">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="max_worker_select"/>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_max_workers">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Max Workers</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="lbl_max_workers_info">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Less is slower (0: Default)</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="gb_install_dir">
<property name="title">
<string>Default Installation Directory</string>
</property>
<layout class="QVBoxLayout" name="layout_install_dir"/>
</widget>
</item>
<item row="2" column="1">
<spacer name="vs_legendary">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
<class>legendary_settings</class>
<widget class="QStackedWidget" name="legendary_settings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>532</width>
<height>383</height>
</rect>
</property>
<property name="windowTitle">
<string>LegendarySettings</string>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="settings">
<layout class="QGridLayout" name="layout_settings">
<item row="0" column="1">
<widget class="QGroupBox" name="gb_clean">
<property name="title">
<string>Cleanup</string>
</property>
<layout class="QVBoxLayout" name="layout_clean">
<item>
<widget class="QPushButton" name="clean_button_without_manifests">
<property name="text">
<string>Clean, but keep manifests</string>
</property>
</widget>
<widget class="QWidget" name="egl_sync_page">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="back_button">
<property name="text">
<string>Back</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="title">
<property name="text">
<string>&lt;h2&gt;Sync Games with Epic Games Store&lt;/h2&gt;</string>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="pathedit_placeholder"/>
</item>
<item>
<widget class="QLabel" name="path_info">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QGroupBox" name="exportable_games">
<property name="title">
<string>Exportable Games</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3"/>
</widget>
</item>
<item row="0" column="1">
<widget class="QGroupBox" name="importable_games">
<property name="title">
<string>Importable</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4"/>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="export_all_button">
<property name="text">
<string>Export all Games</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="import_all_button">
<property name="text">
<string>Import all Games</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Enable Sync</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="sync_once_button">
<property name="text">
<string>Sync once</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="enable_sync_button">
<property name="text">
<string>Enable automatic sync</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="clean_button">
<property name="text">
<string>Remove everything</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="egl_sync">
<property name="title">
<string>EGL Sync</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="sync_button">
<property name="text">
<string>Sync Settings</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="gb_downloads">
<property name="title">
<string>Download Settings</string>
</property>
<layout class="QGridLayout" name="layout_downloads">
<item row="0" column="4">
<spacer name="hs_downloads">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="max_worker_select"/>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_max_workers">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Max Workers</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="lbl_max_workers_info">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Less is slower (0: Default)</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="gb_install_dir">
<property name="title">
<string>Default Installation Directory</string>
</property>
<layout class="QVBoxLayout" name="layout_install_dir"/>
</widget>
</item>
<item row="2" column="0" colspan="2">
<spacer name="vs_legendary">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="egl_sync_page">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="back_button">
<property name="text">
<string>Back</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="title">
<property name="text">
<string>&lt;h2&gt;Sync Games with Epic Games Store&lt;/h2&gt;</string>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="pathedit_placeholder"/>
</item>
<item>
<widget class="QLabel" name="path_info">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="layout_export_import">
<item row="0" column="0">
<widget class="QGroupBox" name="exportable_games">
<property name="title">
<string>Exportable Games</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3"/>
</widget>
</item>
<item row="0" column="1">
<widget class="QGroupBox" name="importable_games">
<property name="title">
<string>Importable</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4"/>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="export_all_button">
<property name="text">
<string>Export all Games</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="import_all_button">
<property name="text">
<string>Import all Games</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Enable Sync</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="sync_once_button">
<property name="text">
<string>Sync once</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="enable_sync_button">
<property name="text">
<string>Enable automatic sync</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'linux.ui'
# Form implementation generated from reading ui file 'rare/ui/components/tabs/settings/linux.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtWidgets
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_LinuxSettings(object):
@ -21,30 +21,23 @@ class Ui_LinuxSettings(object):
self.linux_layout.addItem(spacerItem, 3, 0, 1, 1)
self.wine_groupbox = QtWidgets.QGroupBox(LinuxSettings)
self.wine_groupbox.setObjectName("wine_groupbox")
self.wine_layout = QtWidgets.QGridLayout(self.wine_groupbox)
self.wine_layout = QtWidgets.QFormLayout(self.wine_groupbox)
self.wine_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.wine_layout.setObjectName("wine_layout")
self.exec_label = QtWidgets.QLabel(self.wine_groupbox)
self.exec_label.setObjectName("exec_label")
self.wine_layout.addWidget(self.exec_label, 2, 0, 1, 1, QtCore.Qt.AlignRight)
self.prefix_label = QtWidgets.QLabel(self.wine_groupbox)
self.prefix_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.prefix_label.setObjectName("prefix_label")
self.wine_layout.addWidget(self.prefix_label, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.prefix_alignment_label = QtWidgets.QLabel(self.wine_groupbox)
self.prefix_alignment_label.setEnabled(False)
self.prefix_alignment_label.setText("")
self.prefix_alignment_label.setObjectName("prefix_alignment_label")
self.wine_layout.addWidget(self.prefix_alignment_label, 1, 0, 1, 1)
self.exec_alignment_label = QtWidgets.QLabel(self.wine_groupbox)
self.exec_alignment_label.setEnabled(False)
self.exec_alignment_label.setText("")
self.exec_alignment_label.setObjectName("exec_alignment_label")
self.wine_layout.addWidget(self.exec_alignment_label, 3, 0, 1, 1)
self.wine_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.prefix_label)
self.prefix_layout = QtWidgets.QVBoxLayout()
self.prefix_layout.setObjectName("prefix_layout")
self.wine_layout.addLayout(self.prefix_layout, 0, 1, 2, 1)
self.wine_layout.setLayout(0, QtWidgets.QFormLayout.FieldRole, self.prefix_layout)
self.exec_label = QtWidgets.QLabel(self.wine_groupbox)
self.exec_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.exec_label.setObjectName("exec_label")
self.wine_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.exec_label)
self.exec_layout = QtWidgets.QVBoxLayout()
self.exec_layout.setObjectName("exec_layout")
self.wine_layout.addLayout(self.exec_layout, 2, 1, 2, 1)
self.wine_layout.setLayout(1, QtWidgets.QFormLayout.FieldRole, self.exec_layout)
self.linux_layout.addWidget(self.wine_groupbox, 0, 0, 1, 1)
self.dxvk_layout = QtWidgets.QVBoxLayout()
self.dxvk_layout.setObjectName("dxvk_layout")
@ -57,13 +50,12 @@ class Ui_LinuxSettings(object):
_translate = QtCore.QCoreApplication.translate
LinuxSettings.setWindowTitle(_translate("LinuxSettings", "LinuxSettings"))
self.wine_groupbox.setTitle(_translate("LinuxSettings", "Wine Settings"))
self.exec_label.setText(_translate("LinuxSettings", "Executable"))
self.prefix_label.setText(_translate("LinuxSettings", "Prefix"))
self.exec_label.setText(_translate("LinuxSettings", "Executable"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
LinuxSettings = QtWidgets.QWidget()
ui = Ui_LinuxSettings()

View file

@ -1,86 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LinuxSettings</class>
<widget class="QWidget" name="LinuxSettings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>569</width>
<height>454</height>
</rect>
<class>LinuxSettings</class>
<widget class="QWidget" name="LinuxSettings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>569</width>
<height>454</height>
</rect>
</property>
<property name="windowTitle">
<string>LinuxSettings</string>
</property>
<layout class="QGridLayout" name="linux_layout">
<item row="3" column="0">
<spacer name="linux_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="wine_groupbox">
<property name="title">
<string>Wine Settings</string>
</property>
<layout class="QFormLayout" name="wine_layout">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<item row="0" column="0">
<widget class="QLabel" name="prefix_label">
<property name="text">
<string>Prefix</string>
</property>
<property name="windowTitle">
<string>LinuxSettings</string>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<layout class="QGridLayout" name="linux_layout">
<item row="3" column="0">
<spacer name="linux_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="wine_groupbox">
<property name="title">
<string>Wine Settings</string>
</property>
<layout class="QGridLayout" name="wine_layout">
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="exec_label">
<property name="text">
<string>Executable</string>
</property>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="prefix_label">
<property name="text">
<string>Prefix</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="prefix_alignment_label">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="exec_alignment_label">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
<item row="0" column="1" rowspan="2">
<layout class="QVBoxLayout" name="prefix_layout"/>
</item>
<item row="2" column="1" rowspan="2">
<layout class="QVBoxLayout" name="exec_layout"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<layout class="QVBoxLayout" name="dxvk_layout"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<layout class="QVBoxLayout" name="prefix_layout"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="exec_label">
<property name="text">
<string>Executable</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QVBoxLayout" name="exec_layout"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</item>
<item row="1" column="0">
<layout class="QVBoxLayout" name="dxvk_layout"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'rare.ui'
# Form implementation generated from reading ui file 'rare/ui/components/tabs/settings/rare.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
@ -14,11 +14,99 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_RareSettings(object):
def setupUi(self, RareSettings):
RareSettings.setObjectName("RareSettings")
RareSettings.resize(694, 532)
self.gridLayout = QtWidgets.QGridLayout(RareSettings)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
RareSettings.resize(674, 532)
self.rare_layout = QtWidgets.QGridLayout(RareSettings)
self.rare_layout.setObjectName("rare_layout")
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.rare_layout.addItem(spacerItem, 2, 0, 1, 2)
self.left_layout = QtWidgets.QVBoxLayout()
self.left_layout.setObjectName("left_layout")
self.interface_group = QtWidgets.QGroupBox(RareSettings)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.interface_group.sizePolicy().hasHeightForWidth())
self.interface_group.setSizePolicy(sizePolicy)
self.interface_group.setObjectName("interface_group")
self.interface_layout = QtWidgets.QFormLayout(self.interface_group)
self.interface_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.interface_layout.setObjectName("interface_layout")
self.lang_label = QtWidgets.QLabel(self.interface_group)
self.lang_label.setObjectName("lang_label")
self.interface_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lang_label)
self.lang_select = QtWidgets.QComboBox(self.interface_group)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lang_select.sizePolicy().hasHeightForWidth())
self.lang_select.setSizePolicy(sizePolicy)
self.lang_select.setObjectName("lang_select")
self.interface_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lang_select)
self.color_label = QtWidgets.QLabel(self.interface_group)
self.color_label.setObjectName("color_label")
self.interface_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.color_label)
self.color_select = QtWidgets.QComboBox(self.interface_group)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color_select.sizePolicy().hasHeightForWidth())
self.color_select.setSizePolicy(sizePolicy)
self.color_select.setObjectName("color_select")
self.color_select.addItem("")
self.interface_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.color_select)
self.style_label = QtWidgets.QLabel(self.interface_group)
self.style_label.setObjectName("style_label")
self.interface_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.style_label)
self.style_select = QtWidgets.QComboBox(self.interface_group)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.style_select.sizePolicy().hasHeightForWidth())
self.style_select.setSizePolicy(sizePolicy)
self.style_select.setObjectName("style_select")
self.style_select.addItem("")
self.interface_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.style_select)
self.interface_info = QtWidgets.QLabel(self.interface_group)
font = QtGui.QFont()
font.setItalic(True)
self.interface_info.setFont(font)
self.interface_info.setWordWrap(True)
self.interface_info.setObjectName("interface_info")
self.interface_layout.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.interface_info)
self.left_layout.addWidget(self.interface_group)
self.settings_group = QtWidgets.QGroupBox(RareSettings)
self.settings_group.setObjectName("settings_group")
self.behavior_layout = QtWidgets.QGridLayout(self.settings_group)
self.behavior_layout.setObjectName("behavior_layout")
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.behavior_layout.addItem(spacerItem1, 2, 1, 2, 1)
self.log_games = QtWidgets.QCheckBox(self.settings_group)
self.log_games.setObjectName("log_games")
self.behavior_layout.addWidget(self.log_games, 6, 0, 1, 1)
self.save_size = QtWidgets.QCheckBox(self.settings_group)
self.save_size.setObjectName("save_size")
self.behavior_layout.addWidget(self.save_size, 5, 0, 1, 1)
self.notification = QtWidgets.QCheckBox(self.settings_group)
self.notification.setObjectName("notification")
self.behavior_layout.addWidget(self.notification, 4, 0, 1, 1)
self.auto_sync_cloud = QtWidgets.QCheckBox(self.settings_group)
self.auto_sync_cloud.setObjectName("auto_sync_cloud")
self.behavior_layout.addWidget(self.auto_sync_cloud, 3, 0, 1, 1)
self.confirm_start = QtWidgets.QCheckBox(self.settings_group)
self.confirm_start.setObjectName("confirm_start")
self.behavior_layout.addWidget(self.confirm_start, 2, 0, 1, 1)
self.auto_update = QtWidgets.QCheckBox(self.settings_group)
self.auto_update.setObjectName("auto_update")
self.behavior_layout.addWidget(self.auto_update, 1, 0, 1, 1)
self.sys_tray = QtWidgets.QCheckBox(self.settings_group)
self.sys_tray.setObjectName("sys_tray")
self.behavior_layout.addWidget(self.sys_tray, 0, 0, 1, 1)
self.left_layout.addWidget(self.settings_group)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.left_layout.addItem(spacerItem2)
self.rare_layout.addLayout(self.left_layout, 0, 0, 1, 1)
self.right_layout = QtWidgets.QVBoxLayout()
self.right_layout.setObjectName("right_layout")
self.log_dir_group = QtWidgets.QGroupBox(RareSettings)
self.log_dir_group.setObjectName("log_dir_group")
self.log_dir_layout = QtWidgets.QVBoxLayout(self.log_dir_group)
@ -39,94 +127,24 @@ class Ui_RareSettings(object):
self.log_dir_size_label.setWordWrap(True)
self.log_dir_size_label.setObjectName("log_dir_size_label")
self.log_dir_layout.addWidget(self.log_dir_size_label)
self.verticalLayout_4.addWidget(self.log_dir_group)
self.right_layout.addWidget(self.log_dir_group)
self.rpc_layout = QtWidgets.QVBoxLayout()
self.rpc_layout.setObjectName("rpc_layout")
self.verticalLayout_4.addLayout(self.rpc_layout)
self.right_layout.addLayout(self.rpc_layout)
self.groupBox = QtWidgets.QGroupBox(RareSettings)
self.groupBox.setObjectName("groupBox")
self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
self.verticalLayout.setObjectName("verticalLayout")
self.shortcuts_layout = QtWidgets.QVBoxLayout(self.groupBox)
self.shortcuts_layout.setObjectName("shortcuts_layout")
self.desktop_link = QtWidgets.QPushButton(self.groupBox)
self.desktop_link.setObjectName("desktop_link")
self.verticalLayout.addWidget(self.desktop_link)
self.shortcuts_layout.addWidget(self.desktop_link)
self.startmenu_link = QtWidgets.QPushButton(self.groupBox)
self.startmenu_link.setObjectName("startmenu_link")
self.verticalLayout.addWidget(self.startmenu_link)
self.verticalLayout_4.addWidget(self.groupBox)
self.gridLayout.addLayout(self.verticalLayout_4, 0, 1, 1, 1)
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.interface_group = QtWidgets.QGroupBox(RareSettings)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.interface_group.sizePolicy().hasHeightForWidth())
self.interface_group.setSizePolicy(sizePolicy)
self.interface_group.setObjectName("interface_group")
self.interface_layout = QtWidgets.QGridLayout(self.interface_group)
self.interface_layout.setObjectName("interface_layout")
self.style_label = QtWidgets.QLabel(self.interface_group)
self.style_label.setObjectName("style_label")
self.interface_layout.addWidget(self.style_label, 2, 0, 1, 1, QtCore.Qt.AlignRight)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.interface_layout.addItem(spacerItem, 1, 2, 1, 1)
self.lang_select = QtWidgets.QComboBox(self.interface_group)
self.lang_select.setObjectName("lang_select")
self.interface_layout.addWidget(self.lang_select, 0, 1, 1, 1)
self.color_select = QtWidgets.QComboBox(self.interface_group)
self.color_select.setObjectName("color_select")
self.color_select.addItem("")
self.interface_layout.addWidget(self.color_select, 1, 1, 1, 1)
self.style_select = QtWidgets.QComboBox(self.interface_group)
self.style_select.setObjectName("style_select")
self.style_select.addItem("")
self.interface_layout.addWidget(self.style_select, 2, 1, 1, 1)
self.lang_label = QtWidgets.QLabel(self.interface_group)
self.lang_label.setObjectName("lang_label")
self.interface_layout.addWidget(self.lang_label, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.color_label = QtWidgets.QLabel(self.interface_group)
self.color_label.setObjectName("color_label")
self.interface_layout.addWidget(self.color_label, 1, 0, 1, 1, QtCore.Qt.AlignRight)
self.interface_info = QtWidgets.QLabel(self.interface_group)
font = QtGui.QFont()
font.setItalic(True)
self.interface_info.setFont(font)
self.interface_info.setWordWrap(True)
self.interface_info.setObjectName("interface_info")
self.interface_layout.addWidget(self.interface_info, 3, 0, 1, 3)
self.verticalLayout_3.addWidget(self.interface_group)
self.settings_group = QtWidgets.QGroupBox(RareSettings)
self.settings_group.setObjectName("settings_group")
self.behavior_layout = QtWidgets.QGridLayout(self.settings_group)
self.behavior_layout.setObjectName("behavior_layout")
self.save_size = QtWidgets.QCheckBox(self.settings_group)
self.save_size.setObjectName("save_size")
self.behavior_layout.addWidget(self.save_size, 5, 0, 1, 1)
self.notification = QtWidgets.QCheckBox(self.settings_group)
self.notification.setObjectName("notification")
self.behavior_layout.addWidget(self.notification, 4, 0, 1, 1)
self.auto_sync_cloud = QtWidgets.QCheckBox(self.settings_group)
self.auto_sync_cloud.setObjectName("auto_sync_cloud")
self.behavior_layout.addWidget(self.auto_sync_cloud, 3, 0, 1, 1)
self.auto_update = QtWidgets.QCheckBox(self.settings_group)
self.auto_update.setObjectName("auto_update")
self.behavior_layout.addWidget(self.auto_update, 1, 0, 1, 1)
self.sys_tray = QtWidgets.QCheckBox(self.settings_group)
self.sys_tray.setObjectName("sys_tray")
self.behavior_layout.addWidget(self.sys_tray, 0, 0, 1, 1)
self.log_games = QtWidgets.QCheckBox(self.settings_group)
self.log_games.setObjectName("log_games")
self.behavior_layout.addWidget(self.log_games, 6, 0, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.behavior_layout.addItem(spacerItem1, 2, 1, 2, 1)
self.confirm_start = QtWidgets.QCheckBox(self.settings_group)
self.confirm_start.setObjectName("confirm_start")
self.behavior_layout.addWidget(self.confirm_start, 2, 0, 1, 1)
self.verticalLayout_3.addWidget(self.settings_group)
self.gridLayout.addLayout(self.verticalLayout_3, 0, 0, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem2, 1, 0, 1, 2)
self.shortcuts_layout.addWidget(self.startmenu_link)
self.right_layout.addWidget(self.groupBox)
spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.right_layout.addItem(spacerItem3)
self.rare_layout.addLayout(self.right_layout, 0, 1, 1, 1)
self.retranslateUi(RareSettings)
QtCore.QMetaObject.connectSlotsByName(RareSettings)
@ -134,27 +152,27 @@ class Ui_RareSettings(object):
def retranslateUi(self, RareSettings):
_translate = QtCore.QCoreApplication.translate
RareSettings.setWindowTitle(_translate("RareSettings", "RareSettings"))
self.interface_group.setTitle(_translate("RareSettings", "Interface"))
self.lang_label.setText(_translate("RareSettings", "Language"))
self.color_label.setText(_translate("RareSettings", "Color Scheme"))
self.color_select.setItemText(0, _translate("RareSettings", "None"))
self.style_label.setText(_translate("RareSettings", "Style Sheet"))
self.style_select.setItemText(0, _translate("RareSettings", "None"))
self.interface_info.setText(_translate("RareSettings", "Restart Rare to apply."))
self.settings_group.setTitle(_translate("RareSettings", "Behavior"))
self.log_games.setText(_translate("RareSettings", "Show console for game debug"))
self.save_size.setText(_translate("RareSettings", "Restore window size on application startup"))
self.notification.setText(_translate("RareSettings", "Show notification on download completion"))
self.auto_sync_cloud.setText(_translate("RareSettings", "Automatically sync with cloud"))
self.confirm_start.setText(_translate("RareSettings", "Confirm game launch"))
self.auto_update.setText(_translate("RareSettings", "Update games on application startup"))
self.sys_tray.setText(_translate("RareSettings", "Exit to System tray"))
self.log_dir_group.setTitle(_translate("RareSettings", "Logs"))
self.log_dir_open_button.setText(_translate("RareSettings", "Open Log directory"))
self.log_dir_clean_button.setText(_translate("RareSettings", "Clean Log directory"))
self.groupBox.setTitle(_translate("RareSettings", "Shortcuts"))
self.desktop_link.setText(_translate("RareSettings", "Create Desktop link"))
self.startmenu_link.setText(_translate("RareSettings", "Create start menu link"))
self.interface_group.setTitle(_translate("RareSettings", "Interface"))
self.style_label.setText(_translate("RareSettings", "Style Sheet"))
self.color_select.setItemText(0, _translate("RareSettings", "None"))
self.style_select.setItemText(0, _translate("RareSettings", "None"))
self.lang_label.setText(_translate("RareSettings", "Language"))
self.color_label.setText(_translate("RareSettings", "Color Scheme"))
self.interface_info.setText(_translate("RareSettings", "Restart Rare to apply."))
self.settings_group.setTitle(_translate("RareSettings", "Behavior"))
self.save_size.setText(_translate("RareSettings", "Restore window size on application startup"))
self.notification.setText(_translate("RareSettings", "Show notification on download completion"))
self.auto_sync_cloud.setText(_translate("RareSettings", "Automatically sync with cloud"))
self.auto_update.setText(_translate("RareSettings", "Update games on application startup"))
self.sys_tray.setText(_translate("RareSettings", "Exit to System tray"))
self.log_games.setText(_translate("RareSettings", "Show console for game debug"))
self.confirm_start.setText(_translate("RareSettings", "Confirm game launch"))
if __name__ == "__main__":

View file

@ -2,259 +2,294 @@
<ui version="4.0">
<class>RareSettings</class>
<widget class="QWidget" name="RareSettings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>694</width>
<height>532</height>
</rect>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>674</width>
<height>532</height>
</rect>
</property>
<property name="windowTitle">
<string>RareSettings</string>
</property>
<layout class="QGridLayout" name="rare_layout">
<item row="2" column="0" colspan="2">
<spacer name="rare_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="windowTitle">
<string>RareSettings</string>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QGroupBox" name="log_dir_group">
<property name="title">
<string>Logs</string>
</property>
<layout class="QVBoxLayout" name="log_dir_layout">
<item>
<widget class="QPushButton" name="log_dir_open_button">
<property name="text">
<string>Open Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="log_dir_clean_button">
<property name="text">
<string>Clean Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="log_dir_size_label">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="rpc_layout"/>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Shortcuts</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="desktop_link">
<property name="text">
<string>Create Desktop link</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="startmenu_link">
<property name="text">
<string>Create start menu link</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QGroupBox" name="interface_group">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Interface</string>
</property>
<layout class="QGridLayout" name="interface_layout">
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="style_label">
<property name="text">
<string>Style Sheet</string>
</property>
</widget>
</item>
<item row="1" column="2">
<spacer name="interface_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="lang_select"/>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="color_select">
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="style_select">
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lang_label">
<property name="text">
<string>Language</string>
</property>
</widget>
</item>
<item row="1" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color Scheme</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="3">
<widget class="QLabel" name="interface_info">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Restart Rare to apply.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="settings_group">
<property name="title">
<string>Behavior</string>
</property>
<layout class="QGridLayout" name="behavior_layout">
<item row="5" column="0">
<widget class="QCheckBox" name="save_size">
<property name="text">
<string>Restore window size on application startup</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="notification">
<property name="text">
<string>Show notification on download completion</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="auto_sync_cloud">
<property name="text">
<string>Automatically sync with cloud</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="auto_update">
<property name="text">
<string>Update games on application startup</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="sys_tray">
<property name="text">
<string>Exit to System tray</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QCheckBox" name="log_games">
<property name="text">
<string>Show console for game debug</string>
</property>
</widget>
</item>
<item row="2" column="1" rowspan="2">
<spacer name="settings_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="confirm_start">
<property name="text">
<string>Confirm game launch</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" colspan="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</spacer>
</item>
<item row="0" column="0">
<layout class="QVBoxLayout" name="left_layout">
<item>
<widget class="QGroupBox" name="interface_group">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Interface</string>
</property>
<layout class="QFormLayout" name="interface_layout">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<item row="0" column="0">
<widget class="QLabel" name="lang_label">
<property name="text">
<string>Language</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="lang_select">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color Scheme</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="color_select">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="style_label">
<property name="text">
<string>Style Sheet</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="style_select">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QLabel" name="interface_info">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Restart Rare to apply.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="settings_group">
<property name="title">
<string>Behavior</string>
</property>
<layout class="QGridLayout" name="behavior_layout">
<item row="2" column="1" rowspan="2">
<spacer name="settings_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="0">
<widget class="QCheckBox" name="log_games">
<property name="text">
<string>Show console for game debug</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="save_size">
<property name="text">
<string>Restore window size on application startup</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="notification">
<property name="text">
<string>Show notification on download completion</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="auto_sync_cloud">
<property name="text">
<string>Automatically sync with cloud</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="confirm_start">
<property name="text">
<string>Confirm game launch</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="auto_update">
<property name="text">
<string>Update games on application startup</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="sys_tray">
<property name="text">
<string>Exit to System tray</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="left_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="0" column="1">
<layout class="QVBoxLayout" name="right_layout">
<item>
<widget class="QGroupBox" name="log_dir_group">
<property name="title">
<string>Logs</string>
</property>
<layout class="QVBoxLayout" name="log_dir_layout">
<item>
<widget class="QPushButton" name="log_dir_open_button">
<property name="text">
<string>Open Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="log_dir_clean_button">
<property name="text">
<string>Clean Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="log_dir_size_label">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="rpc_layout"/>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Shortcuts</string>
</property>
<layout class="QVBoxLayout" name="shortcuts_layout">
<item>
<widget class="QPushButton" name="desktop_link">
<property name="text">
<string>Create Desktop link</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="startmenu_link">
<property name="text">
<string>Create start menu link</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="right_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'pathedit.ui'
# Form implementation generated from reading ui file 'rare/ui/utils/pathedit.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
@ -14,17 +14,17 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_PathEdit(object):
def setupUi(self, PathEdit):
PathEdit.setObjectName("PathEdit")
PathEdit.resize(378, 54)
self.layout_pathedit = QtWidgets.QGridLayout(PathEdit)
PathEdit.resize(385, 30)
self.layout_pathedit = QtWidgets.QHBoxLayout(PathEdit)
self.layout_pathedit.setContentsMargins(0, 0, 0, 0)
self.layout_pathedit.setObjectName("layout_pathedit")
self.path_select = QtWidgets.QToolButton(PathEdit)
self.path_select.setObjectName("path_select")
self.layout_pathedit.addWidget(self.path_select, 0, 1, 1, 1)
self.text_edit = QtWidgets.QLineEdit(PathEdit)
self.text_edit.setMinimumSize(QtCore.QSize(300, 0))
self.text_edit.setObjectName("text_edit")
self.layout_pathedit.addWidget(self.text_edit, 0, 0, 1, 1)
self.layout_pathedit.addWidget(self.text_edit)
self.path_select = QtWidgets.QToolButton(PathEdit)
self.path_select.setObjectName("path_select")
self.layout_pathedit.addWidget(self.path_select)
self.retranslateUi(PathEdit)
QtCore.QMetaObject.connectSlotsByName(PathEdit)
@ -32,8 +32,8 @@ class Ui_PathEdit(object):
def retranslateUi(self, PathEdit):
_translate = QtCore.QCoreApplication.translate
PathEdit.setWindowTitle(_translate("PathEdit", "PathEdit"))
self.path_select.setText(_translate("PathEdit", "Browse..."))
self.text_edit.setPlaceholderText(_translate("PathEdit", "Default"))
self.path_select.setText(_translate("PathEdit", "Browse..."))
if __name__ == "__main__":

View file

@ -6,14 +6,14 @@
<rect>
<x>0</x>
<y>0</y>
<width>378</width>
<height>54</height>
<width>385</width>
<height>30</height>
</rect>
</property>
<property name="windowTitle">
<string>PathEdit</string>
</property>
<layout class="QGridLayout" name="layout_pathedit">
<layout class="QHBoxLayout" name="layout_pathedit">
<property name="leftMargin">
<number>0</number>
</property>
@ -26,14 +26,7 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="1">
<widget class="QToolButton" name="path_select">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
<item row="0" column="0">
<item>
<widget class="QLineEdit" name="text_edit">
<property name="minimumSize">
<size>
@ -46,6 +39,13 @@
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="path_select">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>

12
ui2py.sh Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/bash
pushd "$(dirname "$0")" || exit
changed="$(git diff --name-only HEAD | grep '\.ui')"
for ui in $changed; do
echo "Generating python file for ${ui}"
pyuic5 "${ui}" -x -o "${ui%.ui}.py"
done
popd || exit