From a60dc48180b89b52e4ed0e334d7413a094c6ae5f Mon Sep 17 00:00:00 2001 From: Anas Elgarhy Date: Wed, 24 Aug 2022 16:11:46 +0200 Subject: [PATCH 1/5] =?UTF-8?q?Use=20lobok=20yooo=20=F0=9F=98=86?= =?UTF-8?q?=F0=9F=92=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 6 +++ .../settings/AyahSettingsConfigurable.java | 1 + .../ayah/settings/AyahSettingsState.java | 37 ++----------------- .../plugins/ayah/settings/BasmalhOnStart.java | 32 ++-------------- .../ayah/settings/SelectedEdition.java | 29 +++------------ .../{ => userinterface}/PanelBuilder.java | 2 +- .../{ => userinterface}/ReadableEdition.java | 2 +- .../SettingsComponent.java | 5 ++- src/main/resources/META-INF/plugin.xml | 7 ++++ 9 files changed, 34 insertions(+), 87 deletions(-) rename src/main/java/com/anas/intellij/plugins/ayah/settings/{ => userinterface}/PanelBuilder.java (93%) rename src/main/java/com/anas/intellij/plugins/ayah/settings/{ => userinterface}/ReadableEdition.java (90%) rename src/main/java/com/anas/intellij/plugins/ayah/settings/{ => userinterface}/SettingsComponent.java (96%) diff --git a/build.gradle.kts b/build.gradle.kts index 47cbd5b..b64eff0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,6 +16,12 @@ dependencies { implementation("com.miglayout:miglayout-swing:11.0") // implementation("com.github.goxr3plus:java-stream-player:10.0.2") implementation("com.googlecode.soundlibs:jlayer:1.0.1.4") + + compileOnly("org.projectlombok:lombok:1.18.24") + annotationProcessor("org.projectlombok:lombok:1.18.24") + + testImplementation("org.projectlombok:lombok:1.18.24") + testAnnotationProcessor("org.projectlombok:lombok:1.18.24") } java { sourceCompatibility = JavaVersion.VERSION_11 diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java index 1ce211f..23dc275 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java @@ -1,6 +1,7 @@ package com.anas.intellij.plugins.ayah.settings; import com.anas.intellij.plugins.ayah.NotificationTimer; +import com.anas.intellij.plugins.ayah.settings.userinterface.SettingsComponent; import com.intellij.openapi.options.Configurable; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.Nullable; 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 25da5f4..4cf3148 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 @@ -7,15 +7,18 @@ import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.util.xmlb.XmlSerializerUtil; +import lombok.Getter; +import lombok.Setter; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.IOException; /** * @author: Anas Elgarhy * @date: 8/19/22 */ +@Getter +@Setter @State( name = "com.anas.intellij.plugins.ayah.settings.AyahSettingsState", storages = @Storage("ayah.xml") @@ -47,36 +50,4 @@ public class AyahSettingsState implements PersistentStateComponentAnas Elgarhy * @date: 8/19/22 */ +@Getter +@Setter public class BasmalhOnStart { private boolean isActive; private boolean isSoundActive; @@ -19,28 +19,4 @@ public class BasmalhOnStart { isSoundActive = false; edition = new SelectedEdition(); } - - public boolean isActive() { - return isActive; - } - - public void setActive(final boolean active) { - isActive = active; - } - - public boolean isSoundActive() { - return isSoundActive; - } - - public void setSoundActive(final boolean soundActive) { - isSoundActive = soundActive; - } - - public SelectedEdition getEdition() { - return edition; - } - - public void setEdition(final SelectedEdition edition) { - this.edition = edition; - } } diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java index 09f7631..851c82e 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java @@ -2,6 +2,9 @@ package com.anas.intellij.plugins.ayah.settings; import com.anas.alqurancloudapi.edition.Edition; import com.anas.alqurancloudapi.edition.EditionFormat; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; import java.io.IOException; @@ -9,6 +12,9 @@ import java.io.IOException; * @author: Anas Elgarhy * @date: 8/21/22 */ +@AllArgsConstructor +@Getter +@Setter public class SelectedEdition { private String editionIdentifier; private int index; @@ -22,27 +28,4 @@ public class SelectedEdition { } index = 0; } - - public SelectedEdition(final String editionIdentifier, final int index) { - this.editionIdentifier = editionIdentifier; - this.index = index; - } - - public String getEditionIdentifier() { - 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/PanelBuilder.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/PanelBuilder.java similarity index 93% rename from src/main/java/com/anas/intellij/plugins/ayah/settings/PanelBuilder.java rename to src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/PanelBuilder.java index a437722..0134d38 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/PanelBuilder.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/PanelBuilder.java @@ -1,4 +1,4 @@ -package com.anas.intellij.plugins.ayah.settings; +package com.anas.intellij.plugins.ayah.settings.userinterface; import javax.swing.*; import javax.swing.border.Border; diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/ReadableEdition.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/ReadableEdition.java similarity index 90% rename from src/main/java/com/anas/intellij/plugins/ayah/settings/ReadableEdition.java rename to src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/ReadableEdition.java index f8d0cf5..c9f0492 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/ReadableEdition.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/ReadableEdition.java @@ -1,4 +1,4 @@ -package com.anas.intellij.plugins.ayah.settings; +package com.anas.intellij.plugins.ayah.settings.userinterface; import com.anas.alqurancloudapi.edition.Edition; diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/SettingsComponent.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/SettingsComponent.java similarity index 96% rename from src/main/java/com/anas/intellij/plugins/ayah/settings/SettingsComponent.java rename to src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/SettingsComponent.java index a9adbe4..6e10ed9 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/SettingsComponent.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/SettingsComponent.java @@ -1,8 +1,11 @@ -package com.anas.intellij.plugins.ayah.settings; +package com.anas.intellij.plugins.ayah.settings.userinterface; import com.anas.alqurancloudapi.edition.Edition; import com.anas.alqurancloudapi.edition.EditionFormat; +import com.anas.intellij.plugins.ayah.settings.AyahSettingsState; +import com.anas.intellij.plugins.ayah.settings.BasmalhOnStart; +import com.anas.intellij.plugins.ayah.settings.SelectedEdition; import com.intellij.ui.components.JBCheckBox; import com.intellij.ui.components.JBLabel; import com.intellij.util.ui.FormBuilder; diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 926ac83..e005c71 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -3,6 +3,8 @@ com.anas.intellij.plugins.ayah + com.intellij.modules.platform + Ayah @@ -39,6 +41,11 @@ Read more: https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html --> com.intellij.modules.platform + + + + From f37b07ebce95e0f5dbc28775cc96262688a82800 Mon Sep 17 00:00:00 2001 From: Anas Elgarhy Date: Wed, 2 Nov 2022 21:48:18 +0200 Subject: [PATCH 2/5] Add some extra configs --- .idea/jpa-buddy.xml | 6 ++++++ .idea/misc.xml | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 .idea/jpa-buddy.xml diff --git a/.idea/jpa-buddy.xml b/.idea/jpa-buddy.xml new file mode 100644 index 0000000..966d5f5 --- /dev/null +++ b/.idea/jpa-buddy.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index cf03873..5d1a913 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -7,4 +7,7 @@ + + \ No newline at end of file From 580a522f98faa3ca0487b8b3d1ee67fa1732af70 Mon Sep 17 00:00:00 2001 From: Anas Elgarhy Date: Wed, 2 Nov 2022 22:07:29 +0200 Subject: [PATCH 3/5] 2022.3 Build Support --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b64eff0..a1eab61 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("java") - id("org.jetbrains.intellij") version "1.8.0" + id("org.jetbrains.intellij") version "1.9.0" } group = "com.anas.intellij.plugins.ayah" @@ -48,7 +48,7 @@ tasks { patchPluginXml { sinceBuild.set("213") - untilBuild.set("222.*") + untilBuild.set("223.*") } signPlugin { From 35d225b1715a1b29a5312b7f6442b92b5a9b6fa7 Mon Sep 17 00:00:00 2001 From: Anas Elgarhy Date: Wed, 2 Nov 2022 23:06:04 +0200 Subject: [PATCH 4/5] Improve the code yooo --- build.gradle.kts | 2 +- .../plugins/ayah/AyahStartupActivity.java | 4 ++-- .../plugins/ayah/NotificationTimer.java | 4 ++-- .../plugins/ayah/NotificationTimerTask.java | 8 ++++---- .../plugins/ayah/audio/AudioPlayer.java | 8 ++++---- .../plugins/ayah/audio/PlayerListener.java | 8 ++++---- .../ayah/dialogs/AyahDetailsDialog.java | 9 +++++++-- .../settings/AyahSettingsConfigurable.java | 4 ++-- .../ayah/settings/AyahSettingsState.java | 4 ++-- .../plugins/ayah/settings/BasmalhOnStart.java | 6 ++++-- .../plugins/ayah/settings/SelectedEdition.java | 4 ++-- .../settings/userinterface/PanelBuilder.java | 4 ++-- .../userinterface/ReadableEdition.java | 18 +++++++----------- .../userinterface/SettingsComponent.java | 4 ++-- src/main/resources/META-INF/plugin.xml | 8 ++------ 15 files changed, 47 insertions(+), 48 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index a1eab61..d4c5ad2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ repositories { } dependencies { - implementation("com.github.anas-elgarhy:alquran-cloud-api:0.4.0-v1") + implementation("com.github.anas-elgarhy:alquran-cloud-api:0.4.0-v1") // TODO: fix this implementation("com.miglayout:miglayout-swing:11.0") // implementation("com.github.goxr3plus:java-stream-player:10.0.2") implementation("com.googlecode.soundlibs:jlayer:1.0.1.4") diff --git a/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java b/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java index a69c0a7..525e35f 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java @@ -12,8 +12,8 @@ import org.jetbrains.annotations.NotNull; import java.io.IOException; /** - * @author: Anas Elgarhy - * @date: 8/18/22 + * @author Anas Elgarhy + * @since 8/18/22 */ public class AyahStartupActivity implements StartupActivity { @Override diff --git a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java index adec670..91ccfd6 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java @@ -7,8 +7,8 @@ import org.jetbrains.annotations.NotNull; import java.util.Timer; /** - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ public enum NotificationTimer { INSTANCE diff --git a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java index 78ea9a7..2add5fb 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java @@ -20,8 +20,8 @@ import java.util.TimerTask; import java.util.logging.Logger; /** - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ public class NotificationTimerTask extends TimerTask implements PlayerListener { private Project project; @@ -103,12 +103,12 @@ public class NotificationTimerTask extends TimerTask implements PlayerListener { // Player listener methods. @Override - public void onStarted(final PlaybackEvent event) { + public void onStarted() { isPlaying = true; } @Override - public void onFinished(PlaybackEvent event) { + public void onFinished() { isPlaying = false; } } diff --git a/src/main/java/com/anas/intellij/plugins/ayah/audio/AudioPlayer.java b/src/main/java/com/anas/intellij/plugins/ayah/audio/AudioPlayer.java index 2f78291..b64c124 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/audio/AudioPlayer.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/audio/AudioPlayer.java @@ -15,8 +15,8 @@ import java.net.URL; import java.util.logging.Logger; /** - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ public class AudioPlayer { private final String audioUrl; @@ -56,12 +56,12 @@ public class AudioPlayer { player.setPlayBackListener(new PlaybackListener() { @Override public void playbackStarted(final PlaybackEvent evt) { - listener.onStarted(evt); + listener.onStarted(); } @Override public void playbackFinished(final PlaybackEvent evt) { - listener.onFinished(evt); + listener.onFinished(); } }); } diff --git a/src/main/java/com/anas/intellij/plugins/ayah/audio/PlayerListener.java b/src/main/java/com/anas/intellij/plugins/ayah/audio/PlayerListener.java index 40d45eb..696cfac 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/audio/PlayerListener.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/audio/PlayerListener.java @@ -3,10 +3,10 @@ package com.anas.intellij.plugins.ayah.audio; import javazoom.jl.player.advanced.PlaybackEvent; /** - * @author: Anas Elgarhy - * @date: 8/22/22 + * @author Anas Elgarhy + * @since 8/22/22 */ public interface PlayerListener { - void onStarted(final PlaybackEvent event); - void onFinished(final PlaybackEvent event); + void onStarted(); + void onFinished(); } diff --git a/src/main/java/com/anas/intellij/plugins/ayah/dialogs/AyahDetailsDialog.java b/src/main/java/com/anas/intellij/plugins/ayah/dialogs/AyahDetailsDialog.java index 3f242c4..a0f8a1b 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/dialogs/AyahDetailsDialog.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/dialogs/AyahDetailsDialog.java @@ -12,6 +12,11 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; +/** + * @author Anas Elgarhy + * @since 8/19/22 + */ + public class AyahDetailsDialog extends JDialog implements PlayerListener { private JPanel contentPane; private JButton playButton; @@ -138,13 +143,13 @@ public class AyahDetailsDialog extends JDialog implements PlayerListener { } @Override - public void onStarted(final PlaybackEvent event) { + public void onStarted() { playButton.setText("Stop"); isPlaying = true; } @Override - public void onFinished(final PlaybackEvent event) { + public void onFinished() { if (autoPlayCheckBox.isSelected() && ayah.getNumber() <= Constants.AYAHS_COUNT) { if (loadTheAyah(ayah.getNumber() + 1)) { audioPlayer = new AudioPlayer(ayah.getAudioUrl()).setListener(this); diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java index 23dc275..f7094d3 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/AyahSettingsConfigurable.java @@ -9,8 +9,8 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; /** - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ public class AyahSettingsConfigurable implements Configurable { 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 4cf3148..64c8505 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 @@ -14,8 +14,8 @@ import org.jetbrains.annotations.Nullable; /** - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ @Getter @Setter diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/BasmalhOnStart.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/BasmalhOnStart.java index 95c8985..c68d821 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/BasmalhOnStart.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/BasmalhOnStart.java @@ -1,17 +1,19 @@ package com.anas.intellij.plugins.ayah.settings; import lombok.Getter; +import lombok.NonNull; import lombok.Setter; /** - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ @Getter @Setter public class BasmalhOnStart { private boolean isActive; private boolean isSoundActive; + @NonNull private SelectedEdition edition; public BasmalhOnStart() { diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java index 851c82e..7dd3e3b 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/SelectedEdition.java @@ -9,8 +9,8 @@ import lombok.Setter; import java.io.IOException; /** - * @author: Anas Elgarhy - * @date: 8/21/22 + * @author Anas Elgarhy + * @since 8/21/22 */ @AllArgsConstructor @Getter diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/PanelBuilder.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/PanelBuilder.java index 0134d38..ce6e393 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/PanelBuilder.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/PanelBuilder.java @@ -5,8 +5,8 @@ import javax.swing.border.Border; import java.awt.*; /** - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ public class PanelBuilder { private final JPanel panel; diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/ReadableEdition.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/ReadableEdition.java index c9f0492..de3ff6b 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/ReadableEdition.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/ReadableEdition.java @@ -1,26 +1,22 @@ package com.anas.intellij.plugins.ayah.settings.userinterface; import com.anas.alqurancloudapi.edition.Edition; +import lombok.Getter; +import lombok.RequiredArgsConstructor; /** - * @author: Anas Elgarhy - * @date: 8/20/22 + * @author Anas Elgarhy + * @since 8/20/22 */ +@RequiredArgsConstructor +@Getter public class ReadableEdition { - private Edition edition; - - public ReadableEdition(final Edition edition) { - this.edition = edition; - } + private final Edition edition; public ReadableEdition(final String identifier) { this.edition = new Edition(identifier); } - public Edition getEdition() { - return edition; - } - @Override public String toString() { return edition.getName() + " (" + edition.getLanguage() + ")"; diff --git a/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/SettingsComponent.java b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/SettingsComponent.java index 6e10ed9..ced1c85 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/SettingsComponent.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/settings/userinterface/SettingsComponent.java @@ -19,8 +19,8 @@ import java.util.logging.Logger; /** * The settings UI. * - * @author: Anas Elgarhy - * @date: 8/19/22 + * @author Anas Elgarhy + * @since 8/19/22 */ public class SettingsComponent { private final JPanel panel; diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index e005c71..776f0e3 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -41,11 +41,7 @@ Read more: https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html --> com.intellij.modules.platform - - - - + @@ -62,4 +58,4 @@ - \ No newline at end of file + From 7cb586303973d4854a96790ef35ed5859da83afc Mon Sep 17 00:00:00 2001 From: Anas Elgarhy Date: Wed, 2 Nov 2022 23:32:20 +0200 Subject: [PATCH 5/5] Fix trying start the timer more then one if you closed the project and open a new one issue --- .../anas/intellij/plugins/ayah/AyahStartupActivity.java | 5 +++-- .../com/anas/intellij/plugins/ayah/NotificationTimer.java | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java b/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java index 525e35f..6566ebf 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/AyahStartupActivity.java @@ -7,6 +7,7 @@ import com.intellij.notification.NotificationGroupManager; import com.intellij.notification.NotificationType; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; +import lombok.val; import org.jetbrains.annotations.NotNull; import java.io.IOException; @@ -18,11 +19,11 @@ import java.io.IOException; public class AyahStartupActivity implements StartupActivity { @Override public void runActivity(@NotNull final Project project) { - final var basmalhOnStartSettingsState = AyahSettingsState.getInstance().getBasmalhOnStart(); + val basmalhOnStartSettingsState = AyahSettingsState.getInstance().getBasmalhOnStart(); // Basmalh on start if (basmalhOnStartSettingsState.isActive()) { try { - final var bassmalh = Ayah.getAyah(1, + val bassmalh = Ayah.getAyah(1, basmalhOnStartSettingsState.getEdition().getEditionIdentifier()); NotificationGroupManager.getInstance() .getNotificationGroup("Basmalh on Start") diff --git a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java index 91ccfd6..0a22b24 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimer.java @@ -16,14 +16,21 @@ public enum NotificationTimer { private final Timer timer; private final NotificationTimerTask notificationTimerTask; + private boolean isRunning; NotificationTimer() { timer = new Timer(); notificationTimerTask = new NotificationTimerTask(); + isRunning = false; } public void start(@NotNull Project project) { + if (isRunning) { + return; + } notificationTimerTask.setProject(project); schedule(AyahSettingsState.getInstance().getIntervalTimeBetweenNotifications()); + isRunning = true; + } public void updateIntervalTimeBetweenNotifications(final int intervalTimeBetweenNotifications) {