Browse Source

Light theme fixes and improvements.

Adjust UI margins, replace inconsistent icons, and clean up unused XAML and imports

- Updated polygon margins in `ToolsMenu.axaml`, `FileMenu.axaml`, and `ImageMenu.axaml` for improved alignment.
- Replaced `ZoomAltImage` with `ZoomInImage` in `HoverBar.axaml`.
- Transitioned multiple icons in `ImageInfoView.axaml` to use consistent `Path` styling with new class names (e.g., `CopyPath`, `RecyclePath`).
- Removed unused `xmlns:views` and cleaned up import statements in `PrintPreviewWindow.axaml`.
- Adjusted `Transparent` logic and added theme handling in `PrintPreviewWindow.axaml.cs`.
Ruben 1 week ago
parent
commit
82a7a8474a

+ 5 - 5
src/PicView.Avalonia.Win32/Views/PrintPreviewWindow.axaml

@@ -10,7 +10,6 @@
     xmlns:customControls="clr-namespace:PicView.Avalonia.CustomControls;assembly=PicView.Avalonia"
     xmlns:customControls="clr-namespace:PicView.Avalonia.CustomControls;assembly=PicView.Avalonia"
     xmlns:main="clr-namespace:PicView.Avalonia.Views.Main;assembly=PicView.Avalonia"
     xmlns:main="clr-namespace:PicView.Avalonia.Views.Main;assembly=PicView.Avalonia"
     xmlns:viewModels="clr-namespace:PicView.Avalonia.ViewModels;assembly=PicView.Avalonia"
     xmlns:viewModels="clr-namespace:PicView.Avalonia.ViewModels;assembly=PicView.Avalonia"
-    xmlns:views="clr-namespace:PicView.Avalonia.Views;assembly=PicView.Avalonia"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 
 
     <Border
     <Border
@@ -72,18 +71,19 @@
                     Height="28"
                     Height="28"
                     LineHeight="28"
                     LineHeight="28"
                     Padding="30,0,0,0"
                     Padding="30,0,0,0"
-                    Text="{CompiledBinding Translation.Print.Value, Mode=OneWay}"
+                    Text="{CompiledBinding Translation.Print.Value,
+                                           Mode=OneWay}"
                     TextAlignment="Center"
                     TextAlignment="Center"
                     x:Name="TitleText" />
                     x:Name="TitleText" />
             </DockPanel>
             </DockPanel>
 
 
             <Rectangle
             <Rectangle
-                Fill="{DynamicResource WindowBorderColor}"
+                Fill="{DynamicResource MainBorderColor}"
                 Height="1"
                 Height="1"
                 x:Name="BorderRectangle" />
                 x:Name="BorderRectangle" />
 
 
-			<main:PrintPreviewView                
-				Background="{DynamicResource WindowBackgroundColor}"
+            <main:PrintPreviewView
+                Background="{DynamicResource WindowBackgroundColor}"
                 Focusable="True"
                 Focusable="True"
                 Margin="0"
                 Margin="0"
                 Padding="10,2,5,10"
                 Padding="10,2,5,10"

+ 93 - 42
src/PicView.Avalonia.Win32/Views/PrintPreviewWindow.axaml.cs

@@ -1,6 +1,5 @@
-using System;
-using System.Collections.ObjectModel;
-using System.Linq;
+using System.Collections.ObjectModel;
+using System.Drawing.Printing;
 using Avalonia;
 using Avalonia;
 using Avalonia.Controls;
 using Avalonia.Controls;
 using Avalonia.Input;
 using Avalonia.Input;
@@ -8,14 +7,13 @@ using Avalonia.Interactivity;
 using Avalonia.Media;
 using Avalonia.Media;
 using Avalonia.Media.Imaging;
 using Avalonia.Media.Imaging;
 using Avalonia.Threading;
 using Avalonia.Threading;
+using PicView.Avalonia.Printing;
+using PicView.Avalonia.UI;
 using PicView.Avalonia.ViewModels;
 using PicView.Avalonia.ViewModels;
+using PicView.Avalonia.Win32.Printing;
+using PicView.Core.Localization;
 using PicView.Core.ViewModels;
 using PicView.Core.ViewModels;
 using R3;
 using R3;
-using System.Drawing.Printing;
-using System.Runtime.InteropServices;
-using Avalonia.Platform;
-using PicView.Avalonia.Printing;
-using PicView.Avalonia.Win32.Printing;
 
 
 namespace PicView.Avalonia.Win32.Views;
 namespace PicView.Avalonia.Win32.Views;
 
 
@@ -27,33 +25,40 @@ public partial class PrintPreviewWindow : Window
     {
     {
         InitializeComponent();
         InitializeComponent();
 
 
+        GenericWindowHelper.GenericWindowInitialize(this, TranslationManager.Translation.Print + " - PicView");
+
+        if (!Settings.Theme.Dark)
+        {
+            PrintPreviewView.Background = UIHelper.GetMenuBackgroundColor();
+        }
+
         // Glass/Transparent theme support
         // Glass/Transparent theme support
-        if (Settings.Theme.GlassTheme)
-        {
-            IconBorder.Background = Brushes.Transparent;
-            IconBorder.BorderThickness = new Thickness(0);
-            MinimizeButton.Background = Brushes.Transparent;
-            MinimizeButton.BorderThickness = new Thickness(0);
-            CloseButton.Background = Brushes.Transparent;
-            CloseButton.BorderThickness = new Thickness(0);
-            BorderRectangle.Height = 0;
-            TitleText.Background = Brushes.Transparent;
-
-            if (!Application.Current.TryGetResource("SecondaryTextColor",
-                    Application.Current.RequestedThemeVariant, out var textColor)) return;
-            if (textColor is not Color color) return;
-
-            var brush = new SolidColorBrush(color);
-            TitleText.Foreground = brush;
-            MinimizeButton.Foreground = brush;
-            CloseButton.Foreground = brush;
+        if (!Settings.Theme.GlassTheme)
+        {
+            return;
         }
         }
+
+        PrintPreviewView.Background = Brushes.Transparent;
+        IconBorder.Background = Brushes.Transparent;
+        IconBorder.BorderThickness = new Thickness(0);
+        MinimizeButton.Background = Brushes.Transparent;
+        MinimizeButton.BorderThickness = new Thickness(0);
+        CloseButton.Background = Brushes.Transparent;
+        CloseButton.BorderThickness = new Thickness(0);
+        BorderRectangle.Height = 0;
+        TitleText.Background = Brushes.Transparent;
+        var brush = UIHelper.GetBrush("SecondaryTextColor");
+        TitleText.Foreground = brush;
+        MinimizeButton.Foreground = brush;
+        CloseButton.Foreground = brush;
     }
     }
 
 
     private void MoveWindow(object? sender, PointerPressedEventArgs e)
     private void MoveWindow(object? sender, PointerPressedEventArgs e)
     {
     {
         if (VisualRoot is Window hostWindow)
         if (VisualRoot is Window hostWindow)
+        {
             hostWindow.BeginMoveDrag(e);
             hostWindow.BeginMoveDrag(e);
+        }
     }
     }
 
 
     private void Close(object? sender, RoutedEventArgs e) => Close();
     private void Close(object? sender, RoutedEventArgs e) => Close();
