1
1
Ruben 3 жил өмнө
parent
commit
5832d38976
100 өөрчлөгдсөн 226 нэмэгдсэн , 142 устгасан
  1. 43 0
      PicView/Animations/AnimationHelper.cs
  2. 1 0
      PicView/ChangeImage/Error_Handling.cs
  3. 1 1
      PicView/ChangeImage/LoadPic.cs
  4. 2 1
      PicView/ChangeTitlebar/EditTitleBar.cs
  5. 2 1
      PicView/ChangeTitlebar/SetTitle.cs
  6. 1 1
      PicView/ConfigureSettings/ConfigColors.cs
  7. 1 0
      PicView/ConfigureSettings/UpdateUIValues.cs
  8. 1 0
      PicView/Editing/Crop/CropFunctions.cs
  9. 1 0
      PicView/FileHandling/FileFunctions.cs
  10. 1 0
      PicView/FileHandling/Open_Save.cs
  11. 1 0
      PicView/FileHandling/WebFunctions.cs
  12. 1 0
      PicView/ImageHandling/ImageFunctions.cs
  13. 1 0
      PicView/ImageHandling/Thumbnails.cs
  14. 1 0
      PicView/PicGallery/GalleryClick.cs
  15. 1 0
      PicView/PicGallery/GalleryFunctions.cs
  16. 5 8
      PicView/PicGallery/GalleryLoad.cs
  17. 5 4
      PicView/PicGallery/GalleryNavigation.cs
  18. 3 3
      PicView/PicView.csproj
  19. 2 2
      PicView/Shortcuts/CustomTextBoxShortcuts.cs
  20. 2 0
      PicView/Shortcuts/MainKeyboardShortcuts.cs
  21. 1 0
      PicView/Shortcuts/MainMouseKeys.cs
  22. 1 1
      PicView/Themes/Resources/DrawingBrushes.cs
  23. 1 0
      PicView/UILogic/DragAndDrop/DragToExplorer.cs
  24. 1 0
      PicView/UILogic/ImageInfo.cs
  25. 1 0
      PicView/UILogic/Loading/LoadContextMenus.cs
  26. 2 0
      PicView/UILogic/Loading/LoadControls.cs
  27. 1 0
      PicView/UILogic/Sizing/WindowSizing.cs
  28. 1 0
      PicView/UILogic/TransformImage/Zoom.cs
  29. 4 1
      PicView/UILogic/UC.cs
  30. 1 1
      PicView/Views/UserControls/Buttons/BackgroundButton.xaml
  31. 1 1
      PicView/Views/UserControls/Buttons/BackgroundButton.xaml.cs
  32. 1 1
      PicView/Views/UserControls/Buttons/ClickArrow.xaml
  33. 1 1
      PicView/Views/UserControls/Buttons/ClickArrow.xaml.cs
  34. 1 1
      PicView/Views/UserControls/Buttons/CloseButton.xaml
  35. 1 1
      PicView/Views/UserControls/Buttons/CloseButton.xaml.cs
  36. 1 1
      PicView/Views/UserControls/Buttons/CopyButton.xaml
  37. 1 1
      PicView/Views/UserControls/Buttons/CopyButton.xaml.cs
  38. 1 1
      PicView/Views/UserControls/Buttons/FlipButton.xaml
  39. 1 1
      PicView/Views/UserControls/Buttons/FlipButton.xaml.cs
  40. 1 1
      PicView/Views/UserControls/Buttons/FolderButton.xaml
  41. 1 1
      PicView/Views/UserControls/Buttons/FolderButton.xaml.cs
  42. 1 1
      PicView/Views/UserControls/Buttons/FullscreenButton.xaml
  43. 1 1
      PicView/Views/UserControls/Buttons/FullscreenButton.xaml.cs
  44. 1 1
      PicView/Views/UserControls/Buttons/GalleryShortcut.xaml
  45. 1 1
      PicView/Views/UserControls/Buttons/GalleryShortcut.xaml.cs
  46. 1 1
      PicView/Views/UserControls/Buttons/GoToPicButton.xaml
  47. 1 1
      PicView/Views/UserControls/Buttons/GoToPicButton.xaml.cs
  48. 1 1
      PicView/Views/UserControls/Buttons/GripButton.xaml
  49. 1 1
      PicView/Views/UserControls/Buttons/GripButton.xaml.cs
  50. 1 1
      PicView/Views/UserControls/Buttons/ImageInfoButton.xaml
  51. 1 1
      PicView/Views/UserControls/Buttons/ImageInfoButton.xaml.cs
  52. 1 1
      PicView/Views/UserControls/Buttons/InfoButton.xaml
  53. 1 1
      PicView/Views/UserControls/Buttons/InfoButton.xaml.cs
  54. 1 1
      PicView/Views/UserControls/Buttons/LefttButton.xaml
  55. 1 1
      PicView/Views/UserControls/Buttons/LefttButton.xaml.cs
  56. 1 1
      PicView/Views/UserControls/Buttons/LinkButton.xaml
  57. 1 1
      PicView/Views/UserControls/Buttons/LinkButton.xaml.cs
  58. 1 1
      PicView/Views/UserControls/Buttons/MenuCloseButton.xaml
  59. 1 1
      PicView/Views/UserControls/Buttons/MenuCloseButton.xaml.cs
  60. 1 1
      PicView/Views/UserControls/Buttons/MinButton.xaml
  61. 1 1
      PicView/Views/UserControls/Buttons/MinButton.xaml.cs
  62. 1 1
      PicView/Views/UserControls/Buttons/Minus.xaml
  63. 1 1
      PicView/Views/UserControls/Buttons/Minus.xaml.cs
  64. 1 1
      PicView/Views/UserControls/Buttons/OptimizeButton.xaml
  65. 1 1
      PicView/Views/UserControls/Buttons/OptimizeButton.xaml.cs
  66. 1 1
      PicView/Views/UserControls/Buttons/PasteButton.xaml
  67. 1 1
      PicView/Views/UserControls/Buttons/PasteButton.xaml.cs
  68. 1 1
      PicView/Views/UserControls/Buttons/RecycleButton.xaml
  69. 1 1
      PicView/Views/UserControls/Buttons/RecycleButton.xaml.cs
  70. 1 1
      PicView/Views/UserControls/Buttons/ReloadButton.xaml
  71. 1 1
      PicView/Views/UserControls/Buttons/ReloadButton.xaml.cs
  72. 1 1
      PicView/Views/UserControls/Buttons/ResizeButton.xaml
  73. 1 1
      PicView/Views/UserControls/Buttons/ResizeButton.xaml.cs
  74. 1 1
      PicView/Views/UserControls/Buttons/RestoreButton.xaml
  75. 1 1
      PicView/Views/UserControls/Buttons/RestoreButton.xaml.cs
  76. 1 1
      PicView/Views/UserControls/Buttons/RightButton.xaml
  77. 1 1
      PicView/Views/UserControls/Buttons/RightButton.xaml.cs
  78. 1 1
      PicView/Views/UserControls/Buttons/RotateLeftButton.xaml
  79. 1 1
      PicView/Views/UserControls/Buttons/RotateLeftButton.xaml.cs
  80. 1 1
      PicView/Views/UserControls/Buttons/RotateRightButton.xaml
  81. 1 1
      PicView/Views/UserControls/Buttons/RotateRightButton.xaml.cs
  82. 1 1
      PicView/Views/UserControls/Buttons/SettingsButton.xaml
  83. 1 1
      PicView/Views/UserControls/Buttons/SettingsButton.xaml.cs
  84. 1 1
      PicView/Views/UserControls/Buttons/SlideshowButton.xaml
  85. 1 1
      PicView/Views/UserControls/Buttons/SlideshowButton.xaml.cs
  86. 1 1
      PicView/Views/UserControls/Buttons/StarOutlineButton.xaml
  87. 1 1
      PicView/Views/UserControls/Buttons/StarOutlineButton.xaml.cs
  88. 1 1
      PicView/Views/UserControls/Buttons/X2.xaml
  89. 1 1
      PicView/Views/UserControls/Buttons/X2.xaml.cs
  90. 3 2
      PicView/Views/UserControls/Gallery/PicGallery.xaml
  91. 1 1
      PicView/Views/UserControls/Gallery/PicGallery.xaml.cs
  92. 14 6
      PicView/Views/UserControls/Gallery/PicGalleryItem.xaml
  93. 22 17
      PicView/Views/UserControls/Gallery/PicGalleryItem.xaml.cs
  94. 10 9
      PicView/Views/UserControls/Gallery/PicGalleryTopButtons.xaml
  95. 7 6
      PicView/Views/UserControls/Menus/FileMenu.xaml
  96. 1 1
      PicView/Views/UserControls/Menus/FileMenu.xaml.cs
  97. 5 4
      PicView/Views/UserControls/Menus/ImageSettings.xaml
  98. 1 1
      PicView/Views/UserControls/Menus/ImageSettings.xaml.cs
  99. 12 11
      PicView/Views/UserControls/Menus/QuickSettingsMenu.xaml
  100. 1 1
      PicView/Views/UserControls/Menus/QuickSettingsMenu.xaml.cs

