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