From 7ff586d0d082d2fc4406dd4b57174818b8bf971d Mon Sep 17 00:00:00 2001 From: Ruben Date: Sat, 28 Sep 2024 02:22:21 +0200 Subject: [PATCH] Update UI/UX, update icons, expand contextmenu --- src/PicView.Avalonia/PicViewTheme/Icons.axaml | 404 +++++++++++++++++- .../ViewModels/MainViewModel.cs | 10 +- src/PicView.Avalonia/Views/AboutView.axaml | 8 + src/PicView.Avalonia/Views/BottomBar.axaml | 109 ++--- src/PicView.Avalonia/Views/MainView.axaml | 180 +++++++- src/PicView.Avalonia/Views/MainView.axaml.cs | 14 + .../Views/UC/Menus/ImageMenu.axaml | 16 +- .../Views/UC/Menus/SettingsMenu.axaml | 36 +- .../Views/UC/Menus/ToolsMenu.axaml | 75 +--- 9 files changed, 646 insertions(+), 206 deletions(-) diff --git a/src/PicView.Avalonia/PicViewTheme/Icons.axaml b/src/PicView.Avalonia/PicViewTheme/Icons.axaml index b6db5e797..7977ad191 100644 --- a/src/PicView.Avalonia/PicViewTheme/Icons.axaml +++ b/src/PicView.Avalonia/PicViewTheme/Icons.axaml @@ -28,6 +28,356 @@ M768 1664h896v-640h-416q-40 0-68-28t-28-68v-416h-384v1152zm256-1440v-64q0-13-9.5-22.5t-22.5-9.5h-704q-13 0-22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h704q13 0 22.5-9.5t9.5-22.5zm256 672h299l-299-299v299zm512 128v672q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-544q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h1088q40 0 68 28t28 68v328q21 13 36 28l408 408q28 28 48 76t20 88z M112 111v290c0 17.44 17 28.52 31 20.16l247.9-148.37c12.12-7.25 12.12-26.33 0-33.58L143 90.84c-14-8.36-31 2.72-31 20.16z M80 44v424a12 12 0 0012 12h328a12 12 0 0012-12V44a12 12 0 00-12-12H92a12 12 0 00-12 12zm192 260H160v-32h112zm80-80H160v-32h192zm0-80H160v-32h192z + M386.3 160L336 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z + M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z + M192,96v64h248c4.4,0,8,3.6,8,8v240c0,4.4-3.6,8-8,8H136c-4.4,0-8-3.6-8-8v-48c0-4.4,3.6-8,8-8h248V224H192v64L64,192 L192,96z + M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -128,26 +478,70 @@ - + - + + Thickness="2" /> - + + Thickness="2" /> + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/PicView.Avalonia/ViewModels/MainViewModel.cs b/src/PicView.Avalonia/ViewModels/MainViewModel.cs index 25e1a0175..cfa29b9bd 100644 --- a/src/PicView.Avalonia/ViewModels/MainViewModel.cs +++ b/src/PicView.Avalonia/ViewModels/MainViewModel.cs @@ -527,6 +527,14 @@ public bool IsFillSquareMenuChecked #region Fields #region Booleans + + private IImage? _changeCtrlZoomImage; + + public IImage? ChangeCtrlZoomImage + { + get => _changeCtrlZoomImage; + set => this.RaiseAndSetIfChanged(ref _changeCtrlZoomImage, value); + } private bool _isLoading; @@ -782,7 +790,7 @@ public double GetZoomSpeed public string? GetFlipped { - get => _getFlipped; + get => ScaleX == -1 ? UnFlip : Flip; set => this.RaiseAndSetIfChanged(ref _getFlipped, value); } diff --git a/src/PicView.Avalonia/Views/AboutView.axaml b/src/PicView.Avalonia/Views/AboutView.axaml index e5e4089a9..c914f1f98 100644 --- a/src/PicView.Avalonia/Views/AboutView.axaml +++ b/src/PicView.Avalonia/Views/AboutView.axaml @@ -232,5 +232,13 @@ ToolTip.Tip="https://fontawesome.com/"> + + + + \ No newline at end of file diff --git a/src/PicView.Avalonia/Views/BottomBar.axaml b/src/PicView.Avalonia/Views/BottomBar.axaml index 21c57e033..70835a246 100644 --- a/src/PicView.Avalonia/Views/BottomBar.axaml +++ b/src/PicView.Avalonia/Views/BottomBar.axaml @@ -14,103 +14,52 @@ - + - + - + - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + @@ -121,7 +70,7 @@ @@ -131,7 +80,7 @@ diff --git a/src/PicView.Avalonia/Views/MainView.axaml b/src/PicView.Avalonia/Views/MainView.axaml index 6af636758..ef1f25391 100644 --- a/src/PicView.Avalonia/Views/MainView.axaml +++ b/src/PicView.Avalonia/Views/MainView.axaml @@ -211,13 +211,25 @@ Mode=OneWay}" IsChecked="{CompiledBinding IsStretched}" ToggleType="CheckBox" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + Width="15" />