From e5b407b0b7ac81545d3439d0d596d18610b64577 Mon Sep 17 00:00:00 2001 From: Vladimir Valekzhanin Date: Wed, 14 Oct 2026 22:38:47 +0300 Subject: [PATCH 1/3] fix: MOCK_DATA is always true --- src/main/java/com/DesktopApplicationClientJava/Program.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/DesktopApplicationClientJava/Program.java b/src/main/java/com/DesktopApplicationClientJava/Program.java index c8f43a4..f0edd6c 100644 --- a/src/main/java/com/DesktopApplicationClientJava/Program.java +++ b/src/main/java/com/DesktopApplicationClientJava/Program.java @@ -15,8 +15,8 @@ public class Program extends Application { private static final String INITIAL_PAGE_PATH = System.getenv().getOrDefault("INITIAL_PAGE_PATH", "/fxml/LoginForm.fxml"); - private static final boolean MOCK_DATA = true; - // Boolean.parseBoolean(System.getenv().getOrDefault("MOCK_DATA", "false")); + private static final boolean MOCK_DATA = + Boolean.parseBoolean(System.getenv().getOrDefault("MOCK_DATA", "false")); private static final double WINDOW_WIDTH = 800.0; private static final double WINDOW_HEIGHT = 600.0; From 27d1867fa7948d337e7fe19c497a473878dc56b3 Mon Sep 17 00:00:00 2001 From: Vladimir Valekzhanin Date: Wed, 14 Oct 2026 22:44:07 +0300 Subject: [PATCH 2/3] feat: rename application --- src/main/java/com/DesktopApplicationClientJava/Program.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/DesktopApplicationClientJava/Program.java b/src/main/java/com/DesktopApplicationClientJava/Program.java index f0edd6c..9c22a9b 100644 --- a/src/main/java/com/DesktopApplicationClientJava/Program.java +++ b/src/main/java/com/DesktopApplicationClientJava/Program.java @@ -45,7 +45,7 @@ public void start(Stage stage) throws IOException { loadStyleSheet(scene, "/styles.css"); stage.setScene(scene); - stage.setTitle("JavaFX Application" + (MOCK_DATA ? " [MOCK]" : "")); + stage.setTitle("Госхрон" + (MOCK_DATA ? " [MOCK]" : "")); stage.setWidth(WINDOW_WIDTH); stage.setHeight(WINDOW_HEIGHT); stage.centerOnScreen(); From 52fe1e83fca0a711b65729ce500bb2abacae31b0 Mon Sep 17 00:00:00 2001 From: Vladimir Valekzhanin Date: Wed, 14 Oct 2026 22:59:54 +0300 Subject: [PATCH 3/3] feat: add app icons --- .gitattributes | 3 ++ .gitignore | 4 ++- .../DesktopApplicationClientJava/Program.java | 19 +++++++++++ src/main/resources/images/app.png | 3 ++ src/main/resources/images/icons/app.icns | 3 ++ src/main/resources/images/icons/app.ico | 3 ++ .../resources/images/icons/png/app-128.png | 3 ++ .../resources/images/icons/png/app-16.png | 3 ++ .../resources/images/icons/png/app-256.png | 3 ++ .../resources/images/icons/png/app-32.png | 3 ++ .../resources/images/icons/png/app-48.png | 3 ++ .../resources/images/icons/png/app-64.png | 3 ++ tools/make-icons.sh | 34 +++++++++++++++++++ 13 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 src/main/resources/images/app.png create mode 100644 src/main/resources/images/icons/app.icns create mode 100644 src/main/resources/images/icons/app.ico create mode 100644 src/main/resources/images/icons/png/app-128.png create mode 100644 src/main/resources/images/icons/png/app-16.png create mode 100644 src/main/resources/images/icons/png/app-256.png create mode 100644 src/main/resources/images/icons/png/app-32.png create mode 100644 src/main/resources/images/icons/png/app-48.png create mode 100644 src/main/resources/images/icons/png/app-64.png create mode 100755 tools/make-icons.sh diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..0b148ad --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.png filter=lfs diff=lfs merge=lfs -text +*.icns filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index 4b9ba18..6a56254 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +src/main/resources/images/icons/app.iconset/ + # Compiled class file *.class @@ -107,4 +109,4 @@ Backups.backupdb .MobileBackups .MobileBackups.trash MobileBackups.trash -tmbootpicker.efi +tmbootpicker.efi \ No newline at end of file diff --git a/src/main/java/com/DesktopApplicationClientJava/Program.java b/src/main/java/com/DesktopApplicationClientJava/Program.java index 9c22a9b..b2e86ab 100644 --- a/src/main/java/com/DesktopApplicationClientJava/Program.java +++ b/src/main/java/com/DesktopApplicationClientJava/Program.java @@ -6,10 +6,13 @@ import com.DesktopApplicationClientJava.session.Session; import com.DesktopApplicationClientJava.utils.ControllerWiring; import java.io.IOException; +import java.io.InputStream; +import java.util.List; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; +import javafx.scene.image.Image; import javafx.stage.Stage; public class Program extends Application { @@ -20,6 +23,9 @@ public class Program extends Application { private static final double WINDOW_WIDTH = 800.0; private static final double WINDOW_HEIGHT = 600.0; + private static final String ICON_BASE = "/images/icons/png/app-"; + private static final List ICON_SIZES = List.of(16, 32, 48, 64, 128, 256); + private final Session session = new Session(); private final ApiClient apiClient = new ApiClient(session); private final ServiceRegistry services = createServices(); @@ -43,6 +49,7 @@ public void start(Stage stage) throws IOException { Parent root = loader.load(); Scene scene = new Scene(root); loadStyleSheet(scene, "/styles.css"); + loadIcons(stage); stage.setScene(scene); stage.setTitle("Госхрон" + (MOCK_DATA ? " [MOCK]" : "")); @@ -65,4 +72,16 @@ private void loadStyleSheet(Scene scene, String path) { scene.getStylesheets().add(url.toExternalForm()); } } + + private void loadIcons(Stage stage) { + for (int size : ICON_SIZES) { + try (InputStream in = getClass().getResourceAsStream(ICON_BASE + size + ".png")) { + if (in != null) { + stage.getIcons().add(new Image(in)); + } + } catch (IOException e) { + System.err.println(e); + } + } + } } diff --git a/src/main/resources/images/app.png b/src/main/resources/images/app.png new file mode 100644 index 0000000..79a929b --- /dev/null +++ b/src/main/resources/images/app.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398d1d9119a8ad8d9b38006952a068d7724f8a9cc40d27701af2b6bdf4b7373d +size 10149 diff --git a/src/main/resources/images/icons/app.icns b/src/main/resources/images/icons/app.icns new file mode 100644 index 0000000..f470913 --- /dev/null +++ b/src/main/resources/images/icons/app.icns @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8a54b0989a7b9c13eab3184b62b9dc8caaba7548c5783caa9a606c38d2bffba +size 1008340 diff --git a/src/main/resources/images/icons/app.ico b/src/main/resources/images/icons/app.ico new file mode 100644 index 0000000..4f99933 --- /dev/null +++ b/src/main/resources/images/icons/app.ico @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f9171af9bd2b73308dea604f361d9f53724227c1849ede7332049ea2e40cbd1 +size 370070 diff --git a/src/main/resources/images/icons/png/app-128.png b/src/main/resources/images/icons/png/app-128.png new file mode 100644 index 0000000..2a92636 --- /dev/null +++ b/src/main/resources/images/icons/png/app-128.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85d6c0865172256eb2c911a6b2e4bb6e6b31cd98420ccd2d3856a4f26e75e8b1 +size 15646 diff --git a/src/main/resources/images/icons/png/app-16.png b/src/main/resources/images/icons/png/app-16.png new file mode 100644 index 0000000..ab25e4a --- /dev/null +++ b/src/main/resources/images/icons/png/app-16.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6faea3646d90bbacdef856871bb7727a006614170b817912d4c11eadb3172445 +size 1299 diff --git a/src/main/resources/images/icons/png/app-256.png b/src/main/resources/images/icons/png/app-256.png new file mode 100644 index 0000000..ead5a92 --- /dev/null +++ b/src/main/resources/images/icons/png/app-256.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:548352eb5955ce7e5a6d44c602099ccee41e0632378a247e3dd2fd8c718b6d8c +size 46354 diff --git a/src/main/resources/images/icons/png/app-32.png b/src/main/resources/images/icons/png/app-32.png new file mode 100644 index 0000000..27f679c --- /dev/null +++ b/src/main/resources/images/icons/png/app-32.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:141a73f9a02199a5743940d8bb60c389d8a5d63cee203a7c57ba206231bd00dd +size 2304 diff --git a/src/main/resources/images/icons/png/app-48.png b/src/main/resources/images/icons/png/app-48.png new file mode 100644 index 0000000..7c32cad --- /dev/null +++ b/src/main/resources/images/icons/png/app-48.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5767e1442ed18882e24203becf2d8c717ecdeffd07747ccf4b2a9d5c6d15147e +size 3628 diff --git a/src/main/resources/images/icons/png/app-64.png b/src/main/resources/images/icons/png/app-64.png new file mode 100644 index 0000000..27f09de --- /dev/null +++ b/src/main/resources/images/icons/png/app-64.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b75d7c9e198ba15c9999f46ea4a29e3f06e0fc3257af7eb821d0d0054449bde9 +size 5421 diff --git a/tools/make-icons.sh b/tools/make-icons.sh new file mode 100755 index 0000000..f907375 --- /dev/null +++ b/tools/make-icons.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail + +SRC="${1:-src/main/resources/images/app.png}" +OUT="${2:-src/main/resources/images/icons}" + +[[ -f "$SRC" ]] || { echo "source not found: $SRC" >&2; exit 1; } + +mkdir -p "$OUT/png" "$OUT/app.iconset" + +# PNG set +for size in 16 32 48 64 128 256; do + magick "$SRC" -resize "${size}x${size}" "$OUT/png/app-${size}.png" +done + +# ICO +magick "$SRC" -define icon:auto-resize=256,128,64,48,32,16 "$OUT/app.ico" + +# ICNS +magick "$SRC" -resize 16x16 "$OUT/app.iconset/icon_16x16.png" +magick "$SRC" -resize 32x32 "$OUT/app.iconset/icon_16x16@2x.png" +magick "$SRC" -resize 32x32 "$OUT/app.iconset/icon_32x32.png" +magick "$SRC" -resize 64x64 "$OUT/app.iconset/icon_32x32@2x.png" +magick "$SRC" -resize 128x128 "$OUT/app.iconset/icon_128x128.png" +magick "$SRC" -resize 256x256 "$OUT/app.iconset/icon_128x128@2x.png" +magick "$SRC" -resize 256x256 "$OUT/app.iconset/icon_256x256.png" +magick "$SRC" -resize 512x512 "$OUT/app.iconset/icon_256x256@2x.png" +magick "$SRC" -resize 512x512 "$OUT/app.iconset/icon_512x512.png" +magick "$SRC" -resize 1024x1024 "$OUT/app.iconset/icon_512x512@2x.png" + +iconutil -c icns "$OUT/app.iconset" -o "$OUT/app.icns" +rm -rf "$OUT/app.iconset" + +echo "done: $OUT" \ No newline at end of file