@@ -63,8 +68,15 @@ public partial class PrintPreviewWindow : Window
     {
     {
         base.OnLoaded(e);
         base.OnLoaded(e);
 
 
-        if (DataContext is not MainViewModel vm) return;
-        if (vm.PrintPreview == null) return;
+        if (DataContext is not MainViewModel vm)
+        {
+            return;
+        }
+
+        if (vm.PrintPreview == null)
+        {
+            return;
+        }
 
 
         var ps = vm.PrintPreview.PrintSettings.Value;
         var ps = vm.PrintPreview.PrintSettings.Value;
 
 
@@ -76,6 +88,7 @@ public partial class PrintPreviewWindow : Window
             .AddTo(vm.PrintPreview._disposables);
             .AddTo(vm.PrintPreview._disposables);
 
 
         // Any setting change triggers preview update
         // Any setting change triggers preview update
+        // ReSharper disable once InvokeAsExtensionMethod
         Observable.CombineLatest(
         Observable.CombineLatest(
                 ps.Orientation.AsObservable(),
                 ps.Orientation.AsObservable(),
                 ps.MarginTop.AsObservable(),
                 ps.MarginTop.AsObservable(),
@@ -104,8 +117,15 @@ public partial class PrintPreviewWindow : Window
     public void UpdatePrinter(PrintPreviewViewModel vm)
     public void UpdatePrinter(PrintPreviewViewModel vm)
     {
     {
         var settings = vm.PrintSettings.Value;
         var settings = vm.PrintSettings.Value;
-        if (settings == null) return;
-        if (string.IsNullOrWhiteSpace(settings.PrinterName.Value)) return;
+        if (settings == null)
+        {
+            return;
+        }
+
+        if (string.IsNullOrWhiteSpace(settings.PrinterName.Value))
+        {
+            return;
+        }
 
 
         try
         try
         {
         {
@@ -142,9 +162,20 @@ public partial class PrintPreviewWindow : Window
         try
         try
         {
         {
             var settings = vm.PrintSettings.Value;
             var settings = vm.PrintSettings.Value;
-            if (settings == null) return;
-            if (DataContext is not MainViewModel mainVm) return;
-            if (mainVm.PicViewer?.ImageSource.Value is not Bitmap avaloniaBmp) return;
+            if (settings == null)
+            {
+                return;
+            }
+
+            if (DataContext is not MainViewModel mainVm)
+            {
+                return;
+            }
+
+            if (mainVm.PicViewer?.ImageSource.Value is not Bitmap avaloniaBmp)
+            {
+                return;
+            }
 
 
             // Grayscale if needed
             // Grayscale if needed
             if (settings.ColorMode.Value == (int)ColorModes.BlackAndWhite)
             if (settings.ColorMode.Value == (int)ColorModes.BlackAndWhite)
@@ -152,11 +183,18 @@ public partial class PrintPreviewWindow : Window
                 vm.GrayCache ??= PrintEngine.ToGrayScale(avaloniaBmp, PreviewDpi);
                 vm.GrayCache ??= PrintEngine.ToGrayScale(avaloniaBmp, PreviewDpi);
                 avaloniaBmp = (Bitmap)vm.GrayCache;
                 avaloniaBmp = (Bitmap)vm.GrayCache;
             }
             }
-            else vm.GrayCache = null;
+            else
+            {
+                vm.GrayCache = null;
+            }
 
 
             // Resolve paper
             // Resolve paper
-            var paperInfo = PrintEngine.ResolvePaper(settings.PrinterName.Value, settings.PaperSize.Value, (settings.Orientation.Value == (int)Orientations.Landscape));
-            if (paperInfo is null) return;
+            var paperInfo = PrintEngine.ResolvePaper(settings.PrinterName.Value, settings.PaperSize.Value,
+                settings.Orientation.Value == (int)Orientations.Landscape);
+            if (paperInfo is null)
+            {
+                return;
+            }
 
 
             // Compute layout once
             // Compute layout once
             var layout = PrintEngine.ComputeLayout(
             var layout = PrintEngine.ComputeLayout(
@@ -171,14 +209,14 @@ public partial class PrintPreviewWindow : Window
             using (var ctx = rtb.CreateDrawingContext())
             using (var ctx = rtb.CreateDrawingContext())
             {
             {
                 ctx.FillRectangle(Brushes.White, new Rect(0, 0, layout.PageWidthPx, layout.PageHeightPx));
                 ctx.FillRectangle(Brushes.White, new Rect(0, 0, layout.PageWidthPx, layout.PageHeightPx));
-                ctx.DrawRectangle(null, new Pen(Brushes.LightGray, 1),
+                ctx.DrawRectangle(null, new Pen(Brushes.LightGray),
                     new Rect(0.5, 0.5, layout.PageWidthPx - 1, layout.PageHeightPx - 1));
                     new Rect(0.5, 0.5, layout.PageWidthPx - 1, layout.PageHeightPx - 1));
 
 
                 var destRect = new Rect(layout.DrawX, layout.DrawY, layout.DrawWidth, layout.DrawHeight);
                 var destRect = new Rect(layout.DrawX, layout.DrawY, layout.DrawWidth, layout.DrawHeight);
 
 
                 var dashPen = new Pen(Brushes.Gray, 2)
                 var dashPen = new Pen(Brushes.Gray, 2)
                 {
                 {
-                    DashStyle = new DashStyle(new double[] { 4, 2 }, 0)
+                    DashStyle = new DashStyle([4, 2], 0)
                 };
                 };
                 ctx.DrawRectangle(null, dashPen,
                 ctx.DrawRectangle(null, dashPen,
                     new Rect(layout.ContentX, layout.ContentY, layout.ContentWidth, layout.ContentHeight));
                     new Rect(layout.ContentX, layout.ContentY, layout.ContentWidth, layout.ContentHeight));
@@ -189,7 +227,9 @@ public partial class PrintPreviewWindow : Window
             }
             }
 
 
             if (vm.PreviewImage.Value is Bitmap old)
             if (vm.PreviewImage.Value is Bitmap old)
+            {
                 old.Dispose();
                 old.Dispose();
+            }
 
 
             vm.PreviewImage.Value = rtb;
             vm.PreviewImage.Value = rtb;
             vm.PageWidth.Value = layout.PageWidthPx;
             vm.PageWidth.Value = layout.PageWidthPx;
@@ -208,11 +248,22 @@ public partial class PrintPreviewWindow : Window
 
 
     public async Task RunPrintAsync(MainViewModel vm)
     public async Task RunPrintAsync(MainViewModel vm)
     {
     {
-        if (vm.PrintPreview == null) return;
+        if (vm.PrintPreview == null)
+        {
+            return;
+        }
+
         var preview = vm.PrintPreview;
         var preview = vm.PrintPreview;
         var settings = preview.PrintSettings.Value!;
         var settings = preview.PrintSettings.Value!;
-        if (DataContext is not MainViewModel mainVm) return;
-        if (mainVm.PicViewer?.ImageSource.Value is not Bitmap avaloniaBmp) return;
+        if (DataContext is not MainViewModel mainVm)
+        {
+            return;
+        }
+
+        if (mainVm.PicViewer?.ImageSource.Value is not Bitmap avaloniaBmp)
+        {
+            return;
+        }
 
 
         preview.IsProcessing.Value = true;
         preview.IsProcessing.Value = true;
 
 

File diff suppressed because it is too large
+ 49 - 0
src/PicView.Avalonia/PicViewTheme/Icons.axaml


+ 11 - 50
src/PicView.Avalonia/Views/Main/ImageInfoView.axaml

@@ -5,8 +5,8 @@
     x:Class="PicView.Avalonia.Views.Main.ImageInfoView"
     x:Class="PicView.Avalonia.Views.Main.ImageInfoView"
     x:DataType="vm:MainViewModel"
     x:DataType="vm:MainViewModel"
     xmlns="https://github.com/avaloniaui"
     xmlns="https://github.com/avaloniaui"
-    xmlns:customControls="clr-namespace:PicView.Avalonia.CustomControls"
     xmlns:converters="clr-namespace:PicView.Avalonia.Converters"
     xmlns:converters="clr-namespace:PicView.Avalonia.Converters"
+    xmlns:customControls="clr-namespace:PicView.Avalonia.CustomControls"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:uc="clr-namespace:PicView.Avalonia.Views.UC"
     xmlns:uc="clr-namespace:PicView.Avalonia.Views.UC"
@@ -275,7 +275,8 @@
                 <MenuItem.Icon>
                 <MenuItem.Icon>
                     <Image
                     <Image
                         Height="12"
                         Height="12"
-                        Source="{StaticResource PortalImage}"
+                        Source="{StaticResource FileImage}"
+                        Stretch="Fill"
                         Width="12" />
                         Width="12" />
                 </MenuItem.Icon>
                 </MenuItem.Icon>
             </MenuItem>
             </MenuItem>
@@ -292,12 +293,7 @@
                 IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                 IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                 <MenuItem.Icon>
-                    <Path
-                        Data="{StaticResource RecycleGeometry}"
-                        Fill="{DynamicResource MainTextColor}"
-                        Height="12"
-                        Stretch="Fill"
-                        Width="12" />
+                    <Path Classes="RecyclePath" />
                 </MenuItem.Icon>
                 </MenuItem.Icon>
             </MenuItem>
             </MenuItem>
 
 
@@ -311,12 +307,7 @@
                 Header="{CompiledBinding Translation.Copy.Value,
                 Header="{CompiledBinding Translation.Copy.Value,
                                          Mode=OneWay}">
                                          Mode=OneWay}">
                 <MenuItem.Icon>
                 <MenuItem.Icon>
-                    <Path
-                        Data="{StaticResource CopyGeometry}"
-                        Fill="{DynamicResource MainTextColor}"
-                        Height="12"
-                        Stretch="Fill"
-                        Width="12" />
+                    <Path Classes="CopyPath" />
                 </MenuItem.Icon>
                 </MenuItem.Icon>
 
 
                 <!--  Copy file  -->
                 <!--  Copy file  -->
@@ -329,12 +320,7 @@
                     IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                     IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                     <MenuItem.Icon>
-                        <Path
-                            Data="{StaticResource CopyGeometry}"
-                            Fill="{DynamicResource MainTextColor}"
-                            Height="12"
-                            Stretch="Fill"
-                            Width="12" />
+                        <Path Classes="CopyPath" />
                     </MenuItem.Icon>
                     </MenuItem.Icon>
                 </MenuItem>
                 </MenuItem>
 
 
@@ -346,12 +332,7 @@
                     IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                     IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                     <MenuItem.Icon>
-                        <Path
-                            Data="{StaticResource CopyImageGeometry}"
-                            Fill="{DynamicResource MainTextColor}"
-                            Height="12"
-                            Stretch="Fill"
-                            Width="12" />
+                        <Path Classes="CopyPath" />
                     </MenuItem.Icon>
                     </MenuItem.Icon>
                 </MenuItem>
                 </MenuItem>
 
 
@@ -364,12 +345,7 @@
                     IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                     IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                     <MenuItem.Icon>
-                        <Path
-                            Data="{StaticResource CopyGeometry}"
-                            Fill="{DynamicResource MainTextColor}"
-                            Height="12"
-                            Stretch="Fill"
-                            Width="12" />
+                        <Path Classes="CopyPath" />
                     </MenuItem.Icon>
                     </MenuItem.Icon>
                 </MenuItem>
                 </MenuItem>
 
 
@@ -387,12 +363,7 @@
                         </TextBlock>
                         </TextBlock>
                     </MenuItem.Header>
                     </MenuItem.Header>
                     <MenuItem.Icon>
                     <MenuItem.Icon>
-                        <Path
-                            Data="{StaticResource CopyGeometry}"
-                            Fill="{DynamicResource MainTextColor}"
-                            Height="12"
-                            Stretch="Fill"
-                            Width="12" />
+                        <Path Classes="CopyPath" />
                     </MenuItem.Icon>
                     </MenuItem.Icon>
                 </MenuItem>
                 </MenuItem>
 
 
@@ -408,12 +379,7 @@
                     IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                     IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                     <MenuItem.Icon>
-                        <Path
-                            Data="{StaticResource DuplicateGeometry}"
-                            Fill="{DynamicResource MainTextColor}"
-                            Height="12"
-                            Stretch="Fill"
-                            Width="12" />
+                        <Path Classes="DuplicatePath" />
                     </MenuItem.Icon>
                     </MenuItem.Icon>
                 </MenuItem>
                 </MenuItem>
 
 
@@ -424,12 +390,7 @@
             <!--  Close  -->
             <!--  Close  -->
             <MenuItem Header="{CompiledBinding Translation.Close.Value, Mode=OneWay}" x:Name="CloseItem">
             <MenuItem Header="{CompiledBinding Translation.Close.Value, Mode=OneWay}" x:Name="CloseItem">
                 <MenuItem.Icon>
                 <MenuItem.Icon>
-                    <Path
-                        Data="{StaticResource CloseGeometry}"
-                        Fill="{DynamicResource MainTextColor}"
-                        Height="12"
-                        Stretch="Fill"
-                        Width="12" />
+                    <Path Classes="ClosePath" />
                 </MenuItem.Icon>
                 </MenuItem.Icon>
             </MenuItem>
             </MenuItem>
 
 

+ 298 - 232
src/PicView.Avalonia/Views/Main/PrintPreviewView.axaml

@@ -1,283 +1,349 @@
 <UserControl
 <UserControl
+    Height="700"
+    Width="850"
+    mc:Ignorable="d"
     x:Class="PicView.Avalonia.Views.Main.PrintPreviewView"
     x:Class="PicView.Avalonia.Views.Main.PrintPreviewView"
+    x:DataType="viewModels:MainViewModel"
     xmlns="https://github.com/avaloniaui"
     xmlns="https://github.com/avaloniaui"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:customControls="clr-namespace:PicView.Avalonia.CustomControls"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:uc="clr-namespace:PicView.Avalonia.Views.UC"
     xmlns:uc="clr-namespace:PicView.Avalonia.Views.UC"
-	xmlns:customControls="clr-namespace:PicView.Avalonia.CustomControls"
     xmlns:viewModels="clr-namespace:PicView.Avalonia.ViewModels"
     xmlns:viewModels="clr-namespace:PicView.Avalonia.ViewModels"
-    mc:Ignorable="d"
-    x:DataType="viewModels:MainViewModel"
-    Width="850"
-    Height="700">
-
-	<Panel>
-		<!-- Spinner overlay -->
-		<uc:SpinWaiter
-            HorizontalAlignment="Center" VerticalAlignment="Center" ZIndex="100"
-            IsVisible="{CompiledBinding PrintPreview.IsProcessing.Value, Mode=OneWay}"  />
-		
-		<!-- Root grid with two columns -->
-		<Grid RowDefinitions="*,Auto" ColumnDefinitions="2*,3*" Margin="10"
-			  Opacity="{CompiledBinding PrintPreview.Opacity.Value, Mode=OneWay}"
-			  IsHitTestVisible="{CompiledBinding !PrintPreview.IsProcessing.Value, Mode=OneWay}">
-
-			<!-- Settings Panel (Left) -->
-			<StackPanel Grid.Row="0" Grid.Column="0" Spacing="12">
-
-				<!-- Printer -->
-				<TextBlock 
-					Text="{CompiledBinding Translation.Printer.Value, Mode=OneWay}" 
-					Classes="txt"
-					FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-					FontSize="14"
-					Foreground="{StaticResource SecondaryTextColor}"
-					Margin="0,6,0,0" />
-
-				<ComboBox
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+
+    <Panel>
+        <!--  Spinner overlay  -->
+        <uc:SpinWaiter
+            HorizontalAlignment="Center"
+            IsVisible="{CompiledBinding PrintPreview.IsProcessing.Value,
+                                        Mode=OneWay}"
+            VerticalAlignment="Center"
+            ZIndex="100" />
+
+        <!--  Root grid with two columns  -->
+        <Grid
+            ColumnDefinitions="2*,3*"
+            IsHitTestVisible="{CompiledBinding !PrintPreview.IsProcessing.Value,
+                                               Mode=OneWay}"
+            Margin="10"
+            Opacity="{CompiledBinding PrintPreview.Opacity.Value,
+                                      Mode=OneWay}"
+            RowDefinitions="*,Auto">
+
+            <!--  Settings Panel (Left)  -->
+            <StackPanel
+                Grid.Column="0"
+                Grid.Row="0"
+                Spacing="12">
+
+                <!--  Printer  -->
+                <TextBlock
+                    Classes="txt"
+                    FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+                    FontSize="14"
+                    Margin="0,6,0,0"
+                    Text="{CompiledBinding Translation.Printer.Value,
+                                           Mode=OneWay}" />
+
+                <ComboBox
                     Background="{DynamicResource SecondaryBackgroundColor}"
                     Background="{DynamicResource SecondaryBackgroundColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderThickness="1"
                     BorderThickness="1"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
+                    ItemsSource="{CompiledBinding PrintPreview.Printers.Value}"
                     Margin="0,0,0,4"
                     Margin="0,0,0,4"
                     Padding="5,7,0,7"
                     Padding="5,7,0,7"
-				    ItemsSource="{CompiledBinding PrintPreview.Printers.Value}"
-                    SelectedItem="{CompiledBinding PrintPreview.PrintSettings.Value.PrinterName.Value, Mode=TwoWay}" />
-				
-				<!-- Paper Size -->
-				<TextBlock 
-					Text="{CompiledBinding Translation.PaperSize.Value, Mode=OneWay}"
-					Classes="txt"
-					FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-					FontSize="14"
-					Foreground="{StaticResource SecondaryTextColor}"
-					Margin="0,6,0,0" />
-				
-				<ComboBox
-					Background="{DynamicResource SecondaryBackgroundColor}"
+                    SelectedItem="{CompiledBinding PrintPreview.PrintSettings.Value.PrinterName.Value,
+                                                   Mode=TwoWay}" />
+
+                <!--  Paper Size  -->
+                <TextBlock
+                    Classes="txt"
+                    FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+                    FontSize="14"
+                    Margin="0,6,0,0"
+                    Text="{CompiledBinding Translation.PaperSize.Value,
+                                           Mode=OneWay}" />
+
+                <ComboBox
+                    Background="{DynamicResource SecondaryBackgroundColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderThickness="1"
                     BorderThickness="1"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
+                    ItemsSource="{CompiledBinding PrintPreview.PaperSizes.Value}"
                     Margin="0,0,0,4"
                     Margin="0,0,0,4"
                     Padding="5,7,0,7"
                     Padding="5,7,0,7"
-                    ItemsSource="{CompiledBinding PrintPreview.PaperSizes.Value}"
-                    SelectedItem="{CompiledBinding PrintPreview.PrintSettings.Value.PaperSize.Value, Mode=TwoWay}" />
-
-				<!-- Orientation -->
-				<TextBlock 
-					Text="{CompiledBinding Translation.Orientation.Value, Mode=OneWay}"
-					Classes="txt"
-					FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-					FontSize="14"
-					Foreground="{StaticResource SecondaryTextColor}"
-					Margin="0,6,0,0" />
-
-				<ComboBox
-					Background="{DynamicResource SecondaryBackgroundColor}"
+                    SelectedItem="{CompiledBinding PrintPreview.PrintSettings.Value.PaperSize.Value,
+                                                   Mode=TwoWay}" />
+
+                <!--  Orientation  -->
+                <TextBlock
+                    Classes="txt"
+                    FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+                    FontSize="14"
+                    Margin="0,6,0,0"
+                    Text="{CompiledBinding Translation.Orientation.Value,
+                                           Mode=OneWay}" />
+
+                <ComboBox
+                    Background="{DynamicResource SecondaryBackgroundColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderThickness="1"
                     BorderThickness="1"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
+                    ItemsSource="{CompiledBinding PrintPreview.Orientations.Value}"
                     Margin="0,0,0,4"
                     Margin="0,0,0,4"
                     Padding="5,7,0,7"
                     Padding="5,7,0,7"
-                    ItemsSource="{CompiledBinding PrintPreview.Orientations.Value}"
-                    SelectedIndex="{CompiledBinding PrintPreview.PrintSettings.Value.Orientation.Value, Mode=TwoWay}" />
-
-				<!-- Scale Mode -->
-				<TextBlock 
-					Text="{CompiledBinding Translation.Scale.Value, Mode=OneWay}"
-					Classes="txt"
-					FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-					FontSize="14"
-					Foreground="{StaticResource SecondaryTextColor}"
-					Margin="0,6,0,0" />
-
-				<ComboBox
-					Background="{DynamicResource SecondaryBackgroundColor}"
+                    SelectedIndex="{CompiledBinding PrintPreview.PrintSettings.Value.Orientation.Value,
+                                                    Mode=TwoWay}" />
+
+                <!--  Scale Mode  -->
+                <TextBlock
+                    Classes="txt"
+                    FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+                    FontSize="14"
+                    Margin="0,6,0,0"
+                    Text="{CompiledBinding Translation.Scale.Value,
+                                           Mode=OneWay}" />
+
+                <ComboBox
+                    Background="{DynamicResource SecondaryBackgroundColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderThickness="1"
                     BorderThickness="1"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
