1
0
Fork 0
mirror of synced 2024-06-26 18:20:50 +12:00

Add egl sync options

This commit is contained in:
Dummerle 2021-05-19 21:09:14 +02:00
parent 83be324ec7
commit df5e83352a
4 changed files with 454 additions and 84 deletions

View file

@ -1,6 +1,8 @@
import os.path
from logging import getLogger
from PyQt5.QtWidgets import QFileDialog, QMessageBox, QStackedWidget
from PyQt5.QtWidgets import QFileDialog, QMessageBox, QStackedWidget, QVBoxLayout, QDialog, QCheckBox, QLabel, \
QHBoxLayout, QPushButton, QGroupBox, QWidget
from custom_legendary.core import LegendaryCore
from rare.ui.components.tabs.settings.legendary import Ui_legendary_settings
@ -39,6 +41,26 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
self.back_button.clicked.connect(lambda: self.setCurrentIndex(0))
self.path_info.setText(self.tr(r"EGL path is at C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests"))
path = os.path.expanduser("~/")
if self.core.egl.programdata_path:
path = self.core.egl.programdata_path
else:
possible_wine_prefixes = [os.path.expanduser("~/.wine"),
os.path.expanduser("~/Games/epic-games-store")]
for i in possible_wine_prefixes:
if os.path.exists(p := os.path.join(i, "drive_c/ProgramData/Epic/EpicGamesLauncher/Data/Manifests")):
path = p
self.path_edit = PathEdit(path, QFileDialog.DirectoryOnly, save_func=self.save_egl_path)
self.pathedit_placeholder.addWidget(self.path_edit)
if os.name != "nt":
self.core.lgd.config.set("Legendary", "egl_programdata")
self.core.egl.programdata_path = path
self.importable_widgets = []
self.exportable_widgets = []
if self.core.egl_sync_enabled:
self.sync_button.setText(self.tr("Disable sync"))
else:
@ -46,13 +68,93 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
self.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)
def enable_sync(self):
if not self.core.egl.programdata_path:
if os.path.exists(path := self.path_edit.text()):
self.core.lgd.config.set("Legendary", "egl_programdata", path)
self.core.lgd.save_config()
self.core.egl.programdata_path = path
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.enable_sync_button.setDisabled(True)
def export_all(self):
for w in self.exportable_widgets:
w.export_game()
def import_all(self):
for w in self.importable_widgets:
w.import_game()
def save_egl_path(self):
self.core.lgd.config.set("Legendary", "egl_programdata", self.path_edit.text())
self.core.egl.programdata_path = self.path_edit.text()
self.core.lgd.save_config()
self.update_egl_widget()
def sync(self):
if self.core.egl_sync_enabled:
# disable_sync()
pass
# disable sync
info = DisableSyncDialog().get_information()
if info[0] == 0:
if info[1]:
self.core.lgd.config.remove_option('Legendary', 'egl_sync')
else:
self.core.lgd.config.remove_option('Legendary', 'egl_programdata')
self.core.lgd.config.remove_option('Legendary', 'egl_sync')
# remove EGL GUIDs from all games, DO NOT remove .egstore folders because that would fuck things up.
for igame in self.core.get_installed_list():
igame.egl_guid = ''
self.core.install_game(igame)
self.core.lgd.save_config()
self.sync_button.setText(self.tr("Enable Sync"))
else:
# enable sync
self.enable_sync_button.setDisabled(False)
self.update_egl_widget()
self.setCurrentIndex(1)
def update_egl_widget(self):
self.exportable_widgets = []
QWidget().setLayout(self.exportable_games.layout())
QWidget().setLayout(self.importable_games.layout())
importable_layout = QVBoxLayout()
self.importable_games.setLayout(importable_layout)
exportable_layout = QVBoxLayout()
self.exportable_games.setLayout(exportable_layout)
if not self.core.egl.programdata_path:
self.importable_games.setVisible(False)
self.exportable_games.setVisible(False)
self.export_all_button.setVisible(False)
self.import_all_button.setVisible(False)
return
self.importable_games.setVisible(True)
self.exportable_games.setVisible(True)
self.export_all_button.setVisible(True)
self.import_all_button.setVisible(True)
for igame in self.core.egl_get_exportable():
w = EGLSyncWidget(igame, True, self.core)
self.importable_widgets.append(w)
self.exportable_games.layout().addWidget(w)
if len(self.core.egl_get_exportable()) == 0:
self.exportable_games.layout().addWidget(QLabel(self.tr("No games to export")))
self.importable_widgets = []
for game in self.core.egl_get_importable():
w = EGLSyncWidget(game, False, self.core)
self.importable_widgets.append(w)
self.importable_games.layout().addWidget(w)
if len(self.core.egl_get_importable()) == 0:
self.importable_games.layout().addWidget(QLabel(self.tr("No games to import")))
def save_path(self):
self.core.lgd.config["Legendary"]["install_dir"] = self.install_dir.text()
if self.install_dir.text() == "" and "install_dir" in self.core.lgd.config["Legendary"].keys():
@ -96,3 +198,72 @@ class LegendarySettings(QStackedWidget, Ui_legendary_settings):
else:
QMessageBox.information(self, "Cleanup", "Nothing to clean")
class DisableSyncDialog(QDialog):
info = 1, False
def __init__(self):
super(DisableSyncDialog, self).__init__()
self.layout = QVBoxLayout()
self.question = QLabel(self.tr("Do you really want to disable sync with Epic Games Store"))
self.layout.addWidget(self.question)
self.remove_metadata = QCheckBox(self.tr("Remove metadata from installed games"))
self.layout.addWidget(self.remove_metadata)
self.button_layout = QHBoxLayout()
self.button_layout.addStretch(1)
self.ok_button = QPushButton(self.tr("Ok"))
self.cancel_button = QPushButton(self.tr("Cancel"))
self.ok_button.clicked.connect(self.ok)
self.cancel_button.clicked.connect(self.cancel)
self.button_layout.addWidget(self.ok_button)
self.button_layout.addWidget(self.cancel_button)
self.layout.addStretch(1)
self.layout.addLayout(self.button_layout)
self.setLayout(self.layout)
def ok(self):
self.info = 0, self.remove_metadata.isChecked()
self.close()
def cancel(self):
self.close()
def get_information(self):
self.exec_()
return self.info
class EGLSyncWidget(QGroupBox):
def __init__(self, game, export: bool, core: LegendaryCore):
super(EGLSyncWidget, self).__init__()
self.layout = QVBoxLayout()
self.export = export
self.core = core
self.game = game
if export:
self.app_title_label = QLabel(game.title)
else:
self.app_title_label = QLabel(game.app_title)
self.layout.addWidget(self.app_title_label)
self.button = QPushButton(self.tr("Export") if export else self.tr("Import"))
if export:
self.button.clicked.connect(self.export_game)
else:
self.button.clicked.connect(self.import_game)
self.layout.addWidget(self.button)
def export_game(self):
self.core.egl_export(self.game.app_name)
def import_game(self):
self.core.egl_import(self.game.app_name)

