Compare commits

...

38 commits

Author SHA1 Message Date
renovate[bot]
866bb3c1f7
chore(deps): update dependency gradle to v8.6 2024-02-02 18:53:35 +00:00
mergify[bot]
2232d07459
Merge pull request #105 from 0x61nas/dependabot/github_actions/actions/cache-4.0.0
Bump actions/cache from 3.3.2 to 4.0.0
2024-01-21 11:44:48 +00:00
mergify[bot]
a3717dc9db
Merge pull request #106 from 0x61nas/dependabot/github_actions/actions/upload-artifact-4.2.0
Bump actions/upload-artifact from 3.1.3 to 4.2.0
2024-01-21 11:44:17 +00:00
mergify[bot]
6cd67f5391
Merge pull request #107 from 0x61nas/dependabot/gradle/org.jetbrains.intellij-1.17.0
Bump org.jetbrains.intellij from 1.16.0 to 1.17.0
2024-01-21 11:43:44 +00:00
dependabot[bot]
1ff58bff5b
Bump org.jetbrains.intellij from 1.16.0 to 1.17.0
Bumps org.jetbrains.intellij from 1.16.0 to 1.17.0.

---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 21:41:36 +00:00
dependabot[bot]
7b1d8c5cb4
Bump actions/upload-artifact from 3.1.3 to 4.2.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.2.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.3...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 21:04:46 +00:00
dependabot[bot]
468e273bfe
Bump actions/cache from 3.3.2 to 4.0.0
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.2 to 4.0.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.2...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-17 21:47:13 +00:00
2c1c60e925
chore: fix typo 2023-11-19 17:23:58 +02:00
mergify[bot]
32dda8645a
Merge pull request #82 from 0x61nas/dependabot/github_actions/actions/cache-3.3.2
Bump actions/cache from 3.3.1 to 3.3.2
2023-11-04 09:46:13 +00:00
mergify[bot]
80e87844b3
Merge pull request #71 from 0x61nas/renovate/org.jetbrains.changelog-2.x
Update plugin org.jetbrains.changelog to v2.2.0
2023-11-04 09:45:10 +00:00
mergify[bot]
4676d0cc48
Merge pull request #83 from 0x61nas/renovate/actions-cache-3.x
Update actions/cache action to v3.3.2
2023-11-04 09:43:13 +00:00
mergify[bot]
bf5862ede8
Merge pull request #86 from 0x61nas/renovate/gradle-8.x
Update dependency gradle to v8.4
2023-11-04 09:42:45 +00:00
cec54f9b2e
Merge pull request #90 from 0x61nas/dependabot/gradle/com.miglayout-miglayout-swing-11.2
Bump com.miglayout:miglayout-swing from 11.1 to 11.2
2023-11-04 11:41:21 +02:00
mergify[bot]
e4ba6f2518
Merge pull request #85 from 0x61nas/dependabot/gradle/org.projectlombok-lombok-1.18.30
Bump org.projectlombok:lombok from 1.18.28 to 1.18.30
2023-11-04 09:40:11 +00:00
renovate[bot]
c7960f0bfd
Update plugin org.jetbrains.changelog to v2.2.0 2023-11-04 09:39:35 +00:00
mergify[bot]
19f6753d29
Merge pull request #88 from 0x61nas/dependabot/gradle/org.jetbrains.intellij-1.16.0
Bump org.jetbrains.intellij from 1.15.0 to 1.16.0
2023-11-04 09:39:21 +00:00
dependabot[bot]
bd1734fb4d
Bump com.miglayout:miglayout-swing from 11.1 to 11.2
Bumps [com.miglayout:miglayout-swing](https://github.com/mikaelgrev/miglayout) from 11.1 to 11.2.
- [Release notes](https://github.com/mikaelgrev/miglayout/releases)
- [Changelog](https://github.com/mikaelgrev/miglayout/blob/master/release.txt)
- [Commits](https://github.com/mikaelgrev/miglayout/compare/v11.1...v11.2)

---
updated-dependencies:
- dependency-name: com.miglayout:miglayout-swing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-04 09:38:14 +00:00
mergify[bot]
73fcd6b31a
Merge pull request #91 from 0x61nas/renovate/com.github.anas-elgarhy-alquran-cloud-api-0.x
Update dependency com.github.anas-elgarhy:alquran-cloud-api to v0.4.5
2023-11-04 09:37:52 +00:00
renovate[bot]
595a1b2449
Update dependency com.github.anas-elgarhy:alquran-cloud-api to v0.4.5 2023-11-04 09:04:11 +00:00
dependabot[bot]
6bf78f4148
Bump org.jetbrains.intellij from 1.15.0 to 1.16.0
Bumps org.jetbrains.intellij from 1.15.0 to 1.16.0.

---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 21:08:41 +00:00
renovate[bot]
83f5c40ae8
Update dependency gradle to v8.4 2023-10-04 23:11:50 +00:00
dependabot[bot]
cf4da83962
Bump org.projectlombok:lombok from 1.18.28 to 1.18.30
Bumps [org.projectlombok:lombok](https://github.com/projectlombok/lombok) from 1.18.28 to 1.18.30.
- [Release notes](https://github.com/projectlombok/lombok/releases)
- [Changelog](https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown)
- [Commits](https://github.com/projectlombok/lombok/compare/v1.18.28...v1.18.30)

---
updated-dependencies:
- dependency-name: org.projectlombok:lombok
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-20 21:17:21 +00:00
renovate[bot]
b7415a7db2
Update actions/cache action to v3.3.2 2023-09-08 17:31:30 +00:00
dependabot[bot]
f28c4ae512
Bump actions/cache from 3.3.1 to 3.3.2
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.1...v3.3.2)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 21:53:51 +00:00
mergify[bot]
6f18351a39
Merge pull request #81 from 0x61nas/renovate/actions-upload-artifact-3.x
Update actions/upload-artifact action to v3.1.3
2023-09-06 20:52:44 +00:00
renovate[bot]
e636d23cc6
Update actions/upload-artifact action to v3.1.3 2023-09-06 20:51:07 +00:00
mergify[bot]
77a9d375f0
Merge pull request #80 from 0x61nas/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-06 20:50:54 +00:00
dependabot[bot]
1b66c7191d
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 21:38:06 +00:00
mergify[bot]
73c14a412b
Merge pull request #70 from 0x61nas/renovate/gradle-8.x
Update dependency gradle to v8.3
2023-08-22 23:04:00 +00:00
mergify[bot]
a065de5932
Merge pull request #64 from 0x61nas/renovate/org.jetbrains.intellij-1.x
Update plugin org.jetbrains.intellij to v1.15.0
2023-08-22 23:02:24 +00:00
renovate[bot]
148268704f
Update plugin org.jetbrains.intellij to v1.15.0 2023-08-22 23:01:00 +00:00
mergify[bot]
8e7a83a0d7
Merge pull request #74 from 0x61nas/dependabot/gradle/org.jetbrains.changelog-2.1.2
Bump org.jetbrains.changelog from 2.1.0 to 2.1.2
2023-08-22 23:00:47 +00:00
mergify[bot]
b8453d362e
Merge pull request #76 from 0x61nas/dependabot/github_actions/gradle/wrapper-validation-action-1.1.0
Bump gradle/wrapper-validation-action from 1.0.6 to 1.1.0
2023-08-22 22:59:23 +00:00
4d67f7b2dc
Merge pull request #77 from 0x61nas/revert-61-update-the-details-dialog
Revert "Add the tafseer/translation text box to the ayah details dialog and make the user able to change the player edition on the fly"
2023-08-23 01:58:21 +03:00
0e369b93fd
Revert "Add the tafseer/translation text box to the ayah details dialog and make the user able to change the player edition on the fly" 2023-08-23 01:57:19 +03:00
renovate[bot]
70bf3738df
Update dependency gradle to v8.3 2023-08-17 10:32:28 +00:00
dependabot[bot]
7476c245c8
Bump gradle/wrapper-validation-action from 1.0.6 to 1.1.0
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 1.0.6 to 1.1.0.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/v1.0.6...v1.1.0)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-21 21:56:01 +00:00
dependabot[bot]
eaae0cef34
Bump org.jetbrains.changelog from 2.1.0 to 2.1.2
Bumps org.jetbrains.changelog from 2.1.0 to 2.1.2.

---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 21:34:57 +00:00
9 changed files with 63 additions and 201 deletions

View file

@ -26,10 +26,10 @@ jobs:
steps:
- name: Fetch Sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Gradle Wrapper Validation
uses: gradle/wrapper-validation-action@v1.0.6
uses: gradle/wrapper-validation-action@v1.1.0
# Run verifyPlugin and test Gradle tasks
test:
@ -45,16 +45,16 @@ jobs:
distribution: 'zulu'
- name: Fetch Sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Gradle Dependencies Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }}
- name: Setup Gradle Wrapper Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
@ -84,16 +84,16 @@ jobs:
distribution: 'zulu'
- name: Fetch Sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Gradle Dependencies Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }}
- name: Setup Gradle Wrapper Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
@ -116,7 +116,7 @@ jobs:
# Upload plugin artifact to make it available in the next jobs
- name: Upload artifact
uses: actions/upload-artifact@v3.1.2
uses: actions/upload-artifact@v4.2.0
with:
name: plugin-artifact
path: ./build/distributions/${{ needs.build.outputs.artifact }}
@ -136,16 +136,16 @@ jobs:
distribution: 'zulu'
- name: Fetch Sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Gradle Dependencies Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }}
- name: Setup Gradle Wrapper Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
@ -163,7 +163,7 @@ jobs:
# Cache Plugin Verifier IDEs
- name: Setup Plugin Verifier IDEs Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ${{ steps.properties.outputs.pluginVerifierHomeDir }}/ides
key: ${{ runner.os }}-plugin-verifier-${{ steps.properties.outputs.ideVersions }}

