branding: ASTERION VR favicon + copyright everywhere

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:
- <ApplicationIcon> on PSLauncher.App.csproj → .exe icon in
  Explorer / taskbar / Alt-Tab
- Window.Icon on every WPF window: MainWindow, SettingsDialog,
  OnboardingDialog, LicenseDetailsDialog, UpdateAvailableDialog,
  ReleaseNotesViewerDialog, LauncherUpdateDialog
- <ApplicationIcon> 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
---------
- <Company>, <Product>, <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) <noreply@anthropic.com>
This commit is contained in:
2026-05-02 11:44:28 +02:00
parent 3484c23683
commit dfad967eae
13 changed files with 28 additions and 2 deletions

View File

@@ -4,6 +4,7 @@
xmlns:vm="clr-namespace:PSLauncher.App.ViewModels"
xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"
Title="PROSERVE Launcher"
Icon="pack://application:,,,/Resources/favicon.ico"
Background="Black"
Width="1280" Height="720"
MinWidth="980" MinHeight="600"
@@ -494,6 +495,14 @@
Style="{StaticResource SecondaryButton}"
Content="🔄 Vérifier les MAJ"
Command="{Binding CheckForUpdatesCommand}" />
<!-- Copyright flottant en bas-droite, discret -->
<TextBlock HorizontalAlignment="Right" VerticalAlignment="Bottom"
Margin="0,0,32,28"
Text="© ASTERION VR"
FontSize="11"
Foreground="{StaticResource Brush.Text.Secondary}"
Opacity="0.7" />
</Grid>
<!-- Footer : visible uniquement quand busy / status à afficher.