Add egl sync options
This commit is contained in:
parent
83be324ec7
commit
df5e83352a
4 changed files with 454 additions and 84 deletions
|
@ -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)
|
||||
|
|
|
@ -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'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><h2>Sync Games with Epic Games Store</h2></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>
|
||||
|
|
|
@ -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__":
|
||||
|
|
|
@ -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>
|
||||
<widget class="QLabel" name="path_info">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3"/>
|
||||
</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">
|
||||
|
|
Loading…
Reference in a new issue