Selaa lähdekoodia

Code clean up, interface redesign, misc

Ruben 5 vuotta sitten
vanhempi
sitoutus
c3cf14025a
56 muutettua tiedostoa jossa 2053 lisäystä ja 3484 poistoa
  1. 6 4
      PicView/Fields.cs
  2. 1 1
      PicView/Interface Logic/Animations/FadeControls.cs
  3. 15 48
      PicView/Interface Logic/Animations/MouseOverAnimations.cs
  4. 0 36
      PicView/Interface Logic/Instantiate/LoadControls.cs
  5. 39 20
      PicView/Interface Logic/Instantiate/LoadWindows.cs
  6. 6 6
      PicView/Interface Logic/Instantiate/Timers.cs
  7. 30 30
      PicView/Interface Logic/SlideShow.cs
  8. 0 147
      PicView/Interface Logic/ToggleMenus.cs
  9. 21 18
      PicView/Interface Logic/WindowLogic.cs
  10. 16 105
      PicView/MainWindow.xaml
  11. 4 273
      PicView/MainWindow.xaml.cs
  12. 247 0
      PicView/Misc/EventsHandling.cs
  13. 13 2
      PicView/Misc/Utilities.cs
  14. 6 1
      PicView/Navigation/Preloader.cs
  15. 6 6
      PicView/PicGallery/ToggleGallery.cs
  16. 21 1
      PicView/PicVIew.csproj
  17. 0 0
      PicView/UserControls/Buttons/ClickArrow.xaml
  18. 0 0
      PicView/UserControls/Buttons/ClickArrow.xaml.cs
  19. 26 0
      PicView/UserControls/Buttons/CloseButton.xaml
  20. 22 0
      PicView/UserControls/Buttons/CloseButton.xaml.cs
  21. 27 0
      PicView/UserControls/Buttons/FullscreenButton.xaml
  22. 20 0
      PicView/UserControls/Buttons/FullscreenButton.xaml.cs
  23. 0 0
      PicView/UserControls/Buttons/GalleryShortcut.xaml
  24. 0 0
      PicView/UserControls/Buttons/GalleryShortcut.xaml.cs
  25. 45 0
      PicView/UserControls/Buttons/Logo.xaml
  26. 15 0
      PicView/UserControls/Buttons/Logo.xaml.cs
  27. 24 0
      PicView/UserControls/Buttons/MinButton.xaml
  28. 22 0
      PicView/UserControls/Buttons/MinButton.xaml.cs
  29. 0 0
      PicView/UserControls/Buttons/Minus.xaml
  30. 0 0
      PicView/UserControls/Buttons/Minus.xaml.cs
  31. 0 0
      PicView/UserControls/Buttons/X2.xaml
  32. 0 0
      PicView/UserControls/Buttons/X2.xaml.cs
  33. 0 0
      PicView/UserControls/Gallery/PicGallery.xaml
  34. 0 0
      PicView/UserControls/Gallery/PicGallery.xaml.cs
  35. 0 0
      PicView/UserControls/Gallery/PicGalleryItem.xaml
  36. 0 0
      PicView/UserControls/Gallery/PicGalleryItem.xaml.cs
  37. 0 315
      PicView/UserControls/Menus/FunctionsMenu.xaml
  38. 0 387
      PicView/UserControls/Menus/FunctionsMenu.xaml.cs
  39. 0 217
      PicView/UserControls/Menus/QuickSettingsMenu.xaml
  40. 0 357
      PicView/UserControls/Menus/QuickSettingsMenu.xaml.cs
  41. 0 0
      PicView/UserControls/Misc/AjaxLoading.xaml
  42. 0 0
      PicView/UserControls/Misc/AjaxLoading.xaml.cs
  43. 0 0
      PicView/UserControls/Misc/AutoScrollSign.xaml
  44. 0 0
      PicView/UserControls/Misc/AutoScrollSign.xaml.cs
  45. 0 0
      PicView/UserControls/Misc/BadImage.xaml
  46. 0 0
      PicView/UserControls/Misc/BadImage.xaml.cs
  47. 0 0
      PicView/UserControls/Misc/SexyToolTip.xaml
  48. 0 0
      PicView/UserControls/Misc/SexyToolTip.xaml.cs
  49. 361 401
      PicView/Windows/AllSettings.xaml
  50. 304 142
      PicView/Windows/AllSettings.xaml.cs
  51. 0 628
      PicView/Windows/Help.xaml
  52. 0 94
      PicView/Windows/Help.xaml.cs
  53. 681 0
      PicView/Windows/Info.xaml
  54. 75 0
      PicView/Windows/Info.xaml.cs
  55. 0 193
      PicView/Windows/Tools.xaml
  56. 0 52
      PicView/Windows/Tools.xaml.cs

+ 6 - 4
PicView/Fields.cs

@@ -1,5 +1,5 @@
 using PicView.UserControls;
-using PicView.UserControls.Menus;
+using PicView.Windows;
 using System.Collections.Generic;
 using System.Timers;
 using System.Windows;
@@ -148,8 +148,6 @@ namespace PicView
         // UserControls
         internal static ImageSettings imageSettingsMenu;
         internal static FileMenu fileMenu;
-        internal static QuickSettingsMenu quickSettingsMenu;
-        internal static FunctionsMenu functionsMenu;
         internal static AjaxLoading ajaxLoading;
         internal static SexyToolTip sexyToolTip;
         internal static AutoScrollSign autoScrollSign;
@@ -163,6 +161,10 @@ namespace PicView
         internal static Point origin;
         internal static Point start;
 
+        // Windows
+        internal static AllSettings allSettings;
+        internal static Info help;
+
         /// <summary>
         /// Starting point of AutoScroll
         /// </summary>
@@ -210,7 +212,7 @@ namespace PicView
         /// <summary>
         /// Timer used for slideshow
         /// </summary>
-        internal static Timer Slidetimer;
+        //internal static Timer Slidetimer;
 
         /// <summary>
         /// Backup of image

+ 1 - 1
PicView/Interface Logic/Animations/FadeControls.cs

@@ -13,7 +13,7 @@ namespace PicView
         {
             await mainWindow.Dispatcher.BeginInvoke((Action)(() =>
             {
-                if (!Properties.Settings.Default.ShowInterface || Slidetimer.Enabled)
+                if (!Properties.Settings.Default.ShowInterface)
                 {
                     if (clickArrowRight != null && clickArrowLeft != null && x2 != null && galleryShortcut != null)
                     {

+ 15 - 48
PicView/Interface Logic/Animations/MouseOverAnimations.cs

@@ -1,4 +1,5 @@
-using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Input;
 using static PicView.Fields;
 
 
@@ -49,53 +50,19 @@ namespace PicView
         //    AnimationHelper.PreviewMouseLeftButtonDownColorEvent(wBrush, false);
         //}
 
-        // Close Button
-
-        internal static void CloseButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, mainWindow.CloseButtonBrush, false);
-        }
-
-        internal static void CloseButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(mainWindow.CloseButtonBrush, false);
-        }
-
-        internal static void CloseButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, mainWindow.CloseButtonBrush, false);
-        }
-
-        // MaxButton
-        internal static void MaxButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, mainWindow.MaxButtonBrush, false);
-        }
-
-        internal static void MaxButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(mainWindow.MaxButtonBrush, false);
-        }
-
-        internal static void MaxButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, mainWindow.MaxButtonBrush, false);
-        }
-
-        // MinButton
-        internal static void MinButtonMouseOver(object sender, MouseEventArgs e)
+        internal static void ButtonMouseOver(Brush brush)
         {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, mainWindow.MinButtonBrush, false);
+            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, brush, false);
         }
 
-        internal static void MinButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
+        internal static void ButtonMouseButtonDown(Brush brush)
         {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(mainWindow.MinButtonBrush, false);
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(brush, false);
         }
 
-        internal static void MinButtonMouseLeave(object sender, MouseEventArgs e)
+        internal static void ButtonMouseLeave(Brush brush)
         {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, mainWindow.MinButtonBrush, false);
+            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, brush, false);
         }
 
         // LeftButton
@@ -299,32 +266,32 @@ namespace PicView
             );
         }
 
-        // FunctionMenu
-        internal static void FunctionMenuButtonButtonMouseOver(object sender, MouseEventArgs e)
+        // InfoButton
+        internal static void InfoButtonButtonMouseOver(object sender, MouseEventArgs e)
         {
             AnimationHelper.MouseEnterColorEvent(
                 mainColor.A,
                 mainColor.R,
                 mainColor.G,
                 mainColor.B,
-                mainWindow.QuestionButtonFill1,
+                mainWindow.InfoButtonFill,
                 false
             );
         }
 
-        internal static void FunctionMenuButtonButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
+        internal static void InfoButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
         {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(mainWindow.QuestionButtonFill1, false);
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(mainWindow.InfoButtonFill, false);
         }
 
-        internal static void FunctionMenuButtonButtonMouseLeave(object sender, MouseEventArgs e)
+        internal static void InfoButtonButtonMouseLeave(object sender, MouseEventArgs e)
         {
             AnimationHelper.MouseLeaveColorEvent(
                 mainColor.A,
                 mainColor.R,
                 mainColor.G,
                 mainColor.B,
-                mainWindow.QuestionButtonFill1,
+                mainWindow.InfoButtonFill,
                 false
             );
         }

+ 0 - 36
PicView/Interface Logic/Instantiate/LoadControls.cs

@@ -124,42 +124,6 @@ namespace PicView
             mainWindow.bg.Children.Add(imageSettingsMenu);
         }
 
-        /// <summary>
-        /// Loads QuickSettingsMenu and adds it to the window
-        /// </summary>
-        internal static void LoadQuickSettingsMenu()
-        {
-            quickSettingsMenu = new QuickSettingsMenu
-            {
-                Focusable = false,
-                Opacity = 0,
-                Visibility = Visibility.Hidden,
-                VerticalAlignment = VerticalAlignment.Bottom,
-                HorizontalAlignment = HorizontalAlignment.Center,
-                Margin = new Thickness(30, 0, 0, 0)
-            };
-
-            mainWindow.bg.Children.Add(quickSettingsMenu);
-        }
-
-        /// <summary>
-        /// Loads FunctionsMenu and adds it to the window
-        /// </summary>
-        internal static void LoadFunctionsMenu()
-        {
-            functionsMenu = new UserControls.Menus.FunctionsMenu
-            {
-                Focusable = false,
-                Opacity = 0,
-                Visibility = Visibility.Hidden,
-                VerticalAlignment = VerticalAlignment.Bottom,
-                HorizontalAlignment = HorizontalAlignment.Center,
-                Margin = new Thickness(70, 0, 0, 0)
-            };
-
-            mainWindow.bg.Children.Add(functionsMenu);
-        }
-
 
 
         // Tooltip

+ 39 - 20
PicView/Interface Logic/Instantiate/LoadWindows.cs

@@ -34,36 +34,55 @@ namespace PicView
         /// </summary>
         internal static void HelpWindow()
         {
-            Window window = new Help
+            if (help == null)
             {
-                Width = double.IsNaN(mainWindow.Width) ? 465 : mainWindow.Width,
-                Height = double.IsNaN(mainWindow.Height) ? 715 : mainWindow.Height,
-                Opacity = 0,
-                Owner = Application.Current.MainWindow,
-            };
+                help = new Info
+                {
+                    Owner = mainWindow
+                };
 
-            var animation = new DoubleAnimation(1, TimeSpan.FromSeconds(.5));
-            window.BeginAnimation(UIElement.OpacityProperty, animation);
-            window.Show();
+                help.Show();
+            }
+            else
+            {
+                if (help.Visibility == Visibility.Visible)
+                {
+                    help.Focus();
+                }
+                else
+                {
+                    help.Show();
+                }
+
+            }
         }
 
         /// <summary>
-        /// Show All Settings window in a dialog
+        /// Show All Settings window
         /// </summary>
         internal static void AllSettingsWindow()
         {
-            Window window = new AllSettings
+            if (allSettings == null)
             {
-                Width = double.IsNaN(mainWindow.Width) ? 465 : mainWindow.Width,
-                Height = double.IsNaN(mainWindow.Height) ? 715 : mainWindow.Height,
-                Opacity = 0,
-                Owner = Application.Current.MainWindow,
-            };
+                allSettings = new AllSettings
+                {
+                    Owner = mainWindow
+                };
 
-            var animation = new DoubleAnimation(1, TimeSpan.FromSeconds(.5));
-            window.BeginAnimation(UIElement.OpacityProperty, animation);
-
-            window.ShowDialog();
+                allSettings.Show();
+            }
+            else
+            {
+                if (allSettings.Visibility == Visibility.Visible)
+                {
+                    allSettings.Focus();
+                }
+                else
+                {
+                    allSettings.Show();
+                }
+                
+            }
         }
 
         ///// <summary>

+ 6 - 6
PicView/Interface Logic/Instantiate/Timers.cs

@@ -35,12 +35,12 @@ namespace PicView
             //};
             //fastPicTimer.Elapsed += FastPic;
 
-            Slidetimer = new Timer()
-            {
-                Interval = Properties.Settings.Default.Slidetimeren,
-                Enabled = false
-            };
-            Slidetimer.Elapsed += SlideShow.SlideTimer_Elapsed;
+            //Slidetimer = new Timer()
+            //{
+            //    Interval = Properties.Settings.Default.Slidetimeren,
+            //    Enabled = false
+            //};
+            //Slidetimer.Elapsed += SlideShow.SlideTimer_Elapsed;
 
             //HideCursorTimer = new Timer()
             //{

+ 30 - 30
PicView/Interface Logic/SlideShow.cs

@@ -19,44 +19,44 @@ namespace PicView
         /// </summary>
         internal static void LoadSlideshow()
         {
-            Slidetimer.Interval = Properties.Settings.Default.Slidetimeren;
-            if (!File.Exists(Pics[FolderIndex]))
-            {
-                ToolTipStyle("There was no image(s) to show.");
-                return;
-            }
+            //Slidetimer.Interval = Properties.Settings.Default.Slidetimeren;
+            //if (!File.Exists(Pics[FolderIndex]))
+            //{
+            //    ToolTipStyle("There was no image(s) to show.");
+            //    return;
+            //}
 
-            if (mainWindow.WindowState == WindowState.Maximized)
-            {
-                Maximize_Restore();
-            }
+            //if (mainWindow.WindowState == WindowState.Maximized)
+            //{
+            //    Maximize_Restore();
+            //}
 
-            ToggleInterface();
-            mainWindow.Topmost = true;
-            FitToWindow = false;
-            mainWindow.Width = mainWindow.bg.Width = SystemParameters.PrimaryScreenWidth;
-            mainWindow.Height = mainWindow.bg.Height = SystemParameters.PrimaryScreenHeight;
-            mainWindow.Top = 0;
-            mainWindow.Left = 0;
+            //ToggleInterface();
+            //mainWindow.Topmost = true;
+            //FitToWindow = false;
+            //mainWindow.Width = mainWindow.bg.Width = SystemParameters.PrimaryScreenWidth;
+            //mainWindow.Height = mainWindow.bg.Height = SystemParameters.PrimaryScreenHeight;
+            //mainWindow.Top = 0;
+            //mainWindow.Left = 0;
 
-            Mouse.OverrideCursor = Cursors.None;
-            NativeMethods.SetThreadExecutionState(NativeMethods.ES_CONTINUOUS | NativeMethods.ES_DISPLAY_REQUIRED);
-            SlideshowActive = true;
-            Slidetimer.Start();
+            //Mouse.OverrideCursor = Cursors.None;
+            //NativeMethods.SetThreadExecutionState(NativeMethods.ES_CONTINUOUS | NativeMethods.ES_DISPLAY_REQUIRED);
+            //SlideshowActive = true;
+            //Slidetimer.Start();
         }
 
         internal static void UnloadSlideshow()
         {
-            ToggleInterface();
-            mainWindow.Topmost = false;
-            FitToWindow = true;
-            mainWindow.bg.Width = double.NaN;
-            mainWindow.bg.Height = double.NaN;
+            //ToggleInterface();
+            //mainWindow.Topmost = false;
+            //FitToWindow = true;
+            //mainWindow.bg.Width = double.NaN;
+            //mainWindow.bg.Height = double.NaN;
 
-            Mouse.OverrideCursor = null;
-            NativeMethods.SetThreadExecutionState(NativeMethods.ES_CONTINUOUS);
-            SlideshowActive = false;
-            Slidetimer.Stop();
+            //Mouse.OverrideCursor = null;
+            //NativeMethods.SetThreadExecutionState(NativeMethods.ES_CONTINUOUS);
+            //SlideshowActive = false;
+            //Slidetimer.Stop();
         }
 
         /// <summary>

+ 0 - 147
PicView/Interface Logic/ToggleMenus.cs

@@ -65,63 +65,6 @@ namespace PicView
             }
         }
 
-        /// <summary>
-        /// Toggles whether QuickSettingsMenu is open or not with a fade animation
-        /// </summary>
-        internal static bool QuickSettingsMenuOpen
-        {
-            get { return quickSettingsMenuOpen; }
-            set
-            {
-                quickSettingsMenuOpen = value;
-                quickSettingsMenu.Visibility = Visibility.Visible;
-                var da = new DoubleAnimation { Duration = TimeSpan.FromSeconds(.3) };
-                if (!value)
-                {
-                    Application.Current.Resources["ChosenColor"] = AnimationHelper.GetPrefferedColorOver();
-                    da.To = 0;
-                    da.Completed += delegate { quickSettingsMenu.Visibility = Visibility.Hidden; };
-                }
-                else
-                {
-                    da.To = 1;
-                }
-
-                if (quickSettingsMenu != null)
-                {
-                    quickSettingsMenu.BeginAnimation(UIElement.OpacityProperty, da);
-                }
-            }
-        }
-
-        /// <summary>
-        /// Toggles whether FunctionsMenu is open or not with a fade animation
-        /// </summary>
-        internal static bool FunctionsMenuOpen
-        {
-            get { return functionsMenuOpen; }
-            set
-            {
-                functionsMenuOpen = value;
-                functionsMenu.Visibility = Visibility.Visible;
-                var da = new DoubleAnimation { Duration = TimeSpan.FromSeconds(.3) };
-                if (!value)
-                {
-                    da.To = 0;
-                    da.Completed += delegate { functionsMenu.Visibility = Visibility.Hidden; };
-                }
-                else
-                {
-                    da.To = 1;
-                }
-
-                if (functionsMenu != null)
-                {
-                    functionsMenu.BeginAnimation(UIElement.OpacityProperty, da);
-                }
-            }
-        }
-
         /// <summary>
         /// Check if any UserControls are open
         /// </summary>
@@ -138,16 +81,6 @@ namespace PicView
                 return true;
             }
 
-            if (QuickSettingsMenuOpen)
-            {
-                return true;
-            }
-
-            if (FunctionsMenuOpen)
-            {
-                return true;
-            }
-
             return false;
         }
 
@@ -165,16 +98,6 @@ namespace PicView
             {
                 FileMenuOpen = false;
             }
-
-            if (QuickSettingsMenuOpen)
-            {
-                QuickSettingsMenuOpen = false;
-            }
-
-            if (FunctionsMenuOpen)
-            {
-                FunctionsMenuOpen = false;
-            }
         }
 
         /// <summary>
@@ -198,16 +121,6 @@ namespace PicView
             {
                 ImageSettingsMenuOpen = false;
             }
-
-            if (QuickSettingsMenuOpen)
-            {
-                QuickSettingsMenuOpen = false;
-            }
-
-            if (FunctionsMenuOpen)
-            {
-                FunctionsMenuOpen = false;
-            }
         }
 
         /// <summary>
@@ -223,66 +136,6 @@ namespace PicView
             {
                 FileMenuOpen = false;
             }
-
-            if (QuickSettingsMenuOpen)
-            {
-                QuickSettingsMenuOpen = false;
-            }
-
-            if (FunctionsMenuOpen)
-            {
-                FunctionsMenuOpen = false;
-            }
-        }
-
-        /// <summary>
-        /// Toggles whether quick settings menu is open or not
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        internal static void Toggle_quick_settings_menu(object sender, RoutedEventArgs e)
-        {
-            QuickSettingsMenuOpen = !QuickSettingsMenuOpen;
-
-            if (FileMenuOpen)
-            {
-                FileMenuOpen = false;
-            }
-
-            if (ImageSettingsMenuOpen)
-            {
-                ImageSettingsMenuOpen = false;
-            }
-
-            if (FunctionsMenuOpen)
-            {
-                FunctionsMenuOpen = false;
-            }
-        }
-
-        /// <summary>
-        /// Toggles whether functions menu is open or not
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        internal static void Toggle_Functions_menu(object sender, RoutedEventArgs e)
-        {
-            FunctionsMenuOpen = !FunctionsMenuOpen;
-
-            if (FileMenuOpen)
-            {
-                FileMenuOpen = false;
-            }
-
-            if (ImageSettingsMenuOpen)
-            {
-                ImageSettingsMenuOpen = false;
-            }
-
-            if (QuickSettingsMenuOpen)
-            {
-                QuickSettingsMenuOpen = false;
-            }
         }
     }
 }

+ 21 - 18
PicView/Interface Logic/WindowLogic.cs

@@ -32,11 +32,11 @@ namespace PicView
                     mainWindow.SizeToContent = SizeToContent.WidthAndHeight;
                     mainWindow.ResizeMode = ResizeMode.CanMinimize;
 
-                    if (quickSettingsMenu != null)
-                    {
-                        quickSettingsMenu.SetFit.IsChecked = true;
-                        quickSettingsMenu.SetCenter.IsChecked = false;
-                    }
+                    //if (quickSettingsMenu != null)
+                    //{
+                    //    quickSettingsMenu.SetFit.IsChecked = true;
+                    //    quickSettingsMenu.SetCenter.IsChecked = false;
+                    //}
 
                     mainWindow.WindowState = WindowState.Normal;
 
@@ -46,11 +46,11 @@ namespace PicView
                     mainWindow.SizeToContent = SizeToContent.Manual;
                     mainWindow.ResizeMode = ResizeMode.CanResizeWithGrip;
 
-                    if (quickSettingsMenu != null)
-                    {
-                        quickSettingsMenu.SetCenter.IsChecked = true;
-                        quickSettingsMenu.SetFit.IsChecked = false;
-                    }
+                    //if (quickSettingsMenu != null)
+                    //{
+                    //    quickSettingsMenu.SetCenter.IsChecked = true;
+                    //    quickSettingsMenu.SetFit.IsChecked = false;
+                    //}
                 }
 
                 // Resize it
@@ -168,6 +168,7 @@ namespace PicView
 
                 ShowTopandBottom(false);
                 ShowNavigation(false);
+                ShowShortcuts(false);
 
                 mainWindow.ResizeMode = ResizeMode.CanMinimize;
                 mainWindow.SizeToContent = SizeToContent.Manual;
@@ -189,11 +190,13 @@ namespace PicView
                 {
                     ShowNavigation(false);
                     ShowTopandBottom(true);
+                    ShowShortcuts(false);
                 }
                 else
                 {
                     ShowNavigation(true);
                     ShowTopandBottom(false);
+                    ShowShortcuts(true);
                 }
 
                 if (FitToWindow)
@@ -201,10 +204,10 @@ namespace PicView
                     mainWindow.SizeToContent = SizeToContent.WidthAndHeight;
                     mainWindow.ResizeMode = ResizeMode.NoResize;
 
-                    if (quickSettingsMenu != null)
-                    {
-                        quickSettingsMenu.SetFit.IsChecked = true;
-                    }
+                    //if (quickSettingsMenu != null)
+                    //{
+                    //    quickSettingsMenu.SetFit.IsChecked = true;
+                    //}
 
                     mainWindow.WindowState = WindowState.Normal;
 
@@ -218,10 +221,10 @@ namespace PicView
                     mainWindow.SizeToContent = SizeToContent.Manual;
                     mainWindow.ResizeMode = ResizeMode.CanResizeWithGrip;
 
-                    if (quickSettingsMenu != null)
-                    {
-                        quickSettingsMenu.SetCenter.IsChecked = true;
-                    }
+                    //if (quickSettingsMenu != null)
+                    //{
+                    //    quickSettingsMenu.SetCenter.IsChecked = true;
+                    //}
 
                     mainWindow.Top = Properties.Settings.Default.Top;
                     mainWindow.Left = Properties.Settings.Default.Left;

+ 16 - 105
PicView/MainWindow.xaml

@@ -2,16 +2,18 @@
     x:Class="PicView.MainWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:uc="clr-namespace:PicView.UserControls"
     Title="Loading..."
+    Width="465"
+    Height="515"
     MinWidth="465"
     MinHeight="515"
     FontFamily="/PicView;component/Resources/fonts/#Aller"
     Foreground="{StaticResource MainColorBrush}"