View file

@ -21,7 +21,7 @@ jobs:
# distribution: 'zulu'
#
# - name: Fetch Sources
# uses: actions/checkout@v3
# uses: actions/checkout@v4
# with:
# ref: ${{ github.event.release.tag_name }}
#
@ -43,16 +43,16 @@ jobs:
distribution: 'zulu'
- name: Fetch Sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Gradle Dependencies Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
- name: Setup Gradle Wrapper Cache
uses: actions/cache@v3.3.1
uses: actions/cache@v4.0.0
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}

View file

@ -5,8 +5,8 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
id("org.jetbrains.intellij") version "1.14.0"
id("org.jetbrains.changelog") version "2.1.0"
id("org.jetbrains.intellij") version "1.17.0"
id("org.jetbrains.changelog") version "2.2.0"
}
version = properties("pluginVersion")
@ -18,16 +18,16 @@ repositories {
}
dependencies {
implementation("com.github.anas-elgarhy:alquran-cloud-api:0.4.4")
implementation("com.miglayout:miglayout-swing:11.1")
implementation("com.github.anas-elgarhy:alquran-cloud-api:0.4.5")
implementation("com.miglayout:miglayout-swing:11.2")
// 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.28")
annotationProcessor("org.projectlombok:lombok:1.18.28")
compileOnly("org.projectlombok:lombok:1.18.30")
annotationProcessor("org.projectlombok:lombok:1.18.30")
testImplementation("org.projectlombok:lombok:1.18.28")
testAnnotationProcessor("org.projectlombok:lombok:1.18.28")
testImplementation("org.projectlombok:lombok:1.18.30")
testAnnotationProcessor("org.projectlombok:lombok:1.18.30")
}
java {
sourceCompatibility = JavaVersion.VERSION_17

Binary file not shown.

View file

@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

22
gradlew vendored
View file

@ -83,7 +83,8 @@ done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@ -130,10 +131,13 @@ location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
@ -141,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
@ -149,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@ -198,11 +202,11 @@ fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \

View file

@ -3,7 +3,7 @@
<grid id="cbd77" binding="contentPane" layout-manager="GridLayoutManager" row-count="2" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="10" left="10" bottom="10" right="10"/>
<constraints>
<xy x="48" y="54" width="836" height="472"/>
<xy x="48" y="54" width="577" height="355"/>
</constraints>
<properties>
<maximumSize width="500" height="300"/>
@ -18,7 +18,7 @@
<properties/>
<border type="none"/>
<children>
<grid id="9538f" layout-manager="GridLayoutManager" row-count="3" column-count="4" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<grid id="9538f" layout-manager="GridLayoutManager" row-count="2" column-count="4" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<grid row="0" column="0" row-span="1" col-span="6" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
@ -60,77 +60,25 @@
</component>
</children>
</grid>
<grid id="e3ffd" layout-manager="GridBagLayout">
<component id="69418" class="javax.swing.JButton" binding="previousButton">
<constraints>
<grid row="1" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="true"/>
<grid row="1" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<component id="c14dc" class="javax.swing.JLabel">
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<gridbag weightx="0.0" weighty="1.0"/>
</constraints>
<properties>
<text value="Tafseer/Translation"/>
<verifyInputWhenFocusTarget value="false"/>
</properties>
</component>
<component id="1bfe0" class="javax.swing.JComboBox" binding="tafseerAndTranslationComboBox">
<constraints>
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<gridbag weightx="1.0" weighty="1.0"/>
</constraints>
<properties/>
</component>
<component id="82c3f" class="javax.swing.JLabel">
<constraints>
<grid row="0" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<gridbag weightx="0.0" weighty="1.0"/>
</constraints>
<properties>
<text value="Edition"/>
</properties>
</component>
<component id="3ac9d" class="javax.swing.JComboBox" binding="editionComboBox">
<constraints>
<grid row="0" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<gridbag weightx="1.0" weighty="1.0"/>
</constraints>
<properties/>
</component>
</children>
</grid>
<grid id="d5ada" layout-manager="GridLayoutManager" row-count="1" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<properties>
<text value="Previous"/>
<toolTipText value="Previous Aah"/>
</properties>
</component>
<component id="b465c" class="javax.swing.JButton" binding="nextButton" default-binding="true">
<constraints>
<grid row="2" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<component id="b465c" class="javax.swing.JButton" binding="nextButton" default-binding="true">
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<hideActionText value="true"/>
<text value="Next"/>
<toolTipText value="Nexit ayah"/>
</properties>
</component>
<component id="69418" class="javax.swing.JButton" binding="previousButton">
<constraints>
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Previous"/>
<toolTipText value="Previous Aah"/>
</properties>
</component>
</children>
</grid>
<properties>
<hideActionText value="true"/>
<text value="Next"/>
<toolTipText value="Nexit ayah"/>
</properties>
</component>
</children>
</grid>
<component id="893ab" class="javax.swing.JCheckBox" binding="autoPlayCheckBox" default-binding="true">
@ -159,7 +107,7 @@
</component>
</children>
</grid>
<grid id="e3588" layout-manager="GridLayoutManager" row-count="3" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<grid id="e3588" layout-manager="GridLayoutManager" row-count="2" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<grid row="0" column="0" row-span="1" col-span="3" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
@ -189,25 +137,6 @@
</component>
</children>
</scrollpane>
<scrollpane id="6058b">
<constraints>
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<component id="db36" class="javax.swing.JTextArea" binding="tafseerTextArea">
<constraints/>
<properties>
<editable value="false"/>
<focusable value="false"/>
<lineWrap value="true"/>
<preferredSize width="549" height="18"/>
<wrapStyleWord value="true"/>
</properties>
</component>
</children>
</scrollpane>
</children>
</grid>
</children>

View file

@ -2,19 +2,15 @@ package com.anas.intellij.plugins.ayah.dialogs;
import com.anas.alqurancloudapi.Ayah;
import com.anas.alqurancloudapi.consts.Constants;
import com.anas.alqurancloudapi.edition.Edition;
import com.anas.alqurancloudapi.edition.EditionFormat;
import com.anas.intellij.plugins.ayah.audio.AudioPlayer;
import com.anas.intellij.plugins.ayah.audio.PlayerListener;
import com.anas.intellij.plugins.ayah.settings.userinterface.ReadableEdition;
import javazoom.jl.player.advanced.PlaybackEvent;
import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
/**
* @author <a href="https://github.com/anas-elgarhy">Anas Elgarhy</a>
@ -32,9 +28,6 @@ public class AyahDetailsDialog extends JDialog implements PlayerListener {
private JButton previousButton;
private JButton nextButton;
private JCheckBox autoPlayCheckBox;
private JTextArea tafseerTextArea;
private JComboBox<ReadableEdition> tafseerAndTranslationComboBox;
private JComboBox<ReadableEdition> editionComboBox;
private boolean isPlaying;
private AudioPlayer audioPlayer;
private Ayah ayah;
@ -44,55 +37,21 @@ public class AyahDetailsDialog extends JDialog implements PlayerListener {
setContentPane(contentPane);
setModal(true);
setSize(520, 320);
setSize(500, 300);
setResizable(false);
setLocationRelativeTo(null);
getRootPane().setDefaultButton(playButton);
try {
setupTheUI();
} catch (final IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Error while loading the ayah details",
"Error", JOptionPane.ERROR_MESSAGE);
}
updateAhaDetails();
addListeners();
}
private void setupTheUI() throws IOException {
previousButton.setEnabled(ayah.getNumber() != 1 && ayah.getSurah().getNumber() != 1);
nextButton.setEnabled(ayah.getNumber() != Constants.AYAHS_COUNT && ayah.getSurah().getNumber() != Constants.SURAS_COUNT);
final var tafserAndTranslationComboBoxModel = new DefaultComboBoxModel<ReadableEdition>();
final var editionComboBoxModel = new DefaultComboBoxModel<ReadableEdition>();
Arrays.stream(Edition.getEditions()).forEach(edition -> {
if (edition.getFormat() == EditionFormat.AUDIO) {
editionComboBoxModel.addElement(new ReadableEdition(edition));
} else {
tafserAndTranslationComboBoxModel.addElement(new ReadableEdition(edition));
}
});
tafseerAndTranslationComboBox.setModel(tafserAndTranslationComboBoxModel);
editionComboBox.setModel(editionComboBoxModel);
// Set the default selected item for the editionComboBox
editionComboBoxModel.setSelectedItem(new ReadableEdition(ayah.getEdition()));
// Set the actual information about the ayah in the UI
updateAyahDetails();
}
private void updateAyahDetails() {
// Update the ayah details
private void updateAhaDetails() {
ayahTextArea.setText(ayah.getText());
surahNameLabel.setText(ayah.getSurah().getName());
numberOfAyahInSuarhLabel.setText("آية رقم: " + ayah.getNumberInSurah());
ayahRevelationType.setText(ayah.getSurah().getRevelationType().getArabicName());
// Update the tafseer or translation
updateTheTauseerTextArea();
}
private void addListeners() {
@ -133,24 +92,6 @@ public class AyahDetailsDialog extends JDialog implements PlayerListener {
}
});
tafseerAndTranslationComboBox.addActionListener(e -> {
updateTheTauseerTextArea();
});
editionComboBox.addActionListener(e -> {
final var selectedEdition = ((ReadableEdition) Objects.requireNonNull(
editionComboBox.getSelectedItem())).getEdition();
try {
ayah = Ayah.getAyah(ayah.getNumber(), selectedEdition);
updateAyahDetails();
} catch (final IOException ioException) {
ioException.printStackTrace();
JOptionPane.showMessageDialog(this,
"Error while loading the ayah - check your internet connection",
"Error", JOptionPane.ERROR_MESSAGE);
}
});
buttonCancel.addActionListener(l -> close());
// call onCancel() when cross is clicked
@ -167,19 +108,6 @@ public class AyahDetailsDialog extends JDialog implements PlayerListener {
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
}
private void updateTheTauseerTextArea() {
final var selectedEdition = ((ReadableEdition) Objects.requireNonNull(
tafseerAndTranslationComboBox.getSelectedItem())).getEdition();
try {
tafseerTextArea.setText(Ayah.getAyah(ayah.getNumber(), selectedEdition).getText());
} catch (final IOException ioException) {
ioException.printStackTrace();
JOptionPane.showMessageDialog(this,
"Error while loading the tafseer - check your internet connection",
"Error", JOptionPane.ERROR_MESSAGE);
}
}
private void close() {
if (audioPlayer != null) {
audioPlayer.stop();
@ -204,7 +132,7 @@ public class AyahDetailsDialog extends JDialog implements PlayerListener {
try {
ayah = Ayah.getAyah(ayhNumber,
ayah.getEdition().getIdentifier());
updateAyahDetails();
updateAhaDetails();
return true;
} catch (final IOException ex) {
JOptionPane.showMessageDialog(this,