From 49e4af69585b0bed6d46ee7f5ae4702add506058 Mon Sep 17 00:00:00 2001 From: Alyssa Date: Fri, 8 Mar 2024 14:58:18 +0000 Subject: [PATCH] extension fn for checkbox matching preference --- .../dartzee/screen/preference/AbstractPreferencesPanel.kt | 6 ++++++ .../dartzee/screen/preference/PreferencesPanelMisc.kt | 8 +++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/dartzee/screen/preference/AbstractPreferencesPanel.kt b/src/main/kotlin/dartzee/screen/preference/AbstractPreferencesPanel.kt index bf48192b..03f97323 100644 --- a/src/main/kotlin/dartzee/screen/preference/AbstractPreferencesPanel.kt +++ b/src/main/kotlin/dartzee/screen/preference/AbstractPreferencesPanel.kt @@ -1,12 +1,15 @@ package dartzee.screen.preference import dartzee.core.util.setFontSize +import dartzee.preferences.Preference import dartzee.screen.ScreenCache +import dartzee.utils.InjectedThings.preferenceService import dartzee.utils.resetCachedDartboardValues import java.awt.BorderLayout import java.awt.event.ActionEvent import java.awt.event.ActionListener import javax.swing.JButton +import javax.swing.JCheckBox import javax.swing.JPanel abstract class AbstractPreferencesPanel : JPanel() { @@ -39,6 +42,9 @@ abstract class AbstractPreferencesPanel : JPanel() { btnApply.isEnabled = hasOutstandingChanges() } + protected fun JCheckBox.matchesPreference(preference: Preference) = + isSelected == preferenceService.get(preference) + inner class PreferencesPanelListener : ActionListener { override fun actionPerformed(e: ActionEvent?) { when (e?.source) { diff --git a/src/main/kotlin/dartzee/screen/preference/PreferencesPanelMisc.kt b/src/main/kotlin/dartzee/screen/preference/PreferencesPanelMisc.kt index 88392cde..71097d02 100644 --- a/src/main/kotlin/dartzee/screen/preference/PreferencesPanelMisc.kt +++ b/src/main/kotlin/dartzee/screen/preference/PreferencesPanelMisc.kt @@ -88,11 +88,9 @@ class PreferencesPanelMisc : override fun hasOutstandingChanges() = slider.value != preferenceService.get(Preferences.aiSpeed) || nfLeaderboardSize.value != preferenceService.get(Preferences.leaderboardSize) || - chckbxAiAutomaticallyFinish.isSelected != - preferenceService.get(Preferences.aiAutoContinue) || - chckbxCheckForUpdates.isSelected != - preferenceService.get(Preferences.checkForUpdates) || - chckbxShowAnimations.isSelected != preferenceService.get(Preferences.showAnimations) + !chckbxAiAutomaticallyFinish.matchesPreference(Preferences.aiAutoContinue) || + !chckbxCheckForUpdates.matchesPreference(Preferences.checkForUpdates) || + !chckbxShowAnimations.matchesPreference(Preferences.showAnimations) override fun stateChanged(e: ChangeEvent?) = stateChanged()