From c5f2a3914ec2cf28bc89321058b794a18b42e685 Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Sat, 19 Apr 2014 23:12:25 -0500 Subject: [PATCH] Fixed Bug: #0347 - 'Search Box Mode' and 'Terminal Style' are not saved/loaded --- core/AEConfig.java | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/core/AEConfig.java b/core/AEConfig.java index 901850ea..62baae28 100644 --- a/core/AEConfig.java +++ b/core/AEConfig.java @@ -166,7 +166,20 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo for (Enum e : settings.getSettings()) { String Category = e.getClass().getSimpleName(); - this.get( Category, e.name(), settings.getSetting( e ).name() ); + + Enum value = settings.getSetting( e ); + Property p = this.get( Category, e.name(), value.name() ); + + try + { + value = Enum.valueOf( value.getClass(), p.getString() ); + } + catch (IllegalArgumentException er) + { + AELog.info( "Invalid value '" + p.getString() + "' for " + e.name() + " using '" + value.name() + "' instead" ); + } + + settings.putSetting( e, value ); } try @@ -208,8 +221,12 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo { for (Enum e : settings.getSettings()) { - String Category = e.getClass().getSimpleName(); - this.get( Category, e.name(), settings.getSetting( e ).name() ); + if ( e == setting ) + { + String Category = e.getClass().getSimpleName(); + Property p = this.get( Category, e.name(), settings.getSetting( e ).name() ); + p.set( newValue.name() ); + } } save();