Android: Show overridden game settings in bold

This commit is contained in:
JosJuice
2020-09-15 19:10:56 +02:00
parent e24d50e881
commit 736505f020
32 changed files with 210 additions and 0 deletions
@@ -13,6 +13,12 @@ public class AbstractLegacySetting implements AbstractSetting
mKey = key;
}
@Override
public boolean isOverridden(Settings settings)
{
return settings.isGameSpecific() && settings.getSection(mFile, mSection).exists(mKey);
}
@Override
public boolean delete(Settings settings)
{
@@ -2,5 +2,7 @@ package org.dolphinemu.dolphinemu.features.settings.model;
public interface AbstractSetting
{
boolean isOverridden(Settings settings);
boolean delete(Settings settings);
}
@@ -20,6 +20,12 @@ public class AdHocBooleanSetting implements AbstractBooleanSetting
}
}
@Override
public boolean isOverridden(Settings settings)
{
return NativeConfig.isOverridden(mFile, mSection, mKey);
}
@Override
public boolean delete(Settings settings)
{
@@ -107,6 +107,15 @@ public enum BooleanSetting implements AbstractBooleanSetting
mDefaultValue = defaultValue;
}
@Override
public boolean isOverridden(Settings settings)
{
if (settings.isGameSpecific() && !NativeConfig.isSettingSaveable(mFile, mSection, mKey))
return settings.getSection(mFile, mSection).exists(mKey);
else
return NativeConfig.isOverridden(mFile, mSection, mKey);
}
@Override
public boolean delete(Settings settings)
{
@@ -20,6 +20,15 @@ public enum FloatSetting implements AbstractFloatSetting
mDefaultValue = defaultValue;
}
@Override
public boolean isOverridden(Settings settings)
{
if (settings.isGameSpecific() && !NativeConfig.isSettingSaveable(mFile, mSection, mKey))
return settings.getSection(mFile, mSection).exists(mKey);
else
return NativeConfig.isOverridden(mFile, mSection, mKey);
}
@Override
public boolean delete(Settings settings)
{
@@ -47,6 +47,15 @@ public enum IntSetting implements AbstractIntSetting
mDefaultValue = defaultValue;
}
@Override
public boolean isOverridden(Settings settings)
{
if (settings.isGameSpecific() && !NativeConfig.isSettingSaveable(mFile, mSection, mKey))
return settings.getSection(mFile, mSection).exists(mKey);
else
return NativeConfig.isOverridden(mFile, mSection, mKey);
}
@Override
public boolean delete(Settings settings)
{
@@ -13,6 +13,8 @@ public class NativeConfig
public static native void save(int layer);
public static native boolean isOverridden(String file, String section, String key);
public static native boolean deleteKey(int layer, String file, String section, String key);
public static native String getString(int layer, String file, String section, String key,
@@ -33,6 +33,15 @@ public enum StringSetting implements AbstractStringSetting
mDefaultValue = defaultValue;
}
@Override
public boolean isOverridden(Settings settings)
{
if (settings.isGameSpecific() && !NativeConfig.isSettingSaveable(mFile, mSection, mKey))
return settings.getSection(mFile, mSection).exists(mKey);
else
return NativeConfig.isOverridden(mFile, mSection, mKey);
}
@Override
public boolean delete(Settings settings)
{
@@ -1,6 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
public class CheckBoxSetting extends SettingsItem
@@ -28,4 +29,10 @@ public class CheckBoxSetting extends SettingsItem
{
return TYPE_CHECKBOX;
}
@Override
public AbstractSetting getSetting()
{
return mSetting;
}
}
@@ -1,5 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
public final class ConfirmRunnable extends SettingsItem
{
private int mAlertText;
@@ -35,4 +37,10 @@ public final class ConfirmRunnable extends SettingsItem
{
return TYPE_CONFIRM_RUNNABLE;
}
@Override
public AbstractSetting getSetting()
{
return null;
}
}
@@ -1,5 +1,6 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractStringSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
@@ -35,4 +36,10 @@ public final class FilePicker extends SettingsItem
{
return TYPE_FILE_PICKER;
}
@Override
public AbstractSetting getSetting()
{
return mSetting;
}
}
@@ -1,6 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractFloatSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
public class FloatSliderSetting extends SliderSetting
@@ -23,4 +24,10 @@ public class FloatSliderSetting extends SliderSetting
{
mSetting.setFloat(settings, selection);
}
@Override
public AbstractSetting getSetting()
{
return mSetting;
}
}
@@ -1,5 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
public final class HeaderSetting extends SettingsItem
{
public HeaderSetting(int titleId, int descriptionId)
@@ -12,4 +14,10 @@ public final class HeaderSetting extends SettingsItem
{
return SettingsItem.TYPE_HEADER;
}
@Override
public AbstractSetting getSetting()
{
return null;
}
}
@@ -6,6 +6,7 @@ import android.view.InputDevice;
import android.view.KeyEvent;
import org.dolphinemu.dolphinemu.DolphinApplication;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
public class InputBindingSetting extends SettingsItem
@@ -93,4 +94,10 @@ public class InputBindingSetting extends SettingsItem
{
return mGameId;
}
@Override
public AbstractSetting getSetting()
{
return null;
}
}
@@ -1,6 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractIntSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
public final class IntSliderSetting extends SliderSetting
@@ -23,4 +24,10 @@ public final class IntSliderSetting extends SliderSetting
{
mSetting.setInt(settings, selection);
}
@Override
public AbstractSetting getSetting()
{
return mSetting;
}
}
@@ -1,6 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
public final class InvertedCheckBoxSetting extends CheckBoxSetting
@@ -22,4 +23,10 @@ public final class InvertedCheckBoxSetting extends CheckBoxSetting
{
mSetting.setBoolean(settings, !checked);
}
@Override
public AbstractSetting getSetting()
{
return mSetting;
}
}
@@ -1,6 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractFloatSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
public final class PercentSliderSetting extends FloatSliderSetting
@@ -22,4 +23,10 @@ public final class PercentSliderSetting extends FloatSliderSetting
{
mSetting.setFloat(settings, selection / 100);
}
@Override
public AbstractSetting getSetting()
{
return mSetting;
}
}
@@ -6,6 +6,7 @@ import android.view.KeyEvent;
import org.dolphinemu.dolphinemu.DolphinApplication;
import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
import org.dolphinemu.dolphinemu.utils.Rumble;
@@ -55,4 +56,10 @@ public class RumbleBindingSetting extends InputBindingSetting
{
return TYPE_RUMBLE_BINDING;
}
@Override
public AbstractSetting getSetting()
{
return null;
}
}
@@ -1,5 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter;
/**
@@ -57,4 +59,12 @@ public abstract class SettingsItem
* @return An integer (ideally, one of the constants defined in this file)
*/
public abstract int getType();
protected abstract AbstractSetting getSetting();
public boolean isOverridden(Settings settings)
{
AbstractSetting setting = getSetting();
return setting != null && setting.isOverridden(settings);
}
}
@@ -1,6 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractIntSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
@@ -58,4 +59,10 @@ public final class SingleChoiceSetting extends SettingsItem
{
return TYPE_SINGLE_CHOICE;
}
@Override
public AbstractSetting getSetting()
{
return mSetting;
}
}

Some files were not shown because too many files have changed in this diff Show More