From ac568b9b51146e4b8362a1094044c134e3d36bf4 Mon Sep 17 00:00:00 2001
From: loathingKernel <142770+loathingKernel@users.noreply.github.com>
Date: Sat, 30 May 2026 20:13:21 +0300
Subject: [PATCH 1/5] project: update legendary
---
misc/requirements.in | 2 +-
pyproject.toml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/misc/requirements.in b/misc/requirements.in
index 15c87c6a5..0db826716 100644
--- a/misc/requirements.in
+++ b/misc/requirements.in
@@ -4,7 +4,7 @@ setuptools-scm
requests < 3.0
PySide6-Essentials >= 6.8.1
QtAwesome
-legendary-gl @ https://github.com/RareDevs/legendary/archive/00faf01af88b36ee6d9eff084df577a3b2c4dd72.zip
+legendary-gl @ https://github.com/RareDevs/legendary/archive/3f5a7b31c2f61fe6a63248cf7972c678c4684068.zip
orjson
vdf @ https://github.com/solsticegamestudios/vdf/archive/be1f7220238022f8b29fe747f0b643f280bfdb6e.zip
pywin32 ; platform_system == "Windows"
diff --git a/pyproject.toml b/pyproject.toml
index 5149db00a..33f64b33b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -24,7 +24,7 @@ dependencies = [
"requests < 3.0",
"PySide6-Essentials >= 6.8.1",
"QtAwesome",
- "legendary-gl @ git+https://github.com/RareDevs/legendary@00faf01af88b36ee6d9eff084df577a3b2c4dd72",
+ "legendary-gl @ git+https://github.com/RareDevs/legendary@3f5a7b31c2f61fe6a63248cf7972c678c4684068",
"orjson",
"vdf @ git+https://github.com/solsticegamestudios/vdf/be1f7220238022f8b29fe747f0b643f280bfdb6e",
"pywin32 ; platform_system == 'Windows'",
From 70754b895f4ede8355f9072df2a1be9ebcc2e2f7 Mon Sep 17 00:00:00 2001
From: loathingKernel <142770+loathingKernel@users.noreply.github.com>
Date: Sat, 30 May 2026 20:15:41 +0300
Subject: [PATCH 2/5] RareCore: remove entitlements fetcher, they are updated
by legendary now
---
rare/shared/rare_core.py | 20 +-------------------
rare/shared/workers/__init__.py | 3 +--
rare/shared/workers/fetch.py | 27 ---------------------------
3 files changed, 2 insertions(+), 48 deletions(-)
diff --git a/rare/shared/rare_core.py b/rare/shared/rare_core.py
index b42c24517..2acfd2259 100644
--- a/rare/shared/rare_core.py
+++ b/rare/shared/rare_core.py
@@ -22,7 +22,6 @@
from .image_manager import ImageManager
from .workers import (
CloudSyncWorker,
- EntitlementsWorker,
FetchWorker,
GamesDlcsWorker,
MoveWorker,
@@ -42,7 +41,6 @@ class RareCore(QObject):
# lk: these are unused but remain if case they become relevant
# completed_saves = Signal()
# completed_origin = Signal()
- # completed_entitlements = Signal()
# lk: special case class attribute, this has to be here
__instance: 'RareCore' = None
@@ -82,7 +80,6 @@ def __init__(self, settings: RareAppSettings, args: Namespace):
self.__fetch_progress: int = 0
self.__fetched_games_dlcs: bool = False
- self.__fetched_entitlements: bool = False
self.__fetched_runtimeassets: bool = False
RareCore.__instance = self
@@ -363,23 +360,13 @@ def __on_fetch_result(self, result: tuple, result_type: int):
self.__add_games_and_dlcs(*result)
self.__fetched_games_dlcs = True
- if result_type == FetchWorker.Result.ENTITLEMENTS:
- self.__core.lgd.entitlements = result
- self.__fetched_entitlements = True
-
if result_type == FetchWorker.Result.RUNTIMEASSETS:
self.__fetched_runtimeassets = True
self.logger.info('Acquired data from %s worker', FetchWorker.Result(result_type).name)
# Return early if there are still things to fetch
- if not all(
- {
- self.__fetched_games_dlcs,
- self.__fetched_entitlements,
- self.__fetched_runtimeassets,
- }
- ):
+ if not all({ self.__fetched_games_dlcs, self.__fetched_runtimeassets, }):
return
self.logger.debug('Fetch time %s seconds', time.perf_counter() - self.__start_time)
@@ -399,16 +386,11 @@ def fetch(self):
games_dlcs_worker.signals.progress.connect(self.__on_fetch_progress)
games_dlcs_worker.signals.result.connect(self.__on_fetch_result)
- entitlements_worker = EntitlementsWorker(self.__settings, self.__core, self.__args, segment=5)
- entitlements_worker.signals.progress.connect(self.__on_fetch_progress)
- entitlements_worker.signals.result.connect(self.__on_fetch_result)
-
runtime_assets_worker = RuntimeAssetsWorker(self.__settings, self.__core, self.__args, segment=10)
runtime_assets_worker.signals.progress.connect(self.__on_fetch_progress)
runtime_assets_worker.signals.result.connect(self.__on_fetch_result)
QThreadPool.globalInstance().start(games_dlcs_worker)
- QThreadPool.globalInstance().start(entitlements_worker)
QThreadPool.globalInstance().start(runtime_assets_worker)
def __fetch_saves(self) -> None:
diff --git a/rare/shared/workers/__init__.py b/rare/shared/workers/__init__.py
index 92382c415..d77ae5764 100644
--- a/rare/shared/workers/__init__.py
+++ b/rare/shared/workers/__init__.py
@@ -1,5 +1,5 @@
from .cloud_sync import CloudSyncWorker
-from .fetch import EntitlementsWorker, FetchWorker, GamesDlcsWorker
+from .fetch import FetchWorker, GamesDlcsWorker
from .install import InstallInfoWorker
from .move import MoveInfoWorker, MoveWorker
from .uninstall import UninstallWorker
@@ -9,7 +9,6 @@
__all__ = [
'CloudSyncWorker',
- 'EntitlementsWorker',
'FetchWorker',
'GamesDlcsWorker',
'InstallInfoWorker',
diff --git a/rare/shared/workers/fetch.py b/rare/shared/workers/fetch.py
index 5f6980f32..c28b07117 100644
--- a/rare/shared/workers/fetch.py
+++ b/rare/shared/workers/fetch.py
@@ -26,7 +26,6 @@ class FetchWorker(Worker):
class Result(IntEnum):
ERROR = 0
GAMESDLCS = 1
- ENTITLEMENTS = 2
RUNTIMEASSETS = 3
def __init__(self, settings: RareAppSettings, core: LegendaryCore, args: Namespace, segment: int):
@@ -67,32 +66,6 @@ def run_real(self):
return
-class EntitlementsWorker(FetchWorker):
- def run_real(self):
- elapsed_days = 99
- entitlements_json = os.path.join(self.core.lgd.path, 'entitlements.json')
- if os.path.exists(entitlements_json):
- mod_time = datetime.fromtimestamp(os.path.getmtime(entitlements_json))
- elapsed_days = abs(datetime.now() - mod_time).days
-
- want_entitlements = not self.settings.get_value(app_settings.exclude_entitlements) and elapsed_days > 1
- want_entitlements = want_entitlements and not self.args.offline
-
- entitlements = ()
- if want_entitlements:
- # Get entitlements, Ubisoft integration also uses them
- self.signals.progress.emit(self.segment, self.signals.tr('Updating entitlements'))
- with timelogger(self.logger, 'Request entitlements'):
- try:
- entitlements = self.core.egs.get_user_entitlements_full()
- except Exception as e:
- self.logger.warning(e)
- self.core.lgd.entitlements = entitlements
- self.logger.info('Entitlements: %s', len(list(entitlements)))
- self.signals.result.emit(entitlements, FetchWorker.Result.ENTITLEMENTS)
- return
-
-
class GamesDlcsWorker(FetchWorker):
def run_real(self):
# Fetch regular EGL games with assets
From ab296a0a017bc97157527846e53c39c7500a5897 Mon Sep 17 00:00:00 2001
From: loathingKernel <142770+loathingKernel@users.noreply.github.com>
Date: Sat, 30 May 2026 20:16:13 +0300
Subject: [PATCH 3/5] UbisoftGetInfoWorker: remove entitlements fetcher
---
rare/components/tabs/integrations/ubisoft_group.py | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/rare/components/tabs/integrations/ubisoft_group.py b/rare/components/tabs/integrations/ubisoft_group.py
index 773e3b1f5..9bcec2121 100644
--- a/rare/components/tabs/integrations/ubisoft_group.py
+++ b/rare/components/tabs/integrations/ubisoft_group.py
@@ -52,14 +52,7 @@ def run_real(self) -> None:
uplay_keys = self.core.egs.store_get_uplay_codes()
key_list = uplay_keys['data']['PartnerIntegration']['accountUplayCodes']
redeemed = {k['gameId'] for k in key_list if k['redeemedOnUplay']}
-
- if (entitlements := self.core.lgd.entitlements) is None:
- with timelogger(self.logger, 'Request entitlements'):
- try:
- entitlements = self.core.egs.get_user_entitlements_full()
- except Exception as e:
- self.logger.warning(e)
- self.core.lgd.entitlements = entitlements
+ entitlements = self.core.lgd.entitlements
entitlements = {i['entitlementName'] for i in entitlements}
self.signals.result.emit(redeemed, entitlements, ubi_account_id)
From c3dcb84e1c6f3d8f079f8d4325020721f35c728a Mon Sep 17 00:00:00 2001
From: loathingKernel <142770+loathingKernel@users.noreply.github.com>
Date: Sat, 30 May 2026 20:16:33 +0300
Subject: [PATCH 4/5] RareGame: refactor `grand_date`
---
rare/models/game.py | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/rare/models/game.py b/rare/models/game.py
index f483c55b0..10bc70574 100644
--- a/rare/models/game.py
+++ b/rare/models/game.py
@@ -609,11 +609,8 @@ def grant_date(self, force=False) -> datetime:
if self.metadata.grant_date == datetime.min.replace(tzinfo=timezone.utc) or force:
self.logger.info('Grant date for %s not found in metadata, resolving', self.app_name)
entitlement = next((ent for ent in entitlements if ent['namespace'] == self.game.namespace), None)
- grant_date = (
- datetime.fromisoformat(entitlement['grantDate'].replace('Z', '+00:00'))
- if entitlement
- else datetime.fromisoformat(self.game.metadata['creationDate'].replace('Z', '+00:00'))
- )
+ grant_date = entitlement["grantDate"] if entitlement else self.game.metadata["creationDate"]
+ grant_date = datetime.fromisoformat(grant_date.replace('Z', '+00:00'))
self.metadata.grant_date = grant_date
self.__save_metadata()
return self.metadata.grant_date
From b5cb6f6349a70d379fe3ed6277a5c012ea3def73 Mon Sep 17 00:00:00 2001
From: loathingKernel <142770+loathingKernel@users.noreply.github.com>
Date: Sat, 30 May 2026 20:20:31 +0300
Subject: [PATCH 5/5] LegendarySettings: remove entitlements UI elements
---
rare/components/tabs/settings/legendary.py | 7 -
rare/models/settings.py | 1 -
rare/ui/components/tabs/settings/legendary.py | 132 ++++++++----------
rare/ui/components/tabs/settings/legendary.ui | 14 +-
4 files changed, 61 insertions(+), 93 deletions(-)
diff --git a/rare/components/tabs/settings/legendary.py b/rare/components/tabs/settings/legendary.py
index 903a0c16a..4c37bb096 100644
--- a/rare/components/tabs/settings/legendary.py
+++ b/rare/components/tabs/settings/legendary.py
@@ -118,9 +118,6 @@ def __init__(self, settings: RareAppSettings, rcore: RareCore, parent=None):
self.ui.exclude_non_asset_check.setChecked(self.settings.get_value(app_settings.exclude_non_asset))
self.ui.exclude_non_asset_check.checkStateChanged.connect(self._on_exclude_non_asset_changed)
- self.ui.exclude_entitlements_check.setChecked(self.settings.get_value(app_settings.exclude_entitlements))
- self.ui.exclude_entitlements_check.checkStateChanged.connect(self._on_exclude_entitlements_changed)
-
self.ui.refresh_metadata_button.clicked.connect(self._refresh_metadata)
# FIXME: Disable the button for now because it interferes with RareCore
self.ui.refresh_metadata_button.setEnabled(False)
@@ -279,7 +276,3 @@ def _on_fetch_unreal_changed(self, state: Qt.CheckState):
@Slot(Qt.CheckState)
def _on_exclude_non_asset_changed(self, state: Qt.CheckState):
self.settings.set_value(app_settings.exclude_non_asset, state != Qt.CheckState.Unchecked)
-
- @Slot(Qt.CheckState)
- def _on_exclude_entitlements_changed(self, state: Qt.CheckState):
- self.settings.set_value(app_settings.exclude_entitlements, state != Qt.CheckState.Unchecked)
diff --git a/rare/models/settings.py b/rare/models/settings.py
index a050573c0..831d2aaba 100644
--- a/rare/models/settings.py
+++ b/rare/models/settings.py
@@ -27,7 +27,6 @@ class Settings(Namespace):
macos_meta = Setting(key='macos_meta', default=pf.system() == 'Darwin', dtype=bool)
unreal_meta = Setting(key='unreal_meta', default=False, dtype=bool)
exclude_non_asset = Setting(key='exclude_non_asset', default=False, dtype=bool)
- exclude_entitlements = Setting(key='exclude_entitlements', default=False, dtype=bool)
language = Setting(key='language', default=locale.getlocale()[0], dtype=str)
diff --git a/rare/ui/components/tabs/settings/legendary.py b/rare/ui/components/tabs/settings/legendary.py
index 4c01c6345..9c9cf41fb 100644
--- a/rare/ui/components/tabs/settings/legendary.py
+++ b/rare/ui/components/tabs/settings/legendary.py
@@ -1,9 +1,8 @@
-# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'legendary.ui'
##
-## Created by: Qt User Interface Compiler version 6.9.1
+## Created by: Qt User Interface Compiler version 6.10.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
@@ -25,32 +24,32 @@
)
-class Ui_LegendarySettings(object):
+class Ui_LegendarySettings:
def setupUi(self, LegendarySettings):
if not LegendarySettings.objectName():
- LegendarySettings.setObjectName(u"LegendarySettings")
- LegendarySettings.resize(621, 420)
- LegendarySettings.setWindowTitle(u"LegendarySettings")
+ LegendarySettings.setObjectName("LegendarySettings")
+ LegendarySettings.resize(641, 420)
+ LegendarySettings.setWindowTitle("LegendarySettings")
self.legendary_layout = QHBoxLayout(LegendarySettings)
- self.legendary_layout.setObjectName(u"legendary_layout")
+ self.legendary_layout.setObjectName("legendary_layout")
self.left_layout = QVBoxLayout()
- self.left_layout.setObjectName(u"left_layout")
+ self.left_layout.setObjectName("left_layout")
self.install_dir_group = QGroupBox(LegendarySettings)
- self.install_dir_group.setObjectName(u"install_dir_group")
+ self.install_dir_group.setObjectName("install_dir_group")
self.install_dir_group.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignTop)
self.install_dir_layout = QVBoxLayout(self.install_dir_group)
- self.install_dir_layout.setObjectName(u"install_dir_layout")
+ self.install_dir_layout.setObjectName("install_dir_layout")
self.left_layout.addWidget(self.install_dir_group)
self.download_group = QGroupBox(LegendarySettings)
- self.download_group.setObjectName(u"download_group")
+ self.download_group.setObjectName("download_group")
self.download_group.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignTop)
self.download_layout = QFormLayout(self.download_group)
- self.download_layout.setObjectName(u"download_layout")
+ self.download_layout.setObjectName("download_layout")
self.download_layout.setLabelAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.max_workers_label = QLabel(self.download_group)
- self.max_workers_label.setObjectName(u"max_workers_label")
+ self.max_workers_label.setObjectName("max_workers_label")
sizePolicy = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -60,9 +59,9 @@ def setupUi(self, LegendarySettings):
self.download_layout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.max_workers_label)
self.max_workers_layout = QHBoxLayout()
- self.max_workers_layout.setObjectName(u"max_workers_layout")
+ self.max_workers_layout.setObjectName("max_workers_layout")
self.max_worker_spin = QSpinBox(self.download_group)
- self.max_worker_spin.setObjectName(u"max_worker_spin")
+ self.max_worker_spin.setObjectName("max_worker_spin")
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
@@ -75,7 +74,7 @@ def setupUi(self, LegendarySettings):
self.max_workers_layout.addWidget(self.max_worker_spin)
self.max_workers_info_label = QLabel(self.download_group)
- self.max_workers_info_label.setObjectName(u"max_workers_info_label")
+ self.max_workers_info_label.setObjectName("max_workers_info_label")
font = QFont()
font.setItalic(True)
self.max_workers_info_label.setFont(font)
@@ -86,14 +85,14 @@ def setupUi(self, LegendarySettings):
self.download_layout.setLayout(0, QFormLayout.ItemRole.FieldRole, self.max_workers_layout)
self.max_memory_label = QLabel(self.download_group)
- self.max_memory_label.setObjectName(u"max_memory_label")
+ self.max_memory_label.setObjectName("max_memory_label")
self.download_layout.setWidget(1, QFormLayout.ItemRole.LabelRole, self.max_memory_label)
self.max_memory_layout = QHBoxLayout()
- self.max_memory_layout.setObjectName(u"max_memory_layout")
+ self.max_memory_layout.setObjectName("max_memory_layout")
self.max_memory_spin = QSpinBox(self.download_group)
- self.max_memory_spin.setObjectName(u"max_memory_spin")
+ self.max_memory_spin.setObjectName("max_memory_spin")
sizePolicy1.setHeightForWidth(self.max_memory_spin.sizePolicy().hasHeightForWidth())
self.max_memory_spin.setSizePolicy(sizePolicy1)
self.max_memory_spin.setMinimum(0)
@@ -104,7 +103,7 @@ def setupUi(self, LegendarySettings):
self.max_memory_layout.addWidget(self.max_memory_spin)
self.max_memory_info_label = QLabel(self.download_group)
- self.max_memory_info_label.setObjectName(u"max_memory_info_label")
+ self.max_memory_info_label.setObjectName("max_memory_info_label")
self.max_memory_info_label.setFont(font)
self.max_memory_layout.addWidget(self.max_memory_info_label)
@@ -113,22 +112,22 @@ def setupUi(self, LegendarySettings):
self.download_layout.setLayout(1, QFormLayout.ItemRole.FieldRole, self.max_memory_layout)
self.preferred_cdn_label = QLabel(self.download_group)
- self.preferred_cdn_label.setObjectName(u"preferred_cdn_label")
+ self.preferred_cdn_label.setObjectName("preferred_cdn_label")
self.download_layout.setWidget(2, QFormLayout.ItemRole.LabelRole, self.preferred_cdn_label)
self.preferred_cdn_line = QLineEdit(self.download_group)
- self.preferred_cdn_line.setObjectName(u"preferred_cdn_line")
+ self.preferred_cdn_line.setObjectName("preferred_cdn_line")
self.download_layout.setWidget(2, QFormLayout.ItemRole.FieldRole, self.preferred_cdn_line)
self.disable_https_label = QLabel(self.download_group)
- self.disable_https_label.setObjectName(u"disable_https_label")
+ self.disable_https_label.setObjectName("disable_https_label")
self.download_layout.setWidget(3, QFormLayout.ItemRole.LabelRole, self.disable_https_label)
self.disable_https_check = QCheckBox(self.download_group)
- self.disable_https_check.setObjectName(u"disable_https_check")
+ self.disable_https_check.setObjectName("disable_https_check")
self.download_layout.setWidget(3, QFormLayout.ItemRole.FieldRole, self.disable_https_check)
@@ -143,9 +142,9 @@ def setupUi(self, LegendarySettings):
self.legendary_layout.addLayout(self.left_layout)
self.right_layout = QVBoxLayout()
- self.right_layout.setObjectName(u"right_layout")
+ self.right_layout.setObjectName("right_layout")
self.locale_group = QGroupBox(LegendarySettings)
- self.locale_group.setObjectName(u"locale_group")
+ self.locale_group.setObjectName("locale_group")
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
@@ -153,22 +152,22 @@ def setupUi(self, LegendarySettings):
self.locale_group.setSizePolicy(sizePolicy2)
self.locale_group.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignTop)
self.locale_layout = QVBoxLayout(self.locale_group)
- self.locale_layout.setObjectName(u"locale_layout")
+ self.locale_layout.setObjectName("locale_layout")
self.right_layout.addWidget(self.locale_group)
self.cleanup_group = QGroupBox(LegendarySettings)
- self.cleanup_group.setObjectName(u"cleanup_group")
+ self.cleanup_group.setObjectName("cleanup_group")
self.cleanup_group.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignTop)
self.cleanup_layout = QVBoxLayout(self.cleanup_group)
- self.cleanup_layout.setObjectName(u"cleanup_layout")
+ self.cleanup_layout.setObjectName("cleanup_layout")
self.clean_keep_manifests_button = QPushButton(self.cleanup_group)
- self.clean_keep_manifests_button.setObjectName(u"clean_keep_manifests_button")
+ self.clean_keep_manifests_button.setObjectName("clean_keep_manifests_button")
self.cleanup_layout.addWidget(self.clean_keep_manifests_button)
self.clean_button = QPushButton(self.cleanup_group)
- self.clean_button.setObjectName(u"clean_button")
+ self.clean_button.setObjectName("clean_button")
self.cleanup_layout.addWidget(self.clean_button)
@@ -176,42 +175,37 @@ def setupUi(self, LegendarySettings):
self.right_layout.addWidget(self.cleanup_group)
self.metadata_group = QGroupBox(LegendarySettings)
- self.metadata_group.setObjectName(u"metadata_group")
+ self.metadata_group.setObjectName("metadata_group")
self.metadata_layout = QVBoxLayout(self.metadata_group)
- self.metadata_layout.setObjectName(u"metadata_layout")
+ self.metadata_layout.setObjectName("metadata_layout")
self.fetch_win32_check = QCheckBox(self.metadata_group)
- self.fetch_win32_check.setObjectName(u"fetch_win32_check")
+ self.fetch_win32_check.setObjectName("fetch_win32_check")
self.metadata_layout.addWidget(self.fetch_win32_check)
self.fetch_macos_check = QCheckBox(self.metadata_group)
- self.fetch_macos_check.setObjectName(u"fetch_macos_check")
+ self.fetch_macos_check.setObjectName("fetch_macos_check")
self.metadata_layout.addWidget(self.fetch_macos_check)
self.fetch_unreal_check = QCheckBox(self.metadata_group)
- self.fetch_unreal_check.setObjectName(u"fetch_unreal_check")
+ self.fetch_unreal_check.setObjectName("fetch_unreal_check")
self.metadata_layout.addWidget(self.fetch_unreal_check)
self.exclude_non_asset_check = QCheckBox(self.metadata_group)
- self.exclude_non_asset_check.setObjectName(u"exclude_non_asset_check")
+ self.exclude_non_asset_check.setObjectName("exclude_non_asset_check")
self.metadata_layout.addWidget(self.exclude_non_asset_check)
- self.exclude_entitlements_check = QCheckBox(self.metadata_group)
- self.exclude_entitlements_check.setObjectName(u"exclude_entitlements_check")
-
- self.metadata_layout.addWidget(self.exclude_entitlements_check)
-
self.metadata_info = QLabel(self.metadata_group)
- self.metadata_info.setObjectName(u"metadata_info")
+ self.metadata_info.setObjectName("metadata_info")
self.metadata_info.setFont(font)
self.metadata_layout.addWidget(self.metadata_info)
self.refresh_metadata_button = QPushButton(self.metadata_group)
- self.refresh_metadata_button.setObjectName(u"refresh_metadata_button")
+ self.refresh_metadata_button.setObjectName("refresh_metadata_button")
self.metadata_layout.addWidget(self.refresh_metadata_button)
@@ -230,39 +224,33 @@ def setupUi(self, LegendarySettings):
# setupUi
def retranslateUi(self, LegendarySettings):
- self.install_dir_group.setTitle(QCoreApplication.translate("LegendarySettings", u"Installation folder", None))
- self.download_group.setTitle(QCoreApplication.translate("LegendarySettings", u"Download settings", None))
- self.max_workers_label.setText(QCoreApplication.translate("LegendarySettings", u"Max workers", None))
- self.max_workers_info_label.setText(QCoreApplication.translate("LegendarySettings", u"Less is slower (0: Default)", None))
- self.max_memory_label.setText(QCoreApplication.translate("LegendarySettings", u"Max shared memory", None))
- self.max_memory_spin.setSuffix(QCoreApplication.translate("LegendarySettings", u"MiB", None))
- self.max_memory_info_label.setText(QCoreApplication.translate("LegendarySettings", u"Less is slower (0: Default)", None))
- self.preferred_cdn_label.setText(QCoreApplication.translate("LegendarySettings", u"Preferred CDN", None))
- self.preferred_cdn_line.setPlaceholderText(QCoreApplication.translate("LegendarySettings", u"Default", None))
- self.disable_https_label.setText(QCoreApplication.translate("LegendarySettings", u"Disable HTTPS", None))
+ self.install_dir_group.setTitle(QCoreApplication.translate("LegendarySettings", "Installation folder", None))
+ self.download_group.setTitle(QCoreApplication.translate("LegendarySettings", "Download settings", None))
+ self.max_workers_label.setText(QCoreApplication.translate("LegendarySettings", "Max workers", None))
+ self.max_workers_info_label.setText(QCoreApplication.translate("LegendarySettings", "Less is slower (0: Default)", None))
+ self.max_memory_label.setText(QCoreApplication.translate("LegendarySettings", "Max shared memory", None))
+ self.max_memory_spin.setSuffix(QCoreApplication.translate("LegendarySettings", "MiB", None))
+ self.max_memory_info_label.setText(QCoreApplication.translate("LegendarySettings", "Less is slower (0: Default)", None))
+ self.preferred_cdn_label.setText(QCoreApplication.translate("LegendarySettings", "Preferred CDN", None))
+ self.preferred_cdn_line.setPlaceholderText(QCoreApplication.translate("LegendarySettings", "Default", None))
+ self.disable_https_label.setText(QCoreApplication.translate("LegendarySettings", "Disable HTTPS", None))
self.disable_https_check.setText("")
- self.locale_group.setTitle(QCoreApplication.translate("LegendarySettings", u"Locale", None))
- self.cleanup_group.setTitle(QCoreApplication.translate("LegendarySettings", u"Cleanup", None))
- self.clean_keep_manifests_button.setText(QCoreApplication.translate("LegendarySettings", u"Clean, but keep manifests", None))
- self.clean_button.setText(QCoreApplication.translate("LegendarySettings", u"Remove everything", None))
- self.metadata_group.setTitle(QCoreApplication.translate("LegendarySettings", u"Platforms", None))
- self.fetch_win32_check.setText(QCoreApplication.translate("LegendarySettings", u"Include Win32 games", None))
- self.fetch_macos_check.setText(QCoreApplication.translate("LegendarySettings", u"Include macOS games", None))
- self.fetch_unreal_check.setText(QCoreApplication.translate("LegendarySettings", u"Include Unreal engine", None))
+ self.locale_group.setTitle(QCoreApplication.translate("LegendarySettings", "Locale", None))
+ self.cleanup_group.setTitle(QCoreApplication.translate("LegendarySettings", "Cleanup", None))
+ self.clean_keep_manifests_button.setText(QCoreApplication.translate("LegendarySettings", "Clean, but keep manifests", None))
+ self.clean_button.setText(QCoreApplication.translate("LegendarySettings", "Remove everything", None))
+ self.metadata_group.setTitle(QCoreApplication.translate("LegendarySettings", "Platforms", None))
+ self.fetch_win32_check.setText(QCoreApplication.translate("LegendarySettings", "Include Win32 games", None))
+ self.fetch_macos_check.setText(QCoreApplication.translate("LegendarySettings", "Include macOS games", None))
+ self.fetch_unreal_check.setText(QCoreApplication.translate("LegendarySettings", "Include Unreal engine", None))
#if QT_CONFIG(tooltip)
- self.exclude_non_asset_check.setToolTip(QCoreApplication.translate("LegendarySettings", u"Do not load metadata for non-asset games (i.e. Origin games) on start-up.\n"
+ self.exclude_non_asset_check.setToolTip(QCoreApplication.translate("LegendarySettings", "Do not load metadata for non-asset games (i.e. Origin games) on start-up.\n"
"\n"
"Disabling this greatly improves start-up time, but some games might not be visible in your library.", None))
#endif // QT_CONFIG(tooltip)
- self.exclude_non_asset_check.setText(QCoreApplication.translate("LegendarySettings", u"Exclude non-asset games", None))
-#if QT_CONFIG(tooltip)
- self.exclude_entitlements_check.setToolTip(QCoreApplication.translate("LegendarySettings", u"Do not load entitlement data (i.e game's date of purchase) on start-up.\n"
-"\n"
-"Disabling this greatly improves start-up time, but some library filters may not work.", None))
-#endif // QT_CONFIG(tooltip)
- self.exclude_entitlements_check.setText(QCoreApplication.translate("LegendarySettings", u"Exclude entitlements", None))
- self.metadata_info.setText(QCoreApplication.translate("LegendarySettings", u"Restart Rare to apply", None))
- self.refresh_metadata_button.setText(QCoreApplication.translate("LegendarySettings", u"Refresh metadata", None))
+ self.exclude_non_asset_check.setText(QCoreApplication.translate("LegendarySettings", "Exclude non-asset games", None))
+ self.metadata_info.setText(QCoreApplication.translate("LegendarySettings", "Restart Rare to apply", None))
+ self.refresh_metadata_button.setText(QCoreApplication.translate("LegendarySettings", "Refresh metadata", None))
pass
# retranslateUi
diff --git a/rare/ui/components/tabs/settings/legendary.ui b/rare/ui/components/tabs/settings/legendary.ui
index b64c71a7c..9967b1b31 100644
--- a/rare/ui/components/tabs/settings/legendary.ui
+++ b/rare/ui/components/tabs/settings/legendary.ui
@@ -6,7 +6,7 @@
0
0
- 621
+ 641
420
@@ -265,18 +265,6 @@ Disabling this greatly improves start-up time, but some games might not be visib
- -
-
-
- Do not load entitlement data (i.e game's date of purchase) on start-up.
-
-Disabling this greatly improves start-up time, but some library filters may not work.
-
-
- Exclude entitlements
-
-
-
-