From 2738b54860ea19317a4b0e5980229299cccc3cbf Mon Sep 17 00:00:00 2001 From: Anas Elgarhy Date: Sun, 21 Aug 2022 13:05:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=99=20Fix=20forget=20edition=20id=20is?= =?UTF-8?q?sue=20after=20close=20the=20ide=20=F0=9F=A5=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ayah/settings/AyahSettingsState.java | 7 +---- .../plugins/ayah/settings/BasmalhOnStart.java | 17 +----------- .../ayah/settings/ReadableEdition.java | 2 +- .../ayah/settings/SelectedEdition.java | 27 +++++++++++++++++-- .../ayah/settings/SettingsComponent.java | 13 ++++----- 5 files changed, 35 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsState.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsState.java index dfa5555..25da5f4 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsState.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsState.java @@ -34,12 +34,7 @@ public class AyahSettingsState implements PersistentStateComponentAnas Elgarhy * @date: 8/21/22 */ public class SelectedEdition { - private final String editionIdentifier; - private final int index; + private String editionIdentifier; + private int index; + + // For XML serialization + public SelectedEdition() { + try { + editionIdentifier = Edition.getEditions(EditionFormat.AUDIO)[0].getIdentifier(); + } catch (final IOException e) { + editionIdentifier = "ar.abdulbasitmurattal"; + } + index = 0; + } public SelectedEdition(final String editionIdentifier, final int index) { this.editionIdentifier = editionIdentifier; @@ -19,7 +32,17 @@ public class SelectedEdition { return editionIdentifier; } + // For XML serialization + public void setEditionIdentifier(final String editionIdentifier) { + this.editionIdentifier = editionIdentifier; + } + public int getIndex() { return index; } + + // For XML serialization + public void setIndex(final int index) { + this.index = index; + } } diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/SettingsComponent.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/SettingsComponent.java index 11d2a35..a9adbe4 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/SettingsComponent.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/SettingsComponent.java @@ -86,12 +86,14 @@ public class SettingsComponent { notificationsAudioCheckBox.setSelected(settings.isAutoPlayAudio()); basmalhPlayerIdComboBox.setEnabled(settings.getBasmalhOnStart().isActive()); - if (settings.getBasmalhOnStart().getEdition() != null) { - basmalhPlayerIdComboBox.setSelectedIndex(settings.getBasmalhOnStart().getEdition().getIndex()); - } - if (settings.getEdition() != null) { - ayahPlayerIdComboBox.setSelectedIndex(settings.getEdition().getIndex()); + if (basmalhPlayerIdComboBox.getItemCount() <= 0) { + basmalhPlayerIdComboBox.addItem(new ReadableEdition(settings.getBasmalhOnStart() + .getEdition().getEditionIdentifier())); + ayahPlayerIdComboBox.addItem(new ReadableEdition(settings.getEdition().getEditionIdentifier())); } + + basmalhPlayerIdComboBox.setSelectedIndex(settings.getBasmalhOnStart().getEdition().getIndex()); + ayahPlayerIdComboBox.setSelectedIndex(settings.getEdition().getIndex()); } private void addListeners() { @@ -147,7 +149,6 @@ public class SettingsComponent { b.setSoundActive(autoPlayBasmalhCheckBox.isSelected()); b.setEdition(new SelectedEdition(((ReadableEdition) Objects.requireNonNull( basmalhPlayerIdComboBox.getSelectedItem())).getEdition().getIdentifier(), basmalhPlayerIdComboBox.getSelectedIndex())); - b.setNotificationActive(notificationsAudioCheckBox.isSelected()); return b; }