View file

@ -86,12 +86,12 @@
<context>
<name>App</name>
<message>
<location filename="../app.py" line="95"/>
<location filename="../app.py" line="100"/>
<source>Download finished</source>
<translation>Download abgeschlossen</translation>
</message>
<message>
<location filename="../app.py" line="95"/>
<location filename="../app.py" line="100"/>
<source>Download finished. Game is playable now</source>
<translation>Downlaod abgeschlossen. Spiel kann jetzt gespielt werden</translation>
</message>
@ -195,6 +195,29 @@
<translation>Installieren</translation>
</message>
</context>
<context>
<name>DisableSyncDialog</name>
<message>
<location filename="../components/tabs/settings/legendary.py" line="177"/>
<source>Do you really want to disable sync with Epic Games Store</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../components/tabs/settings/legendary.py" line="180"/>
<source>Remove metadata from installed games</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../components/tabs/settings/legendary.py" line="186"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../components/tabs/settings/legendary.py" line="187"/>
<source>Cancel</source>
<translation type="unfinished">Abbruch</translation>
</message>
</context>
<context>
<name>DlQueueWidget</name>
<message>
@ -463,6 +486,19 @@
<translation>DXVK Einstellungen</translation>
</message>
</context>
<context>
<name>EGLSyncWidget</name>
<message>
<location filename="../components/tabs/settings/legendary.py" line="224"/>
<source>Export</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../components/tabs/settings/legendary.py" line="224"/>
<source>Import</source>
<translation type="unfinished">Importieren</translation>
</message>
</context>
<context>
<name>GameActions</name>
<message>
@ -673,7 +709,7 @@
<translation type="obsolete">Überprüfung nach Updates beim Start überspringen</translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="138"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="139"/>
<source>Save</source>
<translation>Speichern</translation>
</message>
@ -713,85 +749,85 @@
<translation type="obsolete">Start Parameter</translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="128"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="129"/>
<source>Launch parameters</source>
<translation>Start Parameter</translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="123"/>
<source>Game Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="124"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="125"/>
<source>Launch Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="134"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="135"/>
<source>Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="135"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="136"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="136"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="137"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="129"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="130"/>
<source>Wrapper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="130"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="131"/>
<source>Skip update check</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="131"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="132"/>
<source>e.g. optirun</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="133"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="134"/>
<source>Offline mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="137"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="138"/>
<source>parameters</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="139"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="140"/>
<source>Sync with cloud</source>
<translation type="unfinished">Automatisch Synchronisieren</translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="140"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="141"/>
<source>Linux Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="141"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="142"/>
<source>Don&apos;t use Proton</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="142"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="143"/>
<source>Proton</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="143"/>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="144"/>
<source>Prefix</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/games/game_info/game_settings.py" line="124"/>
<source>GameSettings</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GameWidgetInstalled</name>
@ -1057,17 +1093,17 @@ Installationsgröße: {} GB</translation>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="73"/>
<source>Cleanup</source>
<translation>Aufräumen</translation>
<translation type="obsolete">Aufräumen</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="75"/>
<source>Remove everything</source>
<translation>Alles aufräumen</translation>
<translation type="obsolete">Alles aufräumen</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="74"/>
<source>Clean, but keep manifests</source>
<translation>Aufräumen, aber Manifests behalten</translation>
<translation type="obsolete">Aufräumen, aber Manifests behalten</translation>
</message>
<message>
<location filename="../components/tabs/settings/legendary.py" line="100"/>
@ -1075,33 +1111,33 @@ Installationsgröße: {} GB</translation>
<translation type="obsolete">Fertig! Es wurden {} MB entfernt</translation>
</message>
<message>
<location filename="../components/tabs/settings/legendary.py" line="77"/>
<location filename="../components/tabs/settings/legendary.py" line="164"/>
<source>Cleanup complete! Successfully removed {}</source>
<translation>Fertig! Es wurden {} MB entfernt</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="68"/>
<source>LegendarySettings</source>
<location filename="../components/tabs/settings/legendary.py" line="44"/>
<source>EGL path is at C:ProgramDataEpicEpicGamesLauncherData</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="69"/>
<source>Default Installation Directory</source>
<location filename="../components/tabs/settings/legendary.py" line="62"/>
<source>Disable sync</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="70"/>
<source>Download Settings</source>
<location filename="../components/tabs/settings/legendary.py" line="95"/>
<source>Enable Sync</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="71"/>
<source>Max Workers</source>
<location filename="../components/tabs/settings/legendary.py" line="116"/>
<source>No games to export</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="72"/>
<source>Less is slower (0: Default)</source>
<location filename="../components/tabs/settings/legendary.py" line="124"/>
<source>No games to import</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -1316,6 +1352,11 @@ Installationsgröße: {} GB</translation>
<source>Show</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rpc_settings.py" line="48"/>
<source>DiscordRPC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RareSettings</name>
@ -1335,7 +1376,7 @@ Installationsgröße: {} GB</translation>
<translation type="obsolete">Ordner für Bilder</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="116"/>
<location filename="../ui/components/tabs/settings/rare.py" line="119"/>
<source>Language</source>
<translation>Sprache</translation>
</message>
@ -1400,90 +1441,90 @@ Installationsgröße: {} GB</translation>
<translation type="obsolete">Benachrichtigung anzeigen</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="113"/>
<location filename="../ui/components/tabs/settings/rare.py" line="115"/>
<source>RareSettings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="114"/>
<location filename="../ui/components/tabs/settings/rare.py" line="123"/>
<source>Image Cache Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="115"/>
<location filename="../ui/components/tabs/settings/rare.py" line="116"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="117"/>
<location filename="../ui/components/tabs/settings/rare.py" line="118"/>
<source>Style Sheet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="118"/>
<location filename="../ui/components/tabs/settings/rare.py" line="120"/>
<source>Color Scheme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="119"/>
<location filename="../ui/components/tabs/settings/rare.py" line="121"/>
<source>Restart Rare to apply.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="121"/>
<location filename="../ui/components/tabs/settings/rare.py" line="122"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="122"/>
<source>Behaviour</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="123"/>
<location filename="../ui/components/tabs/settings/rare.py" line="127"/>
<source>Automatically sync with cloud</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="124"/>
<location filename="../ui/components/tabs/settings/rare.py" line="129"/>
<source>Update games on application startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="125"/>
<location filename="../ui/components/tabs/settings/rare.py" line="128"/>
<source>Confirm game launch</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="126"/>
<location filename="../ui/components/tabs/settings/rare.py" line="130"/>
<source>Exit to System tray</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="127"/>
<location filename="../ui/components/tabs/settings/rare.py" line="126"/>
<source>Show notification on download completion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="128"/>
<location filename="../ui/components/tabs/settings/rare.py" line="125"/>
<source>Restore window size on application startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="129"/>
<location filename="../ui/components/tabs/settings/rare.py" line="131"/>
<source>Logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="130"/>
<location filename="../ui/components/tabs/settings/rare.py" line="132"/>
<source>Open Log directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="131"/>
<location filename="../ui/components/tabs/settings/rare.py" line="133"/>
<source>Clean Log directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="124"/>
<source>Behavior</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SyncSaves</name>
@ -1729,4 +1770,92 @@ Installationsgröße: {} GB</translation>
<translation>Spiel updaten</translation>
</message>
</context>
<context>
<name>legendary_settings</name>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="118"/>
<source>StackedWidget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="119"/>
<source>Cleanup</source>
<translation type="unfinished">Aufräumen</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="120"/>
<source>Clean, but keep manifests</source>
<translation type="unfinished">Aufräumen, aber Manifests behalten</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="121"/>
<source>Remove everything</source>
<translation type="unfinished">Alles aufräumen</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="122"/>
<source>EGL Sync</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="123"/>
<source>Sync Games with Store</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="124"/>
<source>Download Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="125"/>
<source>Max Workers</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="126"/>
<source>Less is slower (0: Default)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="127"/>
<source>Default Installation Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="128"/>
<source>Back</source>
<translation type="unfinished">Zurück</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="129"/>
<source>&lt;h2&gt;Sync Games with Epic Games Store&lt;/h2&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="130"/>
<source>TextLabel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="131"/>
<source>Exportable Games</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="132"/>
<source>Importable Games</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="133"/>
<source>Import all Games</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="134"/>
<source>Export all Games</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -83,19 +83,39 @@ class Ui_legendary_settings(object):
self.pathedit_placeholder = QtWidgets.QVBoxLayout()
self.pathedit_placeholder.setObjectName("pathedit_placeholder")
self.verticalLayout_2.addLayout(self.pathedit_placeholder)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
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.horizontalLayout.addWidget(self.exportable_games)
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.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.horizontalLayout.addWidget(self.importable_games)
self.verticalLayout_2.addLayout(self.horizontalLayout)
self.gridLayout.addWidget(self.importable_games, 0, 1, 1, 1)
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.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, 0, 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, 1, 1, 1)
self.verticalLayout_2.addLayout(self.gridLayout)
self.groupBox = QtWidgets.QGroupBox(self.egl_sync_page)
self.groupBox.setObjectName("groupBox")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
self.horizontalLayout.setObjectName("horizontalLayout")
self.sync_once_button = QtWidgets.QPushButton(self.groupBox)
self.sync_once_button.setObjectName("sync_once_button")
self.horizontalLayout.addWidget(self.sync_once_button)
self.enable_sync_button = QtWidgets.QPushButton(self.groupBox)
self.enable_sync_button.setObjectName("enable_sync_button")
self.horizontalLayout.addWidget(self.enable_sync_button)
self.verticalLayout_2.addWidget(self.groupBox)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem2)
legendary_settings.addWidget(self.egl_sync_page)
@ -111,15 +131,21 @@ class Ui_legendary_settings(object):
self.clean_button_without_manifests.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 Games with Store"))
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.back_button.setText(_translate("legendary_settings", "Back"))
self.title.setText(_translate("legendary_settings", "<h2>Sync Games with Epic Games Store</h2>"))
self.exportable_games.setTitle(_translate("legendary_settings", "Importable Games"))
self.path_info.setText(_translate("legendary_settings", "TextLabel"))
self.importable_games.setTitle(_translate("legendary_settings", "Exportable Games"))
self.exportable_games.setTitle(_translate("legendary_settings", "Importable Games"))
self.import_all_button.setText(_translate("legendary_settings", "Import all Games"))
self.export_all_button.setText(_translate("legendary_settings", "Export all Games"))
self.groupBox.setTitle(_translate("legendary_settings", "Enable Sync"))
self.sync_once_button.setText(_translate("legendary_settings", "Sync once"))
self.enable_sync_button.setText(_translate("legendary_settings", "Enable automatic sync"))
if __name__ == "__main__":

View file

@ -50,7 +50,7 @@
<item>
<widget class="QPushButton" name="sync_button">
<property name="text">
<string>Sync Games with Store</string>
<string>Sync Settings</string>
</property>
</widget>
</item>
@ -150,16 +150,15 @@
<layout class="QVBoxLayout" name="pathedit_placeholder"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QGroupBox" name="exportable_games">
<property name="title">
<string>Importable Games</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3"/>
</widget>
</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="1">
<widget class="QGroupBox" name="importable_games">
<property name="title">
<string>Exportable Games</string>
@ -167,8 +166,53 @@
<layout class="QVBoxLayout" name="verticalLayout_4"/>
</widget>
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="exportable_games">
<property name="title">
<string>Importable Games</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3"/>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="import_all_button">
<property name="text">
<string>Import all Games</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="export_all_button">
<property name="text">
<string>Export 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">