+                    ItemsSource="{CompiledBinding PrintPreview.ScaleModes.Value}"
                     Margin="0,0,0,4"
                     Margin="0,0,0,4"
                     Padding="5,7,0,7"
                     Padding="5,7,0,7"
-                    ItemsSource="{CompiledBinding PrintPreview.ScaleModes.Value}"
-                    SelectedIndex="{CompiledBinding PrintPreview.PrintSettings.Value.ScaleMode.Value, Mode=TwoWay}" />
-
-				<!-- Color Mode -->
-				<TextBlock
-					Text="{CompiledBinding Translation.Color.Value, Mode=OneWay}"
-					Classes="txt"
-					FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-					FontSize="14"
-					Foreground="{StaticResource SecondaryTextColor}"
-					Margin="0,6,0,0" />
-
-				<ComboBox
-					Background="{DynamicResource SecondaryBackgroundColor}"
+                    SelectedIndex="{CompiledBinding PrintPreview.PrintSettings.Value.ScaleMode.Value,
+                                                    Mode=TwoWay}" />
+
+                <!--  Color Mode  -->
+                <TextBlock
+                    Classes="txt"
+                    FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+                    FontSize="14"
+                    Margin="0,6,0,0"
+                    Text="{CompiledBinding Translation.Color.Value,
+                                           Mode=OneWay}" />
+
+                <ComboBox
+                    Background="{DynamicResource SecondaryBackgroundColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderThickness="1"
                     BorderThickness="1"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
