From dfad967eae8307e848445ef3890f82b1c945d2d5 Mon Sep 17 00:00:00 2001 From: "j.foucher" Date: Sat, 2 May 2026 11:44:28 +0200 Subject: [PATCH] branding: ASTERION VR favicon + copyright everywhere MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Icon ---- src/favicon64.jpg converted to favicon.ico (single-resolution 64x64) via PowerShell + System.Drawing.Icon.FromHandle. The .ico is now an EmbeddedResource of PSLauncher.App and referenced as: - on PSLauncher.App.csproj → .exe icon in Explorer / taskbar / Alt-Tab - Window.Icon on every WPF window: MainWindow, SettingsDialog, OnboardingDialog, LicenseDetailsDialog, UpdateAvailableDialog, ReleaseNotesViewerDialog, LauncherUpdateDialog - on PSLauncher.Updater.csproj → updater also carries the brand icon - SetupIconFile in installer/PSLauncher.iss → the Inno Setup .exe installer shows the icon too Copyright --------- - , , assembly attributes set in both csprojs → properties dialog on the .exe shows "© ASTERION VR". - MainWindow body has a discreet floating "© ASTERION VR" text in the bottom-right, mirroring the "Vérifier les MAJ" button on the left. Opacity 0.7 + secondary color so it doesn't compete with the cards. - SettingsDialog "Logs & Application" section gains a "© ASTERION VR — Tous droits réservés" line under the version. Co-Authored-By: Claude Opus 4.7 (1M context) --- installer/PSLauncher.iss | 2 +- src/PSLauncher.App/PSLauncher.App.csproj | 6 +++++- src/PSLauncher.App/Resources/favicon.ico | Bin 0 -> 2686 bytes src/PSLauncher.App/Resources/favicon.jpg | Bin 0 -> 4612 bytes .../Views/LauncherUpdateDialog.xaml | 1 + .../Views/LicenseDetailsDialog.xaml | 1 + src/PSLauncher.App/Views/MainWindow.xaml | 9 +++++++++ src/PSLauncher.App/Views/OnboardingDialog.xaml | 1 + .../Views/ReleaseNotesViewerDialog.xaml | 1 + src/PSLauncher.App/Views/SettingsDialog.xaml | 5 +++++ .../Views/UpdateAvailableDialog.xaml | 1 + src/PSLauncher.Updater/PSLauncher.Updater.csproj | 3 +++ src/favicon64.jpg | Bin 0 -> 4612 bytes 13 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 src/PSLauncher.App/Resources/favicon.ico create mode 100644 src/PSLauncher.App/Resources/favicon.jpg create mode 100644 src/favicon64.jpg diff --git a/installer/PSLauncher.iss b/installer/PSLauncher.iss index 5c6cb28..c657b02 100644 --- a/installer/PSLauncher.iss +++ b/installer/PSLauncher.iss @@ -35,7 +35,7 @@ DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes OutputDir=output OutputBaseFilename=PSLauncher-Setup-{#MyAppVersion} -SetupIconFile= +SetupIconFile=..\src\PSLauncher.App\Resources\favicon.ico Compression=lzma2/ultra SolidCompression=yes WizardStyle=modern diff --git a/src/PSLauncher.App/PSLauncher.App.csproj b/src/PSLauncher.App/PSLauncher.App.csproj index e4fe86b..ecea27b 100644 --- a/src/PSLauncher.App/PSLauncher.App.csproj +++ b/src/PSLauncher.App/PSLauncher.App.csproj @@ -9,8 +9,11 @@ enable latest enable - + Resources\favicon.ico PSLauncher + ASTERION VR + PROSERVE Launcher + © ASTERION VR PSLauncher.App 0.7.0 0.7.0.0 @@ -47,6 +50,7 @@ + + true diff --git a/src/favicon64.jpg b/src/favicon64.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c37972a6b344e6bae33eb62d35e268c25029bc5 GIT binary patch literal 4612 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