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) {