-    Icon="Resources/img/reflex-icon.png"
+    ResizeMode="CanMinimize"
     SizeToContent="WidthAndHeight"
     Style="{DynamicResource MyWindowStyle}"
-    WindowStartupLocation="CenterScreen" 
-    ResizeMode="CanMinimize">
+    WindowStartupLocation="CenterScreen">
     <DockPanel LastChildFill="True">
         <DockPanel
             x:Name="TitleBar"
@@ -25,108 +27,17 @@
                     Viewport="0,0,100,100"
                     ViewportUnits="Absolute" />
             </DockPanel.Background>
-            <Canvas
-                x:Name="Logobg"
-                Width="90"
-                DockPanel.Dock="Left">
-                <Path Margin="7,0,0,0" Data="M2.968,11.236H9.9c3.511,0,5.239,1.008,5.239,4.267c0,3.259-1.963,4.429-5.708,4.429h-1.53v3.907H2.968V11.236z    M7.901,13.721v3.655h0.99c0.486-0.054,1.513-0.45,1.513-1.657c0-1.62-0.612-1.908-1.314-1.999H7.901z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="pBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M15.819,10.336h5.113v3.079h-5.113V10.336z M20.843,23.84h-4.934v-9.003h4.934V23.84z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="iBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M30.654,23.804c-0.937,0.126-1.423,0.18-2.071,0.18c-3.042,0-7.058-0.342-7.058-4.646c0-3.601,3.205-4.645,6.122-4.645   c1.098,0,2.143,0.144,2.971,0.36v2.503c-0.468-0.18-0.937-0.252-1.387-0.252c-1.53,0-2.755,0.937-2.755,2.035   c0,1.333,1.08,1.891,2.899,1.891c0.342,0,0.576-0.036,1.278-0.108V23.804z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="cBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M42.444,23.84h-7.04l-4.429-12.604h4.933l3.008,8.588l3.024-8.588h4.934L42.444,23.84z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="vBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M47.283,10.336h5.113v3.079h-5.113V10.336z M52.307,23.84h-4.934v-9.003h4.934V23.84z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="iiBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M62.946,23.336c-1.188,0.306-3.043,0.648-4.682,0.648c-1.746,0-5.275-0.954-5.275-4.646c0-3.853,3.151-4.681,5.672-4.681   c2.503,0,4.789,0.918,4.789,4.375v1.458h-5.905c0,0.774,1.08,1.081,1.836,1.081c1.404,0,3.259-0.378,3.565-0.486V23.336z    M57.545,18.528h1.836c-0.054-0.558-0.27-1.152-0.9-1.152C58.049,17.376,57.563,17.412,57.545,18.528z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="eBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M66.49,23.84l-3.276-9.003h4.573l1.152,5.348l1.765-5.348h3.528l1.783,5.348l1.134-5.348h4.573l-3.295,9.003h-4.861   l-1.116-4.717l-1.099,4.717H66.49z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="wBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-            </Canvas>
-            <Button
+            <uc:Logo />
+            <uc:CloseButton
                 x:Name="CloseButton"
-                Width="33"
-                Height="33"
-                VerticalAlignment="Center"
-                BorderThickness="0"
-                DockPanel.Dock="Right"
-                FocusVisualStyle="{x:Null}"
-                Focusable="False"
-                ToolTip="Close">
-                <Button.Background>
-                    <SolidColorBrush x:Name="CloseButtonBrush" />
-                </Button.Background>
-                <Path
-                    Width="10"
-                    Height="10"
-                    Data="M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4  L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1  c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1  c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z"
-                    Fill="{StaticResource MainColorBrush}"
-                    SnapsToDevicePixels="True"
-                    Stretch="Fill" />
-            </Button>
-            <Button
-                x:Name="MaxButton"
-                Width="33"
-                Height="33"
                 VerticalAlignment="Center"
-                BorderThickness="0"
-                DockPanel.Dock="Right"
-                FocusVisualStyle="{x:Null}"
-                Focusable="False"
-                ToolTip="Fullscreen">
-                <Button.Background>
-                    <SolidColorBrush x:Name="MaxButtonBrush" />
-                </Button.Background>
-                <Path
-                    x:Name="MaxButtonPath"
-                    Width="12"
-                    Height="12"
-                    Data="M405.34 405.332H106.66V106.668H240V64H106.66C83.191 64 64 83.197 64 106.668v298.664C64 428.803 83.191 448 106.66 448h298.68c23.469 0 42.66-19.197 42.66-42.668V272h-42.66v133.332zM288 64v42.668h87.474L159.999 322.133l29.866 29.866 215.476-215.47V224H448V64H288z"
-                    Fill="{StaticResource MainColorBrush}"
-                    SnapsToDevicePixels="True"
-                    Stretch="Fill" />
-            </Button>
-            <Button
+                DockPanel.Dock="Right" />
+            <uc:FullscreenButton x:Name="FullscreenButton" DockPanel.Dock="Right" />
+
+            <uc:MinButton
                 x:Name="MinButton"
-                Width="33"
-                Height="33"
-                Margin="5,0,0,0"
                 VerticalAlignment="Center"
-                BorderThickness="0"
-                DockPanel.Dock="Right"
-                FocusVisualStyle="{x:Null}"
-                Focusable="False"
-                ToolTip="Minimize">
-                <Button.Background>
-                    <SolidColorBrush x:Name="MinButtonBrush" />
-                </Button.Background>
-                <Path
-                    Data="F1M0,6L0,9 9,9 9,6 0,6z"
-                    Fill="{StaticResource MainColorBrush}"
-                    SnapsToDevicePixels="True" />
-            </Button>
+                DockPanel.Dock="Right" />
             <TextBlock
                 x:Name="Bar"
                 VerticalAlignment="Center"
@@ -305,7 +216,7 @@
                     </Path>
                 </Button>
                 <Button
-                    x:Name="FunctionMenuButton"
+                    x:Name="InfoButton"
                     Canvas.Left="354"
                     Canvas.Top="1"
                     Width="55"
@@ -317,13 +228,13 @@
                     <Canvas>
                         <Path
                             Canvas.Left="-11"
-                            Canvas.Top="-11"
+                            Canvas.Top="-12"
                             Width="22"
                             Height="22"
-                            Data="M1664 1344v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45z"
+                            Data="M1088 1256v240q0 16-12 28t-28 12h-240q-16 0-28-12t-12-28v-240q0-16 12-28t28-12h240q16 0 28 12t12 28zm316-600q0 54-15.5 101t-35 76.5-55 59.5-57.5 43.5-61 35.5q-41 23-68.5 65t-27.5 67q0 17-12 32.5t-28 15.5h-240q-15 0-25.5-18.5t-10.5-37.5v-42q0-83 65-156.5t143-108.5q59-27 84-56t25-76q0-42-46.5-74t-107.5-32q-65 0-108 29-35 25-107 115-13 16-31 16-12 0-25-8l-164-125q-13-10-15.5-25t5.5-28q160-266 464-266 80 0 161 31t146 83 106 127.5 41 158.5z"
                             Stretch="Fill">
                             <Path.Fill>
-                                <SolidColorBrush x:Name="QuestionButtonFill1" Color="{StaticResource MainColor}" />
+                                <SolidColorBrush x:Name="InfoButtonFill" Color="{StaticResource MainColor}" />
                             </Path.Fill>
                         </Path>
                     </Canvas>

+ 4 - 273
PicView/MainWindow.xaml.cs

@@ -1,31 +1,19 @@
 using PicView.UserControls;
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Media;
 using static PicView.AjaxLoader;
 using static PicView.ContextMenus;
-using static PicView.Copy_Paste;
-using static PicView.DeleteFiles;
-using static PicView.DragAndDrop;
 using static PicView.Error_Handling;
 using static PicView.Fields;
 using static PicView.Helper;
-using static PicView.HideInterfaceLogic;
 using static PicView.LoadControls;
-using static PicView.LoadWindows;
-using static PicView.MouseOverAnimations;
 using static PicView.Navigation;
-using static PicView.Open_Save;
 using static PicView.Resize_and_Zoom;
-using static PicView.Rotate_and_Flip;
 using static PicView.Scroll;
-using static PicView.Shortcuts;
-using static PicView.SlideShow;
 using static PicView.Timers;
-using static PicView.ToggleMenus;
 using static PicView.WindowLogic;
 
 namespace PicView
@@ -165,24 +153,8 @@ namespace PicView
             LoadTooltipStyle();
             LoadFileMenu();
             LoadImageSettingsMenu();
-            LoadQuickSettingsMenu();
-            LoadFunctionsMenu();
             LoadAutoScrollSign();
 
-            // Update UserControl values            
-            quickSettingsMenu.ToggleScroll.IsChecked = IsScrollEnabled;
-            if (FitToWindow)
-            {
-                quickSettingsMenu.SetFit.IsChecked = true;
-                quickSettingsMenu.SetCenter.IsChecked = false;
-            }
-
-            else
-            {
-                quickSettingsMenu.SetCenter.IsChecked = true;
-                quickSettingsMenu.SetFit.IsChecked = false;
-            }
-
             // Initilize Things!
             RecentFiles.Initialize();
             InitializeZoom();
@@ -204,221 +176,11 @@ namespace PicView
 
         #endregion
 
-        #region Add events
+        #region Events
 
         private void AddEvents()
         {
-            // keyboard and Mouse_Keys Keys
-            KeyDown += MainWindow_KeysDown;
-            KeyUp += MainWindow_KeysUp;
-            MouseDown += MainWindow_MouseDown;
-
-            // Close Button
-            CloseButton.PreviewMouseLeftButtonDown += CloseButtonMouseButtonDown;
-            CloseButton.MouseEnter += CloseButtonMouseOver;
-            CloseButton.MouseLeave += CloseButtonMouseLeave;
-            CloseButton.Click += (s, x) => Close();
-
-            // MinButton
-            MinButton.PreviewMouseLeftButtonDown += MinButtonMouseButtonDown;
-            MinButton.MouseEnter += MinButtonMouseOver;
-            MinButton.MouseLeave += MinButtonMouseLeave;
-            MinButton.Click += (s, x) => SystemCommands.MinimizeWindow(this);
-
-            // MaxButton
-            MaxButton.PreviewMouseLeftButtonDown += MaxButtonMouseButtonDown;
-            MaxButton.MouseEnter += MaxButtonMouseOver;
-            MaxButton.MouseLeave += MaxButtonMouseLeave;
-            MaxButton.Click += (s, x) => Fullscreen_Restore();
-
-            // FileMenuButton
-            FileMenuButton.PreviewMouseLeftButtonDown += OpenMenuButtonMouseButtonDown;
-            FileMenuButton.MouseEnter += OpenMenuButtonMouseOver;
-            FileMenuButton.MouseLeave += OpenMenuButtonMouseLeave;
-            FileMenuButton.Click += Toggle_open_menu;
-
-            fileMenu.Open.Click += (s, x) => Open();
-            fileMenu.Open_File_Location.Click += (s, x) => Open_In_Explorer();
-            fileMenu.Print.Click += (s, x) => Print(Pics[FolderIndex]);
-            fileMenu.Save_File.Click += (s, x) => SaveFiles();
-
-            fileMenu.Open_Border.MouseLeftButtonUp += (s, x) => Open();
-            fileMenu.Open_File_Location_Border.MouseLeftButtonUp += (s, x) => Open_In_Explorer();
-            fileMenu.Print_Border.MouseLeftButtonUp += (s, x) => Print(Pics[FolderIndex]);
-            fileMenu.Save_File_Location_Border.MouseLeftButtonUp += (s, x) => SaveFiles();
-
-            fileMenu.CloseButton.Click += Close_UserControls;
-            fileMenu.PasteButton.Click += (s, x) => Paste();
-            fileMenu.CopyButton.Click += (s, x) => CopyPic();
-
-            // image_button
-            image_button.PreviewMouseLeftButtonDown += ImageButtonMouseButtonDown;
-            image_button.MouseEnter += ImageButtonMouseOver;
-            image_button.MouseLeave += ImageButtonMouseLeave;
-            image_button.Click += Toggle_image_menu;
-
-            // imageSettingsMenu Buttons
-            imageSettingsMenu.CloseButton.Click += Close_UserControls;
-            imageSettingsMenu.Rotation0Button.Click += (s, x) => Rotate(0);
-            imageSettingsMenu.Rotation90Button.Click += (s, x) => Rotate(90);
-            imageSettingsMenu.Rotation180Button.Click += (s, x) => Rotate(180);
-            imageSettingsMenu.Rotation270Button.Click += (s, x) => Rotate(270);
-            imageSettingsMenu.Rotation0Border.MouseLeftButtonUp += (s, x) => Rotate(0);
-            imageSettingsMenu.Rotation90Border.MouseLeftButtonUp += (s, x) => Rotate(90);
-            imageSettingsMenu.Rotation180Border.MouseLeftButtonUp += (s, x) => Rotate(180);
-            imageSettingsMenu.Rotation270Border.MouseLeftButtonUp += (s, x) => Rotate(270);
-
-            // LeftButton
-            LeftButton.PreviewMouseLeftButtonDown += LeftButtonMouseButtonDown;
-            LeftButton.MouseEnter += LeftButtonMouseOver;
-            LeftButton.MouseLeave += LeftButtonMouseLeave;
-            LeftButton.Click += (s, x) => { LeftbuttonClicked = true; Pic(false, false); };
-
-            // RightButton
-            RightButton.PreviewMouseLeftButtonDown += RightButtonMouseButtonDown;
-            RightButton.MouseEnter += RightButtonMouseOver;
-            RightButton.MouseLeave += RightButtonMouseLeave;
-            RightButton.Click += (s, x) => { RightbuttonClicked = true; Pic(); };
-
-            // QuickSettingsMenu
-            SettingsButton.PreviewMouseLeftButtonDown += SettingsButtonButtonMouseButtonDown;
-            SettingsButton.MouseEnter += SettingsButtonButtonMouseOver;
-            SettingsButton.MouseLeave += SettingsButtonButtonMouseLeave;
-            SettingsButton.Click += Toggle_quick_settings_menu;
-            quickSettingsMenu.CloseButton.Click += Toggle_quick_settings_menu;
-
-            quickSettingsMenu.ToggleScroll.Checked += (s, x) => IsScrollEnabled = true;
-            quickSettingsMenu.ToggleScroll.Unchecked += (s, x) => IsScrollEnabled = false;
-            quickSettingsMenu.ToggleScroll.Click += Toggle_quick_settings_menu;
-
-            quickSettingsMenu.SetFit.Click += (s, x) => { FitToWindow = true; };
-            quickSettingsMenu.SetCenter.Click += (s, x) => { FitToWindow = false; };
-            quickSettingsMenu.SettingsButton.Click += (s, x) => AllSettingsWindow();
-
-            //FunctionMenu
-            FunctionMenuButton.PreviewMouseLeftButtonDown += FunctionMenuButtonButtonMouseButtonDown;
-            FunctionMenuButton.MouseEnter += FunctionMenuButtonButtonMouseOver;
-            FunctionMenuButton.MouseLeave += FunctionMenuButtonButtonMouseLeave;
-            FunctionMenuButton.Click += Toggle_Functions_menu;
-            functionsMenu.CloseButton.Click += Toggle_Functions_menu;
-            functionsMenu.Help.Click += (s, x) => HelpWindow();
-            functionsMenu.About.Click += (s, x) => AboutWindow();
-            functionsMenu.FileDetailsButton.Click += (s, x) => NativeMethods.ShowFileProperties(Pics[FolderIndex]);
-            functionsMenu.DeleteButton.Click += (s, x) => DeleteFile(Pics[FolderIndex], true);
-            functionsMenu.DeletePermButton.Click += (s, x) => DeleteFile(Pics[FolderIndex], false);
-            functionsMenu.ReloadButton.Click += (s, x) => Reload();
-            functionsMenu.ResetZoomButton.Click += (s, x) => ResetZoom();
-            functionsMenu.ClearButton.Click += (s, x) => Unload();
-            functionsMenu.SlideshowButton.Click += (s, x) => LoadSlideshow();
-            functionsMenu.BgButton.Click += ChangeBackground;
-
-            // FlipButton
-            imageSettingsMenu.FlipButton.Click += (s, x) => Flip();
-
-            // ClickArrows
-            clickArrowLeft.MouseLeftButtonUp += (s, x) =>
-            {
-                clickArrowLeftClicked = true;
-                Pic(false, false);
-            };
-            clickArrowLeft.MouseEnter += Interface_MouseEnter_Negative;
-
-            clickArrowRight.MouseLeftButtonUp += (s, x) =>
-            {
-                clickArrowRightClicked = true;
-                Pic();
-            };
-            clickArrowRight.MouseEnter += Interface_MouseEnter_Negative;
-
-            // x2
-            x2.MouseLeftButtonUp += (x, xx) => Close();
-            x2.MouseEnter += Interface_MouseEnter_Negative;
-
-            // Minus
-            minus.MouseLeftButtonUp += (s, x) => SystemCommands.MinimizeWindow(this);
-            minus.MouseEnter += Interface_MouseEnter_Negative;
-
-            // GalleryShortcut
-            galleryShortcut.MouseLeftButtonUp += (s, x) => ToggleGallery.Toggle();
-            galleryShortcut.MouseEnter += Interface_MouseEnter_Negative;
-
-            // Bar
-            Bar.MouseLeftButtonDown += Move;
-
-            // img
-            img.MouseLeftButtonDown += Zoom_img_MouseLeftButtonDown;
-            img.MouseLeftButtonUp += Zoom_img_MouseLeftButtonUp;
-            img.MouseMove += Zoom_img_MouseMove;
-            img.MouseWheel += Zoom_img_MouseWheel;
-
-            // bg
-            bg.MouseLeftButtonDown += Bg_MouseLeftButtonDown;
-            bg.Drop += Image_Drop;
-            bg.DragEnter += Image_DragEnter;
-            bg.DragLeave += Image_DragLeave;
-            bg.MouseEnter += Interface_MouseEnter;
-            bg.MouseMove += Interface_MouseMove;
-            bg.MouseLeave += Interface_MouseLeave;
-
-            // TooltipStyle
-            sexyToolTip.MouseWheel += Zoom_img_MouseWheel;
-
-            // TitleBar
-            TitleBar.MouseLeftButtonDown += Move;
-            TitleBar.MouseLeave += Restore_From_Move;
-
-            // Logobg
-            //Logobg.MouseEnter += LogoMouseOver;
-            //Logobg.MouseLeave += LogoMouseLeave;
-            //Logobg.PreviewMouseLeftButtonDown += LogoMouseButtonDown;
-
-            // Lower Bar
-            LowerBar.Drop += Image_Drop;
-
-            // This
-            Closing += Window_Closing;
-            StateChanged += MainWindow_StateChanged;
-            //Activated += delegate
-            //{
-            //    if (Properties.Settings.Default.PicGallery == 2)
-            //    {
-            //        fake.Focus();
-            //        Focus();
-            //    }
-            //};
-
-            //LocationChanged += MainWindow_LocationChanged;
-            Microsoft.Win32.SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
-
-        }
-
-
-        #endregion Add events
-
-        #region Changed Events
-
-        private void MainWindow_StateChanged(object sender, EventArgs e)
-        {
-            switch (WindowState)
-            {
-                //case WindowState.Normal:
-                //    if (Properties.Settings.Default.PicGallery == 2)
-                //        fake.Show();
-                //    break;
-                //case WindowState.Minimized:
-                //    break;
-                case WindowState.Maximized:
-                    FitToWindow = false;
-                    break;
-            }
-        }
-
-        private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
-        {
-            // Update size when screen resulution changes
-
-            MonitorInfo = MonitorSize.GetMonitorSize();
-            ZoomFit(img.Width, img.Height);
+            Eventshandling.Go();
         }
 
         protected override void OnRenderSizeChanged(SizeChangedInfo size)
@@ -466,38 +228,7 @@ namespace PicView
             base.OnRenderSizeChanged(size);
         }
 
-        #endregion Changed Events
-
-
-
-        /// <summary>
-        /// Save settings when closing
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void Window_Closing(object sender, CancelEventArgs e)
-        {
-            // Close Extra windows when closing
-            if (fake != null)
-            {
-                fake.Close();
-            }
-
-            Hide(); // Make it feel faster
-
-            if (!Properties.Settings.Default.FitToWindow && !Properties.Settings.Default.Fullscreen)
-            {
-                Properties.Settings.Default.Top = Top;
-                Properties.Settings.Default.Left = Left;
-                Properties.Settings.Default.Height = Height;
-                Properties.Settings.Default.Width = Width;
-                Properties.Settings.Default.Maximized = WindowState == WindowState.Maximized;
-            }
-
-            Properties.Settings.Default.Save();
-            DeleteTempFiles();
-            RecentFiles.WriteToFile();
-            Environment.Exit(0);
-        }
+        #endregion Add events
+        
     }
 }

+ 247 - 0
PicView/Misc/EventsHandling.cs