+                    ItemsSource="{CompiledBinding PrintPreview.ColorModes.Value}"
                     Margin="0,0,0,4"
                     Margin="0,0,0,4"
                     Padding="5,7,0,7"
                     Padding="5,7,0,7"
-					ItemsSource="{CompiledBinding PrintPreview.ColorModes.Value}"
-                    SelectedIndex="{CompiledBinding PrintPreview.PrintSettings.Value.ColorMode.Value, Mode=TwoWay}"/>
-				
-				<!-- Copies -->
-				
-				<TextBlock 
-					Text="{CompiledBinding Translation.Copies.Value, Mode=OneWay}"
-					Classes="txt"
-					FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-					FontSize="14"
-					Foreground="{StaticResource SecondaryTextColor}"
-					Margin="0,6,0,0" />
-
-				<NumericUpDown
-					Background="{DynamicResource SecondaryBackgroundColor}"
+                    SelectedIndex="{CompiledBinding PrintPreview.PrintSettings.Value.ColorMode.Value,
+                                                    Mode=TwoWay}" />
+
+                <!--  Copies  -->
+
+                <TextBlock
+                    Classes="txt"
+                    FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+                    FontSize="14"
+                    Margin="0,6,0,0"
+                    Text="{CompiledBinding Translation.Copies.Value,
+                                           Mode=OneWay}" />
+
+                <NumericUpDown
+                    Background="{DynamicResource SecondaryBackgroundColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderBrush="{DynamicResource MainBorderColor}"
                     BorderThickness="1"
                     BorderThickness="1"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
