1
0
Fork 0
mirror of synced 2024-05-14 01:22:56 +12:00

Reformatting and update german translation

This commit is contained in:
Dummerle 2021-05-21 13:40:10 +02:00
parent 9edfd302bd
commit 3a39bac09c
42 changed files with 3799 additions and 2733 deletions

View file

@ -1,9 +1,6 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
name: Bug report about: Create a report to help us improve title: ''
labels: bug assignees: ''
---
@ -12,6 +9,7 @@ A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
@ -24,8 +22,9 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**System information (please complete the following information):**
- OS (e.g. Ubuntu 20.04 or Windows 10)
- Python version
- OS (e.g. Ubuntu 20.04 or Windows 10)
- Python version
**Additional context**
Add any other context about the problem here.

View file

@ -1,10 +1,9 @@
name: New Release
on:
release:
types: [ published ]
jobs:
pypy-deploy:
@ -53,7 +52,7 @@ jobs:
- uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: Install python deps
- name: Install python deps
run: |
pip3 install cx_Freeze setuptools wheel
pip3 install -r requirements.txt
@ -71,7 +70,7 @@ jobs:
overwrite: true
deb-package:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Deps
@ -84,10 +83,10 @@ jobs:
run: |
python3 setup.py sdist
python3 setup.py --command-packages=stdeb.command bdist_deb
- name: move file
run: mv deb_dist/*.deb Rare.deb
- name: Upload files to GitHub
uses: svenstaro/upload-release-action@2.2.1
with:

View file

@ -4,7 +4,8 @@
### Add translations
1. Execute ```pylupdate5 $(find -name "*.py") -ts Rare/languages/de.ts``` in source directory. Replace *de* with your language code
1. Execute ```pylupdate5 $(find -name "*.py") -ts Rare/languages/de.ts``` in source directory. Replace *de* with your
language code
2. Modify the .ts file manually or in Qt Linguist
3. Compile the file with ```lrelease Rare/languages/{lang}.ts```
@ -18,11 +19,12 @@ examples:
### Add features
Select one Card of the project and implement it, or if you want to add another feature ask me on Discord, or create an issue on GitHub
Select one Card of the project and implement it, or if you want to add another feature ask me on Discord, or create an
issue on GitHub
## Git crash-course
To contribute fork the repository and clone **your** repo. Then make your changes, add it to git with `git add File.xy` and upload it to GitHub with `git commit -m "message"` and `git push`.
Some IDEs can do this automatically.
To contribute fork the repository and clone **your** repo. Then make your changes, add it to git with `git add File.xy`
and upload it to GitHub with `git commit -m "message"` and `git push`. Some IDEs can do this automatically.
If you uploaded your changes, create a pull request

View file

@ -2,9 +2,9 @@
## A frontend for legendary, the open source Epic Games Launcher alternative
Rare is a GUI for Legendary, a command line aternative to Epic Games launcher.
It is currently considered beta software. You will probably run into issues, so it is
recommend to make a backup. If you run into an issue, please report it by creating an issue on github or on Discord: https://discord.gg/YvmABK9YSk
Rare is a GUI for Legendary, a command line aternative to Epic Games launcher. It is currently considered beta software.
You will probably run into issues, so it is recommend to make a backup. If you run into an issue, please report it by
creating an issue on github or on Discord: https://discord.gg/YvmABK9YSk
![Discord Shield](https://discordapp.com/api/guilds/826881530310819914/widget.png?style=shield)
@ -12,43 +12,51 @@ recommend to make a backup. If you run into an issue, please report it by creati
### Installation via pip (recommend)
Execute `pip install Rare` for all users Or `pip install Rare --user` for only one user. Then execute `rare` in your terminal or cmd
Execute `pip install Rare` for all users Or `pip install Rare --user` for only one user. Then execute `rare` in your
terminal or cmd
**Note**: On Linux must be `/home/user/.local/bin` in PATH and on Windows must be `PythonInstallationDirectory\Scripts` in PATH.
**Note**: On Linux must be `/home/user/.local/bin` in PATH and on Windows must be `PythonInstallationDirectory\Scripts`
in PATH.
### Windows Simple
Download Rare.exe from the [releases page](https://github.com/Dummerle/Rare/releases) and execute it.
Download Rare.exe from the [releases page](https://github.com/Dummerle/Rare/releases) and execute it.
**Note:**
Using the exe file could cause errors with Windows Defender or other Anti Virus. Sometimes it is not possible to download games and sometimes the app crashes. In this case please use pip
Using the exe file could cause errors with Windows Defender or other Anti Virus. Sometimes it is not possible to
download games and sometimes the app crashes. In this case please use pip
### Linux
#### Arch based
There are some AUR packages available:
- [rare](https://aur.archlinux.org/packages/rare) - for stable releases
- [rare-git](https://aur.archlinux.org/packages/rare-git) - for the latest features, which are not in a stable release
- [rare](https://aur.archlinux.org/packages/rare) - for stable releases
- [rare-git](https://aur.archlinux.org/packages/rare-git) - for the latest features, which are not in a stable release
#### Debian based
There is a `.deb` package available from the [releases page](https://github.com/Dummerle/Rare/releases): `sudo dpkg i Rare.deb`
There is a `.deb` package available from
the [releases page](https://github.com/Dummerle/Rare/releases): `sudo dpkg i Rare.deb`
#### Other
Install via `pip`.
## Run from source
1. Run `pip install -r requirements.txt` to get dependencies. If you use `pacman` you can run `sudo pacman --needed -S python-wheel python-setuptools python-pyqt5 python-qtawesome python-requests python-pillow`
1. Run `pip install -r requirements.txt` to get dependencies. If you use `pacman` you can
run `sudo pacman --needed -S python-wheel python-setuptools python-pyqt5 python-qtawesome python-requests python-pillow`
2. For unix operating systems run `sh start.sh`. For windows run `set PYTHONPATH=%CD% && python rare`
## Why Rare?
- Rare only uses ~50MB of RAM which is much less than the electron based [HeroicGamesLauncher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) uses.
- Rare supports all major platforms (Windows, Linux, Mac) unlike the alternatives.
**Note** Mac should work too, but I have no Mac and I can't test it.
- Rare only uses ~50MB of RAM which is much less than the electron
based [HeroicGamesLauncher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) uses.
- Rare supports all major platforms (Windows, Linux, Mac) unlike the alternatives.
**Note** Mac should work too, but I have no Mac and I can't test it.
## Features
@ -60,12 +68,14 @@ Install via `pip`.
- Translations (English, German and French)
## Planned Features
- More Translations (Need help)
- More Information about Games
More planned features are in [projects](https://github.com/Dummerle/Rare/projects/1)
- More Information about Games More planned features are in [projects](https://github.com/Dummerle/Rare/projects/1)
## Contributing
There are more options to contribute.
There are more options to contribute.
- If you can Python and PyQt you can implement new Features (Some ideas are in Projects).
- If you are a designer, you can add Stylesheets or create a logo or a banner
- You can translate the application in your language

View file

@ -24,18 +24,18 @@ if sys.platform == 'win32':
base = 'Win32GUI'
name = 'Rare.exe'
shortcut_table = [
('DesktopShortcut', # Shortcut
'DesktopFolder', # Directory
'Rare', # Name
'TARGETDIR', # Component
'[TARGETDIR]'+name, # Target
None, # Arguments
'A gui for Legendary.', # Description
None, # Hotkey
None, # Icon
None, # IconIndex
None, # ShowCmd
'TARGETDIR' # Working Directory
('DesktopShortcut', # Shortcut
'DesktopFolder', # Directory
'Rare', # Name
'TARGETDIR', # Component
'[TARGETDIR]' + name, # Target
None, # Arguments
'A gui for Legendary.', # Description
None, # Hotkey
None, # Icon
None, # IconIndex
None, # ShowCmd
'TARGETDIR' # Working Directory
)]
msi_data = {"Shortcut": shortcut_table}
bdist_msi_options = {'data': msi_data, "all_users": True}
@ -44,9 +44,9 @@ else:
name = 'Rare'
src_files += [
'LICENSE',
'README.md',
'rare/styles/Logo.ico',
'LICENSE',
'README.md',
'rare/styles/Logo.ico',
]
# Dependencies are automatically detected, but it might need fine tuning.
@ -58,17 +58,17 @@ build_exe_options["excludes"] = ["setuptools", "tkinter", "pkg_resources"]
# Set options
build_options["build_exe"] = build_exe_options
setup(name = 'Rare',
version = __version__,
description = 'A gui for Legendary.',
options = build_options,
executables = [
Executable('rare/__main__.py',
targetName=name,
icon='rare/styles/Logo.ico',
base=base,
shortcutName=shortcutName,
shortcutDir=shortcutDir,
),
],
)
setup(name='Rare',
version=__version__,
description='A gui for Legendary.',
options=build_options,
executables=[
Executable('rare/__main__.py',
targetName=name,
icon='rare/styles/Logo.ico',
base=base,
shortcutName=shortcutName,
shortcutDir=shortcutDir,
),
],
)

View file

@ -3,20 +3,17 @@ import webbrowser
from PyQt5.QtCore import QSize, pyqtSignal
from PyQt5.QtWidgets import QMenu, QTabWidget, QWidget, QWidgetAction
from qtawesome import icon
from rare.utils import legendary_utils
from custom_legendary.core import LegendaryCore
from rare.components.dialogs.install_dialog import InstallDialog
from rare.components.dialogs.uninstall_dialog import UninstallDialog
from rare.components.tab_utils import TabBar, TabButtonWidget
from rare.components.tabs.account import MiniWidget
from rare.components.tabs.cloud_saves import SyncSaves
from rare.components.tabs.downloads import DownloadTab
from rare.components.tabs.games import GameTab
from rare.components.tabs.settings import SettingsTab
from rare.utils import legendary_utils
from rare.utils.models import InstallOptions
@ -98,7 +95,6 @@ class TabWidget(QTabWidget):
self.tabBarClicked.connect(lambda x: self.games_tab.layout.setCurrentIndex(0) if x == 0 else None)
self.setIconSize(QSize(25, 25))
def install_game(self, app_name, disable_path=False):
infos = InstallDialog(app_name, self.core, disable_path).get_information()
@ -141,6 +137,7 @@ class TabWidget(QTabWidget):
downloads = len(self.downloadTab.dl_queue) + len(self.downloadTab.update_widgets.keys())
self.setTabText(1, "Downloads" + ((" (" + str(downloads) + ")") if downloads != 0 else ""))
self.downloadTab.update_text.setVisible(len(self.downloadTab.update_widgets) == 0)
# Update gamelist and set text of Downlaods to "Downloads"
def dl_finished(self, update_list):

View file

@ -75,7 +75,6 @@ class DownloadTab(QWidget):
self.update_text.setVisible(len(updates) == 0)
for igame in updates:
self.add_update(igame)
self.layout.addStretch(1)
@ -143,12 +142,15 @@ class DownloadTab(QWidget):
return
if self.active_game is None:
self.start_installation(dlm, game, status_queue, igame, repair_file, options, analysis, options.download_only)
self.start_installation(dlm, game, status_queue, igame, repair_file, options, analysis,
options.download_only)
else:
self.dl_queue.append((dlm, game, status_queue, igame, repair_file, options, analysis, options.download_only))
self.dl_queue.append(
(dlm, game, status_queue, igame, repair_file, options, analysis, options.download_only))
self.queue_widget.update_queue(self.dl_queue)
def start_installation(self, dlm, game, status_queue, igame, repair_file, options: InstallOptions, analysis, dl_only):
def start_installation(self, dlm, game, status_queue, igame, repair_file, options: InstallOptions, analysis,
dl_only):
if self.dl_queue:
self.dl_queue.pop(0)
self.queue_widget.update_queue(self.dl_queue)
@ -266,7 +268,8 @@ class DownloadTab(QWidget):
def statistics(self, ui_update: UIUpdate):
self.prog_bar.setValue(ui_update.progress)
self.dl_speed.setText(self.tr("Download speed") + f": {get_size(ui_update.download_speed)}/s")
self.cache_used.setText(self.tr("Cache used") + f": {get_size(ui_update.cache_usage) if ui_update.cache_usage > 1023 else '0KB'}")
self.cache_used.setText(
self.tr("Cache used") + f": {get_size(ui_update.cache_usage) if ui_update.cache_usage > 1023 else '0KB'}")
self.downloaded.setText(
self.tr("Downloaded") + f": {get_size(ui_update.total_downloaded)} / {get_size(self.analysis.dl_size)}")
self.time_left.setText(self.tr("Time left: ") + self.get_time(ui_update.estimated_time_left))
@ -308,7 +311,9 @@ class UpdateWidget(QWidget):
self.update_with_settings.clicked.connect(lambda: self.update_game(False))
self.layout.addWidget(self.update_button)
self.layout.addWidget(self.update_with_settings)
self.layout.addWidget(QLabel(self.tr("Version: ") + self.game.version + " -> " + self.core.get_asset(self.game.app_name, True).build_version))
self.layout.addWidget(QLabel(
self.tr("Version: ") + self.game.version + " -> " + self.core.get_asset(self.game.app_name,
True).build_version))
self.setLayout(self.layout)

View file

@ -121,7 +121,7 @@ class DownloadThread(QThread):
return
self.status.emit("dl_finished")
end_t = time.time()
logger.info(f"Download finished in {start_time-end_t}s")
logger.info(f"Download finished in {start_time - end_t}s")
game = self.core.get_game(self.igame.app_name)
if not self.dl_only:

View file

@ -8,11 +8,9 @@ from qtawesome import icon
from custom_legendary.core import LegendaryCore
from custom_legendary.models.game import InstalledGame, Game
from rare.components.dialogs.uninstall_dialog import UninstallDialog
from rare.components.tabs.games.game_info.dlcs import DlcTab
from rare.components.tabs.games.game_info.game_settings import GameSettings
from rare.ui.components.tabs.games.game_info.game_info import Ui_GameInfo
from rare.utils import legendary_utils
from rare.utils.extra_widgets import SideTabBar
from rare.utils.legendary_utils import VerifyThread
from rare.utils.utils import IMAGE_DIR, get_size

View file

@ -78,13 +78,13 @@ class GameList(QStackedWidget):
self.icon_layout.addWidget(icon_widget)
self.list_layout.addWidget(list_widget)
self.uninstalled_names = []
self.uninstalled_games = []
installed = [i.app_name for i in self.core.get_installed_list()]
# get Uninstalled games
games, self.dlcs = self.core.get_game_and_dlc_list()
for game in sorted(games, key=lambda x: x.app_title):
if not game.app_name in installed:
self.uninstalled_names.append(game)
self.uninstalled_games.append(game)
# add uninstalled games
@ -126,10 +126,10 @@ class GameList(QStackedWidget):
pixmap = QPixmap(f"{self.IMAGE_DIR}/{game.app_name}/UninstalledArt.png")
icon_widget = IconWidgetUninstalled(game, self.core, pixmap)
icon_widget.install_game.connect(self.install)
icon_widget.show_uninstalled_info.connect(self.show_install_info)
list_widget = ListWidgetUninstalled(self.core, game, pixmap)
list_widget.install_game.connect(self.install)
list_widget.show_uninstalled_info.connect(self.show_install_info)
self.widgets[game.app_name] = (icon_widget, list_widget)
@ -207,16 +207,9 @@ class GameList(QStackedWidget):
return True, pid
return False, 0
def install(self, app_name):
def show_install_info(self, app_name):
self.show_uninstalled_info.emit(app_name)
# icon_widget, list_widget = self.widgets[options.app_name]
# icon_widget.mousePressEvent = lambda e: None
# icon_widget.installing = True
# list_widget.install_button.setDisabled(True)
# list_widget.installing = True
# self.install_game.emit(options)
def finished(self, app_name):
self.running_games.remove(app_name)
self.active_game = ("", 0)
@ -284,7 +277,8 @@ class GameList(QStackedWidget):
widgets[0].info_label.setText("")
widgets[0].info_text = ""
# new installed
elif self.core.is_installed(widgets[0].game.app_name) and not isinstance(widgets[0], BaseInstalledWidget):
elif self.core.is_installed(widgets[0].game.app_name) and not isinstance(widgets[0],
BaseInstalledWidget):
self.widgets.pop(widgets[0].game.app_name)
# QWidget().setLayout(self.icon_layout)
@ -337,7 +331,8 @@ class GameList(QStackedWidget):
self.update()
# uninstalled
elif not self.core.is_installed(widgets[0].game.app_name) and isinstance(widgets[0], BaseInstalledWidget):
elif not self.core.is_installed(widgets[0].game.app_name) and isinstance(widgets[0],
BaseInstalledWidget):
self.list_layout.removeWidget(widgets[1])
self.icon_layout.removeWidget(widgets[0])
@ -397,5 +392,3 @@ class GameList(QStackedWidget):
i_widget, list_widget = self.widgets[name]
self.icon_layout.addWidget(i_widget)
self.list_layout.addWidget(list_widget)

View file

@ -1,4 +1,3 @@
import logging
import os
from logging import getLogger

View file

@ -3,7 +3,6 @@ from logging import getLogger
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import QGroupBox
logger = getLogger("Uninstalled")

View file

@ -1,13 +1,11 @@
from logging import getLogger
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import QVBoxLayout, QLabel
from custom_legendary.core import LegendaryCore
from custom_legendary.models.game import Game
from rare.components.tabs.games.game_widgets.base_uninstalled_widget import BaseUninstalledWidget
from rare.utils.extra_widgets import ClickableLabel
from rare.utils.models import InstallOptions
logger = getLogger("Uninstalled")

View file

@ -1,10 +1,9 @@
import json
import os
import string
from logging import getLogger
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QPushButton, QVBoxLayout, QFileDialog, QMessageBox, QLineEdit, \
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QPushButton, QVBoxLayout, QFileDialog, QLineEdit, \
QGroupBox
from qtawesome import icon
@ -71,7 +70,8 @@ class ImportWidget(QWidget):
self.layout.addWidget(self.import_one_game)
self.auto_import = QLabel(f"<h4>{self.tr('To import games from Epic Games Store, please enable EGL Sync in legendary settings')}</h4>")
self.auto_import = QLabel(
f"<h4>{self.tr('To import games from Epic Games Store, please enable EGL Sync in legendary settings')}</h4>")
self.layout.addWidget(self.auto_import)
self.layout.addStretch(1)

View file

@ -34,7 +34,7 @@ class RareSettings(QWidget, Ui_RareSettings):
(self.auto_sync_cloud, "auto_sync_cloud", True),
(self.notification, "notification", True),
(self.save_size, "save_size", False)
]
]
self.settings = QSettings()
self.img_dir_path = self.settings.value("img_dir", os.path.expanduser("~/.cache/rare/images/"), type=str)

View file

@ -79,7 +79,7 @@
<translation>Dies ist eine Betaversion, also können Bugs und andere Unschönheiten auftreten. Falls ein Bug auftritt, bitte auf &lt;a href=&apos;https://github.com/Dummerle/Rare/issues&apos;&gt;Github&lt;/a&gt; melden oder auf Discord. (Dummerle#7419). Ein Rare &lt;a href=&apos;https://discord.gg/YvmABK9YSk&apos;&gt;Discord server&lt;/a&gt; existiert ebenfalls</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/about.py" line="108"/>
<location filename="../ui/components/tabs/settings/about.py" line="109"/>
<source>&lt;h2&gt;About&lt;/h2&gt;</source>
<translation>&lt;h2&gt;Über&lt;/h2&gt;</translation>
</message>
@ -87,12 +87,12 @@
<context>
<name>App</name>
<message>
<location filename="../app.py" line="100"/>
<location filename="../app.py" line="108"/>
<source>Download finished</source>
<translation>Download abgeschlossen</translation>
</message>
<message>
<location filename="../app.py" line="100"/>
<location filename="../app.py" line="108"/>
<source>Download finished. Game is playable now</source>
<translation>Downlaod abgeschlossen. Spiel kann jetzt gespielt werden</translation>
</message>
@ -100,57 +100,57 @@
<context>
<name>BaseInstalledWidget</name>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="95"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="94"/>
<source>Do you want to launch {}</source>
<translation>Möchtest du {} starten</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="37"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="36"/>
<source>Launch</source>
<translation>Starten</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="79"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="78"/>
<source>Remove Desktop link</source>
<translation>Desktop Verknüpfung löschen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="89"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="88"/>
<source>Create Desktop link</source>
<translation>Desktopverknüpfung erstellen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="57"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="56"/>
<source>Remove start menu link</source>
<translation>Startmenüverknüpfung löschen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="59"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="58"/>
<source>Create start menu link</source>
<translation>Startmenüverknüpfung erstellen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="64"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="63"/>
<source>Uninstall</source>
<translation>Deinstallieren</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="81"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="80"/>
<source>Remove Start menu link</source>
<translation>Startmenüverknüpfung löschen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="91"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="90"/>
<source>Create Start menu link</source>
<translation>Startmenüverknüpfung erstellen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="111"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="110"/>
<source>An error occurred while starting game. Maybe game files are missing</source>
<translation>Ein Fehler ist passiert. Vielleicht fehlen die Spieldateien</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="102"/>
<location filename="../components/tabs/games/game_widgets/base_installed_widget.py" line="101"/>
<source>Game cannot run offline. Please start game in Online mode</source>
<translation>Spiel kann nicht offline gestartet werden. Starte die App im Online Mode neu</translation>
</message>
@ -181,17 +181,17 @@
<context>
<name>DLCWidget</name>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="131"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="124"/>
<source>Install</source>
<translation>Installieren</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="136"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="129"/>
<source>Installed. Uninstalling DLCs is not supported</source>
<translation>Installiert. Das Deinstallieren von DLCs wird nicht unterstützt</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="146"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="139"/>
<source>Installing</source>
<translation>Installieren</translation>
</message>
@ -253,27 +253,27 @@
<context>
<name>DlcTab</name>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="37"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="35"/>
<source>Installed DLCs</source>
<translation>Installierte DLCs</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="39"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="37"/>
<source>Available DLCs</source>
<translation>Verfügbare DLCs</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="58"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="56"/>
<source>No DLCs are installed</source>
<translation>Keine DLCs sind installiert</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="60"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="58"/>
<source>No DLCs are available</source>
<translation>Keine weiteren DLCs verfügbar</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/dlcs.py" line="74"/>
<location filename="../components/tabs/games/game_info/dlcs.py" line="72"/>
<source>Base Game is not installed. Please install {} first</source>
<translation>Basisspiel ist nicht installiert. Bitte installiere zuerst {}</translation>
</message>
@ -296,52 +296,52 @@
<translation>Keine Updates verfügbar</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="127"/>
<location filename="../components/tabs/downloads/__init__.py" line="130"/>
<source>Error preparing download</source>
<translation>Fehler beim Vorbereiten des Downloads</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="132"/>
<location filename="../components/tabs/downloads/__init__.py" line="135"/>
<source>Download size is 0. Game already exists</source>
<translation>Die Größe des Downloads ist 0. Spiel existiert bereits</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="210"/>
<location filename="../components/tabs/downloads/__init__.py" line="216"/>
<source>Installation finished</source>
<translation>Installation abgeschlossen</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="252"/>
<location filename="../components/tabs/downloads/__init__.py" line="260"/>
<source>Installing Game: No active download</source>
<translation>Installierendes Spiel: Kein aktiver Download</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="262"/>
<location filename="../components/tabs/downloads/__init__.py" line="270"/>
<source>Download speed</source>
<translation>Geschwindigkeit</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="263"/>
<location filename="../components/tabs/downloads/__init__.py" line="271"/>
<source>Cache used</source>
<translation>Benutzter Cache</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="264"/>
<location filename="../components/tabs/downloads/__init__.py" line="273"/>
<source>Downloaded</source>
<translation>Runtergeladen</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="266"/>
<location filename="../components/tabs/downloads/__init__.py" line="275"/>
<source>Time left: </source>
<translation>Zeit übrig: </translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="211"/>
<location filename="../components/tabs/downloads/__init__.py" line="217"/>
<source>Finished Download of game {}</source>
<translation>Download von {} abgeschlossen</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="202"/>
<location filename="../components/tabs/downloads/__init__.py" line="208"/>
<source>Download finished. Reload library</source>
<translation>Download abgeschlossen. Spiele neu laden</translation>
</message>
@ -361,7 +361,7 @@
<translation type="obsolete">Keine</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="158"/>
<location filename="../components/tabs/downloads/__init__.py" line="164"/>
<source>Installing Game: </source>
<translation>Installierendes Spiel: </translation>
</message>
@ -416,7 +416,7 @@
<message>
<location filename="../ui/components/tabs/settings/dxvk.py" line="81"/>
<source>Frame Time graph</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/dxvk.py" line="82"/>
@ -536,12 +536,12 @@
<context>
<name>GameInfo</name>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="99"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="95"/>
<source>Repair file does not exist or game does not need a repair. Please verify game first</source>
<translation>Reparationsdatei existiert nicht oder das Spiel braucht keine Reperatur. Bitte das spiel zuerst überprüfen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="124"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="120"/>
<source>Verification failed, {} file(s) corrupted, {} file(s) are missing. Do you want to repair them?</source>
<translation>Überprüfung fehlgeschlagen, {} Datei(en) fehlerhaft, {} Datei(en) fehlen. Willst du das Spiel reparieren?</translation>
</message>
@ -621,32 +621,32 @@
<translation>ProtonDB Wertung</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="71"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="68"/>
<source>Platimum</source>
<translation>Platin</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="72"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="69"/>
<source>Gold</source>
<translation>Gold</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="73"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="70"/>
<source>Silver</source>
<translation>Silber</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="74"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="71"/>
<source>Bronze</source>
<translation>Bronze</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="75"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="72"/>
<source>Could not get grade from ProtonDB</source>
<translation>Konnte nicht die Wertung finden</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="162"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="158"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
@ -654,22 +654,22 @@
<context>
<name>GameList</name>
<message>
<location filename="../components/tabs/games/game_list.py" line="209"/>
<location filename="../components/tabs/games/game_list.py" line="219"/>
<source>Launch</source>
<translation>Starten</translation>
</message>
<message>
<location filename="../components/tabs/games/game_list.py" line="227"/>
<location filename="../components/tabs/games/game_list.py" line="237"/>
<source>Game running</source>
<translation>Spiel läuft</translation>
</message>
<message>
<location filename="../components/tabs/games/game_list.py" line="55"/>
<location filename="../components/tabs/games/game_list.py" line="56"/>
<source>Installed Games: {} Available Games: {}</source>
<translation>Installierte Spiele: {} Verfügbare Spiele: {}</translation>
</message>
<message>
<location filename="../components/tabs/games/game_list.py" line="218"/>
<location filename="../components/tabs/games/game_list.py" line="228"/>
<source>Sync CLoud saves</source>
<translation>Spielstand synchronisieren</translation>
</message>
@ -677,20 +677,35 @@
<context>
<name>GameListHeadBar</name>
<message>
<location filename="../components/tabs/games/__init__.py" line="87"/>
<location filename="../components/tabs/games/__init__.py" line="95"/>
<source>Installed only</source>
<translation>Nur Installierte</translation>
</message>
<message>
<location filename="../components/tabs/games/__init__.py" line="94"/>
<location filename="../components/tabs/games/__init__.py" line="103"/>
<source>Import Game</source>
<translation>Spiel importieren</translation>
</message>
<message>
<location filename="../components/tabs/games/__init__.py" line="106"/>
<location filename="../components/tabs/games/__init__.py" line="115"/>
<source>Search Game</source>
<translation>Spiel suchen</translation>
</message>
<message>
<location filename="../components/tabs/games/__init__.py" line="95"/>
<source>All</source>
<translation>Alle</translation>
</message>
<message>
<location filename="../components/tabs/games/__init__.py" line="95"/>
<source>Offline Games</source>
<translation>Offline Spiele</translation>
</message>
<message>
<location filename="../components/tabs/games/__init__.py" line="95"/>
<source>32 Bit Games</source>
<translation>32 Bit Spiele</translation>
</message>
</context>
<context>
<name>GameSettings</name>
@ -851,12 +866,12 @@
<translation type="obsolete">Spiel installieren</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/uninstalled_icon_widget.py" line="46"/>
<location filename="../components/tabs/games/game_widgets/uninstalled_icon_widget.py" line="44"/>
<source>Installation running</source>
<translation>Installation läuft</translation>
</message>
<message>
<location filename="../components/tabs/games/game_widgets/uninstalled_icon_widget.py" line="44"/>
<location filename="../components/tabs/games/game_widgets/uninstalled_icon_widget.py" line="42"/>
<source>Game Info</source>
<translation>Spielinfo</translation>
</message>
@ -894,24 +909,24 @@
<translation>Keine valide Session gefunden</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="27"/>
<location filename="../components/tabs/games/import_widget.py" line="26"/>
<source>Back</source>
<translation>Zurück</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="43"/>
<location filename="../components/tabs/games/import_widget.py" line="42"/>
<source>Select path to game</source>
<translation>Wähle den Pfad zum Spiel</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="66"/>
<location filename="../components/tabs/games/import_widget.py" line="65"/>
<source>Import Game</source>
<translation>Spiel importieren</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="78"/>
<source>Import all games from Epic Games Launcher</source>
<translation>Alle Spiele aus dem Epic Games Launcher importieren</translation>
<translation type="obsolete">Alle Spiele aus dem Epic Games Launcher importieren</translation>
</message>
<message>
<location filename="../Components/Tabs/Games/ImportWidget.py" line="116"/>
@ -921,58 +936,63 @@
<message>
<location filename="../components/tabs/games/import_widget.py" line="46"/>
<source>Override app name (Only if imported game from legendary or the app could not find the app name)</source>
<translation>App Name überschreiben (Nur falls das Spiel von Legendary importiert wird oder der App Name nicht gefunden wird</translation>
<translation type="obsolete">App Name überschreiben (Nur falls das Spiel von Legendary importiert wird oder der App Name nicht gefunden wird</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="119"/>
<location filename="../components/tabs/games/import_widget.py" line="114"/>
<source>Could not find app name</source>
<translation>Konnte den Appnamen nicht finden</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="123"/>
<location filename="../components/tabs/games/import_widget.py" line="118"/>
<source>Successfully imported {}. Reload library</source>
<translation>Erfolgreich {} importiert. Spiele neu laden</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="130"/>
<location filename="../components/tabs/games/import_widget.py" line="125"/>
<source>Failed to import {}</source>
<translation>{} Konnte nicht importiert werden</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="169"/>
<source>Successfully imported {} Games. Reloading Library</source>
<translation>Erfolgreich {} Spiele importiert. Spiele neu laden</translation>
<translation type="obsolete">Erfolgreich {} Spiele importiert. Spiele neu laden</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="39"/>
<location filename="../components/tabs/games/import_widget.py" line="38"/>
<source>Import existing game from Epic Games Launcher</source>
<translation>Ein bereits existierendes Spiel aus dem Epic Games Launcher importieren</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="173"/>
<source>No Games were found</source>
<translation>Keine Spiele wurden gefunden</translation>
<translation type="obsolete">Keine Spiele wurden gefunden</translation>
</message>
<message>
<location filename="../components/tabs/games/import_widget.py" line="45"/>
<source>Override app name (Only if the app could not find the app name)</source>
<translation>Appnamen überschreiben. (Nur wenn dieser nicht gefunden werden kann)</translation>
</message>
</context>
<context>
<name>InfoTabs</name>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="29"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="27"/>
<source>Back</source>
<translation>Zurück</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="33"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="31"/>
<source>Game Info</source>
<translation>Spielinfo</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="36"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="34"/>
<source>Settings</source>
<translation>Einstellungen</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/__init__.py" line="40"/>
<location filename="../components/tabs/games/game_info/__init__.py" line="38"/>
<source>DLCs</source>
<translation>DLCs</translation>
</message>
@ -980,25 +1000,30 @@
<context>
<name>InstallDialog</name>
<message>
<location filename="../components/dialogs/install_dialog.py" line="39"/>
<location filename="../components/dialogs/install_dialog.py" line="40"/>
<source>Max workers (0: Default)</source>
<translation>Maximale Anzahl Downloadprozessen(Standard: 0)</translation>
</message>
<message>
<location filename="../components/dialogs/install_dialog.py" line="20"/>
<location filename="../components/dialogs/install_dialog.py" line="21"/>
<source>&lt;h3&gt;Install {}&lt;/h3&gt;</source>
<translation>&lt;h3&gt;Installiere {}&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../components/dialogs/install_dialog.py" line="43"/>
<location filename="../components/dialogs/install_dialog.py" line="44"/>
<source>Force download</source>
<translation>Download erzwingen</translation>
</message>
<message>
<location filename="../components/dialogs/install_dialog.py" line="47"/>
<location filename="../components/dialogs/install_dialog.py" line="48"/>
<source>Ignore free space (Warning!)</source>
<translation>Freien Speicherplatz ignorieren (Achtung!)</translation>
</message>
<message>
<location filename="../components/dialogs/install_dialog.py" line="52"/>
<source>Do not install game</source>
<translation>Das Spiel nicht installieren</translation>
</message>
</context>
<context>
<name>InstallInfoDialog</name>
@ -1006,19 +1031,26 @@
<location filename="../components/dialogs/install_dialog.py" line="82"/>
<source>Download size: {}GB
Install size: {}GB</source>
<translation>Downloadgröße: {}GB
<translation type="obsolete">Downloadgröße: {}GB
Installationsgröße: {} GB</translation>
</message>
<message>
<location filename="../components/dialogs/install_dialog.py" line="88"/>
<location filename="../components/dialogs/install_dialog.py" line="96"/>
<source>Install</source>
<translation>Installieren</translation>
</message>
<message>
<location filename="../components/dialogs/install_dialog.py" line="90"/>
<location filename="../components/dialogs/install_dialog.py" line="98"/>
<source>Cancel</source>
<translation>Abbruch</translation>
</message>
<message>
<location filename="../components/dialogs/install_dialog.py" line="91"/>
<source>Download size: {}
Install size: {}</source>
<translation>Download Größe: {}
Installierte Größe: {}</translation>
</message>
</context>
<context>
<name>InstalledListWidget</name>
@ -1043,30 +1075,50 @@ Installationsgröße: {} GB</translation>
<message>
<location filename="../components/dialogs/launch_dialog.py" line="67"/>
<source>Launching Rare</source>
<translation>Starte Rare</translation>
<translation type="obsolete">Starte Rare</translation>
</message>
<message>
<location filename="../components/dialogs/launch_dialog.py" line="69"/>
<source>Logging in</source>
<translation>Einloggen</translation>
<translation type="obsolete">Einloggen</translation>
</message>
<message>
<location filename="../components/dialogs/launch_dialog.py" line="92"/>
<location filename="../components/dialogs/launch_dialog.py" line="130"/>
<source>Downloading Images</source>
<translation>Bilder runterladen</translation>
</message>
<message>
<location filename="../components/dialogs/launch_dialog.py" line="103"/>
<location filename="../components/dialogs/launch_dialog.py" line="155"/>
<source>Starting...</source>
<translation>Starten...</translation>
</message>
<message>
<location filename="../ui/components/dialogs/launch_dialog.py" line="43"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
<message>
<location filename="../ui/components/dialogs/launch_dialog.py" line="44"/>
<source>&lt;h2&gt;Launching Rare&lt;/h2&gt;</source>
<translation>&lt;h2&gt;Starte Rare&lt;/h2&gt;</translation>
</message>
<message>
<location filename="../ui/components/dialogs/launch_dialog.py" line="45"/>
<source>Downloading images</source>
<translation>Bilder herunterladen</translation>
</message>
<message>
<location filename="../ui/components/dialogs/launch_dialog.py" line="46"/>
<source>Getting Steam grades</source>
<translation>Lade Steamdaten</translation>
</message>
</context>
<context>
<name>LaunchThread</name>
<message>
<location filename="../components/dialogs/launch_dialog.py" line="24"/>
<source>Downloading Images</source>
<translation>Bilder runterladen</translation>
<translation type="obsolete">Bilder runterladen</translation>
</message>
</context>
<context>
@ -1219,17 +1271,17 @@ Installationsgröße: {} GB</translation>
<message>
<location filename="../components/tabs/settings/mango_hud.py" line="7"/>
<source>MangoHUD settings</source>
<translation>MangoHUD Einstellungen</translation>
<translation type="obsolete">MangoHUD Einstellungen</translation>
</message>
<message>
<location filename="../components/tabs/settings/mango_hud.py" line="11"/>
<source>CPU temperature</source>
<translation>CPU Temperatur</translation>
<translation type="obsolete">CPU Temperatur</translation>
</message>
<message>
<location filename="../components/tabs/settings/mango_hud.py" line="12"/>
<source>GPU temperature</source>
<translation>GPU Temperatur</translation>
<translation type="obsolete">GPU Temperatur</translation>
</message>
</context>
<context>
@ -1270,12 +1322,12 @@ Installationsgröße: {} GB</translation>
<message>
<location filename="../ui/utils/pathedit.py" line="42"/>
<source>PathEdit</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/utils/pathedit.py" line="43"/>
<source>Browse...</source>
<translation type="unfinished"></translation>
<translation>Suchen...</translation>
</message>
<message>
<location filename="../ui/utils/pathedit.py" line="44"/>
@ -1377,7 +1429,6 @@ Installationsgröße: {} GB</translation>
<translation type="obsolete">Ordner für Bilder</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="119"/>
<source>Language</source>
<translation>Sprache</translation>
@ -1515,7 +1566,7 @@ Installationsgröße: {} GB</translation>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="132"/>
<source>Open Log directory</source>
<translation>Ordner für Logs öffnen</translation>
<translation>Logordner öffnen</translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/rare.py" line="133"/>
@ -1527,10 +1578,18 @@ Installationsgröße: {} GB</translation>
<source>Behavior</source>
<translation>Optionen</translation>
</message>
</context>
<context>
<name>SteamThread</name>
<message>
<location filename="../components/tabs/settings/rare.py" line="76"/>
<source>Open Log directory</source>
<translation type="unfinished"></translation>
<location filename="../components/dialogs/launch_dialog.py" line="41"/>
<source>Getting data from ProtonDB</source>
<translation>Daten aus ProtonDB holen</translation>
</message>
<message>
<location filename="../components/dialogs/launch_dialog.py" line="45"/>
<source>Checking Games for data</source>
<translation>Daten überprüfen</translation>
</message>
</context>
<context>
@ -1672,7 +1731,7 @@ Installationsgröße: {} GB</translation>
<context>
<name>TabWidget</name>
<message>
<location filename="../components/tab_widget.py" line="29"/>
<location filename="../components/tab_widget.py" line="31"/>
<source>Games</source>
<translation>Spiele</translation>
</message>
@ -1716,37 +1775,37 @@ Installationsgröße: {} GB</translation>
<context>
<name>UninstalledInfo</name>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="61"/>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="65"/>
<source>Platinum</source>
<translation>Platin</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="62"/>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="66"/>
<source>Gold</source>
<translation>Gold</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="63"/>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="67"/>
<source>Silver</source>
<translation>Silber</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="64"/>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="68"/>
<source>Bronze</source>
<translation>Bronze</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="65"/>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="69"/>
<source>Could not get grade from ProtonDB</source>
<translation>Konnte nicht die Wertung finden</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="89"/>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="93"/>
<source>Install</source>
<translation>Installieren</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="131"/>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="137"/>
<source>Rating from ProtonDB: </source>
<translation>ProtonDB Wertung: </translation>
</message>
@ -1756,12 +1815,12 @@ Installationsgröße: {} GB</translation>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="24"/>
<source>Back</source>
<translation>ZurückZurück</translation>
<translation>Zurück</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="28"/>
<source>Game Info</source>
<translation>SpielinfoSpielinfo</translation>
<translation>Spielinfo</translation>
</message>
<message>
<location filename="../components/tabs/games/game_info/uninstalled_info.py" line="37"/>
@ -1772,17 +1831,22 @@ Installationsgröße: {} GB</translation>
<context>
<name>UpdateWidget</name>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="299"/>
<location filename="../components/tabs/downloads/__init__.py" line="308"/>
<source>Update Game</source>
<translation>Spiel updaten</translation>
</message>
<message>
<location filename="../components/tabs/downloads/__init__.py" line="314"/>
<source>Version: </source>
<translation>Version: </translation>
</message>
</context>
<context>
<name>legendary_settings</name>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="129"/>
<source>StackedWidget</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/components/tabs/settings/legendary.py" line="130"/>

File diff suppressed because it is too large Load diff

View file

@ -5,21 +5,21 @@ QWidget {
QLabel {
background-color: transparent;
padding: 4px;
padding: 4px;
}
QLineEdit {
border: 1px solid darkslategrey;
border-radius: 2px;
background-color: #334;
padding: 2px;
padding: 2px;
}
QScrollBar {
border: 1px solid darkslategrey;
border: 1px solid darkslategrey;
border-radius: 4px;
background-color: #334;
padding: 1px;
padding: 1px;
}
QScrollBar::add-line:vertical {
@ -54,12 +54,12 @@ QScrollBar::sub-line:horizontal {
subcontrol-origin: margin;
}
QScrollBar::handle{
border: 1px solid darkslategrey;
QScrollBar::handle {
border: 1px solid darkslategrey;
background-color: gray;
border-radius: 4px;
min-height: 20px;
min-width: 20px;
min-height: 20px;
min-width: 20px;
}
QTabBar#main_tab_bar {
@ -172,12 +172,12 @@ QPushButton:hover#menu_button {
QRadioButton {
background-color: none;
border-radius: 50%;
border-radius: 50%;
}
QRadioButton::indicator {
border: 1px solid gray;
border-radius: 5%;
border-radius: 5%;
}
QCheckBox {
@ -186,22 +186,22 @@ QCheckBox {
QCheckBox::indicator {
border: 1px solid gray;
border-radius: 2px;
border-radius: 2px;
}
QCheckBox::indicator:checked {
width: -20ex;
height: -20ex;
background: #5F5F80;
border-radius: 10px;
width: -20ex;
height: -20ex;
background: #5F5F80;
border-radius: 10px;
}
QSpinBox {
border: 1px solid darkslategrey;
border-radius: 2px;
background-color: #334;
padding: 2px;
padding: 2px;
}
/*
@ -221,11 +221,11 @@ QComboBox::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
/*
border-left-width: 1px;
border-left-color: darkgray;
border-left-style: solid;
*/
/*
border-left-width: 1px;
border-left-color: darkgray;
border-left-style: solid;
*/
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}