+ 43 - 0
PicView/Animations/AnimationHelper.cs

@@ -2,7 +2,9 @@
 using System.Windows;
 using System.Windows;
 using System.Windows.Media;
 using System.Windows.Media;
 using System.Windows.Media.Animation;
 using System.Windows.Media.Animation;
+using PicView.ChangeImage;
 using PicView.Properties;
 using PicView.Properties;
+using PicView.Views.UserControls.Gallery;
 
 
 namespace PicView.Animations
 namespace PicView.Animations
 {
 {
@@ -173,6 +175,47 @@ namespace PicView.Animations
         #endregion Color stuff
         #endregion Color stuff
 
 
         #region Size Animation
         #region Size Animation
+        
+        internal static void HoverSizeAnim(PicGalleryItem item, bool unHover, double from, double to)
+        {
+            if (item.Id == Navigation.FolderIndex || item.Id == PicGallery.GalleryNavigation.SelectedGalleryItem)
+            {
+                return;
+            }
+            if (item.innerborder.Width > PicGallery.GalleryNavigation.PicGalleryItem_Size_s && unHover == false)
+            {
+                // Make sure it is not run consecutively
+                return;
+            }
+
+            var da = new DoubleAnimation
+            {
+                FillBehavior = FillBehavior.Stop,
+                AccelerationRatio = 0.4,
+                DecelerationRatio = 0.6
+            };
+            da.Completed += delegate
+            {
+                item.innerborder.Width = to;
+                item.innerborder.Height = to;
+            };
+
+            if (unHover)
+            {
+                da.From = from;
+                da.To = to;
+                da.Duration = TimeSpan.FromSeconds(.3);
+            }
+            else
+            {
+                da.From = from;
+                da.To = to;
+                da.Duration = TimeSpan.FromSeconds(.25);
+            }
+
+            item.innerborder.BeginAnimation(FrameworkElement.WidthProperty, da);
+            item.innerborder.BeginAnimation(FrameworkElement.HeightProperty, da);
+        }
 
 
         internal static void HeightAnimation(FrameworkElement element, double from, double to, bool reverse)
         internal static void HeightAnimation(FrameworkElement element, double from, double to, bool reverse)
         {
         {

+ 1 - 0
PicView/ChangeImage/Error_Handling.cs

@@ -3,6 +3,7 @@ using System.IO;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using System.Windows;
 using System.Windows;
 using System.Windows.Threading;
 using System.Windows.Threading;
+using PicView.ChangeTitlebar;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.ImageHandling;
 using PicView.ImageHandling;
 using PicView.PicGallery;
 using PicView.PicGallery;

+ 1 - 1
PicView/ChangeImage/LoadPic.cs

@@ -17,7 +17,7 @@ using static PicView.ChangeImage.Navigation;
 using static PicView.FileHandling.ArchiveExtraction;
 using static PicView.FileHandling.ArchiveExtraction;
 using static PicView.FileHandling.FileLists;
 using static PicView.FileHandling.FileLists;
 using static PicView.ImageHandling.Thumbnails;
 using static PicView.ImageHandling.Thumbnails;
-using static PicView.UILogic.SetTitle;
+using static PicView.ChangeTitlebar.SetTitle;
 using static PicView.UILogic.Sizing.ScaleImage;
 using static PicView.UILogic.Sizing.ScaleImage;
 using static PicView.UILogic.Tooltip;
 using static PicView.UILogic.Tooltip;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;

+ 2 - 1
PicView/ChangeTitlebar/EditTitleBar.cs

@@ -5,10 +5,11 @@ using System.Windows.Input;
 using System.Windows.Threading;
 using System.Windows.Threading;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.Properties;
 using PicView.Properties;
+using PicView.UILogic;
 using PicView.UILogic.Sizing;
 using PicView.UILogic.Sizing;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 
 
-namespace PicView.UILogic
+namespace PicView.ChangeTitlebar
 {
 {
     internal static class EditTitleBar
     internal static class EditTitleBar
     {
     {

+ 2 - 1
PicView/ChangeTitlebar/SetTitle.cs

@@ -3,11 +3,12 @@ using System.IO;
 using System.Text;
 using System.Text;
 using System.Windows;
 using System.Windows;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.UILogic;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 using static PicView.FileHandling.FileFunctions;
 using static PicView.FileHandling.FileFunctions;
 using static PicView.UILogic.TransformImage.ZoomLogic;
 using static PicView.UILogic.TransformImage.ZoomLogic;
 
 
-namespace PicView.UILogic
+namespace PicView.ChangeTitlebar
 {
 {
     internal static class SetTitle
     internal static class SetTitle
     {
     {

+ 1 - 1
PicView/ConfigureSettings/ConfigColors.cs

@@ -2,8 +2,8 @@
 using System.Windows;
 using System.Windows;
 using System.Windows.Media;
 using System.Windows.Media;
 using PicView.Animations;
 using PicView.Animations;
-using PicView.Library.Resources;
 using PicView.Properties;
 using PicView.Properties;
+using PicView.Themes.Resources;
 using PicView.UILogic;
 using PicView.UILogic;
 
 
 namespace PicView.ConfigureSettings
 namespace PicView.ConfigureSettings

+ 1 - 0
PicView/ConfigureSettings/UpdateUIValues.cs

@@ -4,6 +4,7 @@ using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Controls;
 using System.Windows.Threading;
 using System.Windows.Threading;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.PicGallery;
 using PicView.PicGallery;
 using PicView.Properties;
 using PicView.Properties;

+ 1 - 0
PicView/Editing/Crop/CropFunctions.cs

@@ -6,6 +6,7 @@ using System.Windows.Media;
 using System.Windows.Media.Imaging;
 using System.Windows.Media.Imaging;
 using Microsoft.Win32;
 using Microsoft.Win32;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.ImageHandling;
 using PicView.ImageHandling;
 using PicView.UILogic;
 using PicView.UILogic;

+ 1 - 0
PicView/FileHandling/FileFunctions.cs

@@ -8,6 +8,7 @@ using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using System.Windows.Threading;
 using System.Windows.Threading;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.SystemIntegration;
 using PicView.SystemIntegration;
 using PicView.UILogic;
 using PicView.UILogic;
 
 

+ 1 - 0
PicView/FileHandling/Open_Save.cs

@@ -8,6 +8,7 @@ using System.Windows.Threading;
 using Microsoft.Win32;
 using Microsoft.Win32;
 using Microsoft.WindowsAPICodePack.Dialogs;
 using Microsoft.WindowsAPICodePack.Dialogs;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.ImageHandling;
 using PicView.ImageHandling;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.ChangeImage.ErrorHandling;
 using static PicView.ChangeImage.ErrorHandling;

+ 1 - 0
PicView/FileHandling/WebFunctions.cs

@@ -6,6 +6,7 @@ using System.Threading.Tasks;
 using System.Windows;
 using System.Windows;
 using System.Windows.Threading;
 using System.Windows.Threading;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.ChangeImage.ErrorHandling;
 using static PicView.ChangeImage.ErrorHandling;
 using static PicView.UILogic.Tooltip;
 using static PicView.UILogic.Tooltip;

+ 1 - 0
PicView/ImageHandling/ImageFunctions.cs

@@ -8,6 +8,7 @@ using System.Windows.Media.Imaging;
 using System.Windows.Threading;
 using System.Windows.Threading;
 using ImageMagick;
 using ImageMagick;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.UILogic;
 using PicView.UILogic;
 using PicView.UILogic.Sizing;
 using PicView.UILogic.Sizing;

+ 1 - 0
PicView/ImageHandling/Thumbnails.cs

@@ -6,6 +6,7 @@ using ImageMagick;
 using Microsoft.WindowsAPICodePack.Shell;
 using Microsoft.WindowsAPICodePack.Shell;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Gallery;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;
 
 

+ 1 - 0
PicView/PicGallery/GalleryClick.cs

@@ -11,6 +11,7 @@ using PicView.ImageHandling;
 using PicView.Properties;
 using PicView.Properties;
 using PicView.UILogic;
 using PicView.UILogic;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Gallery;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ImageHandling.Thumbnails;
 using static PicView.ImageHandling.Thumbnails;
 using static PicView.UILogic.Sizing.ScaleImage;
 using static PicView.UILogic.Sizing.ScaleImage;

+ 1 - 0
PicView/PicGallery/GalleryFunctions.cs

@@ -10,6 +10,7 @@ using PicView.ChangeImage;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.UILogic;
 using PicView.UILogic;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Gallery;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;
 
 
 namespace PicView.PicGallery
 namespace PicView.PicGallery

+ 5 - 8
PicView/PicGallery/GalleryLoad.cs

@@ -13,6 +13,7 @@ using PicView.Properties;
 using PicView.UILogic;
 using PicView.UILogic;
 using PicView.UILogic.Sizing;
 using PicView.UILogic.Sizing;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Gallery;
 using static PicView.UILogic.HideInterfaceLogic;
 using static PicView.UILogic.HideInterfaceLogic;
 
 
 namespace PicView.PicGallery
 namespace PicView.PicGallery
@@ -33,7 +34,7 @@ namespace PicView.PicGallery
         {
         {
             if (UC.GetPicGallery == null)
             if (UC.GetPicGallery == null)
             {
             {
-                UC.GetPicGallery = new Views.UserControls.PicGallery
+                UC.GetPicGallery = new Views.UserControls.Gallery.PicGallery
                 {
                 {
                     Opacity = 0
                     Opacity = 0
                 };
                 };
@@ -133,7 +134,7 @@ namespace PicView.PicGallery
                 // Set style
                 // Set style
                 UC.GetPicGallery.x2.Visibility = Visibility.Visible;
                 UC.GetPicGallery.x2.Visibility = Visibility.Visible;
                 UC.GetPicGallery.Container.Margin = new Thickness(0, 65 * WindowSizing.MonitorInfo.DpiScaling, 0, 0);
                 UC.GetPicGallery.Container.Margin = new Thickness(0, 65 * WindowSizing.MonitorInfo.DpiScaling, 0, 0);
-                UC.GetPicGallery.border.BorderThickness = new Thickness(1, 0, 0, 1);
+                UC.GetPicGallery.border.BorderThickness = new Thickness(1, 0, 0, 0);
                 UC.GetPicGallery.border.Background = (SolidColorBrush)Application.Current.Resources["BackgroundColorBrushFade"];
                 UC.GetPicGallery.border.Background = (SolidColorBrush)Application.Current.Resources["BackgroundColorBrushFade"];
 
 
 
 
@@ -147,12 +148,12 @@ namespace PicView.PicGallery
             if (UC.GetPicGallery.Container.Children.Count <= 0) { return; }
             if (UC.GetPicGallery.Container.Children.Count <= 0) { return; }
             var tempItem = (PicGalleryItem)UC.GetPicGallery.Container.Children[0];
             var tempItem = (PicGalleryItem)UC.GetPicGallery.Container.Children[0];
             
             
-            if (Math.Abs(tempItem.Border.Height - GalleryNavigation.PicGalleryItem_Size) < 1) { return; }
+            if (Math.Abs(tempItem.outterborder.Height - GalleryNavigation.PicGalleryItem_Size) < 1) { return; }
             
             
             for (int i = 0; i < UC.GetPicGallery.Container.Children.Count; i++)
             for (int i = 0; i < UC.GetPicGallery.Container.Children.Count; i++)
             {
             {
                 var item = (PicGalleryItem)UC.GetPicGallery.Container.Children[i];
                 var item = (PicGalleryItem)UC.GetPicGallery.Container.Children[i];
-                item.Border.Height = GalleryNavigation.PicGalleryItem_Size_s;
+                item.innerborder.Height = GalleryNavigation.PicGalleryItem_Size_s;
             }
             }
         }
         }
 
 
@@ -256,11 +257,7 @@ namespace PicView.PicGallery
                     
                     
                     var item = (PicGalleryItem)UC.GetPicGallery.Container.Children[i];
                     var item = (PicGalleryItem)UC.GetPicGallery.Container.Children[i];
                     item.img.Source = pic;
                     item.img.Source = pic;
-                    
-                    item.Width = item.Border.Width = GalleryNavigation.PicGalleryItem_Size * pic.PixelWidth / pic.PixelHeight;
-                    item.Height = item.Border.Height = GalleryNavigation.PicGalleryItem_Size;
 
 
-                    
                 }));
                 }));
             }
             }
             catch (Exception)
             catch (Exception)

+ 5 - 4
PicView/PicGallery/GalleryNavigation.cs

@@ -6,6 +6,7 @@ using PicView.Properties;
 using PicView.UILogic;
 using PicView.UILogic;
 using PicView.UILogic.Sizing;
 using PicView.UILogic.Sizing;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Gallery;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;
 
 
@@ -183,13 +184,13 @@ namespace PicView.PicGallery
 
 
                 if (selected)
                 if (selected)
                 {
                 {
-                    nextItem.Border.BorderBrush = Application.Current.Resources["ChosenColorBrush"] as SolidColorBrush;
-                    //nextItem.Border.Height = PicGalleryItem_Size;
+                    nextItem.innerborder.BorderBrush = Application.Current.Resources["ChosenColorBrush"] as SolidColorBrush;
+                    nextItem.innerborder.Width = nextItem.innerborder.Height = PicGalleryItem_Size;
                 }
                 }
                 else
                 else
                 {
                 {
-                    nextItem.Border.BorderBrush = Application.Current.Resources["BorderBrush"] as SolidColorBrush;
-                    //nextItem.Border.Height = PicGalleryItem_Size_s;
+                    nextItem.innerborder.BorderBrush = Application.Current.Resources["BorderBrush"] as SolidColorBrush;
+                    nextItem.innerborder.Width = nextItem.innerborder.Height = PicGalleryItem_Size_s;
                 }
                 }
             });
             });
         }
         }

