From e7d9ee1a214a638b863ea05eacc2d8cbf597534e Mon Sep 17 00:00:00 2001 From: axolotlmaid Date: Tue, 2 Jul 2024 14:30:10 +0100 Subject: [PATCH] Fix bug when checking profiles are loaded bug: loading profiles do not check if other profiles are loaded which will result in every load button to become disabled --- .../optionsprofiles/gui/ProfilesList.java | 15 +++++++++++++-- .../optionsprofiles/profiles/Profiles.java | 9 ++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/com/axolotlmaid/optionsprofiles/gui/ProfilesList.java b/common/src/main/java/com/axolotlmaid/optionsprofiles/gui/ProfilesList.java index a2d809f..6695a49 100644 --- a/common/src/main/java/com/axolotlmaid/optionsprofiles/gui/ProfilesList.java +++ b/common/src/main/java/com/axolotlmaid/optionsprofiles/gui/ProfilesList.java @@ -48,6 +48,12 @@ public class ProfilesList extends ContainerObjectSelectionList narratables() { return ImmutableList.of(this.editButton, this.loadButton); } + + protected void checkLoaded() { + this.loadButton.active = !Profiles.isProfileLoaded(profileName.getString()); + } } public abstract static class Entry extends ContainerObjectSelectionList.Entry { public Entry() { } + + abstract void checkLoaded(); } } \ No newline at end of file diff --git a/common/src/main/java/com/axolotlmaid/optionsprofiles/profiles/Profiles.java b/common/src/main/java/com/axolotlmaid/optionsprofiles/profiles/Profiles.java index e7a400d..f2e690b 100644 --- a/common/src/main/java/com/axolotlmaid/optionsprofiles/profiles/Profiles.java +++ b/common/src/main/java/com/axolotlmaid/optionsprofiles/profiles/Profiles.java @@ -129,8 +129,6 @@ public class Profiles { } public static boolean isProfileLoaded(String profileName) { - boolean profileLoaded = false; - Path profile = PROFILES_DIRECTORY.resolve(profileName); List optionFiles = new ArrayList<>(); @@ -145,10 +143,7 @@ public class Profiles { try { for (Path optionFile : optionFiles) { Path profileOptions = profile.resolve(optionFile.getFileName()); - - if (FileUtils.contentEquals(optionFile.toFile(), profileOptions.toFile())) { - profileLoaded = true; - } else { + if (!FileUtils.contentEquals(optionFile.toFile(), profileOptions.toFile())) { return false; } } @@ -157,7 +152,7 @@ public class Profiles { return false; } - return profileLoaded; + return true; } private static void loadOptionFile(String profileName, Path options) {