From e2cc52fd02b147c0b54a42c4176d7fc7914c5d9a Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 15 Aug 2025 08:45:21 +0800 Subject: [PATCH] add Preload Custom Drafts Should fix longer startup time on mobile version instead of forcing to load custom drafts file at startup. --- forge-gui-mobile/src/forge/Forge.java | 3 ++- forge-gui-mobile/src/forge/screens/settings/SettingsPage.java | 4 ++++ forge-gui/res/languages/de-DE.properties | 4 +++- forge-gui/res/languages/en-US.properties | 4 +++- forge-gui/res/languages/es-ES.properties | 4 +++- forge-gui/res/languages/fr-FR.properties | 4 +++- forge-gui/res/languages/it-IT.properties | 4 +++- forge-gui/res/languages/ja-JP.properties | 4 +++- forge-gui/res/languages/pt-BR.properties | 4 +++- forge-gui/res/languages/zh-CN.properties | 4 +++- .../java/forge/localinstance/properties/ForgePreferences.java | 1 + 11 files changed, 31 insertions(+), 9 deletions(-) diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 547e1cf496e..d1975636e9c 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -283,7 +283,8 @@ public class Forge implements ApplicationListener { private void preloadBoosterDrafts() { //preloading of custom drafts - BoosterDraft.initializeCustomDrafts(); + if (getForgePreferences().getPrefBoolean(FPref.PRELOAD_CUSTOM_DRAFTS)) + BoosterDraft.initializeCustomDrafts(); } public static void openHomeScreen(int index, FScreen lastMatch) { diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java index da24d0d79b2..4f12ed5452c 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java @@ -393,6 +393,10 @@ public class SettingsPage extends TabPage { Forge.getLocalizer().getMessage("cbLoadArchivedFormats"), Forge.getLocalizer().getMessage("nlLoadArchivedFormats")), 3); + lstSettings.addItem(new BooleanSetting(FPref.PRELOAD_CUSTOM_DRAFTS, + Forge.getLocalizer().getMessage("cbPreloadCustomDrafts"), + Forge.getLocalizer().getMessage("nlPreloadCustomDrafts")), + 3); lstSettings.addItem(new BooleanSetting(FPref.UI_LOAD_UNKNOWN_CARDS, Forge.getLocalizer().getMessage("lblEnableUnknownCards"), Forge.getLocalizer().getMessage("nlEnableUnknownCards")) { diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 739d62deafe..894a6b94a40 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -3536,4 +3536,6 @@ lblDataManagement=Datenmanagement lblPlsSelectActions=Bitte wählen Sie Optionen zum Ausführen der Aktion aus lblBackupMsg=Sichern von Dateien lblRestoreMsg=Wiederherstellen von Dateien -lblSuccess=Erfolg \ No newline at end of file +lblSuccess=Erfolg +cbPreloadCustomDrafts=Benutzerdefinierte Entwürfe vorladen +nlPreloadCustomDrafts=Wenn aktiviert, werden die benutzerdefinierten Entwurfsdateien beim Start vorab geladen (Forge benötigt beim Parsen von Entwurfsdateien eine längere Startzeit). \ No newline at end of file diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index b6d76730457..a3ebad71231 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -3283,4 +3283,6 @@ lblDataManagement=Data Management lblPlsSelectActions=Please select options to perform action lblBackupMsg=Backing up files lblRestoreMsg=Restoring files -lblSuccess=Success \ No newline at end of file +lblSuccess=Success +cbPreloadCustomDrafts=Preload Custom Drafts +nlPreloadCustomDrafts=If enabled, the custom drafts files are preloaded on startup (Forge will have longer startup time when parsing drafts files). \ No newline at end of file diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 538fc9e0382..adb1f898c1a 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -3540,4 +3540,6 @@ lblDataManagement=Gestión de datos lblPlsSelectActions=Seleccione las opciones para realizar la acción lblBackupMsg=Realizar copias de seguridad de archivos lblRestoreMsg=Restaurando archivos -lblSuccess=Éxito \ No newline at end of file +lblSuccess=Éxito +cbPreloadCustomDrafts=Precargar borradores personalizados +nlPreloadCustomDrafts=Si está habilitado, los archivos de borradores personalizados se precargan al inicio (Forge tendrá un tiempo de inicio más largo al analizar los archivos de borradores). \ No newline at end of file diff --git a/forge-gui/res/languages/fr-FR.properties b/forge-gui/res/languages/fr-FR.properties index a1f800d1314..e51ab7076ff 100644 --- a/forge-gui/res/languages/fr-FR.properties +++ b/forge-gui/res/languages/fr-FR.properties @@ -3541,4 +3541,6 @@ lblDataManagement=Gestion des données lblPlsSelectActions=Veuillez sélectionner les options pour effectuer l'action lblBackupMsg=Sauvegarde des fichiers lblRestoreMsg=Restauration de fichiers -lblSuccess=Succès \ No newline at end of file +lblSuccess=Succès +cbPreloadCustomDrafts=Précharger les brouillons personnalisés +nlPreloadCustomDrafts=Si cette option est activée, les fichiers de brouillons personnalisés sont préchargés au démarrage (Forge aura un temps de démarrage plus long lors de l'analyse des fichiers de brouillons). \ No newline at end of file diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index e2333d97012..792cb7f572f 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -3539,4 +3539,6 @@ lblDataManagement=Gestione dei dati lblPlsSelectActions=Seleziona le opzioni per eseguire l'azione lblBackupMsg=Backup dei file lblRestoreMsg=Ripristino dei file -lblSuccess=Successo \ No newline at end of file +lblSuccess=Successo +cbPreloadCustomDrafts=Precarica bozze personalizzate +nlPreloadCustomDrafts=Se abilitato, i file delle bozze personalizzate vengono precaricati all'avvio (Forge avrà tempi di avvio più lunghi durante l'analisi dei file delle bozze). \ No newline at end of file diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index df0bcf76e05..dba814dcbe6 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -3535,4 +3535,6 @@ lblDataManagement=データ管理 lblPlsSelectActions=アクションを実行するにはオプションを選択してください lblBackupMsg=ファイルのバックアップ lblRestoreMsg=ファイルの復元 -lblSuccess=成功 \ No newline at end of file +lblSuccess=成功 +cbPreloadCustomDrafts=カスタムドラフトをプリロードする +nlPreloadCustomDrafts=有効にすると、起動時にカスタム ドラフト ファイルがプリロードされます (ドラフト ファイルを解析するときに Forge の起動時間が長くなります)。 \ No newline at end of file diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index 9f115580adb..4b6908a1075 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -3625,4 +3625,6 @@ lblDataManagement=Gestão de Dados lblPlsSelectActions=Selecione as opções para executar a ação lblBackupMsg=Fazendo backup de arquivos lblRestoreMsg=Restaurando arquivos -lblSuccess=Sucesso \ No newline at end of file +lblSuccess=Sucesso +cbPreloadCustomDrafts=Pré-carregar rascunhos personalizados +nlPreloadCustomDrafts=Se habilitado, os arquivos de rascunhos personalizados serão pré-carregados na inicialização (o Forge terá um tempo de inicialização maior ao analisar arquivos de rascunhos). \ No newline at end of file diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index c3a69b6dd57..056b34ec77a 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -3526,4 +3526,6 @@ lblDataManagement=数据管理 lblPlsSelectActions=请选择要执行操作的选项 lblBackupMsg=备份文件 lblRestoreMsg=恢复文件 -lblSuccess=成功 \ No newline at end of file +lblSuccess=成功 +cbPreloadCustomDrafts=预加载自定义草稿 +nlPreloadCustomDrafts=如果启用,自定义草稿文件将在启动时预加载(Forge 在解析草稿文件时会有更长的启动时间)。 \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java index 6b89bce87fe..1337a367a87 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java @@ -217,6 +217,7 @@ public class ForgePreferences extends PreferencesStore { LOAD_CARD_SCRIPTS_LAZILY ("false"), LOAD_ARCHIVED_FORMATS ("false"), + PRELOAD_CUSTOM_DRAFTS ("false"), DECK_DEFAULT_CARD_LIMIT ("4"), DECKGEN_SINGLETONS ("false"),