View file

@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtCore, QtWidgets
class Ui_LaunchDialog(object):
@ -48,6 +48,7 @@ class Ui_LaunchDialog(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
LaunchDialog = QtWidgets.QDialog()
ui = Ui_LaunchDialog()

View file

@ -1,56 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LaunchDialog</class>
<widget class="QDialog" name="LaunchDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>168</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="title_label">
<property name="text">
<string>&lt;h2&gt;Launching Rare&lt;/h2&gt;</string>
</property>
<class>LaunchDialog</class>
<widget class="QDialog" name="LaunchDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>168</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="title_label">
<property name="text">
<string>&lt;h2&gt;Launching Rare&lt;/h2&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="image_prog_bar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="image_info">
<property name="text">
<string>Downloading images</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="steam_prog_bar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="steam_info">
<property name="text">
<string>Getting Steam grades</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QProgressBar" name="image_prog_bar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="image_info">
<property name="text">
<string>Downloading images</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="steam_prog_bar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="steam_info">
<property name="text">
<string>Getting Steam grades</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
<resources/>
<connections/>
</ui>

View file

@ -22,7 +22,7 @@ class Ui_GameInfo(object):
self.layout_game_info_form.setObjectName("layout_game_info_form")
self.install_size = QtWidgets.QLabel(GameInfo)
self.install_size.setText("error")
self.install_size.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.install_size.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.install_size.setObjectName("install_size")
self.layout_game_info_form.addWidget(self.install_size, 4, 1, 1, 1)
self.lbl_dev = QtWidgets.QLabel(GameInfo)
@ -39,7 +39,7 @@ class Ui_GameInfo(object):
self.layout_game_info_form.addWidget(self.lbl_dev, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.version = QtWidgets.QLabel(GameInfo)
self.version.setText("error")
self.version.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.version.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.version.setObjectName("version")
self.layout_game_info_form.addWidget(self.version, 2, 1, 1, 1)
self.lbl_install_path = QtWidgets.QLabel(GameInfo)
@ -106,7 +106,7 @@ class Ui_GameInfo(object):
self.repair_button = QtWidgets.QPushButton(self.wg_game_actions)
self.repair_button.setObjectName("repair_button")
self.layout_game_actions.addWidget(self.repair_button)
self.layout_game_info_form.addWidget(self.wg_game_actions, 6, 1, 1, 1, QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.layout_game_info_form.addWidget(self.wg_game_actions, 6, 1, 1, 1, QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
self.lbl_version = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@ -133,18 +133,18 @@ class Ui_GameInfo(object):
self.layout_game_info_form.addWidget(self.lbl_app_name, 1, 0, 1, 1, QtCore.Qt.AlignRight)
self.dev = QtWidgets.QLabel(GameInfo)
self.dev.setText("error")
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.dev.setObjectName("dev")
self.layout_game_info_form.addWidget(self.dev, 0, 1, 1, 1)
self.app_name = QtWidgets.QLabel(GameInfo)
self.app_name.setText("error")
self.app_name.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.app_name.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.app_name.setObjectName("app_name")
self.layout_game_info_form.addWidget(self.app_name, 1, 1, 1, 1)
self.install_path = QtWidgets.QLabel(GameInfo)
self.install_path.setText("error")
self.install_path.setWordWrap(True)
self.install_path.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.install_path.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.install_path.setObjectName("install_path")
self.layout_game_info_form.addWidget(self.install_path, 5, 1, 1, 1)
self.lbl_game_actions = QtWidgets.QLabel(GameInfo)
@ -168,7 +168,7 @@ class Ui_GameInfo(object):
self.layout_game_info_form.addWidget(self.lbl_grade, 3, 0, 1, 1, QtCore.Qt.AlignRight)
self.grade = QtWidgets.QLabel(GameInfo)
self.grade.setText("error")
self.grade.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.grade.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.grade.setObjectName("grade")
self.layout_game_info_form.addWidget(self.grade, 3, 1, 1, 1)
self.layout_game_info.addLayout(self.layout_game_info_form, 2, 1, 1, 1)
@ -177,10 +177,10 @@ class Ui_GameInfo(object):
self.image.setFrameShadow(QtWidgets.QFrame.Sunken)
self.image.setText("")
self.image.setObjectName("image")
self.layout_game_info.addWidget(self.image, 2, 0, 1, 1, QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.layout_game_info.addWidget(self.image, 2, 0, 1, 1, QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
self.game_title = QtWidgets.QLabel(GameInfo)
self.game_title.setText("error")
self.game_title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.game_title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.game_title.setObjectName("game_title")
self.layout_game_info.addWidget(self.game_title, 0, 0, 1, 3)
@ -205,6 +205,7 @@ class Ui_GameInfo(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
GameInfo = QtWidgets.QWidget()
ui = Ui_GameInfo()

View file

@ -1,376 +1,376 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>GameInfo</class>
<widget class="QWidget" name="GameInfo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>436</width>
<height>317</height>
</rect>
</property>
<property name="windowTitle">
<string>Game Info</string>
</property>
<layout class="QGridLayout" name="layout_game_info">
<item row="2" column="1">
<layout class="QGridLayout" name="layout_game_info_form">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<property name="spacing">
<number>12</number>
</property>
<item row="4" column="1">
<widget class="QLabel" name="install_size">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_dev">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Developer</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="version">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="5" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_install_path">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Installation Path</string>
</property>
</widget>
</item>
<item row="4" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_install_size">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Installation Size</string>
</property>
</widget>
</item>
<item row="7" column="1">
<spacer name="hs_game_info_form">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="7" column="0">
<spacer name="vs_game_info_form">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="1" alignment="Qt::AlignLeft|Qt::AlignTop">
<widget class="QWidget" name="wg_game_actions" native="true">
<property name="minimumSize">
<size>
<width>250</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="layout_game_actions">
<property name="leftMargin">
<number>0</number>
<class>GameInfo</class>
<widget class="QWidget" name="GameInfo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>436</width>
<height>317</height>
</rect>
</property>
<property name="topMargin">
<number>0</number>
<property name="windowTitle">
<string>Game Info</string>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="uninstall_button">
<property name="text">
<string>Uninstall Game</string>
</property>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="verify_widget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_verify_button">
<layout class="QVBoxLayout" name="layout_verify_button">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="verify_button">
<property name="text">
<string>Verify Installation</string>
</property>
</widget>
<layout class="QGridLayout" name="layout_game_info">
<item row="2" column="1">
<layout class="QGridLayout" name="layout_game_info_form">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<property name="spacing">
<number>12</number>
</property>
<item row="4" column="1">
<widget class="QLabel" name="install_size">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_dev">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Developer</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="version">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="5" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_install_path">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Installation Path</string>
</property>
</widget>
</item>
<item row="4" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_install_size">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Installation Size</string>
</property>
</widget>
</item>
<item row="7" column="1">
<spacer name="hs_game_info_form">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="7" column="0">
<spacer name="vs_game_info_form">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="1" alignment="Qt::AlignLeft|Qt::AlignTop">
<widget class="QWidget" name="wg_game_actions" native="true">
<property name="minimumSize">
<size>
<width>250</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="layout_game_actions">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="uninstall_button">
<property name="text">
<string>Uninstall Game</string>
</property>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="verify_widget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_verify_button">
<layout class="QVBoxLayout" name="layout_verify_button">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="verify_button">
<property name="text">
<string>Verify Installation</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_verify_progress">
<layout class="QVBoxLayout" name="layout_verify_progress">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QProgressBar" name="verify_progress">
<property name="value">
<number>24</number>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QPushButton" name="repair_button">
<property name="text">
<string>Repair Instalation</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_version">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Version</string>
</property>
</widget>
</item>
<item row="1" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_app_name">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Application Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="dev">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="app_name">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="install_path">
<property name="text">
<string notr="true">error</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="6" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_game_actions">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Actions</string>
</property>
</widget>
</item>
<item row="3" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_grade">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>ProtonDB Grade</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="grade">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_verify_progress">
<layout class="QVBoxLayout" name="layout_verify_progress">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QProgressBar" name="verify_progress">
<property name="value">
<number>24</number>
</property>
</widget>
<item row="2" column="0" alignment="Qt::AlignLeft|Qt::AlignTop">
<widget class="QLabel" name="image">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QPushButton" name="repair_button">
<property name="text">
<string>Repair Instalation</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_version">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Version</string>
</property>
</widget>
</item>
<item row="1" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_app_name">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Application Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="dev">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="app_name">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="install_path">
<property name="text">
<string notr="true">error</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="6" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_game_actions">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Actions</string>
</property>
</widget>
</item>
<item row="3" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lbl_grade">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>ProtonDB Grade</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="grade">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0" alignment="Qt::AlignLeft|Qt::AlignTop">
<widget class="QLabel" name="image">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string notr="true"/>
</property>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="game_title">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="game_title">
<property name="text">
<string notr="true">error</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
<resources/>
<connections/>
</ui>

View file

@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtCore, QtWidgets
class Ui_GameSettings(object):
@ -19,7 +19,7 @@ class Ui_GameSettings(object):
self.game_settings_layout.setObjectName("game_settings_layout")
self.title = QtWidgets.QLabel(GameSettings)
self.title.setText("error")
self.title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
self.title.setObjectName("title")
self.game_settings_layout.addWidget(self.title)
self.launch_settings_groupbox = QtWidgets.QGroupBox(GameSettings)
@ -146,6 +146,7 @@ class Ui_GameSettings(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
GameSettings = QtWidgets.QWidget()
ui = Ui_GameSettings()

View file

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

View file

@ -104,12 +104,14 @@ class Ui_About(object):
self.dev_label.setText(_translate("About", "Rare Developer"))
self.license.setText(_translate("About", "GNU General Public License v3.0"))
self.lgd_dev.setToolTip(_translate("About", "Github"))
self.info_text.setText(_translate("About", "This is a beta version, so you can get bugs. If you get a bug, please report it by creating an Issue on <a href=\'https://github.com/Dummerle/Rare/issues\'>Github</a>. You can also contact me on Discord (Dummerle#7419). Or you can join the <a href=\'https://discord.gg/YvmABK9YSk\'>Discord server</a>"))
self.info_text.setText(_translate("About",
"This is a beta version, so you can get bugs. If you get a bug, please report it by creating an Issue on <a href=\'https://github.com/Dummerle/Rare/issues\'>Github</a>. You can also contact me on Discord (Dummerle#7419). Or you can join the <a href=\'https://discord.gg/YvmABK9YSk\'>Discord server</a>"))
self.title.setText(_translate("About", "<h2>About</h2>"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
About = QtWidgets.QWidget()
ui = Ui_About()

View file

@ -1,186 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>About</class>
<widget class="QWidget" name="About">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>499</width>
<height>396</height>
</rect>
</property>
<property name="windowTitle">
<string>About</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="4" column="1">
<widget class="QPushButton" name="open_browser">
<property name="text">
<string>Download latest release</string>
</property>
<class>About</class>
<widget class="QWidget" name="About">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>499</width>
<height>396</height>
</rect>
</property>
<property name="windowTitle">
<string>About</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="4" column="1">
<widget class="QPushButton" name="open_browser">
<property name="text">
<string>Download latest release</string>
</property>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="version_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Version</string>
</property>
</widget>
</item>
<item row="7" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="license_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>License</string>
</property>
</widget>
</item>
<item row="6" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lgd_dev_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Legendary Developer</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="dev">
<property name="toolTip">
<string>Github</string>
</property>
<property name="text">
<string notr="true">&lt;a href='https://github.com/Dummerle'&gt;Dummerle&lt;/a&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="update_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Update available</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="version">
<property name="text">
<string notr="true">error</string>
</property>
</widget>
</item>
<item row="5" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="dev_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Rare Developer</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="license">
<property name="text">
<string>GNU General Public License v3.0</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="update">
<property name="text">
<string notr="true">error</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="lgd_dev">
<property name="toolTip">
<string>Github</string>
</property>
<property name="text">
<string notr="true">&lt;a href='https://github.com/derrod/'&gt;derrod&lt;/a&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="14" column="0" colspan="3">
<widget class="QLabel" name="info_text">
<property name="text">
<string>This is a beta version, so you can get bugs. If you get a bug, please report it by
creating an Issue on &lt;a href='https://github.com/Dummerle/Rare/issues'&gt;Github&lt;/a&gt;.
You can also contact me on Discord (Dummerle#7419). Or you can join the &lt;a
href='https://discord.gg/YvmABK9YSk'&gt;Discord server&lt;/a&gt;
</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="15" column="0" colspan="3">
<spacer name="about_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="1" column="0" colspan="3">
<widget class="QLabel" name="title">
<property name="text">
<string>&lt;h2&gt;About&lt;/h2&gt;</string>
</property>
</widget>
</item>
<item row="2" column="2" rowspan="6">
<spacer name="about_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>
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="version_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Version</string>
</property>
</widget>
</item>
<item row="7" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="license_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>License</string>
</property>
</widget>
</item>
<item row="6" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lgd_dev_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Legendary Developer</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="dev">
<property name="toolTip">
<string>Github</string>
</property>
<property name="text">
<string notr="true">&lt;a href='https://github.com/Dummerle'&gt;Dummerle&lt;/a&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="update_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Update available</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="version">
<property name="text">
<string notr="true">error</string>
</property>
</widget>
</item>
<item row="5" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="dev_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Rare Developer</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="license">
<property name="text">
<string>GNU General Public License v3.0</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="update">
<property name="text">
<string notr="true">error</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="lgd_dev">
<property name="toolTip">
<string>Github</string>
</property>
<property name="text">
<string notr="true">&lt;a href='https://github.com/derrod/'&gt;derrod&lt;/a&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="14" column="0" colspan="3">
<widget class="QLabel" name="info_text">
<property name="text">
<string>This is a beta version, so you can get bugs. If you get a bug, please report it by creating an Issue on &lt;a href='https://github.com/Dummerle/Rare/issues'&gt;Github&lt;/a&gt;. You can also contact me on Discord (Dummerle#7419). Or you can join the &lt;a href='https://discord.gg/YvmABK9YSk'&gt;Discord server&lt;/a&gt;</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="15" column="0" colspan="3">
<spacer name="about_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="1" column="0" colspan="3">
<widget class="QLabel" name="title">
<property name="text">
<string>&lt;h2&gt;About&lt;/h2&gt;</string>
</property>
</widget>
</item>
<item row="2" column="2" rowspan="6">
<spacer name="about_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>
<resources/>
<connections/>
<resources/>
<connections/>
</ui>

View file

@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtCore, QtWidgets
class Ui_DxvkSettings(object):
@ -89,6 +89,7 @@ class Ui_DxvkSettings(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
DxvkSettings = QtWidgets.QGroupBox()
ui = Ui_DxvkSettings()

View file

@ -1,138 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DxvkSettings</class>
<widget class="QGroupBox" name="DxvkSettings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>419</width>
<height>185</height>
</rect>
</property>
<property name="windowTitle">
<string>DxvkSettings</string>
</property>
<property name="title">
<string>DXVK Settings</string>
</property>
<layout class="QGridLayout" name="dxvk_layout">
<item row="2" column="0" colspan="3">
<widget class="QGroupBox" name="gb_dxvk_options">
<property name="title">
<string>DXVK HUD Options</string>
</property>
<layout class="QGridLayout" name="layout_dxvk_options">
<item row="0" column="2">
<widget class="QCheckBox" name="version">
<property name="text">
<string>DXVK Version</string>
<class>DxvkSettings</class>
<widget class="QGroupBox" name="DxvkSettings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>419</width>
<height>185</height>
</rect>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="fps">
<property name="text">
<string>FPS</string>
<property name="windowTitle">
<string>DxvkSettings</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="memory">
<property name="text">
<string>Memory Usage</string>
<property name="title">
<string>DXVK Settings</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="devinfo">
<property name="text">
<string>Device Info</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="gpuload">
<property name="text">
<string>GPU Usage</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="frametime">
<property name="text">
<string>Frame Time graph</string>
</property>
</widget>
</item>
<item row="0" column="3" rowspan="3">
<spacer name="hs_dxvk_options">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="api">
<property name="text">
<string>D3D Version</string>
</property>
</widget>
</item>
</layout>
<layout class="QGridLayout" name="dxvk_layout">
<item row="2" column="0" colspan="3">
<widget class="QGroupBox" name="gb_dxvk_options">
<property name="title">
<string>DXVK HUD Options</string>
</property>
<layout class="QGridLayout" name="layout_dxvk_options">
<item row="0" column="2">
<widget class="QCheckBox" name="version">
<property name="text">
<string>DXVK Version</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="fps">
<property name="text">
<string>FPS</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="memory">
<property name="text">
<string>Memory Usage</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="devinfo">
<property name="text">
<string>Device Info</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="gpuload">
<property name="text">
<string>GPU Usage</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="frametime">
<property name="text">
<string>Frame Time graph</string>
</property>
</widget>
</item>
<item row="0" column="3" rowspan="3">
<spacer name="hs_dxvk_options">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="api">
<property name="text">
<string>D3D Version</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="lbl_show_dxvk">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Show HUD</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QComboBox" name="show_dxvk">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>System Default</string>
</property>
</item>
<item>
<property name="text">
<string>Hidden</string>
</property>
</item>
<item>
<property name="text">
<string>Visible</string>
</property>
</item>
<item>
<property name="text">
<string>Custom Options</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="lbl_show_dxvk">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Show HUD</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QComboBox" name="show_dxvk">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>System Default</string>
</property>
</item>
<item>
<property name="text">
<string>Hidden</string>
</property>
</item>
<item>
<property name="text">
<string>Visible</string>
</property>
</item>
<item>
<property name="text">
<string>Custom Options</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
<resources/>
<connections/>
</ui>

View file

@ -150,6 +150,7 @@ class Ui_legendary_settings(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
legendary_settings = QtWidgets.QStackedWidget()
ui = Ui_legendary_settings()

View file

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

View file

@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtCore, QtWidgets
class Ui_LinuxSettings(object):
@ -63,6 +63,7 @@ class Ui_LinuxSettings(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
LinuxSettings = QtWidgets.QWidget()
ui = Ui_LinuxSettings()

View file

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

View file

@ -135,6 +135,7 @@ class Ui_RareSettings(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
RareSettings = QtWidgets.QWidget()
ui = Ui_RareSettings()

View file

@ -1,219 +1,219 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RareSettings</class>
<widget class="QWidget" name="RareSettings">
<property name="windowTitle">
<string>RareSettings</string>
</property>
<layout class="QGridLayout" name="rare_layout">
<item row="1" column="0" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="interface_group">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Interface</string>
</property>
<layout class="QGridLayout" name="interface_layout">
<item row="1" column="1">
<widget class="QComboBox" name="color_select">
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="style_label">
<property name="text">
<string>Style Sheet</string>
<class>RareSettings</class>
<widget class="QWidget" name="RareSettings">
<property name="windowTitle">
<string>RareSettings</string>
</property>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lang_label">
<property name="text">
<string>Language</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="lang_select"/>
</item>
<item row="1" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color Scheme</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="3">
<widget class="QLabel" name="interface_info">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Restart Rare to apply.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="style_select">
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="1" column="2">
<spacer name="interface_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
<layout class="QGridLayout" name="rare_layout">
<item row="1" column="0" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="interface_group">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Interface</string>
</property>
<layout class="QGridLayout" name="interface_layout">
<item row="1" column="1">
<widget class="QComboBox" name="color_select">
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="style_label">
<property name="text">
<string>Style Sheet</string>
</property>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="lang_label">
<property name="text">
<string>Language</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="lang_select"/>
</item>
<item row="1" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color Scheme</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="3">
<widget class="QLabel" name="interface_info">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Restart Rare to apply.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="style_select">
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="1" column="2">
<spacer name="interface_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="img_dir_group">
<property name="title">
<string>Image Cache Directory</string>
</property>
<layout class="QVBoxLayout" name="img_dir_layout"/>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="settings_group">
<property name="title">
<string>Behavior</string>
</property>
<layout class="QGridLayout" name="behavior_layout">
<item row="2" column="1" rowspan="2">
<spacer name="settings_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="save_size">
<property name="text">
<string>Restore window size on application startup</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="notification">
<property name="text">
<string>Show notification on download completion</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="auto_sync_cloud">
<property name="text">
<string>Automatically sync with cloud</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="confirm_start">
<property name="text">
<string>Confirm game launch</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="auto_update">
<property name="text">
<string>Update games on application startup</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="sys_tray">
<property name="text">
<string>Exit to System tray</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="log_dir_group">
<property name="title">
<string>Logs</string>
</property>
<layout class="QVBoxLayout" name="log_dir_layout">
<item>
<widget class="QPushButton" name="log_dir_open_button">
<property name="text">
<string>Open Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="log_dir_clean_button">
<property name="text">
<string>Clean Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="log_dir_size_label">
<property name="text">
<string notr="true"/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<layout class="QVBoxLayout" name="rpc_layout"/>
</item>
<item row="2" column="1">
<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>
</layout>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="img_dir_group">
<property name="title">
<string>Image Cache Directory</string>
</property>
<layout class="QVBoxLayout" name="img_dir_layout"/>
</widget>
</item>
<item row="2" column="0" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="settings_group">
<property name="title">
<string>Behavior</string>
</property>
<layout class="QGridLayout" name="behavior_layout">
<item row="2" column="1" rowspan="2">
<spacer name="settings_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="save_size">
<property name="text">
<string>Restore window size on application startup</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="notification">
<property name="text">
<string>Show notification on download completion</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="auto_sync_cloud">
<property name="text">
<string>Automatically sync with cloud</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="confirm_start">
<property name="text">
<string>Confirm game launch</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="auto_update">
<property name="text">
<string>Update games on application startup</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="sys_tray">
<property name="text">
<string>Exit to System tray</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1" alignment="Qt::AlignTop">
<widget class="QGroupBox" name="log_dir_group">
<property name="title">
<string>Logs</string>
</property>
<layout class="QVBoxLayout" name="log_dir_layout">
<item>
<widget class="QPushButton" name="log_dir_open_button">
<property name="text">
<string>Open Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="log_dir_clean_button">
<property name="text">
<string>Clean Log directory</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="log_dir_size_label">
<property name="text">
<string notr="true"/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<layout class="QVBoxLayout" name="rpc_layout"/>
</item>
<item row="2" column="1">
<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>
</layout>
</widget>
<resources/>
<connections/>
<resources/>
<connections/>
</ui>

View file

@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtCore, QtWidgets
class Ui_RPCSettings(object):
@ -58,6 +58,7 @@ class Ui_RPCSettings(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
RPCSettings = QtWidgets.QGroupBox()
ui = Ui_RPCSettings()

View file

@ -1,69 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RPCSettings</class>
<widget class="QGroupBox" name="RPCSettings">
<property name="windowTitle">
<string>DiscordRPC</string>
</property>
<property name="title">
<string>Discord RPC</string>
</property>
<layout class="QGridLayout" name="layout">
<item row="0" column="1">
<widget class="QComboBox" name="enable">
<item>
<property name="text">
<string>When Playing</string>
</property>
</item>
<item>
<property name="text">
<string>Always</string>
</property>
</item>
<item>
<property name="text">
<string>Never</string>
</property>
</item>
<class>RPCSettings</class>
<widget class="QGroupBox" name="RPCSettings">
<property name="windowTitle">
<string>DiscordRPC</string>
</property>
<property name="title">
<string>Discord RPC</string>
</property>
<layout class="QGridLayout" name="layout">
<item row="0" column="1">
<widget class="QComboBox" name="enable">
<item>
<property name="text">
<string>When Playing</string>
</property>
</item>
<item>
<property name="text">
<string>Always</string>
</property>
</item>
<item>
<property name="text">
<string>Never</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Show</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QCheckBox" name="show_game">
<property name="text">
<string>Show Game</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="show_os">
<property name="text">
<string>Show OS</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="show_time">
<property name="text">
<string>Show Time playing</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Show</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QCheckBox" name="show_game">
<property name="text">
<string>Show Game</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="show_os">
<property name="text">
<string>Show OS</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="show_time">
<property name="text">
<string>Show Time playing</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
<resources/>
<connections/>
</ui>

View file

@ -8,7 +8,7 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtCore, QtWidgets
class Ui_PathEdit(object):
@ -47,6 +47,7 @@ class Ui_PathEdit(object):
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
PathEdit = QtWidgets.QWidget()
ui = Ui_PathEdit()

View file

@ -1,72 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PathEdit</class>
<widget class="QWidget" name="PathEdit">
<property name="windowTitle">
<string>PathEdit</string>
</property>
<layout class="QGridLayout" name="layout_pathedit">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="1">
<widget class="QToolButton" name="path_select">
<property name="text">
<string>Browse...</string>
</property>
<class>PathEdit</class>
<widget class="QWidget" name="PathEdit">
<property name="windowTitle">
<string>PathEdit</string>
</property>
<layout class="QGridLayout" name="layout_pathedit">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="1">
<widget class="QToolButton" name="path_select">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLineEdit" name="text_edit">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="placeholderText">
<string>Default</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<layout class="QHBoxLayout" name="layout_pathedit_save">
<item>
<spacer name="hs_save">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="save_path_button">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QLineEdit" name="text_edit">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="placeholderText">
<string>Default</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<layout class="QHBoxLayout" name="layout_pathedit_save">
<item>
<spacer name="hs_save">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="save_path_button">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
<resources/>
<connections/>
</ui>

View file

@ -143,8 +143,8 @@ class QJsonModel(QtCore.QAbstractItemModel):
"""
assert isinstance(document, (dict, list, tuple)), (
"`document` must be of dict, list or tuple, "
"not %s" % type(document)
"`document` must be of dict, list or tuple, "
"not %s" % type(document)
)
self.beginResetModel()
@ -194,7 +194,6 @@ class QJsonModel(QtCore.QAbstractItemModel):
item = index.internalPointer()
item.value = str(value)
self.dataChanged.emit(index, index, [QtCore.Qt.EditRole])
return True
@ -317,8 +316,8 @@ if __name__ == '__main__':
# Sanity check
assert (
json.dumps(model.json(), sort_keys=True) ==
json.dumps(document, sort_keys=True)
json.dumps(model.json(), sort_keys=True) ==
json.dumps(document, sort_keys=True)
)
view.show()

View file

@ -64,7 +64,8 @@ def uninstall(app_name: str, core: LegendaryCore, options=None):
elif os.name == "nt":
if os.path.exists(os.path.expanduser(f"~/Desktop/{igame.title.split(':')[0]}.lnk")):
os.remove(os.path.expanduser(f"~/Desktop/{igame.title.split(':')[0]}.lnk"))
elif os.path.exists(os.path.expandvars(f"%appdata%/Microsoft/Windows/Start Menu/{igame.title.split(':')[0]}.lnk")):
elif os.path.exists(
os.path.expandvars(f"%appdata%/Microsoft/Windows/Start Menu/{igame.title.split(':')[0]}.lnk")):
os.remove(os.path.expandvars(f"%appdata%/Microsoft/Windows/Start Menu/{igame.title.split(':')[0]}.lnk"))
try:

View file

@ -4,7 +4,6 @@ from logging import getLogger
import pypresence.exceptions
from PyQt5.QtCore import QObject, QSettings
from PyQt5.QtWidgets import QMessageBox
from pypresence import Presence
from custom_legendary.core import LegendaryCore
@ -76,7 +75,8 @@ class DiscordRPC(QObject):
self.update_rpc(app_name)
def update_rpc(self, app_name=None):
if self.settings.value("rpc_enable", 0, int) == 2 or (app_name is None and self.settings.value("rpc_enable", 0, int) == 0):
if self.settings.value("rpc_enable", 0, int) == 2 or (
app_name is None and self.settings.value("rpc_enable", 0, int) == 0):
self.remove_rpc()
return
title = None

View file

@ -8,16 +8,16 @@ with open("README.md", "r") as fh:
long_description = fh.read()
requirements = [
"requests<3.0",
"pillow",
"setuptools",
"wheel",
"PyQt5",
"QtAwesome",
"notify-py",
"psutil",
"pypresence"
]
"requests<3.0",
"pillow",
"setuptools",
"wheel",
"PyQt5",
"QtAwesome",
"notify-py",
"psutil",
"pypresence"
]
if os.name == "nt":
requirements.append("pywin32")