add:新设置
This commit is contained in:
@@ -119,10 +119,36 @@ namespace Ink_Canvas.Windows.SettingsViews
|
||||
|
||||
var _t_touch = new Thread(() =>
|
||||
{
|
||||
var touchcount = TouchTabletDetectHelper.GetTouchTabletDevices().Count;
|
||||
var support = TouchTabletDetectHelper.IsTouchEnabled();
|
||||
Dispatcher.BeginInvoke(() =>
|
||||
AboutTouchTabletText.Text = $"{touchcount}个设备,{(support ? "支持触摸设备" : "无触摸支持")}");
|
||||
try
|
||||
{
|
||||
var support = TouchTabletDetectHelper.IsTouchEnabled();
|
||||
var touchcount = TouchTabletDetectHelper.GetTouchTabletDevices().Count;
|
||||
|
||||
Dispatcher.BeginInvoke(() =>
|
||||
{
|
||||
if (support)
|
||||
{
|
||||
if (touchcount > 0)
|
||||
{
|
||||
AboutTouchTabletText.Text = $"{touchcount}个设备,支持触摸设备";
|
||||
}
|
||||
else
|
||||
{
|
||||
AboutTouchTabletText.Text = "支持触摸设备";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AboutTouchTabletText.Text = "无触摸支持";
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Dispatcher.BeginInvoke(() =>
|
||||
AboutTouchTabletText.Text = "检测失败");
|
||||
System.Diagnostics.Debug.WriteLine($"检测触摸设备失败: {ex.Message}");
|
||||
}
|
||||
});
|
||||
_t_touch.Start();
|
||||
|
||||
@@ -180,22 +206,51 @@ namespace Ink_Canvas.Windows.SettingsViews
|
||||
{
|
||||
List<USBDeviceInfo> devices = new List<USBDeviceInfo>();
|
||||
|
||||
ManagementObjectCollection collection;
|
||||
using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_PnPEntity"))
|
||||
collection = searcher.Get();
|
||||
|
||||
foreach (var device in collection)
|
||||
try
|
||||
{
|
||||
var name = new StringBuilder((string)device.GetPropertyValue("Name")).ToString();
|
||||
if (!name.Contains("Pentablet")) continue;
|
||||
devices.Add(new USBDeviceInfo(
|
||||
(string)device.GetPropertyValue("DeviceID"),
|
||||
(string)device.GetPropertyValue("PNPDeviceID"),
|
||||
(string)device.GetPropertyValue("Description")
|
||||
));
|
||||
ManagementObjectCollection collection;
|
||||
using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_PnPEntity"))
|
||||
collection = searcher.Get();
|
||||
|
||||
foreach (var device in collection)
|
||||
{
|
||||
try
|
||||
{
|
||||
var name = device.GetPropertyValue("Name")?.ToString() ?? "";
|
||||
var description = device.GetPropertyValue("Description")?.ToString() ?? "";
|
||||
|
||||
if (string.IsNullOrEmpty(name)) continue;
|
||||
|
||||
var nameLower = name.ToLower();
|
||||
var descLower = description.ToLower();
|
||||
|
||||
if (nameLower.Contains("pentablet") ||
|
||||
nameLower.Contains("tablet") ||
|
||||
nameLower.Contains("touch") ||
|
||||
nameLower.Contains("digitizer") ||
|
||||
descLower.Contains("touch") ||
|
||||
descLower.Contains("digitizer"))
|
||||
{
|
||||
devices.Add(new USBDeviceInfo(
|
||||
device.GetPropertyValue("DeviceID")?.ToString() ?? "",
|
||||
device.GetPropertyValue("PNPDeviceID")?.ToString() ?? "",
|
||||
description
|
||||
));
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
collection.Dispose();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine($"获取触摸设备列表失败: {ex.Message}");
|
||||
}
|
||||
|
||||
collection.Dispose();
|
||||
return devices;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,15 +71,12 @@ namespace Ink_Canvas.Windows.SettingsViews
|
||||
// 随机点名
|
||||
new SettingItem { Title = "随机点名", Category = "随机点名", ItemName = "LuckyRandomItem", Type = SettingItemType.Category },
|
||||
|
||||
// 存储空间
|
||||
new SettingItem { Title = "存储空间", Category = "存储空间", ItemName = "StorageItem", Type = SettingItemType.Category },
|
||||
// 高级选项
|
||||
new SettingItem { Title = "高级选项", Category = "高级选项", ItemName = "AdvancedItem", Type = SettingItemType.Category },
|
||||
|
||||
// 截图和屏幕捕捉
|
||||
new SettingItem { Title = "截图和屏幕捕捉", Category = "截图和屏幕捕捉", ItemName = "SnapshotItem", Type = SettingItemType.Category },
|
||||
|
||||
// 高级选项
|
||||
new SettingItem { Title = "高级选项", Category = "高级选项", ItemName = "AdvancedItem", Type = SettingItemType.Category },
|
||||
|
||||
// 关于
|
||||
new SettingItem { Title = "关于 InkCanvasForClass", Category = "关于", ItemName = "AboutItem", Type = SettingItemType.Category },
|
||||
};
|
||||
|
||||
@@ -796,9 +796,9 @@
|
||||
<settingsViews:LuckyRandomPanel x:Name="LuckyRandomPanel"/>
|
||||
</Grid>
|
||||
|
||||
<!--存储面板-->
|
||||
<Grid Margin="250,48,0,0" Visibility="Collapsed" Name="StoragePane">
|
||||
<settingsViews:StoragePanel x:Name="StoragePanel"/>
|
||||
<!--高级面板-->
|
||||
<Grid Margin="250,48,0,0" Visibility="Collapsed" Name="AdvancedPane">
|
||||
<settingsViews:AdvancedPanel x:Name="AdvancedPanel"/>
|
||||
</Grid>
|
||||
|
||||
<!--截图面板-->
|
||||
@@ -806,11 +806,6 @@
|
||||
<settingsViews:SnapshotPanel x:Name="SnapshotPanel"/>
|
||||
</Grid>
|
||||
|
||||
<!--高级面板-->
|
||||
<Grid Margin="250,48,0,0" Visibility="Collapsed" Name="AdvancedPane">
|
||||
<settingsViews:AdvancedPanel x:Name="AdvancedPanel"/>
|
||||
</Grid>
|
||||
|
||||
<!--SearchPanel-->
|
||||
<Grid Margin="0,0,0,0" Visibility="Collapsed" Name="SearchPane" ZIndex="1000">
|
||||
<settingsViews:SearchPanel x:Name="SearchPanelControl"/>
|
||||
|
||||
@@ -135,9 +135,9 @@ namespace Ink_Canvas.Windows
|
||||
SidebarItems.Add(new SidebarItem()
|
||||
{
|
||||
Type = SidebarItemType.Item,
|
||||
Title = "存储空间",
|
||||
Name = "StorageItem",
|
||||
IconSource = FindResource("StorageIcon") as DrawingImage,
|
||||
Title = "高级选项",
|
||||
Name = "AdvancedItem",
|
||||
IconSource = FindResource("AdvancedIcon") as DrawingImage,
|
||||
Selected = false,
|
||||
});
|
||||
SidebarItems.Add(new SidebarItem()
|
||||
@@ -153,14 +153,6 @@ namespace Ink_Canvas.Windows
|
||||
Type = SidebarItemType.Separator
|
||||
});
|
||||
SidebarItems.Add(new SidebarItem()
|
||||
{
|
||||
Type = SidebarItemType.Item,
|
||||
Title = "高级选项",
|
||||
Name = "AdvancedItem",
|
||||
IconSource = FindResource("AdvancedIcon") as DrawingImage,
|
||||
Selected = false,
|
||||
});
|
||||
SidebarItems.Add(new SidebarItem()
|
||||
{
|
||||
Type = SidebarItemType.Item,
|
||||
Title = "关于 InkCanvasForClass",
|
||||
@@ -180,9 +172,8 @@ namespace Ink_Canvas.Windows
|
||||
AutomationPane,
|
||||
PowerPointPane,
|
||||
LuckyRandomPane,
|
||||
StoragePane,
|
||||
SnapshotPane,
|
||||
AdvancedPane
|
||||
AdvancedPane,
|
||||
SnapshotPane
|
||||
};
|
||||
|
||||
SettingsPaneScrollViewers = new ScrollViewer[] {
|
||||
@@ -197,9 +188,8 @@ namespace Ink_Canvas.Windows
|
||||
AutomationPanel.ScrollViewerEx,
|
||||
PowerPointPanel.ScrollViewerEx,
|
||||
LuckyRandomPanel.ScrollViewerEx,
|
||||
StoragePanel.ScrollViewerEx,
|
||||
SnapshotPanel.ScrollViewerEx,
|
||||
AdvancedPanel.ScrollViewerEx
|
||||
AdvancedPanel.ScrollViewerEx,
|
||||
SnapshotPanel.ScrollViewerEx
|
||||
};
|
||||
|
||||
SettingsPaneTitles = new string[] {
|
||||
@@ -214,9 +204,8 @@ namespace Ink_Canvas.Windows
|
||||
"自动化",
|
||||
"PowerPoint",
|
||||
"幸运随机",
|
||||
"存储",
|
||||
"截图",
|
||||
"高级"
|
||||
"高级",
|
||||
"截图"
|
||||
};
|
||||
|
||||
SettingsPaneNames = new string[] {
|
||||
@@ -231,9 +220,8 @@ namespace Ink_Canvas.Windows
|
||||
"AutomationItem",
|
||||
"PowerPointItem",
|
||||
"LuckyRandomItem",
|
||||
"StorageItem",
|
||||
"SnapshotItem",
|
||||
"AdvancedItem"
|
||||
"AdvancedItem",
|
||||
"SnapshotItem"
|
||||
};
|
||||
|
||||
SettingsAboutPanel.IsTopBarNeedShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0.25;
|
||||
@@ -267,12 +255,10 @@ namespace Ink_Canvas.Windows
|
||||
CrashActionPanel.IsTopBarNeedNoShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0;
|
||||
LuckyRandomPanel.IsTopBarNeedShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0.25;
|
||||
LuckyRandomPanel.IsTopBarNeedNoShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0;
|
||||
StoragePanel.IsTopBarNeedShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0.25;
|
||||
StoragePanel.IsTopBarNeedNoShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0;
|
||||
SnapshotPanel.IsTopBarNeedShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0.25;
|
||||
SnapshotPanel.IsTopBarNeedNoShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0;
|
||||
AdvancedPanel.IsTopBarNeedShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0.25;
|
||||
AdvancedPanel.IsTopBarNeedNoShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0;
|
||||
SnapshotPanel.IsTopBarNeedShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0.25;
|
||||
SnapshotPanel.IsTopBarNeedNoShadowEffect += (o, s) => DropShadowEffectTopBar.Opacity = 0;
|
||||
|
||||
_selectedSidebarItemName = "StartupItem";
|
||||
|
||||
@@ -323,8 +309,8 @@ namespace Ink_Canvas.Windows
|
||||
{
|
||||
StartupPanel, CanvasAndInkPanel, GesturesPanel, InkRecognitionPanel,
|
||||
ThemePanel, ShortcutsPanel, CrashActionPanel, PowerPointPanel,
|
||||
AutomationPanel, LuckyRandomPanel, StoragePanel, SnapshotPanel,
|
||||
AdvancedPanel, SettingsAboutPanel, AppearancePanel, SearchPanelControl
|
||||
AutomationPanel, LuckyRandomPanel, AdvancedPanel, SnapshotPanel,
|
||||
SettingsAboutPanel, AppearancePanel, SearchPanelControl
|
||||
};
|
||||
|
||||
foreach (var panel in panels)
|
||||
@@ -766,9 +752,8 @@ namespace Ink_Canvas.Windows
|
||||
PowerPointPanel,
|
||||
AutomationPanel,
|
||||
LuckyRandomPanel,
|
||||
StoragePanel,
|
||||
SnapshotPanel,
|
||||
AdvancedPanel,
|
||||
SnapshotPanel,
|
||||
SettingsAboutPanel,
|
||||
AppearancePanel
|
||||
};
|
||||
@@ -960,9 +945,8 @@ namespace Ink_Canvas.Windows
|
||||
{ "AutomationItem", AutomationPanel },
|
||||
{ "PowerPointItem", PowerPointPanel },
|
||||
{ "LuckyRandomItem", LuckyRandomPanel },
|
||||
{ "StorageItem", StoragePanel },
|
||||
{ "SnapshotItem", SnapshotPanel },
|
||||
{ "AdvancedItem", AdvancedPanel },
|
||||
{ "SnapshotItem", SnapshotPanel },
|
||||
{ "AppearanceItem", AppearancePanel }
|
||||
};
|
||||
|
||||
@@ -978,9 +962,8 @@ namespace Ink_Canvas.Windows
|
||||
if (AutomationPane != null) AutomationPane.Visibility = _selectedSidebarItemName == "AutomationItem" ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (PowerPointPane != null) PowerPointPane.Visibility = _selectedSidebarItemName == "PowerPointItem" ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (LuckyRandomPane != null) LuckyRandomPane.Visibility = _selectedSidebarItemName == "LuckyRandomItem" ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (StoragePane != null) StoragePane.Visibility = _selectedSidebarItemName == "StorageItem" ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (SnapshotPane != null) SnapshotPane.Visibility = _selectedSidebarItemName == "SnapshotItem" ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (AdvancedPane != null) AdvancedPane.Visibility = _selectedSidebarItemName == "AdvancedItem" ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (SnapshotPane != null) SnapshotPane.Visibility = _selectedSidebarItemName == "SnapshotItem" ? Visibility.Visible : Visibility.Collapsed;
|
||||
|
||||
// 为新显示的面板应用主题(延迟执行,确保面板已完全显示)
|
||||
if (panelMappings.ContainsKey(_selectedSidebarItemName))
|
||||
|
||||
Reference in New Issue
Block a user