+                    Increment="1"
                     Margin="0,0,0,4"
                     Margin="0,0,0,4"
+                    Maximum="200"
+                    Minimum="1"
                     Padding="5,7,0,7"
                     Padding="5,7,0,7"
-					Minimum="1"
-					Maximum="200"
-					Increment="1"
-					Value="{CompiledBinding PrintPreview.PrintSettings.Value.Copies.Value, Mode=TwoWay}" />
-
-				<!-- Margins -->
-				<TextBlock
-					Text="{CompiledBinding Translation.Margins.Value, Mode=OneWay}"
-					Classes="txt"
-					FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-					FontSize="14"
-					Foreground="{StaticResource SecondaryTextColor}"
-					Margin="0,6,0,0" />
-
-				<Grid ColumnDefinitions="*,*,*,*"
-					  Margin="0,0,0,0"
-					  ColumnSpacing="6">
-
-					<!-- Top -->
-					<StackPanel Grid.Column="0">
-						<TextBlock Text="{CompiledBinding Translation.Top.Value, Mode=OneWay}"
-								   Foreground="{StaticResource SecondaryTextColor}"
-								   FontSize="12"
-								   Margin="0,0,0,2" />
-						<NumericUpDown Minimum="0" Maximum="100" Increment="1"
-									   Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginTop.Value, Mode=TwoWay}"
-									   HorizontalAlignment="Stretch"/>
-					</StackPanel>
-
-					<!-- Bottom -->
-					<StackPanel Grid.Column="1">
-						<TextBlock Text="{CompiledBinding Translation.Bottom.Value, Mode=OneWay}"
-								   Foreground="{StaticResource SecondaryTextColor}"
-								   FontSize="12"
-								   Margin="0,0,0,2" />
-						<NumericUpDown Minimum="0" Maximum="100" Increment="1"
-									   Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginBottom.Value, Mode=TwoWay}"
-									   HorizontalAlignment="Stretch"/>
-					</StackPanel>
-
-					<!-- Left -->
-					<StackPanel Grid.Column="2">
-						<TextBlock Text="{CompiledBinding Translation.Left.Value, Mode=OneWay}"
-								   Foreground="{StaticResource SecondaryTextColor}"
-								   FontSize="12"
-								   Margin="0,0,0,2" />
-						<NumericUpDown Minimum="0" Maximum="100" Increment="1"
-									   Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginLeft.Value, Mode=TwoWay}"
-									   HorizontalAlignment="Stretch"/>
-					</StackPanel>
-
-					<!-- Right -->
-					<StackPanel Grid.Column="3">
-						<TextBlock Text="{CompiledBinding Translation.Right.Value, Mode=OneWay}"
-								   Foreground="{StaticResource SecondaryTextColor}"
-								   FontSize="12"
-								   Margin="0,0,0,2" />
-						<NumericUpDown Minimum="0" Maximum="100" Increment="1"
-									   Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginRight.Value, Mode=TwoWay}"
-									   HorizontalAlignment="Stretch"/>
-					</StackPanel>
-				</Grid>
-
-
-
-			</StackPanel>
-
-			<!-- Preview Panel (Right) -->
-			<Border Grid.Row="0" Grid.Column="1" Background="{DynamicResource DisabledBackgroundColor}" Margin="20, 20, 20, 20" CornerRadius="6">
-				<Viewbox Stretch="Uniform" StretchDirection="Both" Margin="10">
-					<Border Width="{CompiledBinding PrintPreview.PageWidth.Value}"
-									Height="{CompiledBinding PrintPreview.PageHeight.Value}"
-									Background="White"
-									BorderBrush="LightGray"
-									BorderThickness="1"
-									CornerRadius="2"
-									Margin="20">
-						<Border.Effect>
-							<DropShadowEffect Color="Black"
-							  BlurRadius="15"
-							  OffsetX="4"
-							  OffsetY="4"
-							  Opacity="0.3"/>
-						</Border.Effect>
-
-						<Image Source="{CompiledBinding PrintPreview.PreviewImage.Value}" Stretch="Fill" />
-					</Border>
-				</Viewbox>
-			</Border>
-
-
-
-			<Rectangle Grid.Row="1" Grid.ColumnSpan="2"
-					   Height="1"
-					   Fill="{DynamicResource MainBorderColor}"
-					   VerticalAlignment="Top" />
-
-			<!-- Footer Buttons -->
-			<StackPanel Grid.Row="2" Grid.ColumnSpan="2"
-                        Orientation="Horizontal"
-                        HorizontalAlignment="Right"
-                        Spacing="8"
-                        Margin="0,10,0,0">
-
-				<customControls:TextIconButton x:Name="PrintButton"
-                    Background="{DynamicResource AccentColor}"
-                    Classes="ButtonBorder accentHover"
-                    Command="{CompiledBinding PrintPreview.PrintCommand}"
-                    Data="{StaticResource PrintGeometry}"
-                    Foreground="{DynamicResource MainTextColor}"
-                    Height="46"
-					Width="120"
-                    IconHeight="17"
-                    IconMargin="9,0,9,0"
-                    IconWidth="17"
-                    Text="{CompiledBinding Translation.Print.Value, Mode=OneWay}"
-                    ToolTip.Tip="{CompiledBinding Translation.Print.Value, Mode=OneWay}"
-					TextMargin="16,0,16,0"/>
-
-				<customControls:TextIconButton x:Name="CancelButton"
+                    Value="{CompiledBinding PrintPreview.PrintSettings.Value.Copies.Value,
+                                            Mode=TwoWay}" />
+
+                <!--  Margins  -->
+                <TextBlock
+                    Classes="txt"
+                    FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+                    FontSize="14"
+                    Margin="0,6,0,0"
+                    Text="{CompiledBinding Translation.Margins.Value,
+                                           Mode=OneWay}" />
+
+                <Grid
+                    ColumnDefinitions="*,*,*,*"
+                    ColumnSpacing="6"
+                    Margin="0,0,0,0">
+
+                    <!--  Top  -->
+                    <StackPanel Grid.Column="0">
+                        <TextBlock
+                            Classes="txt"
+                            Margin="0,0,0,2"
+                            Text="{CompiledBinding Translation.Top.Value,
+                                                   Mode=OneWay}" />
+                        <NumericUpDown
+                            FontFamily="/Assets/Fonts/Roboto-Regular.ttf#Roboto"
+                            Foreground="{DynamicResource MainTextColor}"
+                            HorizontalAlignment="Stretch"
+                            Increment="1"
+                            Maximum="100"
+                            Minimum="0"
+                            Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginTop.Value,
+                                                    Mode=TwoWay}" />
+                    </StackPanel>
+
+                    <!--  Bottom  -->
+                    <StackPanel Grid.Column="1">
+                        <TextBlock
+                            Classes="txt"
+                            Margin="0,0,0,2"
+                            Text="{CompiledBinding Translation.Bottom.Value,
+                                                   Mode=OneWay}" />
+                        <NumericUpDown
+                            FontFamily="/Assets/Fonts/Roboto-Regular.ttf#Roboto"
+                            Foreground="{DynamicResource MainTextColor}"
+                            HorizontalAlignment="Stretch"
+                            Increment="1"
+                            Maximum="100"
+                            Minimum="0"
+                            Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginBottom.Value,
+                                                    Mode=TwoWay}" />
+                    </StackPanel>
+
+                    <!--  Left  -->
+                    <StackPanel Grid.Column="2">
+                        <TextBlock
+                            Classes="txt"
+                            Margin="0,0,0,2"
+                            Text="{CompiledBinding Translation.Left.Value,
+                                                   Mode=OneWay}" />
+                        <NumericUpDown
+                            FontFamily="/Assets/Fonts/Roboto-Regular.ttf#Roboto"
+                            Foreground="{DynamicResource MainTextColor}"
+                            HorizontalAlignment="Stretch"
+                            Increment="1"
+                            Maximum="100"
+                            Minimum="0"
+                            Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginLeft.Value,
+                                                    Mode=TwoWay}" />
+                    </StackPanel>
+
+                    <!--  Right  -->
+                    <StackPanel Grid.Column="3">
+                        <TextBlock
+                            Classes="txt"
+                            Margin="0,0,0,2"
+                            Text="{CompiledBinding Translation.Right.Value,
+                                                   Mode=OneWay}" />
+                        <NumericUpDown
+                            FontFamily="/Assets/Fonts/Roboto-Regular.ttf#Roboto"
+                            Foreground="{DynamicResource MainTextColor}"
+                            HorizontalAlignment="Stretch"
+                            Increment="1"
+                            Maximum="100"
+                            Minimum="0"
+                            Value="{CompiledBinding PrintPreview.PrintSettings.Value.MarginRight.Value,
+                                                    Mode=TwoWay}" />
+                    </StackPanel>
+                </Grid>
+
+
+            </StackPanel>
+
+            <!--  Preview Panel (Right)  -->
+            <Border
+                Background="{DynamicResource DisabledBackgroundColor}"
+                CornerRadius="6"
+                Grid.Column="1"
+                Grid.Row="0"
+                Margin="20,20,20,20">
+                <Viewbox
+                    Margin="10"
+                    Stretch="Uniform"
+                    StretchDirection="Both">
+                    <Border
+                        Background="White"
+                        BorderBrush="LightGray"
+                        BorderThickness="1"
+                        CornerRadius="2"
+                        Height="{CompiledBinding PrintPreview.PageHeight.Value}"
+                        Margin="20"
+                        Width="{CompiledBinding PrintPreview.PageWidth.Value}">
+                        <Border.Effect>
+                            <DropShadowEffect
+                                BlurRadius="15"
+                                Color="Black"
+                                OffsetX="4"
+                                OffsetY="4"
+                                Opacity="0.3" />
+                        </Border.Effect>
+
+                        <Image Source="{CompiledBinding PrintPreview.PreviewImage.Value}" Stretch="Fill" />
+                    </Border>
+                </Viewbox>
+            </Border>
+
+
+            <Rectangle
+                Fill="{DynamicResource MainBorderColor}"
+                Grid.ColumnSpan="2"
+                Grid.Row="1"
+                Height="1"
+                VerticalAlignment="Top" />
+
+            <!--  Footer Buttons  -->
+            <StackPanel
+                Grid.ColumnSpan="2"
+                Grid.Row="2"
+                HorizontalAlignment="Right"
+                Margin="0,10,0,0"
+                Orientation="Horizontal"
+                Spacing="8">
+
+                <customControls:TextIconButton
                     Background="{DynamicResource MenuButtonColor}"
                     Background="{DynamicResource MenuButtonColor}"
                     Classes="ButtonBorder altHover"
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding PrintPreview.CancelCommand}"
                     Command="{CompiledBinding PrintPreview.CancelCommand}"
                     Data="{StaticResource CloseGeometry}"
                     Data="{StaticResource CloseGeometry}"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     Height="46"