@@ -0,0 +1,247 @@
+using System;
+using System.ComponentModel;
+using System.Windows;
+using static PicView.Copy_Paste;
+using static PicView.DeleteFiles;
+using static PicView.DragAndDrop;
+using static PicView.Fields;
+using static PicView.Helper;
+using static PicView.HideInterfaceLogic;
+using static PicView.LoadWindows;
+using static PicView.MouseOverAnimations;
+using static PicView.Navigation;
+using static PicView.Open_Save;
+using static PicView.Resize_and_Zoom;
+using static PicView.Rotate_and_Flip;
+using static PicView.Scroll;
+using static PicView.Shortcuts;
+using static PicView.ToggleMenus;
+using static PicView.WindowLogic;
+
+namespace PicView
+{
+    internal static class Eventshandling
+    {
+        internal static void Go()
+        {
+            // keyboard and Mouse_Keys Keys
+            mainWindow.KeyDown += MainWindow_KeysDown;
+            mainWindow.KeyUp += MainWindow_KeysUp;
+            mainWindow.MouseDown += MainWindow_MouseDown;
+
+            // MinButton
+            mainWindow.MinButton.TheButton.Click += (s, x) => SystemCommands.MinimizeWindow(mainWindow);
+
+            // MaxButton
+            mainWindow.FullscreenButton.TheButton.Click += (s, x) => Fullscreen_Restore();
+
+            // CloseButton
+            mainWindow.CloseButton.TheButton.Click += (s, x) => SystemCommands.CloseWindow(mainWindow);
+
+            // FileMenuButton
+            mainWindow.FileMenuButton.PreviewMouseLeftButtonDown += OpenMenuButtonMouseButtonDown;
+            mainWindow.FileMenuButton.MouseEnter += OpenMenuButtonMouseOver;
+            mainWindow.FileMenuButton.MouseLeave += OpenMenuButtonMouseLeave;
+            mainWindow.FileMenuButton.Click += Toggle_open_menu;
+
+            fileMenu.Open.Click += (s, x) => Open();
+            fileMenu.Open_File_Location.Click += (s, x) => Open_In_Explorer();
+            fileMenu.Print.Click += (s, x) => Print(Pics[FolderIndex]);
+            fileMenu.Save_File.Click += (s, x) => SaveFiles();
+
+            fileMenu.Open_Border.MouseLeftButtonUp += (s, x) => Open();
+            fileMenu.Open_File_Location_Border.MouseLeftButtonUp += (s, x) => Open_In_Explorer();
+            fileMenu.Print_Border.MouseLeftButtonUp += (s, x) => Print(Pics[FolderIndex]);
+            fileMenu.Save_File_Location_Border.MouseLeftButtonUp += (s, x) => SaveFiles();
+
+            fileMenu.CloseButton.Click += Close_UserControls;
+            fileMenu.PasteButton.Click += (s, x) => Paste();
+            fileMenu.CopyButton.Click += (s, x) => CopyPic();
+
+            // image_button
+            mainWindow.image_button.PreviewMouseLeftButtonDown += ImageButtonMouseButtonDown;
+            mainWindow.image_button.MouseEnter += ImageButtonMouseOver;
+            mainWindow.image_button.MouseLeave += ImageButtonMouseLeave;
+            mainWindow.image_button.Click += Toggle_image_menu;
+
+            // imageSettingsMenu Buttons
+            imageSettingsMenu.CloseButton.Click += Close_UserControls;
+            imageSettingsMenu.Rotation0Button.Click += (s, x) => Rotate(0);
+            imageSettingsMenu.Rotation90Button.Click += (s, x) => Rotate(90);
+            imageSettingsMenu.Rotation180Button.Click += (s, x) => Rotate(180);
+            imageSettingsMenu.Rotation270Button.Click += (s, x) => Rotate(270);
+            imageSettingsMenu.Rotation0Border.MouseLeftButtonUp += (s, x) => Rotate(0);
+            imageSettingsMenu.Rotation90Border.MouseLeftButtonUp += (s, x) => Rotate(90);
+            imageSettingsMenu.Rotation180Border.MouseLeftButtonUp += (s, x) => Rotate(180);
+            imageSettingsMenu.Rotation270Border.MouseLeftButtonUp += (s, x) => Rotate(270);
+            imageSettingsMenu.BgButton.Click += ChangeBackground;
+            imageSettingsMenu.GalleryButton1.Click += delegate {
+                Close_UserControls();
+                ToggleGallery.Toggle(Properties.Settings.Default.PicGallery != 1);
+            };
+            imageSettingsMenu.GalleryButton2.Click += delegate {
+                Close_UserControls();
+                ToggleGallery.Toggle(Properties.Settings.Default.PicGallery != 2);
+            };
+
+            // LeftButton
+            mainWindow.LeftButton.PreviewMouseLeftButtonDown += LeftButtonMouseButtonDown;
+            mainWindow.LeftButton.MouseEnter += LeftButtonMouseOver;
+            mainWindow.LeftButton.MouseLeave += LeftButtonMouseLeave;
+            mainWindow.LeftButton.Click += (s, x) => { LeftbuttonClicked = true; Pic(false, false); };
+
+            // RightButton
+            mainWindow.RightButton.PreviewMouseLeftButtonDown += RightButtonMouseButtonDown;
+            mainWindow.RightButton.MouseEnter += RightButtonMouseOver;
+            mainWindow.RightButton.MouseLeave += RightButtonMouseLeave;
+            mainWindow.RightButton.Click += (s, x) => { RightbuttonClicked = true; Pic(); };
+
+            // SettingsButton
+            mainWindow.SettingsButton.PreviewMouseLeftButtonDown += SettingsButtonButtonMouseButtonDown;
+            mainWindow.SettingsButton.MouseEnter += SettingsButtonButtonMouseOver;
+            mainWindow.SettingsButton.MouseLeave += SettingsButtonButtonMouseLeave;
+            mainWindow.SettingsButton.Click += (s,x) => AllSettingsWindow();
+
+            //InfoButton
+            mainWindow.InfoButton.PreviewMouseLeftButtonDown += InfoButtonMouseButtonDown;
+            mainWindow.InfoButton.MouseEnter += InfoButtonButtonMouseOver;
+            mainWindow.InfoButton.MouseLeave += InfoButtonButtonMouseLeave;
+            mainWindow.InfoButton.Click += (s, x) => HelpWindow();
+
+            // FlipButton
+            imageSettingsMenu.FlipButton.Click += (s, x) => Flip();
+
+            // ClickArrows
+            clickArrowLeft.MouseLeftButtonUp += (s, x) =>
+            {
+                clickArrowLeftClicked = true;
+                Pic(false, false);
+            };
+            clickArrowLeft.MouseEnter += Interface_MouseEnter_Negative;
+
+            clickArrowRight.MouseLeftButtonUp += (s, x) =>
+            {
+                clickArrowRightClicked = true;
+                Pic();
+            };
+            clickArrowRight.MouseEnter += Interface_MouseEnter_Negative;
+
+            // x2
+            x2.MouseLeftButtonUp += (x, xx) => SystemCommands.CloseWindow(mainWindow);
+            x2.MouseEnter += Interface_MouseEnter_Negative;
+
+            // Minus
+            minus.MouseLeftButtonUp += (s, x) => SystemCommands.MinimizeWindow(mainWindow);
+            minus.MouseEnter += Interface_MouseEnter_Negative;
+
+            // GalleryShortcut
+            galleryShortcut.MouseLeftButtonUp += (s, x) => ToggleGallery.Toggle();
+            galleryShortcut.MouseEnter += Interface_MouseEnter_Negative;
+
+            // Bar
+            mainWindow.Bar.MouseLeftButtonDown += Move;
+
+            // img
+            mainWindow.img.MouseLeftButtonDown += Zoom_img_MouseLeftButtonDown;
+            mainWindow.img.MouseLeftButtonUp += Zoom_img_MouseLeftButtonUp;
+            mainWindow.img.MouseMove += Zoom_img_MouseMove;
+            mainWindow.img.MouseWheel += Zoom_img_MouseWheel;
+
+            // bg
+            mainWindow.bg.MouseLeftButtonDown += Bg_MouseLeftButtonDown;
+            mainWindow.bg.Drop += Image_Drop;
+            mainWindow.bg.DragEnter += Image_DragEnter;
+            mainWindow.bg.DragLeave += Image_DragLeave;
+            mainWindow.bg.MouseEnter += Interface_MouseEnter;
+            mainWindow.bg.MouseMove += Interface_MouseMove;
+            mainWindow.bg.MouseLeave += Interface_MouseLeave;
+
+            // TooltipStyle
+            sexyToolTip.MouseWheel += Zoom_img_MouseWheel;
+
+            // TitleBar
+            mainWindow.TitleBar.MouseLeftButtonDown += Move;
+            mainWindow.TitleBar.MouseLeave += Restore_From_Move;
+
+            // Logobg
+            //Logobg.MouseEnter += LogoMouseOver;
+            //Logobg.MouseLeave += LogoMouseLeave;
+            //Logobg.PreviewMouseLeftButtonDown += LogoMouseButtonDown;
+
+            // Lower Bar
+            mainWindow.LowerBar.Drop += Image_Drop;
+
+            // This
+            mainWindow.Closing += Window_Closing;
+            mainWindow.StateChanged += MainWindow_StateChanged;
+            //Activated += delegate
+            //{
+            //    if (Properties.Settings.Default.PicGallery == 2)
+            //    {
+            //        fake.Focus();
+            //        Focus();
+            //    }
+            //};
+
+            //LocationChanged += MainWindow_LocationChanged;
+            Microsoft.Win32.SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
+        }
+
+        #region Changed Events
+
+        private static void MainWindow_StateChanged(object sender, EventArgs e)
+        {
+            switch (mainWindow.WindowState)
+            {
+                case WindowState.Maximized:
+                    FitToWindow = false;
+                    break;
+                case WindowState.Normal:
+                    break;
+                case WindowState.Minimized:
+                    break;
+            }
+        }
+
+        private static void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
+        {
+            // Update size when screen resulution changes
+
+            MonitorInfo = MonitorSize.GetMonitorSize();
+            TryZoomFit();
+        }
+
+        #endregion Changed Events
+
+        /// <summary>
+        /// Save settings when closing
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private static void Window_Closing(object sender, CancelEventArgs e)
+        {
+            // Close Extra windows when closing
+            if (fake != null)
+            {
+                fake.Close();
+            }
+
+            mainWindow.Hide(); // Make it feel faster
+
+            if (!Properties.Settings.Default.FitToWindow && !Properties.Settings.Default.Fullscreen)
+            {
+                Properties.Settings.Default.Top = mainWindow.Top;
+                Properties.Settings.Default.Left = mainWindow.Left;
+                Properties.Settings.Default.Height = mainWindow.Height;
+                Properties.Settings.Default.Width = mainWindow.Width;
+                Properties.Settings.Default.Maximized = mainWindow.WindowState == WindowState.Maximized;
+            }
+
+            Properties.Settings.Default.Save();
+            DeleteTempFiles();
+            RecentFiles.WriteToFile();
+            Environment.Exit(0);
+        }
+
+    }
+}

+ 13 - 2
PicView/Misc/Utilities.cs

@@ -61,12 +61,23 @@ namespace PicView
 
         internal static void UpdateColor()
         {
+            //TODO fix read only error
+
             Application.Current.Resources["ChosenColor"] = AnimationHelper.GetPrefferedColorOver();
 
             if (Properties.Settings.Default.WindowBorderColorEnabled)
             {
-                var bgBrush = Application.Current.Resources["WindowBackgroundColorBrush"] as System.Windows.Media.SolidColorBrush;
-                bgBrush.Color = AnimationHelper.GetPrefferedColorOver();
+                try
+                {
+                    var bgBrush = Application.Current.Resources["WindowBackgroundColorBrush"] as System.Windows.Media.SolidColorBrush;
+                    bgBrush.Color = AnimationHelper.GetPrefferedColorOver();
+                }
+                catch (System.Exception)
+                {
+
+                    //throw;
+                }
+
             }
         }
 

+ 6 - 1
PicView/Navigation/Preloader.cs

@@ -98,6 +98,12 @@ namespace PicView.PreLoading
                 {
                     Add(Pics[i]);
                 }
+#if DEBUG
+                else
+                {
+                    Trace.WriteLine("Skipped at index " + i);
+                }
+#endif
             }
             else
             {
@@ -174,7 +180,6 @@ namespace PicView.PreLoading
 #else
             Sources.TryRemove(key, out _);
 #endif
-            //GC.Collect(); // Need to force this, else too high memory usage?
         }
 
         /// <summary>

+ 6 - 6
PicView/PicGallery/ToggleGallery.cs

@@ -76,7 +76,7 @@ namespace PicView
 
         #region Open
 
-        static void OpenPicGalleryOne()
+        internal static void OpenPicGalleryOne()
         {
             LoadLayout();
 
@@ -99,7 +99,7 @@ namespace PicView
             galleryShortcut.Visibility = Visibility.Hidden;
         }
 
