From 753970cfc19cd0c9d2ba66e9058ba81f6b03310c Mon Sep 17 00:00:00 2001 From: ineanto Date: Thu, 12 Sep 2024 10:37:27 +0200 Subject: [PATCH] feat: initial commit --- .github/workflows/gradle.yml | 49 ------------------- .gitignore | 4 +- build.gradle | 22 +++++++-- .../xyz/ineanto/qodos/alert/AlertDisplay.java | 5 +- .../qodos/controller/MainController.java | 2 +- .../qodos/generator/QRURLGenerator.java | 12 ++++- .../qodos/generator/QRVCardGenerator.java | 19 ++++++- 7 files changed, 53 insertions(+), 60 deletions(-) delete mode 100644 .github/workflows/gradle.yml diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml deleted file mode 100644 index 4846186..0000000 --- a/.github/workflows/gradle.yml +++ /dev/null @@ -1,49 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle - -name: Java CI with Gradle - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -jobs: - build: - - runs-on: windows-latest - permissions: - contents: read - - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 22 - uses: actions/setup-java@v4 - with: - java-version: '22.0.2' - distribution: 'zulu' - java-package: 'jdk+fx' - - # Configure Gradle for optimal use in GitHub Actions, including caching of downloaded dependencies. - # See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md - - name: Setup Gradle - uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 - - - name: Run JLink with Gradle Wrapper - run: ./gradlew build - - # NOTE: The Gradle Wrapper is the default and recommended way to run Gradle (https://docs.gradle.org/current/userguide/gradle_wrapper.html). - # If your project does not have the Gradle Wrapper configured, you can use the following configuration to run Gradle with a specified version. - # - # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 - # with: - # gradle-version: '8.9' - # - # - name: Build with Gradle 8.9 - # run: gradle build \ No newline at end of file diff --git a/.gitignore b/.gitignore index b63da45..32b3e11 100644 --- a/.gitignore +++ b/.gitignore @@ -39,4 +39,6 @@ bin/ .vscode/ ### Mac OS ### -.DS_Store \ No newline at end of file +.DS_Store + +win_jmods \ No newline at end of file diff --git a/build.gradle b/build.gradle index 15aa93e..671d657 100644 --- a/build.gradle +++ b/build.gradle @@ -14,6 +14,14 @@ repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } + maven { + name = "GitHubPackages" + url = "https://maven.pkg.github.com/ineanto/qodos" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } } ext { @@ -50,19 +58,23 @@ test { } jlink { - imageZip = project.file("${rootProject.layout.buildDirectory.asFile.get().absolutePath}/distributions/app-${javafx.platform.classifier}.zip") + targetPlatform("win") { + jdkHome = jdkDownload("https://download.java.net/java/GA/jdk22.0.2/c9ecb94cd31b495da20a27d4581645e8/9/GPL/openjdk-22.0.2_windows-x64_bin.zip") + addExtraModulePath("./win_jmods") + } + + imageZip = project.file("${rootProject.layout.buildDirectory.asFile.get().absolutePath}/distributions/qodos-${javafx.platform.classifier}.zip") options = [ '--strip-debug', '--compress', - '2', + 'zip-6', '--no-header-files', '--no-man-pages', - '--module-path', - '/home/ineanto/IdeaProjects/qodos/win_jmods' ] launcher { - name = 'app' + name = 'qodos' + noConsole = true } } diff --git a/src/main/java/xyz/ineanto/qodos/alert/AlertDisplay.java b/src/main/java/xyz/ineanto/qodos/alert/AlertDisplay.java index 72a20c6..f95adb3 100644 --- a/src/main/java/xyz/ineanto/qodos/alert/AlertDisplay.java +++ b/src/main/java/xyz/ineanto/qodos/alert/AlertDisplay.java @@ -13,6 +13,7 @@ public class AlertDisplay { new ButtonType("Fermer", ButtonBar.ButtonData.CANCEL_CLOSE) ); + alert.setTitle(null); alert.setHeaderText("Erreur"); alert.initStyle(StageStyle.UTILITY); alert.showAndWait(); @@ -29,6 +30,7 @@ public class AlertDisplay { new ButtonType("Fermer", ButtonBar.ButtonData.CANCEL_CLOSE) ); + alert.setTitle(null); alert.setHeaderText(header); alert.initStyle(StageStyle.UTILITY); alert.showAndWait(); @@ -40,11 +42,12 @@ public class AlertDisplay { public static void success(String success) { final Alert alert = new Alert( - Alert.AlertType.CONFIRMATION, + Alert.AlertType.INFORMATION, success, new ButtonType("OK", ButtonBar.ButtonData.CANCEL_CLOSE) ); + alert.setTitle(null); alert.setHeaderText("Succès"); alert.initStyle(StageStyle.UTILITY); alert.showAndWait(); diff --git a/src/main/java/xyz/ineanto/qodos/controller/MainController.java b/src/main/java/xyz/ineanto/qodos/controller/MainController.java index c226e6d..5ef18ab 100644 --- a/src/main/java/xyz/ineanto/qodos/controller/MainController.java +++ b/src/main/java/xyz/ineanto/qodos/controller/MainController.java @@ -77,7 +77,7 @@ public class MainController { exitButton.setOnAction(_ -> System.exit(0)); aboutButton.setOnAction(_ -> AlertDisplay.info("Qodos", "Générateur de QR Code (URL, VCard)\n" + - "Version 0.0.1")); + "Version 0.0.2")); genderWomenButton.setToggleGroup(toggleGroup); genderMenButton.setToggleGroup(toggleGroup); diff --git a/src/main/java/xyz/ineanto/qodos/generator/QRURLGenerator.java b/src/main/java/xyz/ineanto/qodos/generator/QRURLGenerator.java index fa6a60f..180edfd 100644 --- a/src/main/java/xyz/ineanto/qodos/generator/QRURLGenerator.java +++ b/src/main/java/xyz/ineanto/qodos/generator/QRURLGenerator.java @@ -9,8 +9,12 @@ import xyz.ineanto.qodos.url.URLValidator; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; +import java.util.List; -public record QRURLGenerator(String url, BufferedImage logo) { +public record QRURLGenerator( + String url, + BufferedImage logo +) { public void generate(Node node) { System.out.println("Generating QR Code for URL..."); @@ -39,6 +43,12 @@ public record QRURLGenerator(String url, BufferedImage logo) { try { final FileChooser chooser = new FileChooser(); + chooser.setInitialFileName("qr"); + chooser.setSelectedExtensionFilter( + new FileChooser.ExtensionFilter("Image Files", + List.of("*.png", "*.jpeg", "*.jpg") + ) + ); chooser.setTitle("Sélectionner la destination..."); final File file = chooser.showSaveDialog(node.getScene().getWindow()); diff --git a/src/main/java/xyz/ineanto/qodos/generator/QRVCardGenerator.java b/src/main/java/xyz/ineanto/qodos/generator/QRVCardGenerator.java index 68aaeaf..09adc24 100644 --- a/src/main/java/xyz/ineanto/qodos/generator/QRVCardGenerator.java +++ b/src/main/java/xyz/ineanto/qodos/generator/QRVCardGenerator.java @@ -10,9 +10,18 @@ import xyz.ineanto.qodos.url.URLValidator; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; +import java.util.List; -public record QRVCardGenerator(int gender, String family, String name, String number, String url, String address, - String email, BufferedImage logo) { +public record QRVCardGenerator( + int gender, + String family, + String name, + String number, + String url, + String address, + String email, + BufferedImage logo +) { public void generate(Node node) { System.out.println("Generating QR Code for VCard..."); @@ -59,6 +68,12 @@ public record QRVCardGenerator(int gender, String family, String name, String nu try { final FileChooser chooser = new FileChooser(); chooser.setTitle("Sélectionner la destination..."); + chooser.setInitialFileName("qr"); + chooser.setSelectedExtensionFilter( + new FileChooser.ExtensionFilter("Image Files", + List.of("*.png", "*.jpeg", "*.jpg") + ) + ); final File file = chooser.showSaveDialog(node.getScene().getWindow()); if (file != null) {