-					Width="120"
-                    IconHeight="17"
-                    IconMargin="9,0,9,0"
-                    IconWidth="17"
-                    Text="{CompiledBinding Translation.Cancel.Value, Mode=OneWay}"
-                    ToolTip.Tip="{CompiledBinding Translation.Cancel.Value, Mode=OneWay}"
-					TextMargin="16,0,16,0" />
-			</StackPanel>
-		</Grid>
-	</Panel>
+                    IconHeight="14"
+                    IconMargin="15,0,2,0"
+                    IconWidth="14"
+                    Text="{CompiledBinding Translation.Cancel.Value,
+                                           Mode=OneWay}"
+                    TextMargin="16,0,16,0"
+                    ToolTip.Tip="{CompiledBinding Translation.Cancel.Value,
+                                                  Mode=OneWay}"
+                    Width="140"
+                    x:Name="CancelButton" />
+
+                <customControls:TextIconButton
+                    Background="{DynamicResource AccentColor}"
+                    Classes="ButtonBorder accentHover"
+                    Command="{CompiledBinding PrintPreview.PrintCommand}"
+                    Data="{StaticResource PrintGeometry}"
+                    Foreground="{DynamicResource MainTextColor}"
+                    Height="46"
+                    IconHeight="16"
+                    IconMargin="15,0,2,0"
+                    IconWidth="16"
+                    Text="{CompiledBinding Translation.Print.Value,
+                                           Mode=OneWay}"
+                    TextMargin="16,0,16,0"
+                    ToolTip.Tip="{CompiledBinding Translation.Print.Value,
+                                                  Mode=OneWay}"
+                    Width="140"
+                    x:Name="PrintButton" />
+
+
+            </StackPanel>
+        </Grid>
+    </Panel>
 </UserControl>
 </UserControl>