+ 3 - 3
PicView/PicView.csproj

@@ -178,11 +178,11 @@
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <PackageReference Include="Autoupdater.NET.Official" Version="1.7.0" />
     <PackageReference Include="Autoupdater.NET.Official" Version="1.7.0" />
-    <PackageReference Include="Magick.NET-Q16-OpenMP-x64" Version="8.5.0" />
-    <PackageReference Include="Magick.NET.SystemDrawing" Version="4.0.10">
+    <PackageReference Include="Magick.NET-Q16-OpenMP-x64" Version="9.0.0" />
+    <PackageReference Include="Magick.NET.SystemDrawing" Version="4.0.13">
       <TreatAsUsed>true</TreatAsUsed>
       <TreatAsUsed>true</TreatAsUsed>
     </PackageReference>
     </PackageReference>
-    <PackageReference Include="Magick.NET.SystemWindowsMedia" Version="4.0.10" />
+    <PackageReference Include="Magick.NET.SystemWindowsMedia" Version="4.0.13" />
     <PackageReference Include="Microsoft-WindowsAPICodePack-Core" Version="1.1.4">
     <PackageReference Include="Microsoft-WindowsAPICodePack-Core" Version="1.1.4">
       <TreatAsUsed>true</TreatAsUsed>
       <TreatAsUsed>true</TreatAsUsed>
     </PackageReference>
     </PackageReference>