-        static void OpenPicGalleryTwo()
+        internal static void OpenPicGalleryTwo()
         {
             LoadLayout();
 
@@ -128,7 +128,7 @@ namespace PicView
 
         #region Close
 
-        static void ClosePicGalleryOne()
+        internal static void ClosePicGalleryOne()
         {
             IsOpen = false;
 
@@ -154,7 +154,7 @@ namespace PicView
             picGallery.BeginAnimation(UIElement.OpacityProperty, da);
         }
 
-        static void ClosePicGalleryTwo()
+        internal static void ClosePicGalleryTwo()
         {
             IsOpen = false;
             fake.Hide();
@@ -174,7 +174,7 @@ namespace PicView
 
         #region Change
 
-        static void ChangeToPicGalleryOne()
+        internal static void ChangeToPicGalleryOne()
         {
             Properties.Settings.Default.PicGallery = 1;
             LoadLayout();
@@ -188,7 +188,7 @@ namespace PicView
             fake.Hide();
         }
 
-        static void ChangeToPicGalleryTwo()
+        internal static void ChangeToPicGalleryTwo()
         {
             Properties.Settings.Default.PicGallery = 2;
             LoadLayout();

+ 21 - 1
PicView/PicVIew.csproj

@@ -154,6 +154,15 @@
       <AutoGen>True</AutoGen>
       <DependentUpon>Settings.settings</DependentUpon>
     </Compile>
+    <Compile Update="UserControls\Buttons\FullscreenButton.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Update="UserControls\Buttons\MinButton.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Update="UserControls\Buttons\CloseButton.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
   </ItemGroup>
   <ItemGroup>
     <None Update="Properties\Settings.settings">
@@ -161,10 +170,21 @@
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
     </None>
   </ItemGroup>
+  <ItemGroup>
+    <Page Update="UserControls\Buttons\FullscreenButton.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="UserControls\Buttons\MinButton.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="UserControls\Buttons\CloseButton.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+  </ItemGroup>
   <PropertyGroup>
     <PostBuildEvent>
     </PostBuildEvent>
-    <FileVersion>0.9.7.1</FileVersion>
+    <FileVersion>0.9.7.5</FileVersion>
     <SignAssembly>false</SignAssembly>
   </PropertyGroup>
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

+ 0 - 0
PicView/UserControls/CustomControls/ClickArrow.xaml → PicView/UserControls/Buttons/ClickArrow.xaml


+ 0 - 0
PicView/UserControls/CustomControls/ClickArrow.xaml.cs → PicView/UserControls/Buttons/ClickArrow.xaml.cs


+ 26 - 0
PicView/UserControls/Buttons/CloseButton.xaml

@@ -0,0 +1,26 @@
+<UserControl
+    x:Class="PicView.UserControls.CloseButton"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <Button
+        x:Name="TheButton"
+        Width="33"
+        Height="33"
+        VerticalAlignment="Center"
+        BorderThickness="0"
+        DockPanel.Dock="Right"
+        FocusVisualStyle="{x:Null}"
+        Focusable="False"
+        ToolTip="Close">
+        <Button.Background>
+            <SolidColorBrush x:Name="CloseButtonBrush" />
+        </Button.Background>
+        <Path
+            Width="10"
+            Height="10"
+            Data="M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4  L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1  c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1  c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z"
+            Fill="{StaticResource MainColorBrush}"
+            SnapsToDevicePixels="True"
+            Stretch="Fill" />
+    </Button>
+</UserControl>

+ 22 - 0
PicView/UserControls/Buttons/CloseButton.xaml.cs

@@ -0,0 +1,22 @@
+using System.Windows.Controls;
+using static PicView.MouseOverAnimations;
+
+namespace PicView.UserControls
+{
+    public partial class CloseButton : UserControl
+    {
+        public CloseButton()
+        {
+            InitializeComponent();
+
+            Loaded += delegate
+            {
+                PreviewMouseLeftButtonDown += (s, x) => ButtonMouseButtonDown(CloseButtonBrush);
+                MouseEnter += (s, x) => ButtonMouseOver(CloseButtonBrush);
+                MouseLeave += (s, x) => ButtonMouseLeave(CloseButtonBrush);
+            };
+
+
+        }
+    }
+}

+ 27 - 0
PicView/UserControls/Buttons/FullscreenButton.xaml

@@ -0,0 +1,27 @@
+<UserControl
+    x:Class="PicView.UserControls.FullscreenButton"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <Button
+        x:Name="TheButton"
+        Width="33"
+        Height="33"
+        VerticalAlignment="Center"
+        BorderThickness="0"
+        DockPanel.Dock="Right"
+        FocusVisualStyle="{x:Null}"
+        Focusable="False"
+        ToolTip="Fullscreen">
+        <Button.Background>
+            <SolidColorBrush x:Name="FullscreenButtonBrush" />
+        </Button.Background>
+        <Path
+            x:Name="MaxButtonPath"
+            Width="12"
+            Height="12"
+            Data="M405.34 405.332H106.66V106.668H240V64H106.66C83.191 64 64 83.197 64 106.668v298.664C64 428.803 83.191 448 106.66 448h298.68c23.469 0 42.66-19.197 42.66-42.668V272h-42.66v133.332zM288 64v42.668h87.474L159.999 322.133l29.866 29.866 215.476-215.47V224H448V64H288z"
+            Fill="{StaticResource MainColorBrush}"
+            SnapsToDevicePixels="True"
+            Stretch="Fill" />
+    </Button>
+</UserControl>

+ 20 - 0
PicView/UserControls/Buttons/FullscreenButton.xaml.cs

@@ -0,0 +1,20 @@
+using System.Windows.Controls;
+using static PicView.MouseOverAnimations;
+
+namespace PicView.UserControls
+{
+    public partial class FullscreenButton : UserControl
+    {
+        public FullscreenButton()
+        {
+            InitializeComponent();
+
+            Loaded += delegate
+            {
+                PreviewMouseLeftButtonDown += (s, x) => ButtonMouseButtonDown(FullscreenButtonBrush);
+                MouseEnter += (s, x) => ButtonMouseOver(FullscreenButtonBrush);
+                MouseLeave += (s, x) => ButtonMouseLeave(FullscreenButtonBrush);
+            };
+        }
+    }
+}

+ 0 - 0
PicView/UserControls/CustomControls/GalleryShortcut.xaml → PicView/UserControls/Buttons/GalleryShortcut.xaml


+ 0 - 0
PicView/UserControls/CustomControls/GalleryShortcut.xaml.cs → PicView/UserControls/Buttons/GalleryShortcut.xaml.cs


+ 45 - 0
PicView/UserControls/Buttons/Logo.xaml

@@ -0,0 +1,45 @@
+<UserControl
+    x:Class="PicView.UserControls.Logo"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <Canvas
+        x:Name="Logobg"
+        Width="90"
+        DockPanel.Dock="Left">
+        <Path Margin="7,0,0,0" Data="M2.968,11.236H9.9c3.511,0,5.239,1.008,5.239,4.267c0,3.259-1.963,4.429-5.708,4.429h-1.53v3.907H2.968V11.236z    M7.901,13.721v3.655h0.99c0.486-0.054,1.513-0.45,1.513-1.657c0-1.62-0.612-1.908-1.314-1.999H7.901z">
+            <Path.Fill>
+                <SolidColorBrush x:Name="pBrush" Color="{StaticResource MainColor}" />
+            </Path.Fill>
+        </Path>
+        <Path Margin="7,0,0,0" Data="M15.819,10.336h5.113v3.079h-5.113V10.336z M20.843,23.84h-4.934v-9.003h4.934V23.84z">
+            <Path.Fill>
+                <SolidColorBrush x:Name="iBrush" Color="{StaticResource MainColor}" />
+            </Path.Fill>
+        </Path>
+        <Path Margin="7,0,0,0" Data="M30.654,23.804c-0.937,0.126-1.423,0.18-2.071,0.18c-3.042,0-7.058-0.342-7.058-4.646c0-3.601,3.205-4.645,6.122-4.645   c1.098,0,2.143,0.144,2.971,0.36v2.503c-0.468-0.18-0.937-0.252-1.387-0.252c-1.53,0-2.755,0.937-2.755,2.035   c0,1.333,1.08,1.891,2.899,1.891c0.342,0,0.576-0.036,1.278-0.108V23.804z">
+            <Path.Fill>
+                <SolidColorBrush x:Name="cBrush" Color="{StaticResource MainColor}" />
+            </Path.Fill>
+        </Path>
+        <Path Margin="7,0,0,0" Data="M42.444,23.84h-7.04l-4.429-12.604h4.933l3.008,8.588l3.024-8.588h4.934L42.444,23.84z">
+            <Path.Fill>
+                <SolidColorBrush x:Name="vBrush" Color="{StaticResource MainColor}" />
+            </Path.Fill>
+        </Path>
+        <Path Margin="7,0,0,0" Data="M47.283,10.336h5.113v3.079h-5.113V10.336z M52.307,23.84h-4.934v-9.003h4.934V23.84z">
+            <Path.Fill>
+                <SolidColorBrush x:Name="iiBrush" Color="{StaticResource MainColor}" />
+            </Path.Fill>
+        </Path>
+        <Path Margin="7,0,0,0" Data="M62.946,23.336c-1.188,0.306-3.043,0.648-4.682,0.648c-1.746,0-5.275-0.954-5.275-4.646c0-3.853,3.151-4.681,5.672-4.681   c2.503,0,4.789,0.918,4.789,4.375v1.458h-5.905c0,0.774,1.08,1.081,1.836,1.081c1.404,0,3.259-0.378,3.565-0.486V23.336z    M57.545,18.528h1.836c-0.054-0.558-0.27-1.152-0.9-1.152C58.049,17.376,57.563,17.412,57.545,18.528z">
+            <Path.Fill>
+                <SolidColorBrush x:Name="eBrush" Color="{StaticResource MainColor}" />
+            </Path.Fill>
+        </Path>
+        <Path Margin="7,0,0,0" Data="M66.49,23.84l-3.276-9.003h4.573l1.152,5.348l1.765-5.348h3.528l1.783,5.348l1.134-5.348h4.573l-3.295,9.003h-4.861   l-1.116-4.717l-1.099,4.717H66.49z">
+            <Path.Fill>
+                <SolidColorBrush x:Name="wBrush" Color="{StaticResource MainColor}" />
+            </Path.Fill>
+        </Path>
+    </Canvas>
+</UserControl>

+ 15 - 0
PicView/UserControls/Buttons/Logo.xaml.cs

@@ -0,0 +1,15 @@
+using System.Windows.Controls;
+
+namespace PicView.UserControls
+{
+    /// <summary>
+    /// Interaction logic for Logo.xaml
+    /// </summary>
+    public partial class Logo : UserControl
+    {
+        public Logo()
+        {
+            InitializeComponent();
+        }
+    }
+}

+ 24 - 0
PicView/UserControls/Buttons/MinButton.xaml

@@ -0,0 +1,24 @@
+<UserControl
+    x:Class="PicView.UserControls.MinButton"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <Button
+        x:Name="TheButton"
+        Width="33"
+        Height="33"
+        Margin="5,0,0,0"
+        VerticalAlignment="Center"
+        BorderThickness="0"
+        DockPanel.Dock="Right"
+        FocusVisualStyle="{x:Null}"
+        Focusable="False"
+        ToolTip="Minimize">
+        <Button.Background>
+            <SolidColorBrush x:Name="MinButtonBrush" />
+        </Button.Background>
+        <Path
+            Data="F1M0,6L0,9 9,9 9,6 0,6z"
+            Fill="{StaticResource MainColorBrush}"
+            SnapsToDevicePixels="True" />
+    </Button>
+</UserControl>

+ 22 - 0
PicView/UserControls/Buttons/MinButton.xaml.cs

@@ -0,0 +1,22 @@
+using System.Windows.Controls;
+using static PicView.MouseOverAnimations;
+
+namespace PicView.UserControls
+{
+    public partial class MinButton : UserControl
+    {
+        public MinButton()
+        {
+            InitializeComponent();
+
+            Loaded += delegate
+            {
+                PreviewMouseLeftButtonDown += (s, x) => ButtonMouseButtonDown(MinButtonBrush);
+                MouseEnter += (s, x) => ButtonMouseOver(MinButtonBrush);
+                MouseLeave += (s, x) => ButtonMouseLeave(MinButtonBrush);
+            };
+
+
+        }
+    }
+}

+ 0 - 0
PicView/UserControls/CustomControls/Minus.xaml → PicView/UserControls/Buttons/Minus.xaml


+ 0 - 0
PicView/UserControls/CustomControls/Minus.xaml.cs → PicView/UserControls/Buttons/Minus.xaml.cs


+ 0 - 0
PicView/UserControls/CustomControls/X2.xaml → PicView/UserControls/Buttons/X2.xaml


+ 0 - 0
PicView/UserControls/CustomControls/X2.xaml.cs → PicView/UserControls/Buttons/X2.xaml.cs


+ 0 - 0
PicView/UserControls/CustomControls/PicGallery.xaml → PicView/UserControls/Gallery/PicGallery.xaml


+ 0 - 0
PicView/UserControls/CustomControls/PicGallery.xaml.cs → PicView/UserControls/Gallery/PicGallery.xaml.cs


+ 0 - 0
PicView/UserControls/CustomControls/PicGalleryItem.xaml → PicView/UserControls/Gallery/PicGalleryItem.xaml


+ 0 - 0
PicView/UserControls/CustomControls/PicGalleryItem.xaml.cs → PicView/UserControls/Gallery/PicGalleryItem.xaml.cs


+ 0 - 315
PicView/UserControls/Menus/FunctionsMenu.xaml

@@ -1,315 +0,0 @@
-<UserControl
-    x:Class="PicView.UserControls.Menus.FunctionsMenu"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    Foreground="{StaticResource MainColorBrush}">
-    <StackPanel>
-        <Border
-            Width="350"
-            Height="170"
-            Margin="-5,0,0,0"
-            Background="{DynamicResource BackgroundColorBrush}"
-            BorderBrush="{StaticResource BorderBrush}"
-            BorderThickness="1"
-            CornerRadius="2">
-            <Canvas>
-                <Canvas Height="51" VerticalAlignment="Top">
-                    <Rectangle
-                        Canvas.Top="50"
-                        Width="348"
-                        Panel.ZIndex="1"
-                        Stroke="{StaticResource BorderBrush}"
-                        StrokeThickness="1" />
-                    <Rectangle
-                        Canvas.Left="135"
-                        Width="1"
-                        Height="51"
-                        Panel.ZIndex="1"
-                        Stroke="{StaticResource BorderBrush}"
-                        StrokeThickness="1" />
-                    <Rectangle
-                        Canvas.Left="216"
-                        Width="1"
-                        Height="51"
-                        Panel.ZIndex="1"
-                        Stroke="{DynamicResource BorderBrush}"
-                        StrokeThickness="1" />
-                    <Rectangle
-                        Canvas.Left="296"
-                        Width="1"
-                        Height="50"
-                        Panel.ZIndex="1"
-                        Stroke="{StaticResource BorderBrush}"
-                        StrokeThickness="1" />
-                    <TextBlock
-                        x:Name="bar"
-                        Canvas.Left="15"
-                        Canvas.Top="15"
-                        FontFamily="/PicView;component/Resources/fonts/#TeX Gyre Heros"
-                        FontSize="16"
-                        FontWeight="Bold"
-                        Text="All Functions" />
-                    <Button
-                        x:Name="About"
-                        Canvas.Left="136"
-                        Width="80"
-                        Height="51"
-                        Margin="0"
-                        Padding="0"
-                        BorderThickness="0"
-                        ToolTip="Show About window">
-                        <Button.Background>
-                            <SolidColorBrush x:Name="AboutBrush" Color="{StaticResource BackgroundColorAlt}" />
-                        </Button.Background>
-                        <Canvas>
-                            <Path
-                                Canvas.Left="-26"
-                                Canvas.Top="-8"
-                                Width="9"
-                                Height="13"
-                                Data="M1216 1344v128q0 26-19 42t-42 19h-512q-26 0-42-19t-19-42v-128q0-26 19-42t42-19h64v-384h-64q-26 0-42-19t-19-42v-128q0-26 19-42t42-19h384q26 0 42 19t19 42v576h64q26 0 42 19t19 42zm-128-1152v192q0 26-19 42t-42 19h-256q-26 0-42-19t-19-42v-192q0-26 19-42t42-19h256q26 0 42 19t19 42z"
-                                Fill="{StaticResource MainColorBrush}"
-                                Stretch="Fill" />
-                            <TextBlock
-                                Canvas.Left="-8"
-                                Canvas.Top="-8"
-                                FontWeight="Bold">
-                                About
-                            </TextBlock>
-                        </Canvas>
-                    </Button>
-                    <Button
-                        x:Name="Help"
-                        Canvas.Left="217"
-                        Width="80"
-                        Height="51"
-                        Margin="0"
-                        Padding="0"
-                        BorderThickness="0"
-                        ToolTip="Show Help window">
-                        <Button.Background>
-                            <SolidColorBrush x:Name="HelpBrush" Color="{StaticResource BackgroundColorAlt}" />
-                        </Button.Background>
-                        <Canvas>
-                            <Path
-                                Canvas.Left="-27"
-                                Canvas.Top="-8"
-                                Width="13"
-                                Height="13"
-                                Data="M1088 1256v240q0 16-12 28t-28 12h-240q-16 0-28-12t-12-28v-240q0-16 12-28t28-12h240q16 0 28 12t12 28zm316-600q0 54-15.5 101t-35 76.5-55 59.5-57.5 43.5-61 35.5q-41 23-68.5 65t-27.5 67q0 17-12 32.5t-28 15.5h-240q-15 0-25.5-18.5t-10.5-37.5v-42q0-83 65-156.5t143-108.5q59-27 84-56t25-76q0-42-46.5-74t-107.5-32q-65 0-108 29-35 25-107 115-13 16-31 16-12 0-25-8l-164-125q-13-10-15.5-25t5.5-28q160-266 464-266 80 0 161 31t146 83 106 127.5 41 158.5z"
-                                Fill="{StaticResource MainColorBrush}"
-                                Stretch="Fill" />
-                            <TextBlock
-                                Canvas.Left="-6"
-                                Canvas.Top="-8"
-                                FontWeight="Bold">
-                                Help
-                            </TextBlock>
-                        </Canvas>
-                    </Button>
-                    <Button
-                        x:Name="CloseButton"
-                        Canvas.Left="297"
-                        Width="51"
-                        Height="51"
-                        BorderThickness="0"
-                        FocusVisualStyle="{x:Null}"
-                        ToolTip="Close">
-                        <Button.Background>
-                            <SolidColorBrush x:Name="CloseButtonBrush" Color="{StaticResource BackgroundColorAlt}" />
-                        </Button.Background>
-                        <Path
-                            Width="10"
-                            Height="10"
-                            Data="M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4  L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1  c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1  c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z"
-                            Fill="{StaticResource MainColorBrush}"
-                            SnapsToDevicePixels="True"
-                            Stretch="Fill" />
-                    </Button>
-                </Canvas>
-                <WrapPanel
-                    Canvas.Left="11"
-                    Canvas.Top="61"
-                    Width="339"
-                    Height="97"
-                    VerticalAlignment="Top">
-                    <Button
-                        x:Name="DeleteButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,5,5"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Send image to the recycle bin [Delete]">
-                        <Path
-                            Width="30"
-                            Height="30"
-                            Data="M836 1169l-15 368-2 22-420-29q-36-3-67-31.5t-47-65.5q-11-27-14.5-55t4-65 12-55 21.5-64 19-53q78 12 509 28zm-387-586l180 379-147-92q-63 72-111.5 144.5t-72.5 125-39.5 94.5-18.5 63l-4 21-190-357q-17-26-18-56t6-47l8-18q35-63 114-188l-140-86zm1231 517l-188 359q-12 29-36.5 46.5t-43.5 20.5l-18 4q-71 7-219 12l8 164-230-367 211-362 7 173q170 16 283 5t170-33zm-785-924q-47 63-265 435l-317-187-19-12 225-356q20-31 60-42t80-10q24 2 48.5 12t42 21 41.5 33 36 34.5 36 39.5 32 35zm655 307l212 363q18 37 12.5 76t-27.5 74q-13 20-33 37t-38 28-48.5 22-47 16-51.5 14-46 12q-34-72-265-436l313-195zm-143-226l142-83-220 373-419-20 151-86q-34-89-75-166t-75.5-123.5-64.5-80-47-46.5l-17-13 405 1q31-3 58 10.5t39 28.5l11 15q39 61 112 190z"
-                            Stretch="Fill">
-                            <Path.Fill>
-                                <SolidColorBrush x:Name="DeleteBrush" Color="{StaticResource MainColor}" />
-                            </Path.Fill>
-                        </Path>
-                    </Button>
-                    <Button
-                        x:Name="DeletePermButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,5,5"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Permanently delete image [Shift + Delete]">
-                        <Path
-                            Width="30"
-                            Height="30"
-                            Data="M4 0c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 1c.66 0 1.26.21 1.75.56l-4.19 4.19c-.35-.49-.56-1.09-.56-1.75 0-1.66 1.34-3 3-3zm2.44 1.25c.35.49.56 1.09.56 1.75 0 1.66-1.34 3-3 3-.66 0-1.26-.21-1.75-.56l4.19-4.19z"
-                            Stretch="Fill">
-                            <Path.Fill>
-                                <SolidColorBrush x:Name="DeletePermBrush" Color="{StaticResource MainColor}" />
-                            </Path.Fill>
-                        </Path>
-                    </Button>
-
-                    <Button
-                        x:Name="ResetZoomButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,5,5"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Reset zoom value [Double click image]">
-                        <Path
-                            Width="30"
-                            Height="30"
-                            Data="M337.509,305.372h-17.501l-6.571-5.486c20.791-25.232,33.922-57.054,33.922-93.257      C347.358,127.632,283.896,64,205.135,64C127.422,64,64,127.632,64,206.629s63.422,142.628,142.225,142.628      c35.011,0,67.831-13.167,92.991-34.008l6.561,5.487v17.551L415.18,448L448,415.086L337.509,305.372z M206.225,305.372      c-54.702,0-98.463-43.887-98.463-98.743c0-54.858,43.761-98.742,98.463-98.742c54.7,0,98.462,43.884,98.462,98.742      C304.687,261.485,260.925,305.372,206.225,305.372z"
-                            Stretch="Fill">
-                            <Path.Fill>
-                                <SolidColorBrush x:Name="ResetZoomBrush" Color="{StaticResource MainColor}" />
-                            </Path.Fill>
-                        </Path>
-                    </Button>
-
-                    <Button
-                        x:Name="ClearButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,5,5"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Clear image">
-                        <Path
-                            Width="30"
-                            Height="30"
-                            Data="M1277 1122q0-26-19-42l-181-181 181-181q19-19 19-42 0-27-19-46l-90-90q-19-19-46-19-26 0-42 19l-181 181-181-181q-19-19-42-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 42l181 181-181 181q-19 19-19 42 0 27 19 46l90 90q19 19 46 19 26 0 42-19l181-181 181 181q19 19 42 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"
-                            Stretch="Fill">
-                            <Path.Fill>
-                                <SolidColorBrush x:Name="ClearBrush" Color="{StaticResource MainColor}" />
-                            </Path.Fill>
-                        </Path>
-                    </Button>
-                    <Button
-                        x:Name="ReloadButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,5,5"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Reload image [Ctrl + R]">
-                        <Path
-                            Width="30"
-                            Height="30"
-                            Data="M416,352l96-111.9h-64.7c-2.3-27.9-10.5-54-23.5-77.3c-27.4-49.2-75.8-85.1-133-95.6c-0.7-0.1-1.5-0.3-2.2-0.4  c-0.5-0.1-0.9-0.2-1.4-0.2C277.1,64.9,266.6,64,256,64c-0.1,0-0.3,0-0.4,0c0,0,0,0,0,0c-90.9,0.2-167,63.6-186.7,148.6  c0,0,0,0.1,0,0.1c-0.3,1.1-0.5,2.2-0.7,3.3c-0.1,0.5-0.2,0.9-0.3,1.4c-0.1,0.7-0.3,1.4-0.4,2.1c-0.2,0.9-0.3,1.7-0.5,2.6  c-0.1,0.4-0.1,0.7-0.2,1.1c-0.2,1.2-0.4,2.4-0.6,3.6c0,0.1,0,0.1,0,0.2c-1,6.3-1.6,12.7-1.9,19.1c0,0.3,0,0.6,0,0.8  c-0.1,1.4-0.1,2.7-0.2,4.1c0,1.6-0.1,3.3-0.1,5c0,1.7,0,3.3,0.1,5c0,1.4,0.1,2.7,0.2,4.1c0,0.3,0,0.6,0,0.9c0.3,6.5,1,12.9,1.9,19.1  c0,0.1,0,0.1,0,0.2c0.2,1.2,0.4,2.4,0.6,3.6c0.1,0.4,0.1,0.7,0.2,1.1c0.2,0.9,0.3,1.8,0.5,2.6c0.1,0.7,0.3,1.4,0.4,2.1  c0.1,0.5,0.2,1,0.3,1.4c0.2,1.1,0.5,2.2,0.7,3.2c0,0,0,0.1,0,0.1c19.7,85,96.1,148.4,187.1,148.6c42.9-0.1,83.1-14.2,116.9-40.7  l7.5-5.9l-43.2-46.2l-6.2,4.6c-22.1,16.3-47.5,24.2-75,24.2c-70.6,0-128-57-128-128c0-71,57.4-128,128-128  c66.4,0,122.8,46.6,129.5,112H312L416,352z"
-                            Stretch="Fill">
-                            <Path.Fill>
-                                <SolidColorBrush x:Name="ReloadBrush" Color="{StaticResource MainColor}" />
-                            </Path.Fill>
-                        </Path>
-                    </Button>
-
-                    <Button
-                        x:Name="FileDetailsButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,5,5"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Show file details [Ctrl + I]">
-                        <Canvas>
-                            <Path
-                                Canvas.Left="-13"
-                                Canvas.Top="-15"
-                                Width="28"
-                                Height="30"
-                                Data="M398.6,169.2c-0.9-2.2-2-4.3-3.5-6.1l-83.8-91.7c-1.9-2.1-4.2-3.6-6.7-4.9c-2.9-1.5-6.1-2.1-9.5-2.1H135.2   c-12.4,0-22.7,10.6-22.7,23.9v335.2c0,13.4,10.3,24.9,22.7,24.9h243.1c12.4,0,22.2-11.5,22.2-24.9V179.4   C400.5,175.8,400,172.3,398.6,169.2z M160.5,178.6c0-1.5,1.8-2.1,3.4-2.1h70.8c1.6,0,2.8,0.6,2.8,2.1v10.8c0,1.4-1.1,3.1-2.8,3.1   h-70.8c-1.6,0-3.4-1.7-3.4-3.1V178.6z M160.5,306.6c0-1.5,1.8-2.1,3.4-2.1h122.2c1.6,0,2.4,0.6,2.4,2.1v10.8c0,1.4-0.7,3.1-2.4,3.1   H163.9c-1.6,0-3.4-1.7-3.4-3.1V306.6z M320.5,381.4c0,1.4-0.7,3.1-2.4,3.1H163.9c-1.6,0-3.4-1.7-3.4-3.1v-10.8   c0-1.5,1.8-2.1,3.4-2.1h154.2c1.6,0,2.4,0.6,2.4,2.1V381.4z M352.5,253.4c0,1.4-0.7,3.1-2.4,3.1H163.9c-1.6,0-3.4-1.7-3.4-3.1   v-10.8c0-1.5,1.8-2.1,3.4-2.1h186.2c1.6,0,2.4,0.6,2.4,2.1V253.4z M305.6,177.5c-5.6,0-11.1-5.2-11.1-11.3v-66l71.2,77.3H305.6"
-                                Stretch="Fill">
-                                <Path.Fill>
-                                    <SolidColorBrush x:Name="FileDetailsBrush" Color="{StaticResource MainColor}" />
-                                </Path.Fill>
-                            </Path>
-                            <Path
-                                Canvas.Left="-4"
-                                Canvas.Top="0"
-                                Width="13"
-                                Height="13"
-                                Data="M442,386.7l-84.8-85.9c13.8-24.1,21-50.9,21-77.9c0-87.6-71.2-158.9-158.6-158.9C135.2,64,64,135.3,64,222.9  c0,87.6,71.2,158.9,158.6,158.9c27.9,0,55.5-7.7,80.1-22.4l84.4,85.6c1.9,1.9,4.6,3.1,7.3,3.1c2.7,0,5.4-1.1,7.3-3.1l43.3-43.8  C449,397.1,449,390.7,442,386.7z M222.6,125.9c53.4,0,96.8,43.5,96.8,97c0,53.5-43.4,97-96.8,97c-53.4,0-96.8-43.5-96.8-97  C125.8,169.4,169.2,125.9,222.6,125.9z"
-                                Fill="{StaticResource BackgroundColorBrush}"
-                                Stretch="Fill" />
-                        </Canvas>
-                    </Button>
-
-                    <Button
-                        x:Name="SlideshowButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,5,5"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Start Slideshow [F11]">
-                        <Canvas>
-                            <Path
-                                Canvas.Left="-13"
-                                Canvas.Top="-15"
-                                Width="28"
-                                Height="30"
-                                Data="M20 16v16l10-8-10-8zm18-10h-28c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-28v-28h28v28z"
-                                Stretch="Fill">
-                                <Path.Fill>
-                                    <SolidColorBrush x:Name="SlideshowsBrush" Color="{StaticResource MainColor}" />
-                                </Path.Fill>
-                            </Path>
-                        </Canvas>
-                    </Button>
-
-                    <Button
-                        x:Name="BgButton"
-                        Width="42"
-                        Height="42"
-                        Margin="0,0,4,0"
-                        Style="{StaticResource MetroAlphaFlatButton}"
-                        ToolTip="Change between white and transparent background for images">
-                        <Canvas>
-                            <Path
-                                Canvas.Left="-13"
-                                Canvas.Top="-15"
-                                Width="28"
-                                Height="30"
-                                Data="M424 64H88c-26.6 0-48 21.6-48 48v288c0 26.4 21.4 48 48 48h336c26.4 0 48-21.6 48-48V112c0-26.4-21.4-48-48-48zm0 336H88V176h336v224z"
-                                Stretch="Fill">
-                                <Path.Fill>
-                                    <SolidColorBrush x:Name="BgBrush" Color="{StaticResource MainColor}" />
-                                </Path.Fill>
-                            </Path>
-                        </Canvas>
-                    </Button>
-
-                </WrapPanel>
-            </Canvas>
-        </Border>
-        <Rectangle
-            Width="23"
-            Height="2"
-            Margin="308,-2,0,0"
-            HorizontalAlignment="Left"
-            Fill="{StaticResource BackgroundColorBrush}" />
-        <Polygon
-            Margin="305,-7,0,0"
-            Panel.ZIndex="-1"
-            Fill="{StaticResource BackgroundColorBrush}"
-            Points="0,0 15,30, 30,0"
-            Stroke="{StaticResource BorderBrush}" />
-    </StackPanel>
-</UserControl>
-

+ 0 - 387
PicView/UserControls/Menus/FunctionsMenu.xaml.cs

@@ -1,387 +0,0 @@
-using System.Windows.Controls;
-using System.Windows.Input;
-using static PicView.Fields;
-
-namespace PicView.UserControls.Menus
-{
-    /// <summary>
-    /// Menu to open functions
-    /// </summary>
-    public partial class FunctionsMenu : UserControl
-    {
-        public FunctionsMenu()
-        {
-            InitializeComponent();
-
-            //CloseButton
-            CloseButton.MouseEnter += CloseButtonMouseOver;
-            CloseButton.MouseLeave += CloseButtonMouseLeave;
-            CloseButton.PreviewMouseLeftButtonDown += CloseButtonMouseButtonDown;
-
-            // FileDetailsButton
-            FileDetailsButton.MouseEnter += FileDetailsButtonMouseOver;
-            FileDetailsButton.MouseLeave += FileDetailsButtonMouseLeave;
-            FileDetailsButton.PreviewMouseLeftButtonDown += FileDetailsButtonMouseButtonDown;
-
-            //HelpButton
-            Help.MouseEnter += HelpButtonMouseOver;
-            Help.MouseLeave += HelpButtonMouseLeave;
-            Help.PreviewMouseLeftButtonDown += HelpButtonMouseButtonDown;
-
-            //AboutButton
-            About.MouseEnter += AboutButtonMouseOver;
-            About.MouseLeave += AboutButtonMouseLeave;
-            About.PreviewMouseLeftButtonDown += AboutButtonMouseButtonDown;
-
-            // ClearButton
-            ClearButton.MouseEnter += ClearButtonMouseOver;
-            ClearButton.MouseLeave += ClearButtonMouseLeave;
-            ClearButton.PreviewMouseLeftButtonDown += ClearButtonMouseButtonDown;
-
-            // DeleteButton
-            DeleteButton.MouseEnter += DeleteButtonMouseOver;
-            DeleteButton.MouseLeave += DeleteButtonMouseLeave;
-            DeleteButton.PreviewMouseLeftButtonDown += DeleteButtonMouseButtonDown;
-
-            //DeletePermButton
-            DeletePermButton.MouseEnter += DeletePermButtonMouseOver;
-            DeletePermButton.MouseLeave += DeleteButtonMousePermLeave;
-            DeletePermButton.PreviewMouseLeftButtonDown += DeleteButtonMousePermButtonDown;
-
-            // ReloadButton
-            ReloadButton.MouseEnter += ReloadButtonMouseOver;
-            ReloadButton.MouseLeave += ReloadButtonMouseLeave;
-            ReloadButton.PreviewMouseLeftButtonDown += ReloadButtonMouseButtonDown;
-
-            // ResetZoomButton
-            ResetZoomButton.MouseEnter += ResetZoomButtonMouseOver;
-            ResetZoomButton.MouseLeave += ResetZoomButtonMouseLeave;
-            ResetZoomButton.PreviewMouseLeftButtonDown += ResetZoomButtonMouseButtonDown;
-
-            //SlideshowButton
-            SlideshowButton.MouseEnter += SlideshowButtonMouseOver;
-            SlideshowButton.MouseLeave += SlideshowButtonMouseLeave;
-            SlideshowButton.PreviewMouseLeftButtonDown += SlideshowButtonMouseButtonDown;
-
-            //SlideshowButton
-            BgButton.MouseEnter += BgButtonMouseOver;
-            BgButton.MouseLeave += BgButtonMouseLeave;
-            BgButton.PreviewMouseLeftButtonDown += BgButtonMouseButtonDown;
-
-        }
-
-        #region Mouseover Events
-
-        // Close Button
-        private void CloseButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, CloseButtonBrush, false);
-        }
-
-        private void CloseButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CloseButtonBrush, false);
-        }
-
-        private void CloseButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                CloseButtonBrush,
-                false
-            );
-        }
-
-        //Help Button
-        private void HelpButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, HelpBrush, false);
-        }
-
-        private void HelpButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(HelpBrush, false);
-        }
-
-        private void HelpButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                HelpBrush,
-                false
-            );
-        }
-
-        // About Button
-        private void AboutButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, AboutBrush, false);
-        }
-        private void AboutButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(AboutBrush, false);
-        }
-
-        private void AboutButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                AboutBrush,
-                false
-            );
-        }
-
-        // Reload Button
-        private void ReloadButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                ReloadBrush,
-                false
-            );
-        }
-
-        private void ReloadButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(ReloadBrush, false);
-        }
-
-        private void ReloadButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                ReloadBrush,
-                false
-            );
-        }
-
-        // ResetZoom Button
-        private void ResetZoomButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                ResetZoomBrush,
-                false
-            );
-        }
-
-        private void ResetZoomButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(ResetZoomBrush, false);
-        }
-
-        private void ResetZoomButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                ResetZoomBrush,
-                false
-            );
-        }
-
-        // Clear Button
-        private void ClearButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                ClearBrush,
-                false
-            );
-        }
-
-        private void ClearButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(ClearBrush, false);
-        }
-
-        private void ClearButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                ClearBrush,
-                false
-            );
-        }
-
-        // Delete Button
-        private void DeleteButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                DeleteBrush,
-                false
-            );
-        }
-
-        private void DeleteButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(DeleteBrush, false);
-        }
-
-        private void DeleteButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                DeleteBrush,
-                false
-            );
-        }
-
-
-        // Delete Permanent Button
-        private void DeletePermButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                DeletePermBrush,
-                false
-            );
-        }
-
-        private void DeleteButtonMousePermButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(DeletePermBrush, false);
-        }
-
-        private void DeleteButtonMousePermLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                DeletePermBrush,
-                false
-            );
-        }
-
-        //ToolsWindow Button
-
-        // File Details Button
-        private void FileDetailsButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                FileDetailsBrush,
-                false
-            );
-        }
-
-        private void FileDetailsButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(FileDetailsBrush, false);
-        }
-
-        private void FileDetailsButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                FileDetailsBrush,
-                false
-            );
-        }
-
-        //Slideshow Button
-        private void SlideshowButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                SlideshowsBrush,
-                false
-            );
-        }
-
-        private void SlideshowButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(SlideshowsBrush, false);
-        }
-
-        private void SlideshowButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                SlideshowsBrush,
-                false
-            );
-        }
-
-        //Bg Button
-        private void BgButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                BgBrush,
-                false
-            );
-        }
-
-        private void BgButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(BgBrush, false);
-        }
-
-        private void BgButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                mainColor.A,
-                mainColor.R,
-                mainColor.G,
-                mainColor.B,
-                BgBrush,
-                false
-            );
-        }
-        #endregion
-    }
-}

+ 0 - 217
PicView/UserControls/Menus/QuickSettingsMenu.xaml

@@ -1,217 +0,0 @@
-<UserControl
-    x:Class="PicView.UserControls.QuickSettingsMenu"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    Foreground="{StaticResource MainColorBrush}">
-    <StackPanel>
-        <Border
-            Width="360"
-            Background="{DynamicResource BackgroundColorBrush}"
-            BorderBrush="{StaticResource BorderBrush}"
-            BorderThickness="1"
-            CornerRadius="2">
-            <Grid>
-                <Canvas Height="51" VerticalAlignment="Top">
-                    <Rectangle
-                        Canvas.Top="50"
-                        Width="358"
-                        Panel.ZIndex="1"
-                        Stroke="{StaticResource BorderBrush}"
-                        StrokeThickness="1" />
-                    <Rectangle
-                        Canvas.Right="51"
-                        Width="1"
-                        Height="51"
-                        Panel.ZIndex="1"
-                        Stroke="{StaticResource BorderBrush}"
-                        StrokeThickness="1" />
-                    <Rectangle
-                        Canvas.Right="102"
-                        Width="1"
-                        Height="51"
-                        Panel.ZIndex="1"
-                        Stroke="{DynamicResource BorderBrush}"
-                        StrokeThickness="1" />
-                    <TextBlock
-                        x:Name="bar"
-                        Width="256"
-                        Height="51"
-                        Padding="25,16,25,0"
-                        FontFamily="/PicView;component/Resources/fonts/#TeX Gyre Heros"
-                        FontSize="16"
-                        FontWeight="Bold"
-                        Text="Quick Settings"
-                        TextTrimming="CharacterEllipsis" />
-
-                    <Button
-                        x:Name="SettingsButton"
-                        Canvas.Left="256"
-                        Width="51"
-                        Height="51"
-                        ToolTip="View all settings">
-                        <Button.Background>
-                            <SolidColorBrush x:Name="SettingsButtonBrush" Color="{StaticResource BackgroundColorAlt}" />
-                        </Button.Background>
-                        <Button.Content>
-                            <Path
-                                Width="15"
-                                Height="15"
-                                Data="M450,138.3l-47.7,48.5l-2.7,2.8l-1.6,1.7c-1.1,0.8-2.4,1.2-3.9,1.2c-1.6,0-3.1-0.6-4.3-1.6l-0.9-0.9l-2.7-2.7l-41.3-42.1  l-2.2-2.2l-1.7-1.7c-1-1.5-1.6-3.4-1.6-5.3c0-1.7,0.6-3.2,1.6-4.4l0.7-0.8l2.6-2.6l47.9-48.7c-5.1-10.1-24.7-14.9-35.1-14.1  c-17.1,1.3-34.7,7-52.8,25.5c-0.7,0.8-1.5,1.6-2.2,2.3C277.5,120,272.6,156,282.6,189c0.7,1.4,1.3,3.1,1.6,4.6  c1.1,5.5-0.4,10.2-4,13.5l-37.9,36.4c-11.8-12-13.5-13.6-13.5-13.6c-2-2-6-3.3-9.5-1.2l-5.9,3.6c-22.7-23.1-32.3-32.4-35.4-43.6  c-3.2-11.7-0.3-27.3,2.7-33.1c2.5-4.6,10.3-8.9,16.9-9.4l8.6,8.8c2,2,5.1,2,7.1,0l30.9-31.4c2-2,2-5.3,0-7.3l-49.9-50.7  c-2-2-5.2-2-7.1,0l-30.9,31.4c-2,2-2,5.3,0,7.3l3.3,3.4c0,4.9-0.7,12.5-4.7,16.6c-6.2,6.3-18.5-1-26.5,4.7  c-7.9,5.6-17.9,14.6-24.3,21c-6.3,6.4-30.5,31.8-47.8,74.6c-17.3,42.8-4,82.5,5.4,92.9c5,5.5,14.1,11.1,12.5,0.7  c-1.6-10.5-4.2-46.9,7.7-61.8c11.9-14.9,27.6-27.1,48-28.1c19.6-1,30.9,5.7,56.3,31.5l-2.8,5.2c-1.8,3.4-0.8,7.7,1.2,9.7  c0,0,1.5,1.6,12.1,12.4l-97.2,93.2c-16.2,14.3-15.3,40.5-0.3,56c15.2,15.2,41.1,16.3,55.2-0.2l91.4-98.6  c49.1,52.3,93.3,107.4,93.3,107.4c2,2,5.2,2,7.1,0l49.9-50.7c2-2,2-5.2,0-7.3c0,0-55.2-45.7-107-96.2l35.5-38.3  c3.3-3.7,7.9-5.2,13.3-4.1c1.5,0.3,3.1,1,4.5,1.7c32.4,10.2,67.8,5.2,94-19.8c0.8-0.7,1.5-1.5,2.3-2.3c18.1-18.4,23.7-36.4,25-53.8  C464.7,163.5,460.2,143.8,450,138.3z"
-                                Fill="{StaticResource MainColorBrush}"
-                                Stretch="Fill" />
-                        </Button.Content>
-                    </Button>
-
-                    <Button
-                        x:Name="CloseButton"
-                        Canvas.Left="307"
-                        Width="51"
-                        Height="51"
-                        FocusVisualStyle="{x:Null}"
-                        ToolTip="Close">
-                        <Button.Background>
-                            <SolidColorBrush x:Name="CloseButtonBrush" Color="{StaticResource BackgroundColorAlt}" />
-                        </Button.Background>
-                        <Path
-                            Width="10"
-                            Height="10"
-                            Data="M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4  L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1  c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1  c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z"
-                            Fill="White"
-                            SnapsToDevicePixels="True"
-                            Stretch="Fill" />
-                    </Button>
-                </Canvas>
-
-                <StackPanel Margin="0,51,0,0">
-                    <Label
-                        Margin="0,2,0,0"
-                        HorizontalAlignment="Center"
-                        Content="Set as Wallpaper"
-                        Foreground="{StaticResource MainColorBrush}" />
-                    <Canvas Width="320" Height="93">
-
-                        <Button
-                            x:Name="Fill"
-                            Canvas.Left="0"
-                            Canvas.Top="0"
-                            Content="Fill"
-                            Style="{StaticResource MetroAlphaFlatButton}">
-                            <Button.Background>
-                                <SolidColorBrush x:Name="FillBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </Button.Background>
-                        </Button>
-
-                        <Button
-                            x:Name="Center"
-                            Canvas.Left="106"
-                            Canvas.Top="0"
-                            Content="Center"
-                            Style="{StaticResource MetroAlphaFlatButton}">
-                            <Button.Background>
-                                <SolidColorBrush x:Name="CenterBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </Button.Background>
-                        </Button>
-
-                        <Button
-                            x:Name="Fit"
-                            Canvas.Left="212"
-                            Canvas.Top="0"
-                            Content="Fit"
-                            Style="{StaticResource MetroAlphaFlatButton}">
-                            <Button.Background>
-                                <SolidColorBrush x:Name="FitBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </Button.Background>
-                        </Button>
-
-                        <Button
-                            x:Name="Tile"
-                            Canvas.Left="0"
-                            Canvas.Top="46"
-                            Content="Tile"
-                            Style="{StaticResource MetroAlphaFlatButton}">
-                            <Button.Background>
-                                <SolidColorBrush x:Name="TileBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </Button.Background>
-                        </Button>
-
-                        <Button
-                            x:Name="Stretch"
-                            Canvas.Left="106"
-                            Canvas.Top="46"
-                            Content="Stretch"
-                            Style="{StaticResource MetroAlphaFlatButton}">
-                            <Button.Background>
-                                <SolidColorBrush x:Name="StretchBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </Button.Background>
-                        </Button>
-                    </Canvas>
-
-                    <Label
-                        HorizontalAlignment="Center"
-                        Content="Image Stretching"
-                        Foreground="{StaticResource MainColorBrush}" />
-                    <StackPanel
-                        Width="320"
-                        Margin="0,3,0,10"
-                        Orientation="Horizontal">
-                        <CheckBox
-                            x:Name="ToggleScroll"
-                            Width="100"
-                            Height="40"
-                            Margin="3"
-                            BorderBrush="{StaticResource BorderBrush}"
-                            BorderThickness="1"
-                            Content="Scroll"
-                            Style="{StaticResource Checkstyle}"
-                            ToolTip="Great for manga/comic reading">
-                            <CheckBox.Background>
-                                <SolidColorBrush x:Name="ToggleScrollBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </CheckBox.Background>
-                        </CheckBox>
-                        <RadioButton
-                            x:Name="SetFit"
-                            Width="100"
-                            Height="40"
-                            Margin="3"
-                            BorderBrush="{StaticResource BorderBrush}"
-                            BorderThickness="1"
-                            Content="Fit"
-                            Style="{StaticResource MetroAlphaFlatRadioButton}"
-                            ToolTip="Resize window to image size">
-                            <RadioButton.Background>
-                                <SolidColorBrush x:Name="SetFitBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </RadioButton.Background>
-                        </RadioButton>
-                        <RadioButton
-                            x:Name="SetCenter"
-                            Width="100"
-                            Height="40"
-                            Margin="3"
-                            BorderBrush="{StaticResource BorderBrush}"
-                            BorderThickness="1"
-                            Content="Center"
-                            Style="{StaticResource MetroAlphaFlatRadioButton}"
-                            ToolTip="Image will stay centered and window can be resized">
-                            <RadioButton.Background>
-                                <SolidColorBrush x:Name="SetCenterBrush" Color="{StaticResource BackgroundColorAlt}" />
-                            </RadioButton.Background>
-                        </RadioButton>
-                    </StackPanel>
-                </StackPanel>
-
-            </Grid>
-        </Border>
-        <Rectangle
-            Width="22"
-            Height="2"
-            Margin="0,-2,57,0"
-            HorizontalAlignment="Right"
-            Fill="{StaticResource BackgroundColorBrush}" />
-        <Polygon
-            Margin="277,-7,0,0"
-            Panel.ZIndex="-1"
-            Fill="{StaticResource BackgroundColorBrush}"
-            Points="0,0 15,30, 30,0"
-            Stroke="{StaticResource BorderBrush}" />
-    </StackPanel>
-</UserControl>

+ 0 - 357
PicView/UserControls/Menus/QuickSettingsMenu.xaml.cs

@@ -1,357 +0,0 @@
-using System.Windows.Controls;
-using System.Windows.Input;
-using static PicView.Fields;
-using static PicView.Wallpaper;
-
-namespace PicView.UserControls
-{
-    /// <summary>
-    /// Interaction logic for QuickSettingsMenu.xaml
-    /// </summary>
-    public partial class QuickSettingsMenu : UserControl
-    {
-        public QuickSettingsMenu()
-        {
-            InitializeComponent();
-
-            #region Register events
-
-            // CloseButton
-            CloseButton.MouseEnter += CloseButtonMouseOver;
-            CloseButton.MouseLeave += CloseButtonMouseLeave;
-            CloseButton.PreviewMouseLeftButtonDown += CloseButtonMouseButtonDown;
-
-            // SettingsButton
-            SettingsButton.MouseEnter += SettingsButtonMouseOver;
-            SettingsButton.MouseLeave += SettingsButtonMouseLeave;
-            SettingsButton.PreviewMouseLeftButtonDown += SettingsButtonMouseButtonDown;
-
-
-            // Toggle Scroll
-            ToggleScroll.PreviewMouseLeftButtonDown += ToggleScroll_PreviewMouseLeftButtonDown;
-            ToggleScroll.MouseEnter += ToggleScroll_MouseEnter;
-            ToggleScroll.MouseLeave += ToggleScroll_MouseLeave;
-
-            // Set Fit
-            SetFit.PreviewMouseLeftButtonDown += SetFit_PreviewMouseLeftButtonDown;
-            SetFit.MouseEnter += SetFit_MouseEnter;
-            SetFit.MouseLeave += SetFit_MouseLeave;
-
-            // Fill
-            Fill.PreviewMouseLeftButtonDown += Fill_PreviewMouseLeftButtonDown;
-            Fill.MouseEnter += Fill_MouseEnter;
-            Fill.MouseLeave += Fill_MouseLeave;
-            Fill.Click += (s, x) => SetWallpaper(Pics[FolderIndex], WallpaperStyle.Fill);
-
-            // Fit
-            Fit.PreviewMouseLeftButtonDown += Fit_PreviewMouseLeftButtonDown;
-            Fit.MouseEnter += Fit_MouseEnter;
-            Fit.MouseLeave += Fit_MouseLeave;
-            Fit.Click += (s, x) => SetWallpaper(Pics[FolderIndex], WallpaperStyle.Fit);
-
-            // Center
-            Center.PreviewMouseLeftButtonDown += Center_PreviewMouseLeftButtonDown;
-            Center.MouseEnter += Center_MouseEnter;
-            Center.MouseLeave += Center_MouseLeave;
-            Center.Click += (s, x) => SetWallpaper(Pics[FolderIndex], WallpaperStyle.Center);
-
-            // Tile
-            Tile.PreviewMouseLeftButtonDown += Tile_PreviewMouseLeftButtonDown;
-            Tile.MouseEnter += Tile_MouseEnter;
-            Tile.MouseLeave += Tile_MouseLeave;
-            Tile.Click += (s, x) => SetWallpaper(Pics[FolderIndex], WallpaperStyle.Tile);
-
-            // Stretch
-            Stretch.PreviewMouseLeftButtonDown += Stretch_PreviewMouseLeftButtonDown;
-            Stretch.MouseEnter += Stretch_MouseEnter;
-            Stretch.MouseLeave += Stretch_MouseLeave;
-            Stretch.Click += (s, x) => SetWallpaper(Pics[FolderIndex], WallpaperStyle.Stretch);
-
-            // Set Center
-            SetCenter.PreviewMouseLeftButtonDown += SetCenter_PreviewMouseLeftButtonDown;
-            SetCenter.MouseEnter += SetCenter_MouseEnter;
-            SetCenter.MouseLeave += SetCenter_MouseLeave;
-
-            #endregion
-        }
-
-        #region Mouseover Events
-
-        // Close Button
-        private void CloseButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, CloseButtonBrush, false);
-        }
-
-        private void CloseButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CloseButtonBrush, false);
-        }
-
-        private void CloseButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, CloseButtonBrush, false);
-        }
-
-
-        // Settings Button
-
-        private void SettingsButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, SettingsButtonBrush, false);
-        }
-
-        private void SettingsButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(SettingsButtonBrush, false);
-        }
-
-        private void SettingsButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, SettingsButtonBrush, false);
-        }
-
-        // Fill Button
-        void Fill_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                FillBrush,
-                false
-            );
-        }
-
-        void Fill_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                FillBrush,
-                false
-            );
-        }
-
-        void Fill_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(FillBrush, false);
-        }
-
-        // Tile Button
-        void Tile_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                TileBrush,
-                false
-            );
-        }
-
-        void Tile_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                TileBrush,
-                false
-            );
-        }
-
-        void Tile_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(TileBrush, false);
-        }
-
-        // Center Button
-        void Center_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                CenterBrush,
-                false
-            );
-        }
-
-        void Center_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                CenterBrush,
-                false
-            );
-        }
-
-        void Center_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CenterBrush, false);
-        }
-
-        // Fitbutton Mouse Event
-        void Fit_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                FitBrush,
-                false
-            );
-        }
-
-        void Fit_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                FitBrush,
-                false
-            );
-        }
-
-        void Fit_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(FitBrush, false);
-        }
-
-        // Stretch Button
-        void Stretch_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                StretchBrush,
-                false
-            );
-        }
-
-        void Stretch_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                StretchBrush,
-                false
-            );
-        }
-
-        void Stretch_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(StretchBrush, false);
-        }
-
-        // SetFitbutton Mouse Event
-        void SetFit_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                SetFitBrush,
-                false
-            );
-        }
-
-        void SetFit_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                SetFitBrush,
-                false
-            );
-        }
-
-        void SetFit_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(SetFitBrush, false);
-        }
-
-        // SetCenter Button
-        void SetCenter_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                SetCenterBrush,
-                false
-            );
-        }
-
-        void SetCenter_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                SetCenterBrush,
-                false
-            );
-        }
-
-        void SetCenter_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(SetCenterBrush, false);
-        }
-
-        // ToggleScroll
-        void ToggleScroll_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                ToggleScrollBrush,
-                false
-            );
-        }
-
-        void ToggleScroll_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                ToggleScrollBrush,
-                false
-            );
-        }
-
-        void ToggleScroll_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(ToggleScrollBrush, false);
-        }
-
-        #endregion
-
-    }
-}

+ 0 - 0
PicView/UserControls/CustomControls/AjaxLoading.xaml → PicView/UserControls/Misc/AjaxLoading.xaml


+ 0 - 0
PicView/UserControls/CustomControls/AjaxLoading.xaml.cs → PicView/UserControls/Misc/AjaxLoading.xaml.cs


+ 0 - 0
PicView/UserControls/CustomControls/AutoScrollSign.xaml → PicView/UserControls/Misc/AutoScrollSign.xaml


+ 0 - 0
PicView/UserControls/CustomControls/AutoScrollSign.xaml.cs → PicView/UserControls/Misc/AutoScrollSign.xaml.cs


+ 0 - 0
PicView/UserControls/CustomControls/BadImage.xaml → PicView/UserControls/Misc/BadImage.xaml


+ 0 - 0
PicView/UserControls/CustomControls/BadImage.xaml.cs → PicView/UserControls/Misc/BadImage.xaml.cs


+ 0 - 0
PicView/UserControls/CustomControls/SexyToolTip.xaml → PicView/UserControls/Misc/SexyToolTip.xaml


+ 0 - 0
PicView/UserControls/CustomControls/SexyToolTip.xaml.cs → PicView/UserControls/Misc/SexyToolTip.xaml.cs


+ 361 - 401
PicView/Windows/AllSettings.xaml

@@ -2,424 +2,384 @@
     x:Class="PicView.Windows.AllSettings"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    Title="Setting PicView"
-    AllowsTransparency="True"
-    Background="#99000000"
-    Closing="Window_Closing"
+    xmlns:uc="clr-namespace:PicView.UserControls"
+    Title="PicView settings"
+    Width="465"
+    Height="500"
+    FontFamily="/PicView;component/Resources/fonts/#Aller"
     Foreground="{StaticResource MainColorBrush}"
-    ResizeMode="NoResize"
-    ShowInTaskbar="False"
-    SizeToContent="WidthAndHeight"
-    WindowStartupLocation="CenterOwner"
-    WindowStyle="None">
+    SizeToContent="Height"
+    Style="{DynamicResource MyWindowStyle}">
 
+    <DockPanel LastChildFill="True">
+        <DockPanel
+            x:Name="TitleBar"
+            Height="33"
+            DockPanel.Dock="Top">
+            <DockPanel.Background>
+                <ImageBrush
+                    ImageSource="/Resources/img/noisy-texture-200x200-o4-d30-c-101010-t0.png"
+                    TileMode="FlipXY"
+                    Viewport="0,0,100,100"
+                    ViewportUnits="Absolute" />
+            </DockPanel.Background>
+            <uc:Logo />
+            <uc:CloseButton
+                x:Name="CloseButton"
+                VerticalAlignment="Center"
+                DockPanel.Dock="Right" />
 
-    <Border
-        x:Name="WindowBorderBrush"
-        Width="450"
-        MaxHeight="700"
-        BorderThickness="1"
-        CornerRadius="2">
-        <Border.BorderBrush>
-            <SolidColorBrush Opacity=".7" Color="{StaticResource ChosenColor}" />
-        </Border.BorderBrush>
+            <uc:MinButton
+                x:Name="MinButton"
+                VerticalAlignment="Center"
+                DockPanel.Dock="Right" />
 
-        <StackPanel>
-            <Canvas
-                Height="34"
-                VerticalAlignment="Top"
-                Background="{StaticResource BackgroundColorBrushAltW}">
-                <Canvas
-                    x:Name="Logobg"
-                    Width="90"
-                    DockPanel.Dock="Left">
-                    <Path Margin="7,0,0,0" Data="M2.968,11.236H9.9c3.511,0,5.239,1.008,5.239,4.267c0,3.259-1.963,4.429-5.708,4.429h-1.53v3.907H2.968V11.236z    M7.901,13.721v3.655h0.99c0.486-0.054,1.513-0.45,1.513-1.657c0-1.62-0.612-1.908-1.314-1.999H7.901z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="pBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M15.819,10.336h5.113v3.079h-5.113V10.336z M20.843,23.84h-4.934v-9.003h4.934V23.84z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="iBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M30.654,23.804c-0.937,0.126-1.423,0.18-2.071,0.18c-3.042,0-7.058-0.342-7.058-4.646c0-3.601,3.205-4.645,6.122-4.645   c1.098,0,2.143,0.144,2.971,0.36v2.503c-0.468-0.18-0.937-0.252-1.387-0.252c-1.53,0-2.755,0.937-2.755,2.035   c0,1.333,1.08,1.891,2.899,1.891c0.342,0,0.576-0.036,1.278-0.108V23.804z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="cBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M42.444,23.84h-7.04l-4.429-12.604h4.933l3.008,8.588l3.024-8.588h4.934L42.444,23.84z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="vBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M47.283,10.336h5.113v3.079h-5.113V10.336z M52.307,23.84h-4.934v-9.003h4.934V23.84z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="iiBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M62.946,23.336c-1.188,0.306-3.043,0.648-4.682,0.648c-1.746,0-5.275-0.954-5.275-4.646c0-3.853,3.151-4.681,5.672-4.681   c2.503,0,4.789,0.918,4.789,4.375v1.458h-5.905c0,0.774,1.08,1.081,1.836,1.081c1.404,0,3.259-0.378,3.565-0.486V23.336z    M57.545,18.528h1.836c-0.054-0.558-0.27-1.152-0.9-1.152C58.049,17.376,57.563,17.412,57.545,18.528z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="eBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M66.49,23.84l-3.276-9.003h4.573l1.152,5.348l1.765-5.348h3.528l1.783,5.348l1.134-5.348h4.573l-3.295,9.003h-4.861   l-1.116-4.717l-1.099,4.717H66.49z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="wBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                </Canvas>
+            <TextBlock
+                x:Name="Bar"
+                VerticalAlignment="Center"
+                Background="{x:Null}"
+                FontFamily="/PicView;component/Resources/fonts/#Aller"
+                FontSize="15"
+                FontWeight="Bold"
+                Foreground="{StaticResource MainColorBrush}"
+                Text="Settings"
+                TextAlignment="Center"
+                TextTrimming="CharacterEllipsis" />
+        </DockPanel>
+
+        <ScrollViewer
+            x:Name="Scroller"
+            Background="{StaticResource BackgroundColorBrush}"
+            HorizontalScrollBarVisibility="Disabled"
+            VerticalScrollBarVisibility="Auto">
+            <StackPanel>
                 <Label
-                    Canvas.Left="198"
-                    Canvas.Top="3"
+                    Margin="0,3,0,0"
                     HorizontalAlignment="Center"
                     VerticalAlignment="Center"
-                    Background="{x:Null}"
-                    Content="Settings"
-                    FontFamily="/PicView;component/Resources/fonts/#Aller"
-                    FontSize="15"
-                    FontWeight="Bold" />
-                <Button
-                    x:Name="CloseButton"
-                    Canvas.Left="414"
-                    Width="34"
-                    Height="34"
-                    BorderBrush="{x:Null}"
-                    BorderThickness="0"
-                    DockPanel.Dock="Right"
-                    FocusVisualStyle="{x:Null}"
-                    OverridesDefaultStyle="True"
-                    ToolTip="Close">
-                    <Button.Background>
-                        <SolidColorBrush x:Name="CloseButtonBrush" Color="Transparent" />
-                    </Button.Background>
-                    <Path
-                        Width="10"
-                        Height="10"
-                        Data="M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4  L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1  c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1  c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z"
-                        Fill="White"
-                        SnapsToDevicePixels="True"
-                        Stretch="Fill" />
-                </Button>
-
-
-            </Canvas>
+                    Content="Color Themes"
+                    Foreground="{StaticResource MainColorBrush}" />
+                <WrapPanel
+                    Margin="0,3,0,8"
+                    HorizontalAlignment="Center"
+                    VerticalAlignment="Top"
+                    Orientation="Horizontal">
+                    <RadioButton
+                        x:Name="BlueRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Blue"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="BlueBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="CyanRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Cyan"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="CyanBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="AquaRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Aqua"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="AquaBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="GreenRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5"
+                        BorderThickness="2"
+                        Content="Green"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="GreenBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="MagentaRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5"
+                        BorderThickness="2"
+                        Content="Magenta"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="MagentaBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="PinkRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5"
+                        BorderThickness="2"
+                        Content="Pink"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="PinkBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="PurpleRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5"
+                        BorderThickness="2"
+                        Content="Purple"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="PurpleBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="TealRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Teal"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="TealBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="RedRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Red"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="RedBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="OrangeRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Orange"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="OrangeBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="GreyRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Grey"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="GreyBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="BeigeRadio"
+                        Width="100"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Beige"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="BeigeBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                </WrapPanel>
+                <Label
+                    Margin="0,3,0,0"
+                    HorizontalAlignment="Center"
+                    VerticalAlignment="Center"
+                    Content="Misc Settings"
+                    Foreground="{StaticResource MainColorBrush}" />
+                <WrapPanel
+                    Width="332"
+                    Margin="0,3,0,8"
+                    HorizontalAlignment="Center"
+                    VerticalAlignment="Top"
+                    Orientation="Horizontal">
+                    <CheckBox
+                        x:Name="LoopRadio"
+                        Width="131"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Enable Looping"
+                        Style="{StaticResource Checkstyle}">
+                        <CheckBox.Background>
+                            <SolidColorBrush x:Name="LoopBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </CheckBox.Background>
+                    </CheckBox>
+                    <CheckBox
+                        x:Name="BorderRadio"
+                        Width="210"
+                        Height="40"
+                        Margin="5,3"
+                        BorderThickness="2"
+                        Content="Enable Window Color Brush"
+                        Style="{StaticResource Checkstyle}">
+                        <CheckBox.Background>
+                            <SolidColorBrush x:Name="BorderBrushColor" Color="{StaticResource BackgroundColorAlt}" />
+                        </CheckBox.Background>
+                    </CheckBox>
+                </WrapPanel>
 
-            <Grid>
-                <Rectangle
-                    x:Name="TopBorderRectangle"
-                    Height="1"
-                    Margin="7,0"
+                <Label
+                    Margin="0,3,0,0"
+                    HorizontalAlignment="Center"
+                    VerticalAlignment="Center"
+                    Content="Set as wallpaper"
+                    Foreground="{StaticResource MainColorBrush}" />
+                <WrapPanel
+                    Margin="0,3,0,8"
+                    HorizontalAlignment="Center"
                     VerticalAlignment="Top"
-                    Panel.ZIndex="1"
-                    Fill="{StaticResource BorderBrush}" />
-                <Rectangle
-                    x:Name="LeftBorderRectangle"
-                    Width="7"
-                    HorizontalAlignment="Left"
-                    Fill="{StaticResource BackgroundColorBrushAltW}" />
-                <Rectangle
-                    x:Name="LeftBorderRectangle2"
-                    Width="1"
-                    Margin="7,0,0,0"
-                    HorizontalAlignment="Left"
-                    Panel.ZIndex="1"
-                    Fill="{StaticResource BorderBrush}" />
-                <Rectangle
-                    x:Name="RightBorderRectangle"
-                    Width="7"
-                    HorizontalAlignment="Right"
-                    Fill="{StaticResource BackgroundColorBrushAltW}" />
-                <Rectangle
-                    x:Name="RightBorderRectangle2"
-                    Width="1"
-                    Margin="0,0,7,0"
-                    HorizontalAlignment="Right"
-                    Panel.ZIndex="1"
-                    Fill="{StaticResource BorderBrush}" />
-                <Rectangle
-                    x:Name="BottomBorderRectangle"
-                    Height="1"
-                    Margin="7,0,7,0"
-                    VerticalAlignment="Bottom"
-                    Panel.ZIndex="1"
-                    Fill="{StaticResource BorderBrush}" />
-                <ScrollViewer
-                    x:Name="Scroller"
-                    Width="436"
-                    Background="{StaticResource BackgroundColorBrush}"
-                    HorizontalScrollBarVisibility="Disabled"
-                    VerticalScrollBarVisibility="Auto">
-                    <StackPanel>
-                        <Label
-                            Margin="0,3,0,0"
-                            HorizontalAlignment="Center"
-                            VerticalAlignment="Center"
-                            Content="Color Themes"
-                            Foreground="{StaticResource MainColorBrush}" />
-                        <WrapPanel
-                            Width="332"
-                            Margin="0,3,0,8"
-                            HorizontalAlignment="Center"
-                            VerticalAlignment="Top"
-                            Orientation="Horizontal">
-                            <RadioButton
-                                x:Name="BlueRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Blue"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="BlueBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="CyanRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Cyan"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="CyanBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="AquaRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Aqua"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="AquaBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="GreenRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5"
-                                BorderThickness="2"
-                                Content="Green"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="GreenBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="MagentaRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5"
-                                BorderThickness="2"
-                                Content="Magenta"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="MagentaBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="PinkRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5"
-                                BorderThickness="2"
-                                Content="Pink"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="PinkBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="PurpleRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5"
-                                BorderThickness="2"
-                                Content="Purple"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="PurpleBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="TealRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Teal"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="TealBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="RedRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Red"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="RedBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="OrangeRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Orange"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="OrangeBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="GreyRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Grey"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="GreyBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                            <RadioButton
-                                x:Name="BeigeRadio"
-                                Width="100"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Beige"
-                                Style="{StaticResource MetroAlphaFlatRadioButton}">
-                                <RadioButton.Background>
-                                    <SolidColorBrush x:Name="BeigeBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </RadioButton.Background>
-                            </RadioButton>
-                        </WrapPanel>
-                        <Label
-                            Margin="0,3,0,0"
-                            HorizontalAlignment="Center"
-                            VerticalAlignment="Center"
-                            Content="Misc Settings"
-                            Foreground="{StaticResource MainColorBrush}" />
-                        <WrapPanel
-                            Width="332"
-                            Margin="0,3,0,8"
-                            HorizontalAlignment="Center"
-                            VerticalAlignment="Top"
-                            Orientation="Horizontal">
-                            <CheckBox
-                                x:Name="PicGalleryRadio"
-                                Width="180"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Enable Picture Gallery"
-                                Style="{StaticResource Checkstyle}">
-                                <CheckBox.Background>
-                                    <SolidColorBrush x:Name="PicGalleryBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </CheckBox.Background>
-                            </CheckBox>
-                            <CheckBox
-                                x:Name="LoopRadio"
-                                Width="131"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Enable Looping"
-                                Style="{StaticResource Checkstyle}">
-                                <CheckBox.Background>
-                                    <SolidColorBrush x:Name="LoopBrush" Color="{StaticResource BackgroundColorAlt}" />
-                                </CheckBox.Background>
-                            </CheckBox>
-                            <CheckBox
-                                x:Name="BorderRadio"
-                                Width="210"
-                                Height="40"
-                                Margin="5,3"
-                                BorderThickness="2"
-                                Content="Enable Window Color Brush"
-                                Style="{StaticResource Checkstyle}">
-                                <CheckBox.Background>
-                                    <SolidColorBrush x:Name="BorderBrushColor" Color="{StaticResource BackgroundColorAlt}" />
-                                </CheckBox.Background>
-                            </CheckBox>
-                        </WrapPanel>
-                        <Label
-                            Margin="0,3,0,0"
-                            HorizontalAlignment="Center"
-                            VerticalAlignment="Center"
-                            Content="Set the slideshow timer"
-                            Foreground="{StaticResource MainColorBrush}" />
-                        <WrapPanel
-                            Width="332"
-                            Margin="0,3,0,10"
-                            HorizontalAlignment="Center"
-                            VerticalAlignment="Top"
-                            Orientation="Horizontal">
+                    Orientation="Horizontal">
 
-                            <Slider
-                                x:Name="SlideSlider"
-                                Width="200"
-                                Height="30"
-                                Maximum="15"
-                                Minimum="1"
-                                TickPlacement="BottomRight" />
+                    <Button
+                        x:Name="Fill"
+                        Canvas.Left="0"
+                        Canvas.Top="0"
+                        Margin="0,0,3,3"
+                        Content="Fill"
+                        Style="{StaticResource MetroAlphaFlatButton}">
+                        <Button.Background>
+                            <SolidColorBrush x:Name="FillBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </Button.Background>
+                    </Button>
 
-                            <TextBox
-                                x:Name="txtSlide"
-                                Width="30"
-                                Margin="5,3"
-                                HorizontalAlignment="Right"
-                                FontFamily="/PicView;component/Resources/fonts/#TeX Gyre Heros"
-                                FontSize="14"
-                                IsReadOnly="True"
-                                Text="1"
-                                TextAlignment="Center"
-                                ToolTip="Enter the slideshow amount in seconds." />
+                    <Button
+                        x:Name="Center"
+                        Canvas.Left="106"
+                        Canvas.Top="0"
+                        Margin="0,0,3,3"
+                        Content="Center"
+                        Style="{StaticResource MetroAlphaFlatButton}">
+                        <Button.Background>
+                            <SolidColorBrush x:Name="CenterBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </Button.Background>
+                    </Button>
 
-                            <Label Content="Sec." />
+                    <Button
+                        x:Name="Fit"
+                        Canvas.Left="212"
+                        Canvas.Top="0"
+                        Margin="0,0,3,3"
+                        Content="Fit"
+                        Style="{StaticResource MetroAlphaFlatButton}">
+                        <Button.Background>
+                            <SolidColorBrush x:Name="FitBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </Button.Background>
+                    </Button>
 
-                        </WrapPanel>
+                    <Button
+                        x:Name="Tile"
+                        Canvas.Left="0"
+                        Canvas.Top="46"
+                        Margin="0,0,3,3"
+                        Content="Tile"
+                        Style="{StaticResource MetroAlphaFlatButton}">
+                        <Button.Background>
+                            <SolidColorBrush x:Name="TileBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </Button.Background>
+                    </Button>
 
-                        <TextBlock
-                            Margin="0,5"
-                            FontStyle="Italic"
-                            TextAlignment="Center">
-                            Context menu hover color effects may require a restart to take effect
-                        </TextBlock>
-                    </StackPanel>
-                </ScrollViewer>
+                    <Button
+                        x:Name="Stretch"
+                        Canvas.Left="106"
+                        Canvas.Top="46"
+                        Margin="0,0,3,3"
+                        Content="Stretch"
+                        Style="{StaticResource MetroAlphaFlatButton}">
+                        <Button.Background>
+                            <SolidColorBrush x:Name="StretchBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </Button.Background>
+                    </Button>
+                </WrapPanel>
 
-            </Grid>
-            <Border
-                Height="35"
-                VerticalAlignment="Bottom"
-                Background="#FF0C0C0C">
                 <Label
-                    Margin="0,0,0,2"
                     HorizontalAlignment="Center"
-                    VerticalAlignment="Bottom"
-                    Content="© PicView 2017"
-                    FontSize="14"
-                    FontStyle="Italic" />
-            </Border>
-        </StackPanel>
-
-
+                    Content="Image Stretching"
+                    Foreground="{StaticResource MainColorBrush}" />
+                <StackPanel
+                    Width="320"
+                    Margin="0,3,0,10"
+                    Orientation="Horizontal">
+                    <CheckBox
+                        x:Name="ToggleScroll"
+                        Width="100"
+                        Height="40"
+                        Margin="3"
+                        BorderBrush="{StaticResource BorderBrush}"
+                        BorderThickness="1"
+                        Content="Scroll"
+                        Style="{StaticResource Checkstyle}"
+                        ToolTip="Great for manga/comic reading">
+                        <CheckBox.Background>
+                            <SolidColorBrush x:Name="ToggleScrollBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </CheckBox.Background>
+                    </CheckBox>
+                    <RadioButton
+                        x:Name="SetFit"
+                        Width="100"
+                        Height="40"
+                        Margin="3"
+                        BorderBrush="{StaticResource BorderBrush}"
+                        BorderThickness="1"
+                        Content="Fit"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}"
+                        ToolTip="Resize window to image size">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="SetFitBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                    <RadioButton
+                        x:Name="SetCenter"
+                        Width="100"
+                        Height="40"
+                        Margin="3"
+                        BorderBrush="{StaticResource BorderBrush}"
+                        BorderThickness="1"
+                        Content="Center"
+                        Style="{StaticResource MetroAlphaFlatRadioButton}"
+                        ToolTip="Image will stay centered and window can be resized">
+                        <RadioButton.Background>
+                            <SolidColorBrush x:Name="SetCenterBrush" Color="{StaticResource BackgroundColorAlt}" />
+                        </RadioButton.Background>
+                    </RadioButton>
+                </StackPanel>
 
 
-    </Border>
+                <TextBlock
+                    Margin="0,5"
+                    FontStyle="Italic"
+                    TextAlignment="Center">
+                    Context menu hover color effects may require a restart to take effect
+                </TextBlock>
+            </StackPanel>
+        </ScrollViewer>
+    </DockPanel>
 </Window>

+ 304 - 142
PicView/Windows/AllSettings.xaml.cs

@@ -1,16 +1,11 @@
-using System;
-using System.ComponentModel;
+using PicView.UserControls;
 using System.Windows;
-using System.Windows.Controls;
 using System.Windows.Input;
 using static PicView.Fields;
-using static PicView.Helper;
+using static PicView.Wallpaper;
 
 namespace PicView.Windows
 {
-    /// <summary>
-    /// Interaction logic for QuickSettingsSecondMenu.xaml
-    /// </summary>
     public partial class AllSettings : Window
     {
         public AllSettings()
@@ -19,11 +14,14 @@ namespace PicView.Windows
 
             ContentRendered += (s, x) =>
             {
+
                 // CloseButton
-                CloseButton.MouseEnter += CloseButtonMouseOver;
-                CloseButton.MouseLeave += CloseButtonMouseLeave;
-                CloseButton.PreviewMouseLeftButtonDown += CloseButtonMouseButtonDown;
-                CloseButton.Click += delegate { Close(); };
+                CloseButton.TheButton.Click += delegate { Hide(); };
+
+                // MinButton
+                MinButton.TheButton.Click += delegate { SystemCommands.MinimizeWindow(this); };
+
+                TitleBar.MouseLeftButtonDown += delegate { DragMove(); };
 
                 // BlueRadio
                 BlueRadio.PreviewMouseLeftButtonDown += BlueRadio_PreviewMouseLeftButtonDown;
@@ -104,16 +102,6 @@ namespace PicView.Windows
                 LoopRadio.IsChecked = Properties.Settings.Default.Looping;
                 LoopRadio.Click += Configs.SetLooping;
 
-                // PicGalleryRadio
-                PicGalleryRadio.PreviewMouseLeftButtonDown += PicGalleryRadio_PreviewMouseLeftButtonDown;
-                PicGalleryRadio.MouseEnter += PicGalleryRadio_MouseEnter;
-                PicGalleryRadio.MouseLeave += PicGalleryRadio_MouseLeave;
-                PicGalleryRadio.IsChecked = Properties.Settings.Default.PicGallery == 1;
-                PicGalleryRadio.Click += delegate
-                {
-                    Properties.Settings.Default.PicGallery = Properties.Settings.Default.PicGallery == 1 ? (byte)2 : (byte)1;
-                };
-
                 // BorderColorRadio
                 BorderRadio.PreviewMouseLeftButtonDown += BorderRadio_PreviewMouseLeftButtonDown;
                 BorderRadio.MouseEnter += BorderRadio_MouseEnter;
@@ -124,102 +112,71 @@ namespace PicView.Windows
                     BorderRadio.IsChecked = true;
                 }
 
-                //Slidebar
-                double value = Properties.Settings.Default.Slidetimeren;
-                txtSlide.Text = value.ToString().Replace("000", string.Empty);
-                SlideSlider.Value = double.Parse(value.ToString().Replace("000", string.Empty));
-                SlideSlider.ValueChanged += SlideSlider_ValueChanged;
 
-                switch (Properties.Settings.Default.ColorTheme)
-                {
-                    case 1:
-                        BlueRadio.IsChecked = true;
-                        break;
-                    case 2:
-                        PinkRadio.IsChecked = true;
-                        break;
-                    case 3:
-                        OrangeRadio.IsChecked = true;
-                        break;
-                    case 4:
-                        GreenRadio.IsChecked = true;
-                        break;
-                    case 5:
-                        RedRadio.IsChecked = true;
-                        break;
-                    case 6:
-                        TealRadio.IsChecked = true;
-                        break;
-                    case 7:
-                        AquaRadio.IsChecked = true;
-                        break;
-                    case 8:
-                        BeigeRadio.IsChecked = true;
-                        break;
-                    case 9:
-                        PurpleRadio.IsChecked = true;
-                        break;
-                    case 10:
-                        CyanRadio.IsChecked = true;
-                        break;
-                    case 11:
-                        MagentaRadio.IsChecked = true;
-                        break;
-                    case 12:
-                        GreyRadio.IsChecked = true;
-                        break;
-                }
+                // Toggle Scroll
+                ToggleScroll.PreviewMouseLeftButtonDown += ToggleScroll_PreviewMouseLeftButtonDown;
+                ToggleScroll.MouseEnter += ToggleScroll_MouseEnter;
+                ToggleScroll.MouseLeave += ToggleScroll_MouseLeave;
 
-                KeyUp += AllSettings_KeyUp;
-            };
-        }
+                // Set Fit
+                SetFit.PreviewMouseLeftButtonDown += SetFit_PreviewMouseLeftButtonDown;
+                SetFit.MouseEnter += SetFit_MouseEnter;
+                SetFit.MouseLeave += SetFit_MouseLeave;
 
-        private void AllSettings_KeyUp(object sender, KeyEventArgs e)
-        {
-            switch (e.Key)
-            {
-                case Key.Escape:
-                    Close();
-                    break;
-                case Key.Q:
-                    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
-                    {
-                        Environment.Exit(0);
-                    }
+                // Fill
+                Fill.PreviewMouseLeftButtonDown += Fill_PreviewMouseLeftButtonDown;
+                Fill.MouseEnter += Fill_MouseEnter;
+                Fill.MouseLeave += Fill_MouseLeave;
+                Fill.Click += delegate
+                {
+                    SetWallpaper(Pics[FolderIndex], WallpaperStyle.Fill);
+                };
 
-                    break;
-                default:
-                    break;
-            }
-        }
+                // Fit
+                Fit.PreviewMouseLeftButtonDown += Fit_PreviewMouseLeftButtonDown;
+                Fit.MouseEnter += Fit_MouseEnter;
+                Fit.MouseLeave += Fit_MouseLeave;
+                Fit.Click += delegate
+                {
+                    SetWallpaper(Pics[FolderIndex], WallpaperStyle.Fit);
+                };
 
-        //Slideslider
-        void SlideSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
-        {
-            double value = Properties.Settings.Default.Slidetimeren;
-            var slider = sender as Slider;
-            value = slider.Value;
-            txtSlide.Text = value.ToString("0");
-        }
+                // Center
+                Center.PreviewMouseLeftButtonDown += Center_PreviewMouseLeftButtonDown;
+                Center.MouseEnter += Center_MouseEnter;
+                Center.MouseLeave += Center_MouseLeave;
+                Center.Click += delegate
+                {
+                    SetWallpaper(Pics[FolderIndex], WallpaperStyle.Center);
+                };
 
+                // Tile
+                Tile.PreviewMouseLeftButtonDown += Tile_PreviewMouseLeftButtonDown;
+                Tile.MouseEnter += Tile_MouseEnter;
+                Tile.MouseLeave += Tile_MouseLeave;
+                Tile.Click += delegate
+                {
+                    SetWallpaper(Pics[FolderIndex], WallpaperStyle.Tile);
+                };
 
-        #region EventHandlers
+                // Stretch
+                Stretch.PreviewMouseLeftButtonDown += Stretch_PreviewMouseLeftButtonDown;
+                Stretch.MouseEnter += Stretch_MouseEnter;
+                Stretch.MouseLeave += Stretch_MouseLeave;
+                Stretch.Click += delegate
+                {
+                    SetWallpaper(Pics[FolderIndex], WallpaperStyle.Stretch);
+                };
 
-        // Close Button
-        private void CloseButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, CloseButtonBrush, false);
+                // Set Center
+                SetCenter.PreviewMouseLeftButtonDown += SetCenter_PreviewMouseLeftButtonDown;
+                SetCenter.MouseEnter += SetCenter_MouseEnter;
+                SetCenter.MouseLeave += SetCenter_MouseLeave;
+            };
         }
 
-        private void CloseButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CloseButtonBrush, false);
-        }
 
-        private void CloseButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, CloseButtonBrush, false);
-        }
+        #region EventHandlers
 
         // Blue
         void BlueRadio_MouseLeave(object sender, MouseEventArgs e)
@@ -611,36 +568,6 @@ namespace PicView.Windows
             AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, LoopBrush, false);
         }
 
-        // PicGallery
-        void PicGalleryRadio_MouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                PicGalleryBrush,
-                false
-            );
-        }
-
-        void PicGalleryRadio_MouseEnter(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(
-                backgroundBorderColor.A,
-                backgroundBorderColor.R,
-                backgroundBorderColor.G,
-                backgroundBorderColor.B,
-                PicGalleryBrush,
-                false
-            );
-        }
-
-        void PicGalleryRadio_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, PicGalleryBrush, false);
-        }
-
         // BorderColor
         void BorderRadio_MouseLeave(object sender, MouseEventArgs e)
         {
@@ -737,14 +664,249 @@ namespace PicView.Windows
 
         #endregion
 
-        private void Window_Closing(object sender, CancelEventArgs e)
+        #region Mouseover Events
+
+        // Fill Button
+        void Fill_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                FillBrush,
+                false
+            );
+        }
+
+        void Fill_MouseEnter(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                FillBrush,
+                false
+            );
+        }
+
+        void Fill_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(FillBrush, false);
+        }
+
+        // Tile Button
+        void Tile_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                TileBrush,
+                false
+            );
+        }
+
+        void Tile_MouseEnter(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                TileBrush,
+                false
+            );
+        }
+
+        void Tile_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(TileBrush, false);
+        }
+
+        // Center Button
+        void Center_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                CenterBrush,
+                false
+            );
+        }
+
+        void Center_MouseEnter(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                CenterBrush,
+                false
+            );
+        }
+
+        void Center_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CenterBrush, false);
+        }
+
+        // Fitbutton Mouse Event
+        void Fit_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                FitBrush,
+                false
+            );
+        }
+
+        void Fit_MouseEnter(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                FitBrush,
+                false
+            );
+        }
+
+        void Fit_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(FitBrush, false);
+        }
+
+        // Stretch Button
+        void Stretch_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                StretchBrush,
+                false
+            );
+        }
+
+        void Stretch_MouseEnter(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                StretchBrush,
+                false
+            );
+        }
+
+        void Stretch_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(StretchBrush, false);
+        }
+
+        // SetFitbutton Mouse Event
+        void SetFit_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                SetFitBrush,
+                false
+            );
+        }
+
+        void SetFit_MouseEnter(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                SetFitBrush,
+                false
+            );
+        }
+
+        void SetFit_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(SetFitBrush, false);
+        }
+
+        // SetCenter Button
+        void SetCenter_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                SetCenterBrush,
+                false
+            );
+        }
+
+        void SetCenter_MouseEnter(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                SetCenterBrush,
+                false
+            );
+        }
+
+        void SetCenter_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(SetCenterBrush, false);
+        }
+
+        // ToggleScroll
+        void ToggleScroll_MouseLeave(object sender, MouseEventArgs e)
+        {
+            AnimationHelper.MouseLeaveColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                ToggleScrollBrush,
+                false
+            );
+        }
+
+        void ToggleScroll_MouseEnter(object sender, MouseEventArgs e)
         {
-            Configs.SetSlidetimer();
-            UpdateColor();
-            Closing -= Window_Closing;
-            e.Cancel = true;
-            AnimationHelper.FadeWindow(this, 0, TimeSpan.FromSeconds(.5));
+            AnimationHelper.MouseEnterColorEvent(
+                backgroundBorderColor.A,
+                backgroundBorderColor.R,
+                backgroundBorderColor.G,
+                backgroundBorderColor.B,
+                ToggleScrollBrush,
+                false
+            );
         }
 
+        void ToggleScroll_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(ToggleScrollBrush, false);
+        }
+
+        #endregion
+
     }
 }

+ 0 - 628
PicView/Windows/Help.xaml

@@ -1,628 +0,0 @@
-<Window
-    x:Class="PicView.Windows.Help"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    Title="Help - PicView"
-    d:DesignHeight="700"
-    d:DesignWidth="450"
-    AllowsTransparency="True"
-    Background="#99000000"
-    Closing="Window_Closing"
-    ContentRendered="Window_ContentRendered"
-    FontFamily="/PicView;component/Resources/fonts/#Aller"
-    Foreground="{StaticResource MainColorBrush}"
-    ResizeMode="NoResize"
-    ShowInTaskbar="False"
-    WindowStartupLocation="CenterOwner"
-    WindowStyle="None"
-    mc:Ignorable="d" FontSize="14">
-
-
-    <Border
-        x:Name="WindowBorderBrush"
-        Width="450"
-        MaxHeight="700"
-        BorderBrush="{DynamicResource WindowBackgroundColorBrush}"
-        BorderThickness="1">
-
-        <StackPanel>
-            <Canvas
-                Height="34"
-                VerticalAlignment="Top"
-                Background="{StaticResource BackgroundColorBrushAltW}">
-                <Canvas
-                    x:Name="Logobg"
-                    Width="90"
-                    DockPanel.Dock="Left">
-                    <Path Margin="7,0,0,0" Data="M2.968,11.236H9.9c3.511,0,5.239,1.008,5.239,4.267c0,3.259-1.963,4.429-5.708,4.429h-1.53v3.907H2.968V11.236z    M7.901,13.721v3.655h0.99c0.486-0.054,1.513-0.45,1.513-1.657c0-1.62-0.612-1.908-1.314-1.999H7.901z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="pBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M15.819,10.336h5.113v3.079h-5.113V10.336z M20.843,23.84h-4.934v-9.003h4.934V23.84z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="iBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M30.654,23.804c-0.937,0.126-1.423,0.18-2.071,0.18c-3.042,0-7.058-0.342-7.058-4.646c0-3.601,3.205-4.645,6.122-4.645   c1.098,0,2.143,0.144,2.971,0.36v2.503c-0.468-0.18-0.937-0.252-1.387-0.252c-1.53,0-2.755,0.937-2.755,2.035   c0,1.333,1.08,1.891,2.899,1.891c0.342,0,0.576-0.036,1.278-0.108V23.804z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="cBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M42.444,23.84h-7.04l-4.429-12.604h4.933l3.008,8.588l3.024-8.588h4.934L42.444,23.84z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="vBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M47.283,10.336h5.113v3.079h-5.113V10.336z M52.307,23.84h-4.934v-9.003h4.934V23.84z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="iiBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M62.946,23.336c-1.188,0.306-3.043,0.648-4.682,0.648c-1.746,0-5.275-0.954-5.275-4.646c0-3.853,3.151-4.681,5.672-4.681   c2.503,0,4.789,0.918,4.789,4.375v1.458h-5.905c0,0.774,1.08,1.081,1.836,1.081c1.404,0,3.259-0.378,3.565-0.486V23.336z    M57.545,18.528h1.836c-0.054-0.558-0.27-1.152-0.9-1.152C58.049,17.376,57.563,17.412,57.545,18.528z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="eBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                    <Path Margin="7,0,0,0" Data="M66.49,23.84l-3.276-9.003h4.573l1.152,5.348l1.765-5.348h3.528l1.783,5.348l1.134-5.348h4.573l-3.295,9.003h-4.861   l-1.116-4.717l-1.099,4.717H66.49z">
-                        <Path.Fill>
-                            <SolidColorBrush x:Name="wBrush" Color="{StaticResource MainColor}" />
-                        </Path.Fill>
-                    </Path>
-                </Canvas>
-                <Label
-                    Canvas.Left="198"
-                    Canvas.Top="3"
-                    HorizontalAlignment="Center"
-                    VerticalAlignment="Center"
-                    Background="{x:Null}"
-                    Content="Help"
-                    FontFamily="/PicView;component/Resources/fonts/#Aller"
-                    FontSize="15"
-                    FontWeight="Bold" />
-                <Button
-                    x:Name="CloseButton"
-                    Canvas.Left="414"
-                    Width="34"
-                    Height="34"
-                    BorderBrush="{x:Null}"
-                    BorderThickness="0"
-                    DockPanel.Dock="Right"
-                    FocusVisualStyle="{x:Null}"
-                    OverridesDefaultStyle="True"
-                    ToolTip="Close">
-                    <Button.Background>
-                        <SolidColorBrush x:Name="CloseButtonBrush" Color="Transparent" />
-                    </Button.Background>
-                    <Path
-                        Width="10"
-                        Height="10"
-                        Data="M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4  L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1  c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1  c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z"
-                        Fill="White"
-                        SnapsToDevicePixels="True"
-                        Stretch="Fill" />
-                </Button>
-
-
-            </Canvas>
-
-            <Grid>
-                <Rectangle
-                    x:Name="TopBorderRectangle"
-                    Height="1"
-                    Margin="7,0,22,0"
-                    VerticalAlignment="Top"
-                    Panel.ZIndex="1"
-                    Fill="{StaticResource BorderBrush}" />
-                <Rectangle
-                    x:Name="LeftBorderRectangle"
-                    Width="7"
-                    HorizontalAlignment="Left"
-                    Fill="{StaticResource BackgroundColorBrushAltW}" />
-                <Rectangle
-                    x:Name="LeftBorderRectangle2"
-                    Width="1"
-                    Margin="7,0,0,0"
-                    HorizontalAlignment="Left"
-                    Panel.ZIndex="1"
-                    Fill="{StaticResource BorderBrush}" />
-                <Rectangle
-                    x:Name="RightBorderRectangle"
-                    Width="7"
-                    HorizontalAlignment="Right"
-                    Fill="{StaticResource BackgroundColorBrushAltW}" />
-                <Rectangle
-                    x:Name="BottomBorderRectangle"
-                    Height="1"
-                    Margin="7,0,22,0"
-                    VerticalAlignment="Bottom"
-                    Panel.ZIndex="1"
-                    Fill="{StaticResource BorderBrush}" />
-                <ScrollViewer
-                    x:Name="Scroller"
-                    Width="436"
-                    MaxHeight="631"
-                    Background="{StaticResource BackgroundColorBrushAlt}"
-                    HorizontalScrollBarVisibility="Disabled"
-                    VerticalScrollBarVisibility="Auto">
-                    <StackPanel Margin="8,0,3,5">
-
-                        <Label Margin="0,5,0,0" FontSize="16">Shortcuts:</Label>
-
-                        <Label Margin="0,2,0,2" FontSize="15" Content="Main functions:" />
-
-                        <BulletDecorator Margin="7,2">
-                            <BulletDecorator.Bullet>
-                                <Ellipse
-                                    Width="7"
-                                    Height="7"
-                                    Fill="{StaticResource MainColorBrush}" />
-                            </BulletDecorator.Bullet>
-                            <TextBlock Margin="5,0,0,0">
-                                <Bold>Alt + Z</Bold> show/hide interface.</TextBlock>
-                            </BulletDecorator>
-
-                            <BulletDecorator Margin="7,2">
-                                <BulletDecorator.Bullet>
-                                    <Ellipse
-                                        Width="7"
-                                        Height="7"
-                                        Fill="{StaticResource MainColorBrush}" />
-                                </BulletDecorator.Bullet>
-                                <TextBlock Margin="5,0,0,0">
-                                    <Bold>X</Bold> toggle scroll</TextBlock>
-                                </BulletDecorator>
-
-                                <BulletDecorator Margin="7,2">
-                                    <BulletDecorator.Bullet>
-                                        <Ellipse
-                                            Width="7"
-                                            Height="7"
-                                            Fill="{StaticResource MainColorBrush}" />
-                                    </BulletDecorator.Bullet>
-                                    <TextBlock Margin="5,0,0,0">
-                                        <Bold>L</Bold> toggle looping</TextBlock>
-                                    </BulletDecorator>
-
-                                    <BulletDecorator Margin="7,2">
-                                        <BulletDecorator.Bullet>
-                                            <Ellipse
-                                                Width="7"
-                                                Height="7"
-                                                Fill="{StaticResource MainColorBrush}" />
-                                        </BulletDecorator.Bullet>
-                                        <TextBlock Margin="5,0,0,0">
-                                            <Bold>F4</Bold> show/hide picture gallery</TextBlock>
-                                        </BulletDecorator>
-
-                                        <BulletDecorator Margin="7,2">
-                                            <BulletDecorator.Bullet>
-                                                <Ellipse
-                                                    Width="7"
-                                                    Height="7"
-                                                    Fill="{StaticResource MainColorBrush}" />
-                                            </BulletDecorator.Bullet>
-                                            <TextBlock Margin="5,0,0,0">
-                                                <Bold>F5</Bold> show/hide fullscreen picture gallery</TextBlock>
-                                            </BulletDecorator>
-
-                                            <BulletDecorator Margin="7,2">
-                                                <BulletDecorator.Bullet>
-                                                    <Ellipse
-                                                        Width="7"
-                                                        Height="7"
-                                                        Fill="{StaticResource MainColorBrush}" />
-                                                </BulletDecorator.Bullet>
-                                                <TextBlock Margin="5,0,0,0">
-                                                    <Bold>Esc</Bold> close the currently opened element</TextBlock>
-                                                </BulletDecorator>
-
-                                                <Label
-                                                    Margin="0,10,0,0"
-                                                    Content="Zoom:"
-                                                    FontSize="15" />
-                                                <BulletDecorator Margin="7,2">
-                                                    <BulletDecorator.Bullet>
-                                                        <Ellipse
-                                                            Width="7"
-                                                            Height="7"
-                                                            Fill="{StaticResource MainColorBrush}" />
-                                                    </BulletDecorator.Bullet>
-                                                    <TextBlock Margin="5,0,0,0">
-                                                        <Bold>Mousewheel</Bold> zoom at cursor position</TextBlock>
-                                                    </BulletDecorator>
-                        
-                                                    <BulletDecorator Margin="7,2">
-                                                        <BulletDecorator.Bullet>
-                                                            <Ellipse
-                                                                Width="7"
-                                                                Height="7"
-                                                                Fill="{StaticResource MainColorBrush}" />
-                                                        </BulletDecorator.Bullet>
-                                                        <TextBlock Margin="5,0,0,0">
-                                                            <Bold>Mousewheel</Bold>
-                                                            + <Bold>Ctrl</Bold> scale window size</TextBlock>
-                                                        </BulletDecorator>
-                        
-                                                        <BulletDecorator Margin="7,2">
-                                                            <BulletDecorator.Bullet>
-                                                                <Ellipse
-                                                                    Width="7"
-                                                                    Height="7"
-                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                            </BulletDecorator.Bullet>
-                                                            <TextBlock Margin="5,0,0,0">
-                                                                Numpad <Bold> + </Bold> /  <Bold> - </Bold> zoom in/out</TextBlock>
-                                                            </BulletDecorator>
-
-                                                            <BulletDecorator Margin="7,2">
-                                                                <BulletDecorator.Bullet>
-                                                                    <Ellipse
-                                                                        Width="7"
-                                                                        Height="7"
-                                                                        Fill="{StaticResource MainColorBrush}" />
-                                                                </BulletDecorator.Bullet>
-                                                                <TextBlock Margin="5,0,0,0">
-                                                                    <Bold>Ctrl + </Bold> /  <Bold> - </Bold> scale window size</TextBlock>
-                                                                </BulletDecorator>
-
-                                                                <BulletDecorator Margin="7,2">
-                                                                    <BulletDecorator.Bullet>
-                                                                        <Ellipse
-                                                                            Width="7"
-                                                                            Height="7"
-                                                                            Fill="{StaticResource MainColorBrush}" />
-                                                                    </BulletDecorator.Bullet>
-                                                                    <TextBlock Margin="5,0,0,0">
-                                                                        <Bold>Double click</Bold> reset zoom</TextBlock>
-                                                                    </BulletDecorator>
-
-                                                                    <Label Margin="0,2,0,2" FontSize="15" Content="Show windows:" />
-
-                                                                    <BulletDecorator Margin="7,2">
-                                                                        <BulletDecorator.Bullet>
-                                                                            <Ellipse
-                                                                                Width="7"
-                                                                                Height="7"
-                                                                                Fill="{StaticResource MainColorBrush}" />
-                                                                        </BulletDecorator.Bullet>
-                                                                        <TextBlock Margin="5,0,0,0">
-                                                                            <Bold>F1</Bold> show help window</TextBlock>
-                                                                        </BulletDecorator>
-
-                                                                        <BulletDecorator Margin="7,2">
-                                                                            <BulletDecorator.Bullet>
-                                                                                <Ellipse
-                                                                                    Width="7"
-                                                                                    Height="7"
-                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                            </BulletDecorator.Bullet>
-                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                <Bold>F2</Bold> show about window</TextBlock>
-                                                                            </BulletDecorator>
-
-                                                                            <BulletDecorator Margin="7,2">
-                                                                                <BulletDecorator.Bullet>
-                                                                                    <Ellipse
-                                                                                        Width="7"
-                                                                                        Height="7"
-                                                                                        Fill="{StaticResource MainColorBrush}" />
-                                                                                </BulletDecorator.Bullet>
-                                                                                <TextBlock Margin="5,0,0,0">
-                                                                                    <Bold>F12</Bold> show/hide slideshow</TextBlock>
-                                                                                </BulletDecorator>
-
-                                                                                <Label Margin="0,10,0,0" FontSize="15" Content="File functions:" />
-
-                                                                                <BulletDecorator Margin="7,2">
-                                                                                    <BulletDecorator.Bullet>
-                                                                                        <Ellipse
-                                                                                            Width="7"
-                                                                                            Height="7"
-                                                                                            Fill="{StaticResource MainColorBrush}" />
-                                                                                    </BulletDecorator.Bullet>
-                                                                                    <TextBlock Margin="5,0,0,0">
-                                                                                        <Bold>Ctrl</Bold>
-                                                                                        + <Bold>0</Bold> / <Bold>0</Bold> open a file</TextBlock>
-                                                                                    </BulletDecorator>
-
-                                                                                    <BulletDecorator Margin="7,2">
-                                                                                        <BulletDecorator.Bullet>
-                                                                                            <Ellipse
-                                                                                                Width="7"
-                                                                                                Height="7"
-                                                                                                Fill="{StaticResource MainColorBrush}" />
-                                                                                        </BulletDecorator.Bullet>
-                                                                                        <TextBlock Margin="5,0,0,0">
-                                                                                            <Bold>Ctrl</Bold>
-                                                                                            + <Bold>C</Bold> add file to clipboard.</TextBlock>
-                                                                                        </BulletDecorator>
-
-                                                                                        <BulletDecorator Margin="7,2">
-                                                                                            <BulletDecorator.Bullet>
-                                                                                                <Ellipse
-                                                                                                    Width="7"
-                                                                                                    Height="7"
-                                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                                            </BulletDecorator.Bullet>
-                                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                                <Bold>Ctrl</Bold>
-                                                                                                + <Bold>X</Bold> move file to clipboard.</TextBlock>
-                                                                                            </BulletDecorator>
-
-                                                                                            <BulletDecorator Margin="7,2">
-                                                                                                <BulletDecorator.Bullet>
-                                                                                                    <Ellipse
-                                                                                                        Width="7"
-                                                                                                        Height="7"
-                                                                                                        Fill="{StaticResource MainColorBrush}" />
-                                                                                                </BulletDecorator.Bullet>
-                                                                                                <TextBlock Margin="5,0,0,0">
-                                                                                                    <Bold>Ctrl</Bold>
-                                                                                                    + <Bold>Shift</Bold>
-                                                                                                    + <Bold>C</Bold> add image to clipboard</TextBlock>
-                                                                                                </BulletDecorator>
-
-                                                                                                <BulletDecorator Margin="7,2">
-                                                                                                    <BulletDecorator.Bullet>
-                                                                                                        <Ellipse
-                                                                                                            Width="7"
-                                                                                                            Height="7"
-                                                                                                            Fill="{StaticResource MainColorBrush}" />
-                                                                                                    </BulletDecorator.Bullet>
-                                                                                                    <TextBlock Margin="5,0,0,0">
-                                                                                                        <Bold>Ctrl</Bold>
-                                                                                                        + <Bold>V</Bold> paste image/file from clipboard</TextBlock>
-                                                                                                    </BulletDecorator>
-                        
-                                                                                                    <BulletDecorator Margin="7,2">
-                                                                                                        <BulletDecorator.Bullet>
-                                                                                                            <Ellipse
-                                                                                                                Width="7"
-                                                                                                                Height="7"
-                                                                                                                Fill="{StaticResource MainColorBrush}" />
-                                                                                                        </BulletDecorator.Bullet>
-                                                                                                        <TextBlock Margin="5,0,0,0">
-                                                                                                            <Bold>Ctrl</Bold>
-                                                                                                            + <Bold>S</Bold> save image</TextBlock>
-                                                                                                        </BulletDecorator>
-                        
-                                                                                                        <BulletDecorator Margin="7,2">
-                                                                                                            <BulletDecorator.Bullet>
-                                                                                                                <Ellipse
-                                                                                                                    Width="7"
-                                                                                                                    Height="7"
-                                                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                                                            </BulletDecorator.Bullet>
-                                                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                                                <Bold>Ctrl</Bold>
-                                                                                                                + <Bold>I</Bold> show file details</TextBlock>
-                                                                                                            </BulletDecorator>
-                        
-                                                                                                            <BulletDecorator Margin="7,2">
-                                                                                                                <BulletDecorator.Bullet>
-                                                                                                                    <Ellipse
-                                                                                                                        Width="7"
-                                                                                                                        Height="7"
-                                                                                                                        Fill="{StaticResource MainColorBrush}" />
-                                                                                                                </BulletDecorator.Bullet>
-                                                                                                                <TextBlock Margin="5,0,0,0">
-                                                                                                                    <Bold>Ctrl</Bold>
-                                                                                                                    + <Bold>R</Bold> reload.</TextBlock>
-                                                                                                                </BulletDecorator>
-                        
-                                                                                                                <BulletDecorator Margin="7,2">
-                                                                                                                    <BulletDecorator.Bullet>
-                                                                                                                        <Ellipse
-                                                                                                                            Width="7"
-                                                                                                                            Height="7"
-                                                                                                                            Fill="{StaticResource MainColorBrush}" />
-                                                                                                                    </BulletDecorator.Bullet>
-                                                                                                                    <TextBlock Margin="5,0,0,0">
-                                                                                                                        <Bold>Shift</Bold>
-                                                                                                                        + <Bold>Del</Bold> permanently delete file</TextBlock>
-                                                                                                                    </BulletDecorator>
-                        
-                                                                                                                    <BulletDecorator Margin="7,2">
-                                                                                                                        <BulletDecorator.Bullet>
-                                                                                                                            <Ellipse
-                                                                                                                                Width="7"
-                                                                                                                                Height="7"
-                                                                                                                                Fill="{StaticResource MainColorBrush}" />
-                                                                                                                        </BulletDecorator.Bullet>
-                                                                                                                        <TextBlock Margin="5,0,0,0">
-                                                                                                                            <Bold>Del</Bold> move to recycle bin</TextBlock>
-                                                                                                                        </BulletDecorator>
-
-                        
-                        
-                                                                                                                        <Label Margin="0,10,0,0" FontSize="15" Content="Navigate:" />
-                        
-                                                                                                                        <BulletDecorator Margin="7,2">
-                                                                                                                            <BulletDecorator.Bullet>
-                                                                                                                                <Ellipse
-                                                                                                                                    Width="7"
-                                                                                                                                    Height="7"
-                                                                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                                                                            </BulletDecorator.Bullet>
-                                                                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                                                                <Bold>Right arrow</Bold> next image</TextBlock>
-                                                                                                                            </BulletDecorator>
-                        
-                                                                                                                            <BulletDecorator Margin="7,2">
-                                                                                                                                <BulletDecorator.Bullet>
-                                                                                                                                    <Ellipse
-                                                                                                                                        Width="7"
-                                                                                                                                        Height="7"
-                                                                                                                                        Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                </BulletDecorator.Bullet>
-                                                                                                                                <TextBlock Margin="5,0,0,0">
-                                                                                                                                    <Bold>D</Bold> next image</TextBlock>
-                                                                                                                                </BulletDecorator>
-                        
-                                                                                                                                <BulletDecorator Margin="7,2">
-                                                                                                                                    <BulletDecorator.Bullet>
-                                                                                                                                        <Ellipse
-                                                                                                                                            Width="7"
-                                                                                                                                            Height="7"
-                                                                                                                                            Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                    </BulletDecorator.Bullet>
-                                                                                                                                    <TextBlock Margin="5,0,0,0">
-                                                                                                                                        <Bold>Shift + Mousewheel up</Bold> next image</TextBlock>
-                                                                                                                                    </BulletDecorator>
-                        
-                                                                                                                                    <BulletDecorator Margin="7,2">
-                                                                                                                                        <BulletDecorator.Bullet>
-                                                                                                                                            <Ellipse
-                                                                                                                                                Width="7"
-                                                                                                                                                Height="7"
-                                                                                                                                                Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                        </BulletDecorator.Bullet>
-                                                                                                                                        <TextBlock Margin="5,0,0,0">
-                                                                                                                                            <Bold>Mouse button forward</Bold> next image</TextBlock>
-                                                                                                                                        </BulletDecorator>
-                        
-                                                                                                                                        <BulletDecorator Margin="7,2">
-                                                                                                                                            <BulletDecorator.Bullet>
-                                                                                                                                                <Ellipse
-                                                                                                                                                    Width="7"
-                                                                                                                                                    Height="7"
-                                                                                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                            </BulletDecorator.Bullet>
-                                                                                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                                                                                <Bold>Left arrow</Bold>
-                                                                                                                                                       to show previous image.</TextBlock>
-                                                                                                                                        </BulletDecorator>
-                        
-                                                                                                                                        <BulletDecorator Margin="7,2">
-                                                                                                                                            <BulletDecorator.Bullet>
-                                                                                                                                                <Ellipse
-                                                                                                                                                    Width="7"
-                                                                                                                                                    Height="7"
-                                                                                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                            </BulletDecorator.Bullet>
-                                                                                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                                                                                <Bold>A</Bold>
-                                                                                                                                                       to show previous image.</TextBlock>
-                                                                                                                                        </BulletDecorator>
-                        
-                                                                                                                                        <BulletDecorator Margin="7,2">
-                                                                                                                                            <BulletDecorator.Bullet>
-                                                                                                                                                <Ellipse
-                                                                                                                                                    Width="7"
-                                                                                                                                                    Height="7"
-                                                                                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                            </BulletDecorator.Bullet>
-                                                                                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                                                                                <Bold>Shift + Mousewheel down</Bold> previous image</TextBlock>
-                                                                                                                                            </BulletDecorator>
-                        
-                                                                                                                                            <BulletDecorator Margin="7,2">
-                                                                                                                                                <BulletDecorator.Bullet>
-                                                                                                                                                    <Ellipse
-                                                                                                                                                        Width="7"
-                                                                                                                                                        Height="7"
-                                                                                                                                                        Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                                </BulletDecorator.Bullet>
-                                                                                                                                                <TextBlock Margin="5,0,0,0">
-                                                                                                                                                    <Bold>Mouse button backward</Bold> previous image</TextBlock>
-                                                                                                                                                </BulletDecorator>
-
-                                                                                                                                                <Label
-                                                                                                                                                    Margin="0,10,0,0"
-                                                                                                                                                    Content="Transform image:"
-                                                                                                                                                    FontSize="15" />
-                        
-                                                                                                                                                <BulletDecorator Margin="7,2">
-                                                                                                                                                    <BulletDecorator.Bullet>
-                                                                                                                                                        <Ellipse
-                                                                                                                                                            Width="7"
-                                                                                                                                                            Height="7"
-                                                                                                                                                            Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                                    </BulletDecorator.Bullet>
-                                                                                                                                                    <TextBlock Margin="5,0,0,0">
-                                                                                                                                                        <Bold>Arrow up</Bold> rotate right</TextBlock>
-                                                                                                                                                    </BulletDecorator>
-                        
-                                                                                                                                                    <BulletDecorator Margin="7,2">
-                                                                                                                                                        <BulletDecorator.Bullet>
-                                                                                                                                                            <Ellipse
-                                                                                                                                                                Width="7"
-                                                                                                                                                                Height="7"
-                                                                                                                                                                Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                                        </BulletDecorator.Bullet>
-                                                                                                                                                        <TextBlock Margin="5,0,0,0">
-                                                                                                                                                            <Bold>W</Bold> rotate right</TextBlock>
-                                                                                                                                                        </BulletDecorator>
-                        
-                                                                                                                                                        <BulletDecorator Margin="7,2">
-                                                                                                                                                            <BulletDecorator.Bullet>
-                                                                                                                                                                <Ellipse
-                                                                                                                                                                    Width="7"
-                                                                                                                                                                    Height="7"
-                                                                                                                                                                    Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                                            </BulletDecorator.Bullet>
-                                                                                                                                                            <TextBlock Margin="5,0,0,0">
-                                                                                                                                                                <Bold>Arrow down</Bold> rotate left</TextBlock>
-                                                                                                                                                            </BulletDecorator>
-                        
-                                                                                                                                                            <BulletDecorator Margin="7,2">
-                                                                                                                                                                <BulletDecorator.Bullet>
-                                                                                                                                                                    <Ellipse
-                                                                                                                                                                        Width="7"
-                                                                                                                                                                        Height="7"
-                                                                                                                                                                        Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                                                </BulletDecorator.Bullet>
-                                                                                                                                                                <TextBlock Margin="5,0,0,0">
-                                                                                                                                                                    <Bold>S</Bold> rotate left.</TextBlock>
-                                                                                                                                                                </BulletDecorator>
-                        
-                                                                                                                                                                <BulletDecorator Margin="7,2">
-                                                                                                                                                                    <BulletDecorator.Bullet>
-                                                                                                                                                                        <Ellipse
-                                                                                                                                                                            Width="7"
-                                                                                                                                                                            Height="7"
-                                                                                                                                                                            Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                                                    </BulletDecorator.Bullet>
-                                                                                                                                                                    <TextBlock Margin="5,0,0,0">
-                                                                                                                                                                        <Bold>F</Bold> flip image</TextBlock>
-                                                                                                                                                                    </BulletDecorator>
-
-
-                                                                                                                                                                    <Label
-                                                                                                                                                                        Margin="0,10,0,0"
-                                                                                                                                                                        Content="Misc:"
-                                                                                                                                                                        FontSize="15" />
-                                                                                                                                                                    <BulletDecorator Margin="7,2">
-                                                                                                                                                                        <BulletDecorator.Bullet>
-                                                                                                                                                                            <Ellipse
-                                                                                                                                                                                Width="7"
-                                                                                                                                                                                Height="7"
-                                                                                                                                                                                Fill="{StaticResource MainColorBrush}" />
-                                                                                                                                                                        </BulletDecorator.Bullet>
-                                                                                                                                                                        <TextBlock Margin="5,0,0,0">
-                                                                                                                                                                            <Bold>Spacebar</Bold> center on current screen</TextBlock>
-                                                                                                                                                                        </BulletDecorator>
-
-                                                                                                                                                                    </StackPanel>
-                                                                                                                                                                </ScrollViewer>
-
-                                                                                                                                                            </Grid>
-                                                                                                                                                            <Border
-                                                                                                                                                                Height="35"
-                                                                                                                                                                VerticalAlignment="Bottom"
-                                                                                                                                                                Background="#FF0C0C0C">
-                                                                                                                                                                <Label
-                                                                                                                                                                    Margin="0,0,0,9"
-                                                                                                                                                                    Padding="0"
-                                                                                                                                                                    HorizontalAlignment="Center"
-                                                                                                                                                                    VerticalAlignment="Bottom"
-                                                                                                                                                                    Content="© PicView 2017 - 2019"
-                                                                                                                                                                    FontSize="14"
-                                                                                                                                                                    FontStyle="Italic" />
-                                                                                                                                                            </Border>
-                                                                                                                                                        </StackPanel>
-                                                                                                                                                    </Border>
-                                                                                                                                                </Window>

+ 0 - 94
PicView/Windows/Help.xaml.cs

@@ -1,94 +0,0 @@
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Input;
-
-namespace PicView.Windows
-{
-    /// <summary>
-    /// A userControl used to inform about the application
-    /// </summary>
-    public partial class Help : Window
-    {
-        #region Window Logic
-
-        public Help()
-        {
-            InitializeComponent();
-        }
-
-        private void Window_ContentRendered(object sender, EventArgs e)
-        {
-            #region Add events
-
-            CloseButton.Click += (s, x) => Close();
-
-            CloseButton.MouseEnter += (s, x) =>
-            {
-                AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, CloseButtonBrush, true);
-            };
-
-            CloseButton.MouseLeave += (s, x) =>
-            {
-                AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, CloseButtonBrush, true);
-            };
-
-            CloseButton.PreviewMouseLeftButtonDown += (s, x) =>
-            {
-                AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CloseButtonBrush, true);
-            };
-
-            KeyDown += Keys;
-
-            #endregion
-        }
-
-        // Close Button
-        private void CloseButtonMouseOver(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, CloseButtonBrush, false);
-        }
-
-        private void CloseButtonMouseButtonDown(object sender, MouseButtonEventArgs e)
-        {
-            AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CloseButtonBrush, false);
-        }
-
-        private void CloseButtonMouseLeave(object sender, MouseEventArgs e)
-        {
-            AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, CloseButtonBrush, false);
-        }
-
-        private void Window_Closing(object sender, CancelEventArgs e)
-        {
-            Closing -= Window_Closing;
-            e.Cancel = true;
-            AnimationHelper.FadeWindow(this, 0, TimeSpan.FromSeconds(.5));
-        }
-
-        #endregion
-
-        #region Keyboard Shortcuts
-
-        private void Keys(object sender, KeyEventArgs e)
-        {
-            if (e.Key == Key.Escape ||
-                e.Key == Key.Q && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control || e.Key == Key.F1)
-            {
-                Close();
-            }
-
-            else if (e.Key == Key.S || e.Key == Key.Down)
-            {
-                Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset + 10);
-            }
-
-            else if (e.Key == Key.W || e.Key == Key.Up)
-            {
-                Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset - 10);
-            }
-        }
-
-        #endregion
-    }
-}

+ 681 - 0
PicView/Windows/Info.xaml

@@ -0,0 +1,681 @@
+<Window
+    x:Class="PicView.Windows.Info"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:uc="clr-namespace:PicView.UserControls"
+    Title="PicView Info"
+    Width="465"
+    Height="550"
+    FontFamily="/PicView;component/Resources/fonts/#Aller"
+    Foreground="{StaticResource MainColorBrush}"
+    Style="{DynamicResource MyWindowStyle}">
+
+    <DockPanel LastChildFill="True">
+        <DockPanel
+            x:Name="TitleBar"
+            Height="33"
+            DockPanel.Dock="Top">
+            <DockPanel.Background>
+                <ImageBrush
+                    ImageSource="/Resources/img/noisy-texture-200x200-o4-d30-c-101010-t0.png"
+                    TileMode="FlipXY"
+                    Viewport="0,0,100,100"
+                    ViewportUnits="Absolute" />
+            </DockPanel.Background>
+            <uc:Logo />
+            <uc:CloseButton
+                x:Name="CloseButton"
+                VerticalAlignment="Center"
+                DockPanel.Dock="Right" />
+
+            <uc:MinButton
+                x:Name="MinButton"
+                VerticalAlignment="Center"
+                DockPanel.Dock="Right" />
+
+            <TextBlock
+                x:Name="Bar"
+                VerticalAlignment="Center"
+                Background="{x:Null}"
+                FontFamily="/PicView;component/Resources/fonts/#Aller"
+                FontSize="15"
+                FontWeight="Bold"
+                Foreground="{StaticResource MainColorBrush}"
+                Text="Info"
+                TextAlignment="Center"
+                TextTrimming="CharacterEllipsis" />
+        </DockPanel>
+        <ScrollViewer
+            x:Name="Scroller"
+            Background="{StaticResource BackgroundColorBrushAlt}"
+            HorizontalScrollBarVisibility="Disabled"
+            VerticalScrollBarVisibility="Auto">
+            <StackPanel Margin="8,0,3,5">
+
+                <Label Margin="0,5,0,0" FontSize="16">Shortcuts:</Label>
+
+                <Label
+                    Margin="0,2,0,2"
+                    Content="Main functions:"
+                    FontSize="15" />
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Alt + Z</Bold>
+                        show/hide interface.</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>X</Bold>
+                        toggle scroll</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>L</Bold>
+                        toggle looping</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>F4</Bold>
+                        show/hide picture gallery</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>F5</Bold>
+                        show/hide fullscreen picture gallery</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Esc</Bold>
+                        close the currently opened element</TextBlock>
+                </BulletDecorator>
+
+                <Label
+                    Margin="0,10,0,0"
+                    Content="Zoom:"
+                    FontSize="15" />
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Mousewheel</Bold>
+                        zoom at cursor position</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Mousewheel</Bold>
+                        +<Bold>Ctrl</Bold>
+                        scale window size</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        Numpad<Bold>+</Bold>
+                        /<Bold>-</Bold>
+                        zoom in/out</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl +</Bold>
+                        /<Bold>-</Bold>
+                        scale window size</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Double click</Bold>
+                        reset zoom</TextBlock>
+                </BulletDecorator>
+
+                <Label
+                    Margin="0,2,0,2"
+                    Content="Show windows:"
+                    FontSize="15" />
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>F1</Bold>
+                        show help window</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>F2</Bold>
+                        show about window</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>F12</Bold>
+                        show/hide slideshow</TextBlock>
+                </BulletDecorator>
+
+                <Label
+                    Margin="0,10,0,0"
+                    Content="File functions:"
+                    FontSize="15" />
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>0</Bold>
+                        /<Bold>0</Bold>
+                        open a file</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>C</Bold>
+                        add file to clipboard.</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>X</Bold>
+                        move file to clipboard.</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>Shift</Bold>
+                        +<Bold>C</Bold>
+                        add image to clipboard</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>V</Bold>
+                        paste image/file from clipboard</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>S</Bold>
+                        save image</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>I</Bold>
+                        show file details</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Ctrl</Bold>
+                        +<Bold>R</Bold>
+                        reload.</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Shift</Bold>
+                        +<Bold>Del</Bold>
+                        permanently delete file</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Del</Bold>
+                        move to recycle bin</TextBlock>
+                </BulletDecorator>
+
+
+
+                <Label
+                    Margin="0,10,0,0"
+                    Content="Navigate:"
+                    FontSize="15" />
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Right arrow</Bold>
+                        next image</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>D</Bold>
+                        next image</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Shift + Mousewheel up</Bold>
+                        next image</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Mouse button forward</Bold>
+                        next image</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Left arrow</Bold>
+                        to show previous image.</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>A</Bold>
+                        to show previous image.</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Shift + Mousewheel down</Bold>
+                        previous image</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Mouse button backward</Bold>
+                        previous image</TextBlock>
+                </BulletDecorator>
+
+                <Label
+                    Margin="0,10,0,0"
+                    Content="Transform image:"
+                    FontSize="15" />
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Arrow up</Bold>
+                        rotate right</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>W</Bold>
+                        rotate right</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Arrow down</Bold>
+                        rotate left</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>S</Bold>
+                        rotate left.</TextBlock>
+                </BulletDecorator>
+
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>F</Bold>
+                        flip image</TextBlock>
+                </BulletDecorator>
+
+
+                <Label
+                    Margin="0,10,0,0"
+                    Content="Misc:"
+                    FontSize="15" />
+                <BulletDecorator Margin="7,2">
+                    <BulletDecorator.Bullet>
+                        <Ellipse
+                            Width="7"
+                            Height="7"
+                            Fill="{StaticResource MainColorBrush}" />
+                    </BulletDecorator.Bullet>
+                    <TextBlock Margin="5,0,0,0">
+                        <Bold>Spacebar</Bold>
+                        center on current screen</TextBlock>
+                </BulletDecorator>
+
+                <StackPanel Margin="0,7">
+                    <Label
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Top"
+                        Content="Fonts Used:" />
+                    <TextBlock
+                        FontFamily="/PicView;component/Resources/fonts/#Aller"
+                        FontSize="16"
+                        TextAlignment="Center"
+                        ToolTip="http://www.fontsquirrel.com/fonts/aller">
+                        <Hyperlink
+                            x:Name="Aller"
+                            NavigateUri="http://www.fontsquirrel.com/fonts/aller"
+                            RequestNavigate="Hyperlink_RequestNavigate">
+                            Aller
+                            <Hyperlink.Foreground>
+                                <SolidColorBrush x:Name="AllerBrush" Color="{StaticResource MainColor}" />
+                            </Hyperlink.Foreground>
+                        </Hyperlink>
+                    </TextBlock>
+
+                    <TextBlock
+                        FontFamily="/PicView;component/Resources/fonts/#TeX Gyre Heros"
+                        FontSize="16"
+                        TextAlignment="Center"
+                        ToolTip="http://www.fontsquirrel.com/fonts/tex-gyre-heros">
+                        <Hyperlink
+                            x:Name="TexGyre"
+                            NavigateUri="http://www.fontsquirrel.com/fonts/tex-gyre-heros"
+                            RequestNavigate="Hyperlink_RequestNavigate">
+                            Tex Gyre Heros
+                            <Hyperlink.Foreground>
+                                <SolidColorBrush x:Name="TexGyreBrush" Color="{StaticResource MainColor}" />
+                            </Hyperlink.Foreground>
+                        </Hyperlink>
+                    </TextBlock>
+                </StackPanel>
+
+
+                <StackPanel Margin="0,7">
+                    <Label HorizontalAlignment="Center">Icons Used:</Label>
+                    <TextBlock
+                        FontFamily="/PicView;component/Resources/fonts/#Aller"
+                        FontSize="14"
+                        TextAlignment="Center"
+                        ToolTip="https://useiconic.com/open/">
+                        <Hyperlink
+                            x:Name="Iconic"
+                            NavigateUri="https://useiconic.com/open/"
+                            RequestNavigate="Hyperlink_RequestNavigate">
+                            Iconic
+                            <Hyperlink.Foreground>
+                                <SolidColorBrush x:Name="IconicBrush" Color="{StaticResource MainColor}" />
+                            </Hyperlink.Foreground>
+                        </Hyperlink>
+                    </TextBlock>
+                    <TextBlock
+                        x:Name="FlatIcon"
+                        FontFamily="/PicView;component/Resources/fonts/#Aller"
+                        FontSize="14"
+                        TextAlignment="Center"
+                        ToolTip="http://www.flaticon.com/free-icon/file-folder_379">
+                        <Hyperlink NavigateUri="http://www.flaticon.com/free-icon/file-folder_379" RequestNavigate="Hyperlink_RequestNavigate">
+                            Flaticon
+                            <Hyperlink.Foreground>
+                                <SolidColorBrush x:Name="FlatIconBrush" Color="{StaticResource MainColor}" />
+                            </Hyperlink.Foreground>
+                        </Hyperlink>
+                    </TextBlock>
+                    <TextBlock
+                        x:Name="Ionic"
+                        FontFamily="/PicView;component/Resources/fonts/#Aller"
+                        FontSize="14"
+                        TextAlignment="Center"
+                        ToolTip="http://Ionicons.com/">
+                        <Hyperlink NavigateUri="http://Ionicons.com/" RequestNavigate="Hyperlink_RequestNavigate">
+                            Ioinicons
+                            <Hyperlink.Foreground>
+                                <SolidColorBrush x:Name="IonicBrush" Color="{StaticResource MainColor}" />
+                            </Hyperlink.Foreground>
+                        </Hyperlink>
+                    </TextBlock>
+                    <TextBlock
+                        x:Name="FontAwesome"
+                        FontFamily="/PicView;component/Resources/fonts/#Aller"
+                        FontSize="14"
+                        TextAlignment="Center"
+                        ToolTip="http://fontawesome.io/">
+                        <Hyperlink NavigateUri="http://fontawesome.io/" RequestNavigate="Hyperlink_RequestNavigate">
+                            FontAwesome
+                            <Hyperlink.Foreground>
+                                <SolidColorBrush x:Name="FontAwesomeBrush" Color="{StaticResource MainColor}" />
+                            </Hyperlink.Foreground>
+                        </Hyperlink>
+                    </TextBlock>
+                </StackPanel>
+
+                <StackPanel Margin="0,70,0,0">
+                    <TextBlock
+                        Margin="0,2"
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Bottom"
+                        FontFamily="/PicView;component/Resources/fonts/#Aller"
+                        FontSize="12"
+                        Text="Made by Ruben Hyldgaard Negendahl" />
+
+                    <Label
+                        x:Name="appVersion"
+                        Margin="0,2"
+                        HorizontalAlignment="Center"
+                        VerticalAlignment="Bottom"
+                        Content="Version : " />
+                </StackPanel>
+            </StackPanel>
+
+        </ScrollViewer>
+
+    </DockPanel>
+</Window>

+ 75 - 0
PicView/Windows/Info.xaml.cs

@@ -0,0 +1,75 @@
+using System;
+using System.Diagnostics;
+using System.Reflection;
+using System.Windows;
+using System.Windows.Input;
+using System.Windows.Navigation;
+using static PicView.Fields;
+
+namespace PicView.Windows
+{
+    public partial class Info : Window
+    {
+        #region Window Logic
+
+        public Info()
+        {
+            InitializeComponent();
+
+            // Get version
+            Assembly assembly = Assembly.GetExecutingAssembly();
+            FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
+            appVersion.Content += fvi.FileVersion;
+
+            ContentRendered += Window_ContentRendered;
+        }
+
+        private void Window_ContentRendered(object sender, EventArgs e)
+        {
+            #region Add events
+
+            KeyDown += Keys;
+
+            // CloseButton
+            CloseButton.TheButton.Click += delegate { Hide(); mainWindow.Focus(); };
+
+            // MinButton
+            MinButton.TheButton.Click += delegate { SystemCommands.MinimizeWindow(this); };
+
+            TitleBar.MouseLeftButtonDown += delegate { DragMove(); };
+
+            #endregion
+        }
+
+        #endregion
+
+        #region Keyboard Shortcuts
+
+        private void Keys(object sender, KeyEventArgs e)
+        {
+            if (e.Key == Key.Escape ||
+                e.Key == Key.Q && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control || e.Key == Key.F1)
+            {
+                Hide();
+            }
+
+            else if (e.Key == Key.S || e.Key == Key.Down)
+            {
+                Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset + 10);
+            }
+
+            else if (e.Key == Key.W || e.Key == Key.Up)
+            {
+                Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset - 10);
+            }
+        }
+
+        #endregion
+
+        private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
+        {
+            Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
+            e.Handled = true;
+        }
+    }
+}

+ 0 - 193
PicView/Windows/Tools.xaml

@@ -1,193 +0,0 @@
-<Window
-    x:Class="PicView.Windows.Tools"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:local="clr-namespace:PicView"
-    x:Name="window"
-    Title="PicView Tools"
-    ContentRendered="Window_ContentRendered"
-    FontFamily="/PicView;component/Resources/fonts/#Aller"
-    Foreground="{StaticResource MainColorBrush}"
-    Icon="/Resources/img/reflex-icon.png"
-    SizeToContent="WidthAndHeight"
-    Style="{DynamicResource MyWindowStyle}">
-
-    <DockPanel LastChildFill="True">
-        <DockPanel
-            Height="38"
-            Background="{StaticResource BackgroundColorBrushAlt}"
-            DockPanel.Dock="Top">
-            <Canvas
-                x:Name="Logobg"
-                Width="90"
-                DockPanel.Dock="Left">
-                <Path Margin="7,0,0,0" Data="M2.968,11.236H9.9c3.511,0,5.239,1.008,5.239,4.267c0,3.259-1.963,4.429-5.708,4.429h-1.53v3.907H2.968V11.236z    M7.901,13.721v3.655h0.99c0.486-0.054,1.513-0.45,1.513-1.657c0-1.62-0.612-1.908-1.314-1.999H7.901z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="pBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M15.819,10.336h5.113v3.079h-5.113V10.336z M20.843,23.84h-4.934v-9.003h4.934V23.84z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="iBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M30.654,23.804c-0.937,0.126-1.423,0.18-2.071,0.18c-3.042,0-7.058-0.342-7.058-4.646c0-3.601,3.205-4.645,6.122-4.645   c1.098,0,2.143,0.144,2.971,0.36v2.503c-0.468-0.18-0.937-0.252-1.387-0.252c-1.53,0-2.755,0.937-2.755,2.035   c0,1.333,1.08,1.891,2.899,1.891c0.342,0,0.576-0.036,1.278-0.108V23.804z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="cBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M42.444,23.84h-7.04l-4.429-12.604h4.933l3.008,8.588l3.024-8.588h4.934L42.444,23.84z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="vBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M47.283,10.336h5.113v3.079h-5.113V10.336z M52.307,23.84h-4.934v-9.003h4.934V23.84z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="iiBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M62.946,23.336c-1.188,0.306-3.043,0.648-4.682,0.648c-1.746,0-5.275-0.954-5.275-4.646c0-3.853,3.151-4.681,5.672-4.681   c2.503,0,4.789,0.918,4.789,4.375v1.458h-5.905c0,0.774,1.08,1.081,1.836,1.081c1.404,0,3.259-0.378,3.565-0.486V23.336z    M57.545,18.528h1.836c-0.054-0.558-0.27-1.152-0.9-1.152C58.049,17.376,57.563,17.412,57.545,18.528z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="eBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-                <Path Margin="7,0,0,0" Data="M66.49,23.84l-3.276-9.003h4.573l1.152,5.348l1.765-5.348h3.528l1.783,5.348l1.134-5.348h4.573l-3.295,9.003h-4.861   l-1.116-4.717l-1.099,4.717H66.49z">
-                    <Path.Fill>
-                        <SolidColorBrush x:Name="wBrush" Color="{StaticResource MainColor}" />
-                    </Path.Fill>
-                </Path>
-            </Canvas>
-            <Button
-                x:Name="CloseButton"
-                Width="38"
-                Height="38"
-                VerticalAlignment="Center"
-                BorderThickness="0"
-                DockPanel.Dock="Right"
-                FocusVisualStyle="{x:Null}"
-                Focusable="False"
-                ToolTip="Close">
-                <Button.Background>
-                    <SolidColorBrush x:Name="CloseButtonBrush" />
-                </Button.Background>
-                <Path
-                    Width="10"
-                    Height="10"
-                    Data="M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4  L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1  c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1  c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z"
-                    Fill="{StaticResource MainColorBrush}"
-                    SnapsToDevicePixels="True"
-                    Stretch="Fill" />
-            </Button>
-            <Button
-                x:Name="MaxButton"
-                Width="38"
-                Height="38"
-                VerticalAlignment="Center"
-                BorderThickness="0"
-                DockPanel.Dock="Right"
-                FocusVisualStyle="{x:Null}"
-                Focusable="False"
-                ToolTip="Maximize">
-                <Button.Background>
-                    <SolidColorBrush x:Name="MaxButtonBrush" />
-                </Button.Background>
-                <Path
-                    x:Name="MaxButtonPath"
-                    Width="10"
-                    Height="10"
-                    Data="M143 64h714v429h-714v-429z m857 625v-678q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v678q0 37 26 63t63 27h822q37 0 63-27t26-63z"
-                    Fill="{StaticResource MainColorBrush}"
-                    SnapsToDevicePixels="True"
-                    Stretch="Fill" />
-            </Button>
-            <Button
-                x:Name="MinButton"
-                Width="38"
-                Height="38"
-                Margin="5,0,0,0"
-                VerticalAlignment="Center"
-                BorderThickness="0"
-                DockPanel.Dock="Right"
-                FocusVisualStyle="{x:Null}"
-                Focusable="False"
-                ToolTip="Minimize">
-                <Button.Background>
-                    <SolidColorBrush x:Name="MinButtonBrush" />
-                </Button.Background>
-                <Path
-                    Data="F1M0,6L0,9 9,9 9,6 0,6z"
-                    Fill="{StaticResource MainColorBrush}"
-                    SnapsToDevicePixels="True" />
-            </Button>
-            <TextBlock
-                x:Name="Bar"
-                Height="20"
-                Background="{x:Null}"
-                FontFamily="/PicView;component/Resources/fonts/#Aller"
-                FontSize="15"
-                FontWeight="Bold"
-                Foreground="{StaticResource MainColorBrush}"
-                Text="Tools"
-                TextAlignment="Center"
-                TextTrimming="CharacterEllipsis" />
-        </DockPanel>
-
-        <DockPanel
-            x:Name="LowerBar"
-            Height="35"
-            MinWidth="444"
-            DockPanel.Dock="Bottom">
-            <DockPanel.Background>
-                <ImageBrush
-                    ImageSource="/Resources/img/noisy-texture-200x200-o4-d30-c-101010-t0.png"
-                    TileMode="FlipXY"
-                    Viewport="0,0,100,100"
-                    ViewportUnits="Absolute" />
-            </DockPanel.Background>
-            <Label
-                Margin="0,0,0,2"
-                HorizontalAlignment="Center"
-                VerticalAlignment="Bottom"
-                Content="© PicView 2017"
-                FontSize="14"
-                FontStyle="Italic" />
-        </DockPanel>
-
-        <DockPanel LastChildFill="True">
-            <Rectangle
-                x:Name="LeftBorderRectangle"
-                Width="7"
-                DockPanel.Dock="Left">
-                <Rectangle.Fill>
-                    <ImageBrush
-                        ImageSource="/Resources/img/noisy-texture-200x200-o4-d30-c-101010-t0.png"
-                        TileMode="FlipXY"
-                        Viewport="0,0,100,100"
-                        ViewportUnits="Absolute" />
-                </Rectangle.Fill>
-            </Rectangle>
-            <Rectangle
-                x:Name="RightBorderRectangle"
-                Width="7"
-                Margin="-1,0,0,0"
-                DockPanel.Dock="Right">
-                <Rectangle.Fill>
-                    <ImageBrush
-                        ImageSource="/Resources/img/noisy-texture-200x200-o4-d30-c-101010-t0.png"
-                        TileMode="FlipXY"
-                        Viewport="0,0,100,100"
-                        ViewportUnits="Absolute" />
-                </Rectangle.Fill>
-            </Rectangle>
-            <Grid x:Name="bg" AllowDrop="True">
-                <Grid.Background>
-                    <ImageBrush
-                        ImageSource="/Resources/img/noisy-texture-200x200-o4-d31-c-161616-t0.png"
-                        TileMode="FlipXY"
-                        Viewport="0,0,100,100"
-                        ViewportUnits="Absolute" />
-                </Grid.Background>
-            </Grid>
-        </DockPanel>
-    </DockPanel>
-</Window>

+ 0 - 52
PicView/Windows/Tools.xaml.cs

@@ -1,52 +0,0 @@
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Input;
-
-namespace PicView.Windows
-{
-    /// <summary>
-    /// Interaction logic for YesNoDialogWindow.xaml
-    /// </summary>
-    public partial class Tools : Window
-    {
-        public Tools()
-        {
-            InitializeComponent();
-        }
-
-        private void Window_ContentRendered(object sender, EventArgs e)
-        {
-            CloseButton.Click += (s, x) => Close();
-
-            CloseButton.MouseEnter += (s, x) =>
-            {
-                AnimationHelper.MouseEnterColorEvent(0, 0, 0, 0, CloseButtonBrush, true);
-            };
-
-            CloseButton.MouseLeave += (s, x) =>
-            {
-                AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, CloseButtonBrush, true);
-            };
-
-            CloseButton.PreviewMouseLeftButtonDown += (s, x) =>
-            {
-                AnimationHelper.PreviewMouseLeftButtonDownColorEvent(CloseButtonBrush, true);
-            };
-        }
-
-        #region Eventhandlers
-
-        private void Window_Closing(object sender, CancelEventArgs e)
-        {
-            Closing -= Window_Closing;
-
-            AnimationHelper.FadeWindow(this, 0, TimeSpan.FromSeconds(.5));
-            FocusManager.SetFocusedElement(Application.Current.MainWindow, this);
-        }
-
-        #endregion
-
-
-    }
-}