+ 1 - 1
src/PicView.Avalonia/Views/UC/HoverBar.axaml

@@ -47,7 +47,7 @@
                     Command="{CompiledBinding Tools.ZoomInCommand}"
                     Command="{CompiledBinding Tools.ZoomInCommand}"
                     Foreground="{DynamicResource MainTextColor}"
                     Foreground="{DynamicResource MainTextColor}"
                     Height="35"
                     Height="35"
-                    Icon="{StaticResource ZoomAltImage}"
+                    Icon="{StaticResource ZoomInImage}"
                     IconHeight="18"
                     IconHeight="18"
                     IconWidth="21"
                     IconWidth="21"
                     IsTabStop="False"
                     IsTabStop="False"

+ 1 - 1
src/PicView.Avalonia/Views/UC/Menus/FileMenu.axaml

@@ -264,7 +264,7 @@
         </Border>
         </Border>
         <Polygon
         <Polygon
             Fill="{DynamicResource MenuBackgroundColor}"
             Fill="{DynamicResource MenuBackgroundColor}"
-            Margin="5,-1,0,0"
+            Margin="10,-1,0,0"
             Points="0,0 15,30, 30,0"
             Points="0,0 15,30, 30,0"
             Stroke="{DynamicResource MainBorderColor}"
             Stroke="{DynamicResource MainBorderColor}"
             StrokeThickness="1"
             StrokeThickness="1"

