From 662f6f79ea5af6513b78c5307f921ec2631ab015 Mon Sep 17 00:00:00 2001 From: "Jamin W. Collins" Date: Tue, 23 Oct 2018 17:41:00 -0600 Subject: [PATCH 1/2] allow decks to be stored elsewhere Signed-off-by: Jamin W. Collins --- .../src/forge/screens/settings/FilesPage.java | 22 ++++++++++++++----- .../properties/ForgeProfileProperties.java | 4 ++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java index c2e66c4323a..59947ebf720 100644 --- a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java @@ -68,18 +68,27 @@ public class FilesPage extends TabPage { }, 0); //storage locations - lstItems.addItem(new StorageOption("Data Location (e.g. Settings, Decks, Quests)", ForgeProfileProperties.getUserDir()) { - @Override - protected void onDirectoryChanged(String newDir) { - ForgeProfileProperties.setUserDir(newDir); - } - }, 1); final StorageOption cardPicsOption = new StorageOption("Card Pics Location", ForgeProfileProperties.getCardPicsDir()) { @Override protected void onDirectoryChanged(String newDir) { ForgeProfileProperties.setCardPicsDir(newDir); } }; + final StorageOption decksOption = new StorageOption("Decks Location", ForgeProfileProperties.getDecksDir()) { + @Override + protected void onDirectoryChanged(String newDir) { + ForgeProfileProperties.setDecksDir(newDir); + } + }; + lstItems.addItem(new StorageOption("Data Location (e.g. Settings, Decks, Quests)", ForgeProfileProperties.getUserDir()) { + @Override + protected void onDirectoryChanged(String newDir) { + ForgeProfileProperties.setUserDir(newDir); + + //ensure decks option is updated if needed + decksOption.updateDir(ForgeProfileProperties.getDecksDir()); + } + }, 1); lstItems.addItem(new StorageOption("Image Cache Location", ForgeProfileProperties.getCacheDir()) { @Override protected void onDirectoryChanged(String newDir) { @@ -90,6 +99,7 @@ public class FilesPage extends TabPage { } }, 1); lstItems.addItem(cardPicsOption, 1); + lstItems.addItem(decksOption, 1); } @Override diff --git a/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java b/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java index b5210d30179..25a8dbce4dd 100644 --- a/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java +++ b/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java @@ -205,6 +205,7 @@ public class ForgeProfileProperties { private static void save() { final Pair defaults = getDefaultDirs(); final String defaultUserDir = defaults.getLeft() + File.separator; + final String defaultDecksDir = defaultUserDir + "decks" + File.separator; final String defaultCacheDir = defaults.getRight() + File.separator; final String defaultCardPicsDir = defaultCacheDir + "pics" + File.separator + "cards" + File.separator; @@ -213,6 +214,9 @@ public class ForgeProfileProperties { if (!userDir.equals(defaultUserDir)) { //ensure backslashes are escaped sb.append(USER_DIR_KEY + "=" + userDir.replace("\\", "\\\\") + "\n"); } + if (!decksDir.equals(defaultDecksDir)) { + sb.append(DECKS_DIR_KEY + "=" + decksDir.replace("\\", "\\\\") + "\n"); + } if (!cacheDir.equals(defaultCacheDir)) { sb.append(CACHE_DIR_KEY + "=" + cacheDir.replace("\\", "\\\\") + "\n"); } From ec25f31718cffae702d63ef2a6e223b96fba2638 Mon Sep 17 00:00:00 2001 From: Agetian Date: Mon, 29 Oct 2018 09:36:54 +0300 Subject: [PATCH 2/2] - Update file settings description. --- forge-gui-mobile/src/forge/screens/settings/FilesPage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java index 59947ebf720..fa076bd56cb 100644 --- a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java @@ -80,7 +80,7 @@ public class FilesPage extends TabPage { ForgeProfileProperties.setDecksDir(newDir); } }; - lstItems.addItem(new StorageOption("Data Location (e.g. Settings, Decks, Quests)", ForgeProfileProperties.getUserDir()) { + lstItems.addItem(new StorageOption("Data Location (e.g. Settings and Quests)", ForgeProfileProperties.getUserDir()) { @Override protected void onDirectoryChanged(String newDir) { ForgeProfileProperties.setUserDir(newDir);