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 + + + +