+ 1 - 1
src/PicView.Avalonia/Views/UC/Menus/ImageMenu.axaml

@@ -357,7 +357,7 @@
         </Border>
         </Border>
         <Polygon
         <Polygon
             Fill="{DynamicResource MenuBackgroundColor}"
             Fill="{DynamicResource MenuBackgroundColor}"
-            Margin="33,-1,0,0"
+            Margin="37,-1,0,0"
             Points="0,0 15,30, 30,0"
             Points="0,0 15,30, 30,0"
             Stroke="{DynamicResource MainBorderColor}"
             Stroke="{DynamicResource MainBorderColor}"
             StrokeThickness="1" />
             StrokeThickness="1" />

+ 1 - 1
src/PicView.Avalonia/Views/UC/Menus/SettingsMenu.axaml

@@ -238,7 +238,7 @@
         </Border>
         </Border>
         <Polygon
         <Polygon
             Fill="{DynamicResource MenuBackgroundColor}"
             Fill="{DynamicResource MenuBackgroundColor}"
-            Margin="328,-1,0,0"
+            Margin="313,-1,0,0"
             Points="0,0 15,30, 30,0"
             Points="0,0 15,30, 30,0"
             Stroke="{DynamicResource MainBorderColor}"
             Stroke="{DynamicResource MainBorderColor}"
             StrokeThickness="1" />
             StrokeThickness="1" />

+ 1 - 1
src/PicView.Avalonia/Views/UC/Menus/ToolsMenu.axaml

@@ -222,7 +222,7 @@
         </Border>
         </Border>
         <Polygon
         <Polygon
             Fill="{DynamicResource MenuBackgroundColor}"
             Fill="{DynamicResource MenuBackgroundColor}"
-            Margin="302,-1,0,0"
+            Margin="285,-1,0,0"
             Points="0,0 15,30, 30,0"
             Points="0,0 15,30, 30,0"
             Stroke="{DynamicResource MainBorderColor}"
             Stroke="{DynamicResource MainBorderColor}"
             StrokeThickness="1" />
             StrokeThickness="1" />

Some files were not shown because too many files changed in this diff