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

Add more download options in legedary settings tab

This commit is contained in:
Stelios Tsampas 2021-09-11 16:08:50 +03:00
parent 35cbd21bb7
commit 7a9daad2b1
5 changed files with 430 additions and 252 deletions

View file

@ -27,15 +27,27 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
self.layout_install_dir.addWidget(self.install_dir)
# Max Workers
max_workers = self.core.lgd.config["Legendary"].get("max_workers", fallback=0)
self.max_worker_select.setValue(int(max_workers))
self.max_worker_select.valueChanged.connect(self.max_worker_save)
max_workers = self.core.lgd.config["Legendary"].getint("max_workers", fallback=0)
self.max_worker_spin.setValue(max_workers)
self.max_worker_spin.valueChanged.connect(self.max_worker_save)
# Max memory
max_memory = self.core.lgd.config["Legendary"].getint("max_memory", fallback=0)
self.max_memory_spin.setValue(max_memory)
self.max_memory_spin.valueChanged.connect(self.max_memory_save)
# Preferred CDN
preferred_cdn = self.core.lgd.config["Legendary"].get("preferred_cdn", fallback="")
self.preferred_cdn_line.setText(preferred_cdn)
self.preferred_cdn_line.textChanged.connect(self.preferred_cdn_save)
# Disable HTTPS
disable_https = self.core.lgd.config["Legendary"].getboolean("disable_https", fallback=False)
self.disable_https_check.setChecked(disable_https)
self.disable_https_check.stateChanged.connect(self.disable_https_save)
# Cleanup
self.clean_button.clicked.connect(
lambda: self.cleanup(False)
)
self.clean_button_without_manifests.clicked.connect(
self.clean_keep_manifests_button.clicked.connect(
lambda: self.cleanup(True)
)
self.setCurrentIndex(0)
@ -63,11 +75,11 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
self.exportable_widgets = []
if self.core.egl_sync_enabled:
self.sync_button.setText(self.tr("Disable sync"))
self.egl_sync_button.setText(self.tr("Disable sync"))
else:
self.sync_button.setText(self.tr("Enable Sync"))
self.egl_sync_button.setText(self.tr("Enable Sync"))
self.sync_button.clicked.connect(self.sync)
self.egl_sync_button.clicked.connect(self.sync)
self.enable_sync_button.clicked.connect(self.enable_sync)
self.sync_once_button.clicked.connect(self.core.egl_sync)
@ -82,7 +94,7 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
self.core.lgd.config.set('Legendary', 'egl_sync', "true")
self.core.egl_sync()
self.core.lgd.save_config()
self.sync_button.setText(self.tr("Disable Sync"))
self.egl_sync_button.setText(self.tr("Disable Sync"))
self.enable_sync_button.setDisabled(True)
def export_all(self):
@ -114,7 +126,7 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
igame.egl_guid = ''
self.core.install_game(igame)
self.core.lgd.save_config()
self.sync_button.setText(self.tr("Enable Sync"))
self.egl_sync_button.setText(self.tr("Enable Sync"))
else:
# enable sync
self.enable_sync_button.setDisabled(False)
@ -164,16 +176,29 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
logger.info("Set config install_dir to " + self.install_dir.text())
self.core.lgd.save_config()
def max_worker_save(self, num_workers: str):
if num_workers == "":
self.core.lgd.config.remove_option("Legendary", "max_workers")
self.core.lgd.save_config()
return
num_workers = int(num_workers)
if num_workers == 0:
self.core.lgd.config.remove_option("Legendary", "max_workers")
def max_worker_save(self, workers: str):
if workers := int(workers):
self.core.lgd.config.set("Legendary", "max_workers", str(workers))
else:
self.core.lgd.config.set("Legendary", "max_workers", str(num_workers))
self.core.lgd.config.remove_option("Legendary", "max_workers")
self.core.lgd.save_config()
def max_memory_save(self, memory: str):
if memory := int(memory):
self.core.lgd.config.set("Legendary", "max_memory", str(memory))
else:
self.core.lgd.config.remove_option("Legendary", "max_memory")
self.core.lgd.save_config()
def preferred_cdn_save(self, cdn: str):
if cdn:
self.core.lgd.config.set("Legendary", "preferred_cdn", cdn.strip(" "))
else:
self.core.lgd.config.remove_option("Legendary", "preferred_cdn")
self.core.lgd.save_config()
def disable_https_save(self, checked: int):
self.core.lgd.config.set("Legendary", "disable_https", str(bool(checked)).lower())
self.core.lgd.save_config()
def cleanup(self, keep_manifests):

View file

@ -14,61 +14,116 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_legendary_settings(object):
def setupUi(self, legendary_settings):
legendary_settings.setObjectName("legendary_settings")
legendary_settings.resize(532, 383)
legendary_settings.resize(810, 535)
self.settings = QtWidgets.QWidget()
self.settings.setObjectName("settings")
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)
self.settings_layout = QtWidgets.QHBoxLayout(self.settings)
self.settings_layout.setObjectName("settings_layout")
self.left_layout = QtWidgets.QVBoxLayout()
self.left_layout.setObjectName("left_layout")
self.install_dir_group = QtWidgets.QGroupBox(self.settings)
self.install_dir_group.setObjectName("install_dir_group")
self.layout_install_dir = QtWidgets.QVBoxLayout(self.install_dir_group)
self.layout_install_dir.setObjectName("layout_install_dir")
self.left_layout.addWidget(self.install_dir_group)
self.download_group = QtWidgets.QGroupBox(self.settings)
self.download_group.setObjectName("download_group")
self.download_layout = QtWidgets.QFormLayout(self.download_group)
self.download_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.download_layout.setObjectName("download_layout")
self.max_workers_label = QtWidgets.QLabel(self.download_group)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.max_workers_label.sizePolicy().hasHeightForWidth())
self.max_workers_label.setSizePolicy(sizePolicy)
self.max_workers_label.setObjectName("max_workers_label")
self.download_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.max_workers_label)
self.max_workers_layout = QtWidgets.QHBoxLayout()
self.max_workers_layout.setObjectName("max_workers_layout")
self.max_worker_spin = QtWidgets.QSpinBox(self.download_group)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.max_worker_spin.sizePolicy().hasHeightForWidth())
self.max_worker_spin.setSizePolicy(sizePolicy)
self.max_worker_spin.setMinimum(0)
self.max_worker_spin.setMaximum(128)
self.max_worker_spin.setProperty("value", 4)
self.max_worker_spin.setObjectName("max_worker_spin")
self.max_workers_layout.addWidget(self.max_worker_spin)
self.max_workers_info_label = QtWidgets.QLabel(self.download_group)
font = QtGui.QFont()
font.setItalic(True)
self.max_workers_info_label.setFont(font)
self.max_workers_info_label.setObjectName("max_workers_info_label")
self.max_workers_layout.addWidget(self.max_workers_info_label)
self.download_layout.setLayout(0, QtWidgets.QFormLayout.FieldRole, self.max_workers_layout)
self.max_memory_label = QtWidgets.QLabel(self.download_group)
self.max_memory_label.setObjectName("max_memory_label")
self.download_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.max_memory_label)
self.max_memory_layout = QtWidgets.QHBoxLayout()
self.max_memory_layout.setObjectName("max_memory_layout")
self.max_memory_spin = QtWidgets.QSpinBox(self.download_group)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.max_memory_spin.sizePolicy().hasHeightForWidth())
self.max_memory_spin.setSizePolicy(sizePolicy)
self.max_memory_spin.setMinimum(0)
self.max_memory_spin.setMaximum(10240)
self.max_memory_spin.setSingleStep(128)
self.max_memory_spin.setProperty("value", 1024)
self.max_memory_spin.setObjectName("max_memory_spin")
self.max_memory_layout.addWidget(self.max_memory_spin)
self.max_memory_info_label = QtWidgets.QLabel(self.download_group)
font = QtGui.QFont()
font.setItalic(True)
self.max_memory_info_label.setFont(font)
self.max_memory_info_label.setObjectName("max_memory_info_label")
self.max_memory_layout.addWidget(self.max_memory_info_label)
self.download_layout.setLayout(1, QtWidgets.QFormLayout.FieldRole, self.max_memory_layout)
self.preferred_cdn_label = QtWidgets.QLabel(self.download_group)
self.preferred_cdn_label.setObjectName("preferred_cdn_label")
self.download_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.preferred_cdn_label)
self.preferred_cdn_line = QtWidgets.QLineEdit(self.download_group)
self.preferred_cdn_line.setObjectName("preferred_cdn_line")
self.download_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.preferred_cdn_line)
self.disable_https_label = QtWidgets.QLabel(self.download_group)
self.disable_https_label.setObjectName("disable_https_label")
self.download_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.disable_https_label)
self.disable_https_check = QtWidgets.QCheckBox(self.download_group)
self.disable_https_check.setText("")
self.disable_https_check.setObjectName("disable_https_check")
self.download_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.disable_https_check)
self.left_layout.addWidget(self.download_group)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.left_layout.addItem(spacerItem)
self.settings_layout.addLayout(self.left_layout)
self.right_layout = QtWidgets.QVBoxLayout()
self.right_layout.setObjectName("right_layout")
self.cleanup_group = QtWidgets.QGroupBox(self.settings)
self.cleanup_group.setObjectName("cleanup_group")
self.layout_clean = QtWidgets.QVBoxLayout(self.cleanup_group)
self.layout_clean.setObjectName("layout_clean")
self.clean_button_without_manifests = QtWidgets.QPushButton(self.gb_clean)
self.clean_button_without_manifests.setObjectName("clean_button_without_manifests")
self.layout_clean.addWidget(self.clean_button_without_manifests)
self.clean_button = QtWidgets.QPushButton(self.gb_clean)
self.clean_keep_manifests_button = QtWidgets.QPushButton(self.cleanup_group)
self.clean_keep_manifests_button.setObjectName("clean_keep_manifests_button")
self.layout_clean.addWidget(self.clean_keep_manifests_button)
self.clean_button = QtWidgets.QPushButton(self.cleanup_group)
self.clean_button.setObjectName("clean_button")
self.layout_clean.addWidget(self.clean_button)
self.layout_settings.addWidget(self.gb_clean, 0, 1, 1, 1)
self.right_layout.addWidget(self.cleanup_group)
self.egl_sync = QtWidgets.QGroupBox(self.settings)
self.egl_sync.setObjectName("egl_sync")
self.verticalLayout = QtWidgets.QVBoxLayout(self.egl_sync)
self.verticalLayout.setObjectName("verticalLayout")
self.sync_button = QtWidgets.QPushButton(self.egl_sync)
self.sync_button.setObjectName("sync_button")
self.verticalLayout.addWidget(self.sync_button)
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)
self.layout_downloads.setObjectName("layout_downloads")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.layout_downloads.addItem(spacerItem, 0, 4, 1, 1)
self.max_worker_select = QtWidgets.QSpinBox(self.gb_downloads)
self.max_worker_select.setObjectName("max_worker_select")
self.layout_downloads.addWidget(self.max_worker_select, 0, 1, 1, 1)
self.lbl_max_workers = QtWidgets.QLabel(self.gb_downloads)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lbl_max_workers.sizePolicy().hasHeightForWidth())
self.lbl_max_workers.setSizePolicy(sizePolicy)
self.lbl_max_workers.setObjectName("lbl_max_workers")
self.layout_downloads.addWidget(self.lbl_max_workers, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.lbl_max_workers_info = QtWidgets.QLabel(self.gb_downloads)
font = QtGui.QFont()
font.setItalic(True)
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.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.layout_settings.addWidget(self.gb_install_dir, 0, 0, 1, 1, QtCore.Qt.AlignTop)
self.egl_sync_button = QtWidgets.QPushButton(self.egl_sync)
self.egl_sync_button.setObjectName("egl_sync_button")
self.verticalLayout.addWidget(self.egl_sync_button)
self.right_layout.addWidget(self.egl_sync)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.layout_settings.addItem(spacerItem1, 2, 0, 1, 2)
self.right_layout.addItem(spacerItem1)
self.settings_layout.addLayout(self.right_layout)
legendary_settings.addWidget(self.settings)
self.egl_sync_page = QtWidgets.QWidget()
self.egl_sync_page.setObjectName("egl_sync_page")
@ -127,15 +182,21 @@ class Ui_legendary_settings(object):
def retranslateUi(self, legendary_settings):
_translate = QtCore.QCoreApplication.translate
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.install_dir_group.setTitle(_translate("legendary_settings", "Default Installation Directory"))
self.download_group.setTitle(_translate("legendary_settings", "Download Settings"))
self.max_workers_label.setText(_translate("legendary_settings", "Max Workers"))
self.max_workers_info_label.setText(_translate("legendary_settings", "Less is slower (0: Default)"))
self.max_memory_label.setText(_translate("legendary_settings", "Max Memory"))
self.max_memory_spin.setSuffix(_translate("legendary_settings", "MiB"))
self.max_memory_info_label.setText(_translate("legendary_settings", "Less is slower (0: Default)"))
self.preferred_cdn_label.setText(_translate("legendary_settings", "Preferred CDN"))
self.preferred_cdn_line.setPlaceholderText(_translate("legendary_settings", "Default"))
self.disable_https_label.setText(_translate("legendary_settings", "Disable HTTPS"))
self.cleanup_group.setTitle(_translate("legendary_settings", "Cleanup"))
self.clean_keep_manifests_button.setText(_translate("legendary_settings", "Clean, but keep manifests"))
self.clean_button.setText(_translate("legendary_settings", "Remove everything"))
self.egl_sync.setTitle(_translate("legendary_settings", "EGL Sync"))
self.sync_button.setText(_translate("legendary_settings", "Sync Settings"))
self.gb_downloads.setTitle(_translate("legendary_settings", "Download Settings"))
self.lbl_max_workers.setText(_translate("legendary_settings", "Max Workers"))
self.lbl_max_workers_info.setText(_translate("legendary_settings", "Less is slower (0: Default)"))
self.gb_install_dir.setTitle(_translate("legendary_settings", "Default Installation Directory"))
self.egl_sync_button.setText(_translate("legendary_settings", "Sync Settings"))
self.back_button.setText(_translate("legendary_settings", "Back"))
self.title.setText(_translate("legendary_settings", "<h2>Sync Games with Epic Games Store</h2>"))
self.path_info.setText(_translate("legendary_settings", "TextLabel"))

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>532</width>
<height>383</height>
<width>810</width>
<height>535</height>
</rect>
</property>
<property name="windowTitle">
@ -17,116 +17,223 @@
<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>
<layout class="QHBoxLayout" name="settings_layout">
<item>
<layout class="QVBoxLayout" name="left_layout">
<item>
<widget class="QGroupBox" name="install_dir_group">
<property name="title">
<string>Default Installation Directory</string>
</property>
<layout class="QVBoxLayout" name="layout_install_dir"/>
</widget>
</item>
<item>
<widget class="QGroupBox" name="download_group">
<property name="title">
<string>Download Settings</string>
</property>
<layout class="QFormLayout" name="download_layout">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="clean_button">
<property name="text">
<string>Remove everything</string>
</property>
</widget>
</item>
</layout>
</widget>
<item row="0" column="0">
<widget class="QLabel" name="max_workers_label">
<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="1">
<layout class="QHBoxLayout" name="max_workers_layout">
<item>
<widget class="QSpinBox" name="max_worker_spin">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>128</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="max_workers_info_label">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Less is slower (0: Default)</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="max_memory_label">
<property name="text">
<string>Max Memory</string>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="max_memory_layout">
<item>
<widget class="QSpinBox" name="max_memory_spin">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string>MiB</string>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>10240</number>
</property>
<property name="singleStep">
<number>128</number>
</property>
<property name="value">
<number>1024</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="max_memory_info_label">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Less is slower (0: Default)</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="preferred_cdn_label">
<property name="text">
<string>Preferred CDN</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="preferred_cdn_line">
<property name="placeholderText">
<string>Default</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="disable_https_label">
<property name="text">
<string>Disable HTTPS</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="disable_https_check">
<property name="text">
<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="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 class="QVBoxLayout" name="right_layout">
<item>
<widget class="QGroupBox" name="cleanup_group">
<property name="title">
<string>Cleanup</string>
</property>
<layout class="QVBoxLayout" name="layout_clean">
<item>
<widget class="QPushButton" name="clean_keep_manifests_button">
<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>
<widget class="QGroupBox" name="egl_sync">
<property name="title">
<string>EGL Sync</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="egl_sync_button">
<property name="text">
<string>Sync Settings</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

@ -15,10 +15,8 @@ class Ui_RareSettings(object):
def setupUi(self, RareSettings):
RareSettings.setObjectName("RareSettings")
RareSettings.resize(674, 532)
self.rare_layout = QtWidgets.QGridLayout(RareSettings)
self.rare_layout = QtWidgets.QHBoxLayout(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)
@ -78,33 +76,33 @@ class Ui_RareSettings(object):
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.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.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.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.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_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)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.behavior_layout.addItem(spacerItem, 2, 1, 2, 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)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.left_layout.addItem(spacerItem1)
self.rare_layout.addLayout(self.left_layout)
self.right_layout = QtWidgets.QVBoxLayout()
self.right_layout.setObjectName("right_layout")
self.log_dir_group = QtWidgets.QGroupBox(RareSettings)
@ -142,9 +140,9 @@ class Ui_RareSettings(object):
self.startmenu_link.setObjectName("startmenu_link")
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)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.right_layout.addItem(spacerItem2)
self.rare_layout.addLayout(self.right_layout)
self.retranslateUi(RareSettings)
QtCore.QMetaObject.connectSlotsByName(RareSettings)
@ -160,13 +158,13 @@ class Ui_RareSettings(object):
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.log_games.setText(_translate("RareSettings", "Show console for game debug"))
self.sys_tray.setText(_translate("RareSettings", "Exit to System tray"))
self.auto_update.setText(_translate("RareSettings", "Update games on application startup"))
self.confirm_start.setText(_translate("RareSettings", "Confirm game launch"))
self.auto_sync_cloud.setText(_translate("RareSettings", "Automatically sync with cloud"))
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"))

View file

@ -13,21 +13,8 @@
<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="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<layout class="QHBoxLayout" name="rare_layout">
<item>
<layout class="QVBoxLayout" name="left_layout">
<item>
<widget class="QGroupBox" name="interface_group">
@ -129,26 +116,6 @@
<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">
@ -163,17 +130,17 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="auto_sync_cloud">
<item row="6" column="0">
<widget class="QCheckBox" name="log_games">
<property name="text">
<string>Automatically sync with cloud</string>
<string>Show console for game debug</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="confirm_start">
<item row="0" column="0">
<widget class="QCheckBox" name="sys_tray">
<property name="text">
<string>Confirm game launch</string>
<string>Exit to System tray</string>
</property>
</widget>
</item>
@ -184,13 +151,33 @@
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="sys_tray">
<item row="2" column="0">
<widget class="QCheckBox" name="confirm_start">
<property name="text">
<string>Exit to System tray</string>
<string>Confirm game launch</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="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>
</layout>
</widget>
</item>
@ -209,7 +196,7 @@
</item>
</layout>
</item>
<item row="0" column="1">
<item>
<layout class="QVBoxLayout" name="right_layout">
<item>
<widget class="QGroupBox" name="log_dir_group">