diff --git a/Ink Canvas/Resources/Cursors/close-hand-cursor.cur b/Ink Canvas/Resources/Cursors/close-hand-cursor.cur new file mode 100644 index 00000000..f8085925 Binary files /dev/null and b/Ink Canvas/Resources/Cursors/close-hand-cursor.cur differ diff --git a/Ink Canvas/Resources/Cursors/cursor-move.cur b/Ink Canvas/Resources/Cursors/cursor-move.cur new file mode 100644 index 00000000..168593ea Binary files /dev/null and b/Ink Canvas/Resources/Cursors/cursor-move.cur differ diff --git a/Ink Canvas/Resources/Cursors/cursor-resize-lr.cur b/Ink Canvas/Resources/Cursors/cursor-resize-lr.cur new file mode 100644 index 00000000..a29801b8 Binary files /dev/null and b/Ink Canvas/Resources/Cursors/cursor-resize-lr.cur differ diff --git a/Ink Canvas/Resources/Cursors/cursor-resize-lt-rb.cur b/Ink Canvas/Resources/Cursors/cursor-resize-lt-rb.cur new file mode 100644 index 00000000..01c3e194 Binary files /dev/null and b/Ink Canvas/Resources/Cursors/cursor-resize-lt-rb.cur differ diff --git a/Ink Canvas/Resources/Cursors/cursor-resize-rt-lb.cur b/Ink Canvas/Resources/Cursors/cursor-resize-rt-lb.cur new file mode 100644 index 00000000..a0e31268 Binary files /dev/null and b/Ink Canvas/Resources/Cursors/cursor-resize-rt-lb.cur differ diff --git a/Ink Canvas/Resources/Cursors/cursor-resize-tb.cur b/Ink Canvas/Resources/Cursors/cursor-resize-tb.cur new file mode 100644 index 00000000..b0649957 Binary files /dev/null and b/Ink Canvas/Resources/Cursors/cursor-resize-tb.cur differ diff --git a/Ink Canvas/Resources/Cursors/open-hand-cursor.cur b/Ink Canvas/Resources/Cursors/open-hand-cursor.cur new file mode 100644 index 00000000..baa77795 Binary files /dev/null and b/Ink Canvas/Resources/Cursors/open-hand-cursor.cur differ diff --git a/Ink Canvas/Resources/GeometryIcons.xaml b/Ink Canvas/Resources/GeometryIcons.xaml new file mode 100644 index 00000000..919eb517 --- /dev/null +++ b/Ink Canvas/Resources/GeometryIcons.xaml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Ink Canvas/Resources/ICCConfiguration.cs b/Ink Canvas/Resources/ICCConfiguration.cs new file mode 100644 index 00000000..5a866e0d --- /dev/null +++ b/Ink Canvas/Resources/ICCConfiguration.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media; + +namespace Ink_Canvas.Resources.ICCConfiguration { + public enum InitialPositionTypes { + TopLeft, TopRight, BottomLeft, BottomRight, TopCenter, BottomCenter, Custom + } + public enum ElementCornerRadiusTypes { + SuperEllipse, Circle, Custom, None + } + public class NearSnapAreaSize { + public double[] TopLeft { get; set; } = {24,24}; + public double[] TopRight { get; set; } = {24,24}; + public double[] BottomLeft { get; set; } = {24,24}; + public double[] BottomRight { get; set; } = {24,24}; + public double TopCenter { get; set; } = 24; + public double BottomCenter { get; set; } = 24; + } + public class ICCFloatingBarConfiguration { + public bool SemiTransparent { get; set; } = false; + public bool NearSnap { get; set; } = true; + public InitialPositionTypes InitialPosition { get; set; } = InitialPositionTypes.BottomCenter; + public Point InitialPositionPoint { get; set; } = new Point(0, 0); + public double ElementCornerRadiusValue = 0; + public ElementCornerRadiusTypes ElementCornerRadiusType { get; set; } = ElementCornerRadiusTypes.SuperEllipse; + + public bool ParallaxEffect { get; set; } = true; + public bool MiniMode { get; set; } = false; + public Color ClearButtonColor { get; set; } = Color.FromRgb(224, 27, 36); + public Color ClearButtonPressColor { get; set; } = Color.FromRgb(254, 226, 226); + public Color ToolButtonSelectedBgColor { get; set; } = Color.FromRgb(37, 99, 235); + public double MovingLimitationNoSnap { get; set; } = 12; + public double MovingLimitationSnapped { get; set; } = 24; + + public NearSnapAreaSize NearSnapAreaSize { get; set; } = new NearSnapAreaSize() { + TopLeft = new double[] { 24, 24 }, + TopRight = new double[] { 24, 24 }, + BottomLeft = new double[] { 24, 24 }, + BottomRight = new double[] { 24, 24 }, + }; + + public string[] ToolBarItemsInCursorMode { get; set; } = new string[] { + "Cursor", "Pen", "Clear", "Separator", "Whiteboard", "Gesture", "Menu", "Fold" + }; + public string[] ToolBarItemsInMiniMode { get; set; } = new string[] { + "Cursor", "Pen", "Clear" + }; + public string[] ToolBarItemsInAnnotationMode { get; set; } = new string[] { + "Cursor", "Pen", "Clear", "Separator", "Eraser", "ShapeDrawing", "Select", "Separator", "Undo", "Redo", "Separator", "Whiteboard", "Gesture", "Menu", "Fold" + }; + } + + public class ICCConfiguration { + public ICCFloatingBarConfiguration FloatingBar { get; set; } = new ICCFloatingBarConfiguration(); + } +} diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/desktop-folder.png b/Ink Canvas/Resources/Icons-png/classic-icons/desktop-folder.png new file mode 100644 index 00000000..66291766 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/desktop-folder.png differ diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/desktop-small-icon.png b/Ink Canvas/Resources/Icons-png/classic-icons/desktop-small-icon.png new file mode 100644 index 00000000..4f6235ef Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/desktop-small-icon.png differ diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/disk-drive.png b/Ink Canvas/Resources/Icons-png/classic-icons/disk-drive.png new file mode 100644 index 00000000..7ab6fd20 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/disk-drive.png differ diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/documents-folder.png b/Ink Canvas/Resources/Icons-png/classic-icons/documents-folder.png new file mode 100644 index 00000000..8b18500d Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/documents-folder.png differ diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/folder.png b/Ink Canvas/Resources/Icons-png/classic-icons/folder.png new file mode 100644 index 00000000..32706ec6 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/folder.png differ diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/photo-small-icon.png b/Ink Canvas/Resources/Icons-png/classic-icons/photo-small-icon.png new file mode 100644 index 00000000..eb1b6ceb Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/photo-small-icon.png differ diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/program-icon.png b/Ink Canvas/Resources/Icons-png/classic-icons/program-icon.png new file mode 100644 index 00000000..1c61bf41 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/program-icon.png differ diff --git a/Ink Canvas/Resources/Icons-png/classic-icons/user-folder.png b/Ink Canvas/Resources/Icons-png/classic-icons/user-folder.png new file mode 100644 index 00000000..851d5c68 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/classic-icons/user-folder.png differ diff --git a/Ink Canvas/Resources/Icons-png/icc-toolbar-v2.png b/Ink Canvas/Resources/Icons-png/icc-toolbar-v2.png new file mode 100644 index 00000000..b64fa6e4 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/icc-toolbar-v2.png differ diff --git a/Ink Canvas/Resources/Icons-png/uac_icon.png b/Ink Canvas/Resources/Icons-png/uac_icon.png new file mode 100644 index 00000000..9c90eba8 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/uac_icon.png differ diff --git a/Ink Canvas/Resources/Icons-png/windows-ink.png b/Ink Canvas/Resources/Icons-png/windows-ink.png new file mode 100644 index 00000000..1026b335 Binary files /dev/null and b/Ink Canvas/Resources/Icons-png/windows-ink.png differ diff --git a/Ink Canvas/Resources/Illustrations/settingsv2-powerpoint-pagebtns-bottom.png b/Ink Canvas/Resources/Illustrations/settingsv2-powerpoint-pagebtns-bottom.png new file mode 100644 index 00000000..c947e78c Binary files /dev/null and b/Ink Canvas/Resources/Illustrations/settingsv2-powerpoint-pagebtns-bottom.png differ diff --git a/Ink Canvas/Resources/Illustrations/settingsv2-powerpoint-pagebtns-side.png b/Ink Canvas/Resources/Illustrations/settingsv2-powerpoint-pagebtns-side.png new file mode 100644 index 00000000..b53e586e Binary files /dev/null and b/Ink Canvas/Resources/Illustrations/settingsv2-powerpoint-pagebtns-side.png differ diff --git a/Ink Canvas/Resources/Illustrations/wait-a-moment.png b/Ink Canvas/Resources/Illustrations/wait-a-moment.png new file mode 100644 index 00000000..0448f36c Binary files /dev/null and b/Ink Canvas/Resources/Illustrations/wait-a-moment.png differ diff --git a/Ink Canvas/Resources/contributors.png b/Ink Canvas/Resources/contributors.png new file mode 100644 index 00000000..989ba357 Binary files /dev/null and b/Ink Canvas/Resources/contributors.png differ diff --git a/Ink Canvas/Resources/qrcodes.png b/Ink Canvas/Resources/qrcodes.png new file mode 100644 index 00000000..918dd1df Binary files /dev/null and b/Ink Canvas/Resources/qrcodes.png differ diff --git a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml index 69718df7..eec0cba1 100644 --- a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml +++ b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml @@ -496,10 +496,10 @@ - + - + @@ -513,7 +513,7 @@ - + @@ -553,20 +553,15 @@ - - - - - - - - - - - - - - + + + + + + + + + @@ -3522,7 +3517,7 @@ - + @@ -3548,7 +3543,7 @@ - + diff --git a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs index 3b450262..0cc3c86a 100644 --- a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs +++ b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs @@ -96,16 +96,7 @@ namespace Ink_Canvas.Windows { IconSource = FindResource("PowerPointIcon") as DrawingImage, Selected = false, }); - SidebarItems.Add(new SidebarItem() { - Type = SidebarItemType.Item, - Title = "插件和脚本", - Name = "ExtensionsItem", - IconSource = FindResource("ExtensionsIcon") as DrawingImage, - Selected = false, - }); - SidebarItems.Add(new SidebarItem() { - Type = SidebarItemType.Separator - }); + SidebarItems.Add(new SidebarItem() { Type = SidebarItemType.Item, Title = "自动化行为", @@ -159,7 +150,6 @@ namespace Ink_Canvas.Windows { SettingsPanes = new Grid[] { AboutPane, - ExtensionsPane, CanvasAndInkPane, GesturesPane, StartupPane, @@ -230,10 +220,7 @@ namespace Ink_Canvas.Windows { SettingsAboutPanel.IsTopBarNeedNoShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0; } - public Grid[] SettingsPanes = new Grid[] { }; - public ScrollViewer[] SettingsPaneScrollViewers = new ScrollViewer[] { }; - public string[] SettingsPaneTitles = new string[] { }; - public string[] SettingsPaneNames = new string[] { }; + public enum SidebarItemType { Item, @@ -271,14 +258,19 @@ namespace Ink_Canvas.Windows { CollectionViewSource.GetDefaultView(SidebarItems).Refresh(); AboutPane.Visibility = _selectedSidebarItemName == "AboutItem" ? Visibility.Visible : Visibility.Collapsed; - ExtensionsPane.Visibility = _selectedSidebarItemName == "ExtensionsItem" ? Visibility.Visible : Visibility.Collapsed; CanvasAndInkPane.Visibility = _selectedSidebarItemName == "CanvasAndInkItem" ? Visibility.Visible : Visibility.Collapsed; GesturesPane.Visibility = _selectedSidebarItemName == "GesturesItem" ? Visibility.Visible : Visibility.Collapsed; StartupPane.Visibility = _selectedSidebarItemName == "StartupItem" ? Visibility.Visible : Visibility.Collapsed; - AppearancePane.Visibility = _selectedSidebarItemName == "AppearanceItem" ? Visibility.Visible : Visibility.Collapsed; + ThemePane.Visibility = _selectedSidebarItemName == "ThemeItem" ? Visibility.Visible : Visibility.Collapsed; + ShortcutsPane.Visibility = _selectedSidebarItemName == "ShortcutsItem" ? Visibility.Visible : Visibility.Collapsed; + CrashActionPane.Visibility = _selectedSidebarItemName == "CrashActionItem" ? Visibility.Visible : Visibility.Collapsed; InkRecognitionPane.Visibility = _selectedSidebarItemName == "InkRecognitionItem" ? Visibility.Visible : Visibility.Collapsed; AutomationPane.Visibility = _selectedSidebarItemName == "AutomationItem" ? Visibility.Visible : Visibility.Collapsed; PowerPointPane.Visibility = _selectedSidebarItemName == "PowerPointItem" ? Visibility.Visible : Visibility.Collapsed; + LuckyRandomPane.Visibility = _selectedSidebarItemName == "LuckyRandomItem" ? Visibility.Visible : Visibility.Collapsed; + StoragePane.Visibility = _selectedSidebarItemName == "StorageItem" ? Visibility.Visible : Visibility.Collapsed; + SnapshotPane.Visibility = _selectedSidebarItemName == "SnapshotItem" ? Visibility.Visible : Visibility.Collapsed; + AdvancedPane.Visibility = _selectedSidebarItemName == "AdvancedItem" ? Visibility.Visible : Visibility.Collapsed; foreach (var sv in SettingsPaneScrollViewers) { sv.ScrollToTop(); } @@ -386,5 +378,33 @@ namespace Ink_Canvas.Windows { private void CloseButton_Click(object sender, MouseButtonEventArgs e) { Close(); } + + private void SearchButton_Click(object sender, MouseButtonEventArgs e) { + // 搜索功能 - 可以显示搜索框或搜索对话框 + } + + private void MenuButton_Click(object sender, MouseButtonEventArgs e) { + // 切换侧边栏的收纳和展开状态 + _isSidebarCollapsed = !_isSidebarCollapsed; + + if (_isSidebarCollapsed) { + // 收纳侧边栏 + SidebarBorder.Width = 0; + MainContentGrid.Margin = new Thickness(0, 48, 0, 0); + TopbarGrid.Margin = new Thickness(0, 0, 0, 0); + } else { + // 展开侧边栏 + SidebarBorder.Width = 250; + MainContentGrid.Margin = new Thickness(250, 48, 0, 0); + TopbarGrid.Margin = new Thickness(250, 0, 0, 0); + } + } + + private bool _isSidebarCollapsed; + + public Grid[] SettingsPanes; + public ScrollViewer[] SettingsPaneScrollViewers; + public string[] SettingsPaneTitles; + public string[] SettingsPaneNames; } }