+ 2 - 2
PicView/Shortcuts/CustomTextBoxShortcuts.cs

@@ -1,9 +1,9 @@
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using System.Windows.Input;
 using System.Windows.Input;
+using PicView.ChangeTitlebar;
 using PicView.FileHandling;
 using PicView.FileHandling;
-using PicView.UILogic;
 
 
-namespace PicView
+namespace PicView.Shortcuts
 {
 {
     internal static class CustomTextBoxShortcuts
     internal static class CustomTextBoxShortcuts
     {
     {

+ 2 - 0
PicView/Shortcuts/MainKeyboardShortcuts.cs

@@ -2,6 +2,7 @@
 using System.Windows;
 using System.Windows;
 using System.Windows.Input;
 using System.Windows.Input;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.ConfigureSettings;
 using PicView.ConfigureSettings;
 using PicView.Editing;
 using PicView.Editing;
 using PicView.Editing.Crop;
 using PicView.Editing.Crop;
@@ -12,6 +13,7 @@ using PicView.Properties;
 using PicView.UILogic;
 using PicView.UILogic;
 using PicView.UILogic.Sizing;
 using PicView.UILogic.Sizing;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Buttons;
 using static PicView.ChangeImage.ErrorHandling;
 using static PicView.ChangeImage.ErrorHandling;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 using static PicView.FileHandling.Copy_Paste;
 using static PicView.FileHandling.Copy_Paste;

+ 1 - 0
PicView/Shortcuts/MainMouseKeys.cs

@@ -2,6 +2,7 @@
 using System.Windows;
 using System.Windows;
 using System.Windows.Input;
 using System.Windows.Input;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.Editing;
 using PicView.Editing;
 using PicView.PicGallery;
 using PicView.PicGallery;
 using PicView.Properties;
 using PicView.Properties;

+ 1 - 1
PicView/Themes/Resources/DrawingBrushes.cs

@@ -2,7 +2,7 @@
 using System.Windows.Media;
 using System.Windows.Media;
 using PicView.ConfigureSettings;
 using PicView.ConfigureSettings;
 
 
-namespace PicView.Library.Resources
+namespace PicView.Themes.Resources
 {
 {
     internal static class DrawingBrushes
     internal static class DrawingBrushes
     {
     {

+ 1 - 0
PicView/UILogic/DragAndDrop/DragToExplorer.cs

@@ -2,6 +2,7 @@
 using System.Collections.Specialized;
 using System.Collections.Specialized;
 using System.Windows;
 using System.Windows;
 using System.Windows.Input;
 using System.Windows.Input;
+using PicView.ChangeTitlebar;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.PicGallery;
 using PicView.PicGallery;
 using PicView.Properties;
 using PicView.Properties;

+ 1 - 0
PicView/UILogic/ImageInfo.cs

@@ -9,6 +9,7 @@ using PicView.ChangeImage;
 using PicView.FileHandling;
 using PicView.FileHandling;
 using PicView.ImageHandling;
 using PicView.ImageHandling;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Misc;
 
 
 namespace PicView.UILogic
 namespace PicView.UILogic
 {
 {

+ 1 - 0
PicView/UILogic/Loading/LoadContextMenus.cs

@@ -8,6 +8,7 @@ using PicView.ImageHandling;
 using PicView.Properties;
 using PicView.Properties;
 using PicView.SystemIntegration;
 using PicView.SystemIntegration;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Buttons;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 using static PicView.FileHandling.Open_Save;
 using static PicView.FileHandling.Open_Save;
 using static PicView.UILogic.ConfigureWindows;
 using static PicView.UILogic.ConfigureWindows;

+ 2 - 0
PicView/UILogic/Loading/LoadControls.cs

@@ -2,6 +2,8 @@
 using System.Windows;
 using System.Windows;
 using PicView.Properties;
 using PicView.Properties;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Buttons;
+using PicView.Views.UserControls.Menus;
 using PicView.Views.UserControls.Misc;
 using PicView.Views.UserControls.Misc;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;
 
 

+ 1 - 0
PicView/UILogic/Sizing/WindowSizing.cs

@@ -6,6 +6,7 @@ using PicView.PicGallery;
 using PicView.Properties;
 using PicView.Properties;
 using PicView.SystemIntegration;
 using PicView.SystemIntegration;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Buttons;
 using static PicView.UILogic.ConfigureWindows;
 using static PicView.UILogic.ConfigureWindows;
 using static PicView.UILogic.HideInterfaceLogic;
 using static PicView.UILogic.HideInterfaceLogic;
 using static PicView.UILogic.Sizing.ScaleImage;
 using static PicView.UILogic.Sizing.ScaleImage;

+ 1 - 0
PicView/UILogic/TransformImage/Zoom.cs

@@ -5,6 +5,7 @@ using System.Windows.Input;
 using System.Windows.Media;
 using System.Windows.Media;
 using System.Windows.Media.Animation;
 using System.Windows.Media.Animation;
 using System.Windows.Threading;
 using System.Windows.Threading;
+using PicView.ChangeTitlebar;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 
 

+ 4 - 1
PicView/UILogic/UC.cs

@@ -3,8 +3,11 @@ using System.Globalization;
 using System.Windows;
 using System.Windows;
 using System.Windows.Media.Animation;
 using System.Windows.Media.Animation;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
+using PicView.ChangeTitlebar;
 using PicView.PicGallery;
 using PicView.PicGallery;
 using PicView.Views.UserControls;
 using PicView.Views.UserControls;
+using PicView.Views.UserControls.Buttons;
+using PicView.Views.UserControls.Menus;
 using PicView.Views.UserControls.Misc;
 using PicView.Views.UserControls.Misc;
 
 
 namespace PicView.UILogic
 namespace PicView.UILogic
@@ -23,7 +26,7 @@ namespace PicView.UILogic
         internal static X2? Getx2 { get; set; }
         internal static X2? Getx2 { get; set; }
         internal static Minus? GetMinus { get; set; }
         internal static Minus? GetMinus { get; set; }
         internal static Restorebutton? GetRestorebutton { get; set; }
         internal static Restorebutton? GetRestorebutton { get; set; }
-        internal static Views.UserControls.PicGallery? GetPicGallery { get; set; }
+        internal static Views.UserControls.Gallery.PicGallery? GetPicGallery { get; set; }
         internal static GalleryShortcut? GetGalleryShortcut { get; set; }
         internal static GalleryShortcut? GetGalleryShortcut { get; set; }
         internal static CroppingTool? GetCropppingTool { get; set; }
         internal static CroppingTool? GetCropppingTool { get; set; }
         internal static ColorPicker? GetColorPicker { get; set; }
         internal static ColorPicker? GetColorPicker { get; set; }

+ 1 - 1
PicView/Views/UserControls/Buttons/BackgroundButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.BackGroundButton"
+    x:Class="PicView.Views.UserControls.Buttons.BackGroundButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource ToggleBackgroundColor}">
     ToolTip="{StaticResource ToggleBackgroundColor}">

+ 1 - 1
PicView/Views/UserControls/Buttons/BackgroundButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.ConfigureSettings;
 using PicView.ConfigureSettings;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class BackGroundButton : UserControl
     public partial class BackGroundButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/ClickArrow.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.ClickArrow"
+    x:Class="PicView.Views.UserControls.Buttons.ClickArrow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

+ 1 - 1
PicView/Views/UserControls/Buttons/ClickArrow.xaml.cs

@@ -3,7 +3,7 @@ using System.Windows.Controls;
 using System.Windows.Media;
 using System.Windows.Media;
 using PicView.Animations;
 using PicView.Animations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class ClickArrow : UserControl
     public partial class ClickArrow : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/CloseButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.CloseButton"
+    x:Class="PicView.Views.UserControls.Buttons.CloseButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/CloseButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.Animations;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class CloseButton : UserControl
     public partial class CloseButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/CopyButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.CopyButton"
+    x:Class="PicView.Views.UserControls.Buttons.CopyButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/CopyButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class CopyButton : UserControl
     public partial class CopyButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/FlipButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.FlipButton"
+    x:Class="PicView.Views.UserControls.Buttons.FlipButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <CheckBox
     <CheckBox

+ 1 - 1
PicView/Views/UserControls/Buttons/FlipButton.xaml.cs

@@ -5,7 +5,7 @@ using PicView.Animations;
 using PicView.UILogic.TransformImage;
 using PicView.UILogic.TransformImage;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class FlipButton : UserControl
     public partial class FlipButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/FolderButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.FolderButton"
+    x:Class="PicView.Views.UserControls.Buttons.FolderButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Width="56"
     Width="56"

+ 1 - 1
PicView/Views/UserControls/Buttons/FolderButton.xaml.cs

@@ -2,7 +2,7 @@
 using PicView.Animations;
 using PicView.Animations;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class FolderButton : UserControl
     public partial class FolderButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/FullscreenButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.FullscreenButton"
+    x:Class="PicView.Views.UserControls.Buttons.FullscreenButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/FullscreenButton.xaml.cs

@@ -5,7 +5,7 @@ using PicView.Properties;
 using PicView.UILogic.Sizing;
 using PicView.UILogic.Sizing;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class FullscreenButton : UserControl
     public partial class FullscreenButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/GalleryShortcut.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.GalleryShortcut"
+    x:Class="PicView.Views.UserControls.Buttons.GalleryShortcut"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource ShowImageGallery}">
     ToolTip="{StaticResource ShowImageGallery}">

+ 1 - 1
PicView/Views/UserControls/Buttons/GalleryShortcut.xaml.cs

@@ -2,7 +2,7 @@
 using PicView.Animations;
 using PicView.Animations;
 using PicView.PicGallery;
 using PicView.PicGallery;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     /// <summary>
     /// <summary>
     /// Cool shady close button!
     /// Cool shady close button!

+ 1 - 1
PicView/Views/UserControls/Buttons/GoToPicButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.GoToPicButton"
+    x:Class="PicView.Views.UserControls.Buttons.GoToPicButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource GoToImageAtSpecifiedIndex}">
     ToolTip="{StaticResource GoToImageAtSpecifiedIndex}">

+ 1 - 1
PicView/Views/UserControls/Buttons/GoToPicButton.xaml.cs

@@ -13,7 +13,7 @@ using static PicView.Animations.MouseOverAnimations;
 using static PicView.ChangeImage.Navigation;
 using static PicView.ChangeImage.Navigation;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class GoToPicButton : UserControl
     public partial class GoToPicButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/GripButton.xaml

@@ -1,4 +1,4 @@
-<UserControl x:Class="PicView.Views.UserControls.GripButton"
+<UserControl x:Class="PicView.Views.UserControls.Buttons.GripButton"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/GripButton.xaml.cs

@@ -1,6 +1,6 @@
 using System.Windows.Controls;
 using System.Windows.Controls;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     /// <summary>
     /// <summary>
     /// Interaction logic for CropButton.xaml
     /// Interaction logic for CropButton.xaml

+ 1 - 1
PicView/Views/UserControls/Buttons/ImageInfoButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.ImageInfoButton"
+    x:Class="PicView.Views.UserControls.Buttons.ImageInfoButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/ImageInfoButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class ImageInfoButton : UserControl
     public partial class ImageInfoButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/InfoButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.InfoButton"
+    x:Class="PicView.Views.UserControls.Buttons.InfoButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/InfoButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class InfoButton : UserControl
     public partial class InfoButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/LefttButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.LeftButton"
+    x:Class="PicView.Views.UserControls.Buttons.LeftButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Canvas
     <Canvas

+ 1 - 1
PicView/Views/UserControls/Buttons/LefttButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class LeftButton : UserControl
     public partial class LeftButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/LinkButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.LinkButton"
+    x:Class="PicView.Views.UserControls.Buttons.LinkButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/LinkButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class LinkButton : UserControl
     public partial class LinkButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/MenuCloseButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.MenuCloseButton"
+    x:Class="PicView.Views.UserControls.Buttons.MenuCloseButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 
 

+ 1 - 1
PicView/Views/UserControls/Buttons/MenuCloseButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.Properties;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class MenuCloseButton : UserControl
     public partial class MenuCloseButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/MinButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.MinButton"
+    x:Class="PicView.Views.UserControls.Buttons.MinButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Button
     <Button

+ 1 - 1
PicView/Views/UserControls/Buttons/MinButton.xaml.cs

@@ -5,7 +5,7 @@ using PicView.Animations;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class MinButton : UserControl
     public partial class MinButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/Minus.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.Minus"
+    x:Class="PicView.Views.UserControls.Buttons.Minus"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource Minimize}">
     ToolTip="{StaticResource Minimize}">

+ 1 - 1
PicView/Views/UserControls/Buttons/Minus.xaml.cs

@@ -3,7 +3,7 @@ using System.Windows.Controls;
 using PicView.Animations;
 using PicView.Animations;
 using PicView.UILogic;
 using PicView.UILogic;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     /// <summary>
     /// <summary>
     /// Cool shady close button!
     /// Cool shady close button!

+ 1 - 1
PicView/Views/UserControls/Buttons/OptimizeButton.xaml

@@ -1,4 +1,4 @@
-<UserControl x:Class="PicView.Views.UserControls.OptimizeButton"
+<UserControl x:Class="PicView.Views.UserControls.Buttons.OptimizeButton"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              ToolTip="{StaticResource OptimizeImage}">
              ToolTip="{StaticResource OptimizeImage}">

+ 1 - 1
PicView/Views/UserControls/Buttons/OptimizeButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.Animations;
 using PicView.ImageHandling;
 using PicView.ImageHandling;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     /// <summary>
     /// <summary>
     /// Interaction logic for OptimizeButton.xaml
     /// Interaction logic for OptimizeButton.xaml

+ 1 - 1
PicView/Views/UserControls/Buttons/PasteButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.PasteButton"
+    x:Class="PicView.Views.UserControls.Buttons.PasteButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource PasteImageFromClipholder}">
     ToolTip="{StaticResource PasteImageFromClipholder}">

+ 1 - 1
PicView/Views/UserControls/Buttons/PasteButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.FileHandling;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class PasteButton : UserControl
     public partial class PasteButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/RecycleButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.RecycleButton"
+    x:Class="PicView.Views.UserControls.Buttons.RecycleButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource SendCurrentImageToRecycleBin}">
     ToolTip="{StaticResource SendCurrentImageToRecycleBin}">

+ 1 - 1
PicView/Views/UserControls/Buttons/RecycleButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.FileHandling;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class RecycleButton : UserControl
     public partial class RecycleButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/ReloadButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.ReloadButton"
+    x:Class="PicView.Views.UserControls.Buttons.ReloadButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Border
     <Border

+ 1 - 1
PicView/Views/UserControls/Buttons/ReloadButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.ChangeImage;
 using PicView.Properties;
 using PicView.Properties;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class ReloadButton : UserControl
     public partial class ReloadButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/ResizeButton.xaml

@@ -1,4 +1,4 @@
-<UserControl x:Class="PicView.Views.UserControls.ResizeButton"
+<UserControl x:Class="PicView.Views.UserControls.Buttons.ResizeButton"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              ToolTip="{StaticResource ResizeImage}">
              ToolTip="{StaticResource ResizeImage}">

+ 1 - 1
PicView/Views/UserControls/Buttons/ResizeButton.xaml.cs

@@ -6,7 +6,7 @@ using PicView.UILogic;
 using PicView.UILogic.Loading;
 using PicView.UILogic.Loading;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class ResizeButton : UserControl
     public partial class ResizeButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/RestoreButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.Restorebutton"
+    x:Class="PicView.Views.UserControls.Buttons.Restorebutton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Border BorderThickness="1,0,0,1">
     <Border BorderThickness="1,0,0,1">

+ 1 - 1
PicView/Views/UserControls/Buttons/RestoreButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.Animations;
 using PicView.Properties;
 using PicView.Properties;
 using PicView.UILogic.Sizing;
 using PicView.UILogic.Sizing;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     /// <summary>
     /// <summary>
     /// Cool shady close button!
     /// Cool shady close button!

+ 1 - 1
PicView/Views/UserControls/Buttons/RightButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.RightButton"
+    x:Class="PicView.Views.UserControls.Buttons.RightButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Canvas
     <Canvas

+ 1 - 1
PicView/Views/UserControls/Buttons/RightButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.ChangeImage;
 using PicView.ChangeImage;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class RightButton : UserControl
     public partial class RightButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/RotateLeftButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.RotateLeftButton"
+    x:Class="PicView.Views.UserControls.Buttons.RotateLeftButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource RotateLeft}">
     ToolTip="{StaticResource RotateLeft}">

+ 1 - 1
PicView/Views/UserControls/Buttons/RotateLeftButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.UILogic.TransformImage;
 using PicView.UILogic.TransformImage;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class RotateLeftButton : UserControl
     public partial class RotateLeftButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/RotateRightButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.RotateRightButton"
+    x:Class="PicView.Views.UserControls.Buttons.RotateRightButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     ToolTip="{StaticResource RotateRight}">
     ToolTip="{StaticResource RotateRight}">

+ 1 - 1
PicView/Views/UserControls/Buttons/RotateRightButton.xaml.cs

@@ -3,7 +3,7 @@ using PicView.Animations;
 using PicView.UILogic.TransformImage;
 using PicView.UILogic.TransformImage;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class RotateRightButton : UserControl
     public partial class RotateRightButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/SettingsButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.SettingsButton"
+    x:Class="PicView.Views.UserControls.Buttons.SettingsButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Border
     <Border

+ 1 - 1
PicView/Views/UserControls/Buttons/SettingsButton.xaml.cs

@@ -2,7 +2,7 @@
 using PicView.Animations;
 using PicView.Animations;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class SettingsButton : UserControl
     public partial class SettingsButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/SlideshowButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.SlideshowButton"
+    x:Class="PicView.Views.UserControls.Buttons.SlideshowButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Border
     <Border

+ 1 - 1
PicView/Views/UserControls/Buttons/SlideshowButton.xaml.cs

@@ -4,7 +4,7 @@ using PicView.Animations;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     public partial class SlideshowButton : UserControl
     public partial class SlideshowButton : UserControl
     {
     {

+ 1 - 1
PicView/Views/UserControls/Buttons/StarOutlineButton.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.StarOutlineButton"
+    x:Class="PicView.Views.UserControls.Buttons.StarOutlineButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

+ 1 - 1
PicView/Views/UserControls/Buttons/StarOutlineButton.xaml.cs

@@ -1,7 +1,7 @@
 using System.Windows.Controls;
 using System.Windows.Controls;
 using System.Windows.Media;
 using System.Windows.Media;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     /// <summary>
     /// <summary>
     /// Interaction logic for StarButtonOutline.xaml
     /// Interaction logic for StarButtonOutline.xaml

+ 1 - 1
PicView/Views/UserControls/Buttons/X2.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.X2"
+    x:Class="PicView.Views.UserControls.Buttons.X2"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Background="Transparent"
     Background="Transparent"

+ 1 - 1
PicView/Views/UserControls/Buttons/X2.xaml.cs

@@ -5,7 +5,7 @@ using PicView.PicGallery;
 using PicView.Properties;
 using PicView.Properties;
 using PicView.UILogic;
 using PicView.UILogic;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Buttons
 {
 {
     /// <summary>
     /// <summary>
     /// Cool shady close button!
     /// Cool shady close button!

+ 3 - 2
PicView/Views/UserControls/Gallery/PicGallery.xaml

@@ -1,10 +1,11 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.PicGallery"
+    x:Class="PicView.Views.UserControls.Gallery.PicGallery"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:UserControls="clr-namespace:PicView.Views.UserControls"
     xmlns:UserControls="clr-namespace:PicView.Views.UserControls"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    xmlns:buttons="clr-namespace:PicView.Views.UserControls.Buttons"
     d:DesignHeight="300"
     d:DesignHeight="300"
     d:DesignWidth="300"
     d:DesignWidth="300"
     mc:Ignorable="d">
     mc:Ignorable="d">
@@ -14,7 +15,7 @@
         BorderBrush="{StaticResource BorderBrush}"
         BorderBrush="{StaticResource BorderBrush}"
         BorderThickness="1,0,1,0">
         BorderThickness="1,0,1,0">
         <Grid x:Name="grid">
         <Grid x:Name="grid">
-            <UserControls:X2
+            <buttons:X2
                 x:Name="x2"
                 x:Name="x2"
                 HorizontalAlignment="Right"
                 HorizontalAlignment="Right"
                 VerticalAlignment="Top"
                 VerticalAlignment="Top"

+ 1 - 1
PicView/Views/UserControls/Gallery/PicGallery.xaml.cs

@@ -1,7 +1,7 @@
 using System.Windows.Controls;
 using System.Windows.Controls;
 using PicView.PicGallery;
 using PicView.PicGallery;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Gallery
 {
 {
     /// <summary>
     /// <summary>
     /// Interaction logic for PicGallery.xaml
     /// Interaction logic for PicGallery.xaml

+ 14 - 6
PicView/Views/UserControls/Gallery/PicGalleryItem.xaml

@@ -1,5 +1,5 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.PicGalleryItem"
+    x:Class="PicView.Views.UserControls.Gallery.PicGalleryItem"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -11,13 +11,20 @@
     Focusable="False"
     Focusable="False"
     mc:Ignorable="d">
     mc:Ignorable="d">
     <Border
     <Border
-        x:Name="Border"
-        Background="{StaticResource BackgroundColorBrushAlt}"
-        BorderBrush="{StaticResource BorderBrush}"
-        BorderThickness="1"
-        CornerRadius="4"
+        x:Name="outterborder"
+        Width="230"
+        Height="230"
         FocusVisualStyle="{x:Null}"
         FocusVisualStyle="{x:Null}"
         Focusable="False">
         Focusable="False">
+        <Border
+            x:Name="innerborder"
+            Width="200"
+            Height="200"
+            Background="{StaticResource BackgroundColorBrushAlt}"
+            BorderBrush="{StaticResource BorderBrush}"
+            BorderThickness="2"
+            FocusVisualStyle="{x:Null}"
+            Focusable="False">
             <Image
             <Image
                 x:Name="img"
                 x:Name="img"
                 FocusVisualStyle="{x:Null}"
                 FocusVisualStyle="{x:Null}"
@@ -25,4 +32,5 @@
                 RenderOptions.BitmapScalingMode="Linear"
                 RenderOptions.BitmapScalingMode="Linear"
                 Stretch="UniformToFill" />
                 Stretch="UniformToFill" />
         </Border>
         </Border>
+    </Border>
 </UserControl>
 </UserControl>

+ 22 - 17
PicView/Views/UserControls/Gallery/PicGalleryItem.xaml.cs

@@ -4,13 +4,11 @@ using System.Windows.Media;
 using PicView.Animations;
 using PicView.Animations;
 using static PicView.PicGallery.GalleryNavigation;
 using static PicView.PicGallery.GalleryNavigation;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Gallery
 {
 {
-    /// <summary>
-    /// The usercontrol (UI element) of PicGallery
-    /// </summary>
     public partial class PicGalleryItem : UserControl
     public partial class PicGalleryItem : UserControl
     {
     {
+        internal int Id { get; set; }
         public PicGalleryItem(ImageSource? pic, int id, bool selected)
         public PicGalleryItem(ImageSource? pic, int id, bool selected)
         {
         {
             InitializeComponent();
             InitializeComponent();
@@ -20,21 +18,28 @@ namespace PicView.Views.UserControls
                 img.Source = pic;
                 img.Source = pic;
             }
             }
 
 
-            img.MouseEnter += (_, _) => Border.BorderBrush = new SolidColorBrush(AnimationHelper.GetPrefferedColor());
-            img.MouseLeave += (_, _) =>
-            { if (selected) { return; } Border.BorderBrush = (SolidColorBrush)Application.Current.Resources["BorderBrush"]; };
+            Id = id;
 
 
-            if (selected)
-            {
-                Border.BorderBrush = new SolidColorBrush(AnimationHelper.GetPrefferedColor());
-                Border.Height = PicGalleryItem_Size;
-            }
-            else
-            {
-                Border.Height = PicGalleryItem_Size_s;
-            }
+            outterborder.Width = outterborder.Height = PicGalleryItem_Size;
+            innerborder.Width = innerborder.Height = PicGalleryItem_Size_s;
+
+            img.MouseEnter += (s, y) => AnimationHelper.HoverSizeAnim(
+                this,
+                false,
+                PicGalleryItem_Size_s,
+                PicGalleryItem_Size
+            );
+
+            img.MouseLeave += (s, y) => AnimationHelper.HoverSizeAnim(
+                this,
+                true,
+                PicGalleryItem_Size,
+                PicGalleryItem_Size_s
+            );
 
 
-            Width = Height = PicGalleryItem_Size_s;
+            if (!selected) return;
+            innerborder.BorderBrush = new SolidColorBrush(AnimationHelper.GetPrefferedColor());
+            innerborder.Width = innerborder.Height = PicGalleryItem_Size;
         }
         }
     }
     }
 }
 }

+ 10 - 9
PicView/Views/UserControls/Gallery/PicGalleryTopButtons.xaml

@@ -2,23 +2,24 @@
     x:Class="PicView.Views.UserControls.Gallery.PicGalleryTopButtons"
     x:Class="PicView.Views.UserControls.Gallery.PicGalleryTopButtons"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:UserControls="clr-namespace:PicView.Views.UserControls">
+    xmlns:UserControls="clr-namespace:PicView.Views.UserControls"
+    xmlns:buttons="clr-namespace:PicView.Views.UserControls.Buttons">
     <StackPanel
     <StackPanel
         x:Name="ButtonContainer"
         x:Name="ButtonContainer"
         HorizontalAlignment="Left"
         HorizontalAlignment="Left"
         VerticalAlignment="Top"
         VerticalAlignment="Top"
         Panel.ZIndex="1"
         Panel.ZIndex="1"
         Orientation="Horizontal">
         Orientation="Horizontal">
-        <UserControls:X2 x:Name="CloseButton" RenderTransformOrigin="0.5,0.5">
-            <UserControls:X2.RenderTransform>
+        <buttons:X2 x:Name="CloseButton" RenderTransformOrigin="0.5,0.5">
+            <buttons:X2.RenderTransform>
                 <TransformGroup>
                 <TransformGroup>
                     <ScaleTransform ScaleX="-1" />
                     <ScaleTransform ScaleX="-1" />
                     <SkewTransform />
                     <SkewTransform />
                     <RotateTransform />
                     <RotateTransform />
                     <TranslateTransform />
                     <TranslateTransform />
                 </TransformGroup>
                 </TransformGroup>
-            </UserControls:X2.RenderTransform>
-        </UserControls:X2>
+            </buttons:X2.RenderTransform>
+        </buttons:X2>
 
 
         <Border
         <Border
             x:Name="RestoreButton"
             x:Name="RestoreButton"
@@ -49,18 +50,18 @@
             </Image>
             </Image>
         </Border>
         </Border>
 
 
-        <UserControls:Minus
+        <buttons:Minus
             x:Name="MinButton"
             x:Name="MinButton"
             VerticalAlignment="Top"
             VerticalAlignment="Top"
             RenderTransformOrigin="0.5,0.5">
             RenderTransformOrigin="0.5,0.5">
-            <UserControls:Minus.RenderTransform>
+            <buttons:Minus.RenderTransform>
                 <TransformGroup>
                 <TransformGroup>
                     <ScaleTransform ScaleX="-1" />
                     <ScaleTransform ScaleX="-1" />
                     <SkewTransform />
                     <SkewTransform />
                     <RotateTransform />
                     <RotateTransform />
                     <TranslateTransform />
                     <TranslateTransform />
                 </TransformGroup>
                 </TransformGroup>
-            </UserControls:Minus.RenderTransform>
-        </UserControls:Minus>
+            </buttons:Minus.RenderTransform>
+        </buttons:Minus>
     </StackPanel>
     </StackPanel>
 </UserControl>
 </UserControl>

+ 7 - 6
PicView/Views/UserControls/Menus/FileMenu.xaml

@@ -1,8 +1,9 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.FileMenu"
+    x:Class="PicView.Views.UserControls.Menus.FileMenu"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:uc="clr-namespace:PicView.Views.UserControls"
     xmlns:uc="clr-namespace:PicView.Views.UserControls"
+    xmlns:buttons="clr-namespace:PicView.Views.UserControls.Buttons"
     Canvas.ZIndex="3"
     Canvas.ZIndex="3"
     Foreground="{StaticResource MainColorBrush}">
     Foreground="{StaticResource MainColorBrush}">
     <StackPanel>
     <StackPanel>
@@ -43,16 +44,16 @@
                 StrokeThickness="1" />
                 StrokeThickness="1" />
 
 
 
 
-            <uc:ReloadButton x:Name="ReloadButton" />
+            <buttons:ReloadButton x:Name="ReloadButton" />
 
 
-            <uc:RecycleButton
+            <buttons:RecycleButton
                 x:Name="RecycleButton"
                 x:Name="RecycleButton"
                 Canvas.Left="52"
                 Canvas.Left="52"
                 Canvas.Top="1"
                 Canvas.Top="1"
                 Width="51"
                 Width="51"
                 Height="51" />
                 Height="51" />
 
 
-            <uc:CopyButton
+            <buttons:CopyButton
                 x:Name="CopyButton"
                 x:Name="CopyButton"
                 Canvas.Left="104"
                 Canvas.Left="104"
                 Canvas.Top="1"
                 Canvas.Top="1"
@@ -60,14 +61,14 @@
                 Height="51"
                 Height="51"
                 ToolTip="{StaticResource CopyFile}" />
                 ToolTip="{StaticResource CopyFile}" />
 
 
-            <uc:PasteButton
+            <buttons:PasteButton
                 x:Name="PasteButton"
                 x:Name="PasteButton"
                 Canvas.Left="156"
                 Canvas.Left="156"
                 Canvas.Top="1"
                 Canvas.Top="1"
                 Width="52" />
                 Width="52" />
 
 
 
 
-            <uc:MenuCloseButton x:Name="CloseButton" Canvas.Left="207" />
+            <buttons:MenuCloseButton x:Name="CloseButton" Canvas.Left="207" />
 
 
             <Border
             <Border
                 x:Name="OpenBorder"
                 x:Name="OpenBorder"

+ 1 - 1
PicView/Views/UserControls/Menus/FileMenu.xaml.cs

@@ -5,7 +5,7 @@ using PicView.FileHandling;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Menus
 {
 {
     /// <summary>
     /// <summary>
     /// Interaction logic for fileMenu.xaml
     /// Interaction logic for fileMenu.xaml

+ 5 - 4
PicView/Views/UserControls/Menus/ImageSettings.xaml

@@ -1,8 +1,9 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.ImageSettings"
+    x:Class="PicView.Views.UserControls.Menus.ImageSettings"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:uc="clr-namespace:PicView.Views.UserControls"
     xmlns:uc="clr-namespace:PicView.Views.UserControls"
+    xmlns:buttons="clr-namespace:PicView.Views.UserControls.Buttons"
     Canvas.ZIndex="3">
     Canvas.ZIndex="3">
     <StackPanel>
     <StackPanel>
 
 
@@ -40,20 +41,20 @@
                     Stroke="{StaticResource BorderBrush}"
                     Stroke="{StaticResource BorderBrush}"
                     StrokeThickness="1" />
                     StrokeThickness="1" />
 
 
-                <uc:SlideshowButton
+                <buttons:SlideshowButton
                     x:Name="SlideshowButton"
                     x:Name="SlideshowButton"
                     Canvas.Left="-1"
                     Canvas.Left="-1"
                     Canvas.Top="-1"
                     Canvas.Top="-1"
                     Width="131"
                     Width="131"
                     Height="52" />
                     Height="52" />
 
 
-                <uc:GoToPicButton
+                <buttons:GoToPicButton
                     x:Name="GoToPic"
                     x:Name="GoToPic"
                     Canvas.Left="130"
                     Canvas.Left="130"
                     Canvas.Top="0"
                     Canvas.Top="0"
                     Width="94" />
                     Width="94" />
 
 
-                <uc:MenuCloseButton
+                <buttons:MenuCloseButton
                     x:Name="CloseButton"
                     x:Name="CloseButton"
                     Canvas.Left="222"
                     Canvas.Left="222"
                     Canvas.Top="-1" />
                     Canvas.Top="-1" />

+ 1 - 1
PicView/Views/UserControls/Menus/ImageSettings.xaml.cs

@@ -4,7 +4,7 @@ using PicView.Properties;
 using PicView.UILogic;
 using PicView.UILogic;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Menus
 {
 {
     /// <summary>
     /// <summary>
     /// Interaction logic for ImageSettings.xaml
     /// Interaction logic for ImageSettings.xaml

+ 12 - 11
PicView/Views/UserControls/Menus/QuickSettingsMenu.xaml

@@ -1,8 +1,9 @@
 <UserControl
 <UserControl
-    x:Class="PicView.Views.UserControls.QuickSettingsMenu"
+    x:Class="PicView.Views.UserControls.Menus.QuickSettingsMenu"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:uc="clr-namespace:PicView.Views.UserControls"
     xmlns:uc="clr-namespace:PicView.Views.UserControls"
+    xmlns:buttons="clr-namespace:PicView.Views.UserControls.Buttons"
     Canvas.ZIndex="3"
     Canvas.ZIndex="3"
     Foreground="{StaticResource MainColorBrush}"
     Foreground="{StaticResource MainColorBrush}"
     ToolTip="{StaticResource ShowImageInfo}">
     ToolTip="{StaticResource ShowImageInfo}">
@@ -21,14 +22,14 @@
                 BorderThickness="1"
                 BorderThickness="1"
                 CornerRadius="4" />
                 CornerRadius="4" />
 
 
-            <uc:SettingsButton x:Name="SettingsButton" Width="111" />
+            <buttons:SettingsButton x:Name="SettingsButton" Width="111" />
 
 
-            <uc:InfoButton
+            <buttons:InfoButton
                 x:Name="InfoButton"
                 x:Name="InfoButton"
                 Canvas.Left="111"
                 Canvas.Left="111"
                 Width="93" />
                 Width="93" />
 
 
-            <uc:ImageInfoButton
+            <buttons:ImageInfoButton
                 x:Name="ImageInfoButton"
                 x:Name="ImageInfoButton"
                 Canvas.Left="204"
                 Canvas.Left="204"
                 Width="50" Canvas.Top="1" />
                 Width="50" Canvas.Top="1" />
@@ -41,7 +42,7 @@
                 Stroke="{StaticResource BorderBrush}"
                 Stroke="{StaticResource BorderBrush}"
                 StrokeThickness="1" Canvas.Top="1" />
                 StrokeThickness="1" Canvas.Top="1" />
 
 
-            <uc:ResizeButton
+            <buttons:ResizeButton
                 x:Name="QuickResize"
                 x:Name="QuickResize"
                 Canvas.Left="255"
                 Canvas.Left="255"
                 Canvas.Top="1" />
                 Canvas.Top="1" />
@@ -54,7 +55,7 @@
                 Stroke="{StaticResource BorderBrush}"
                 Stroke="{StaticResource BorderBrush}"
                 StrokeThickness="1" Canvas.Top="1" />
                 StrokeThickness="1" Canvas.Top="1" />
 
 
-            <uc:MenuCloseButton
+            <buttons:MenuCloseButton
                 x:Name="CloseButton"
                 x:Name="CloseButton"
                 Canvas.Left="306"
                 Canvas.Left="306"
                 ToolTip="Close" />
                 ToolTip="Close" />
@@ -73,7 +74,7 @@
                 Width="51"
                 Width="51"
                 Height="51"
                 Height="51"
                 Style="{StaticResource ButtonBorder}">
                 Style="{StaticResource ButtonBorder}">
-                <uc:RotateLeftButton x:Name="RotateLeftButton" />
+                <buttons:RotateLeftButton x:Name="RotateLeftButton" />
             </Border>
             </Border>
 
 
             <Border
             <Border
@@ -83,7 +84,7 @@
                 Width="51"
                 Width="51"
                 Height="51"
                 Height="51"
                 Style="{StaticResource ButtonBorder}">
                 Style="{StaticResource ButtonBorder}">
-                <uc:RotateRightButton x:Name="RotaRighttButton" />
+                <buttons:RotateRightButton x:Name="RotaRighttButton" />
             </Border>
             </Border>
 
 
             <Border
             <Border
@@ -93,7 +94,7 @@
                 Width="51"
                 Width="51"
                 Height="51"
                 Height="51"
                 Style="{StaticResource ButtonBorder}">
                 Style="{StaticResource ButtonBorder}">
-                <uc:FlipButton x:Name="FlipButton" />
+                <buttons:FlipButton x:Name="FlipButton" />
             </Border>
             </Border>
 
 
             <Border
             <Border
@@ -127,7 +128,7 @@
                 Width="51"
                 Width="51"
                 Height="51"
                 Height="51"
                 Style="{StaticResource ButtonBorder}">
                 Style="{StaticResource ButtonBorder}">
-                <uc:BackGroundButton x:Name="BackgroundButton" />
+                <buttons:BackGroundButton x:Name="BackgroundButton" />
             </Border>
             </Border>
 
 
             <Border
             <Border
@@ -137,7 +138,7 @@
                 Width="51"
                 Width="51"
                 Height="51"
                 Height="51"
                 Style="{StaticResource ButtonBorder}">
                 Style="{StaticResource ButtonBorder}">
-                <uc:OptimizeButton x:Name="OptimizeButton" />
+                <buttons:OptimizeButton x:Name="OptimizeButton" />
             </Border>
             </Border>
 
 
             <Border
             <Border

+ 1 - 1
PicView/Views/UserControls/Menus/QuickSettingsMenu.xaml.cs

@@ -7,7 +7,7 @@ using PicView.UILogic;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.Animations.MouseOverAnimations;
 using static PicView.UILogic.UC;
 using static PicView.UILogic.UC;
 
 
-namespace PicView.Views.UserControls
+namespace PicView.Views.UserControls.Menus
 {
 {
     /// <summary>
     /// <summary>
     /// Interaction logic for QuickSettingsMenu.xaml
     /// Interaction logic for QuickSettingsMenu.xaml

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно