Merge pull request #33 from coolzoom/patch-3
导入导出进程忽略列表
- 作者
- Berumotto
- 时间
- 2022/03/06 05:21
- 提交
- 7ac5f0f
这是一个合并提交,下面是和第一个上一提交相比的改动。
导入导出进程忽略列表
这是一个合并提交,下面是和第一个上一提交相比的改动。
| @@ -1,9 +1,11 @@ | ||
| 1 | 1 | using Core.Models.Config; |
| 2 | 新增:using Newtonsoft.Json; | |
| 2 | 3 | using System; |
| 3 | 4 | using System.Collections; |
| 4 | 5 | using System.Collections.Generic; |
| 5 | 6 | using System.Collections.ObjectModel; |
| 6 | 7 | using System.Diagnostics; |
| 8 | 新增:using System.IO; | |
| 7 | 9 | using System.Linq; |
| 8 | 10 | using System.Reflection; |
| 9 | 11 | using System.Text; |
| @@ -381,6 +383,8 @@ namespace UI.Controls.SettingPanel | ||
| 381 | 383 | addInputBox.Placeholder = configAttribute.Placeholder; |
| 382 | 384 | addInputBox.Margin = new Thickness(0, 0, 10, 0); |
| 383 | 385 | |
| 386 | 新增: | |
| 387 | 新增: //添加 | |
| 384 | 388 | var addBtn = new Button.Button(); |
| 385 | 389 | //addBtn.Margin = new Thickness(15, 0, 15, 10); |
| 386 | 390 | addBtn.Content = "添加"; |
| @@ -402,6 +406,64 @@ namespace UI.Controls.SettingPanel | ||
| 402 | 406 | }; |
| 403 | 407 | pi.SetValue(configData, list); |
| 404 | 408 | |
| 409 | 新增: //导入 | |
| 410 | 新增: var importBtn = new Button.Button(); | |
| 411 | 新增: importBtn.Content = "导入"; | |
| 412 | 新增: importBtn.Click += (e, c) => | |
| 413 | 新增: { | |
| 414 | 新增: Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); | |
| 415 | 新增: ofd.Title = "选择文件"; | |
| 416 | 新增: ofd.Filter = "json(*.json)|*.json"; | |
| 417 | 新增: ofd.FileName = "TaiProcessIgnoreExport"; | |
| 418 | 新增: | |
| 419 | 新增: ofd.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;//指定启动路径 | |
| 420 | 新增: | |
| 421 | 新增: bool? result = ofd.ShowDialog(); | |
| 422 | 新增: if (result == true) | |
| 423 | 新增: { | |
| 424 | 新增: | |
| 425 | 新增: BehaviorModel bm = JsonConvert.DeserializeObject<BehaviorModel>(File.ReadAllText(ofd.FileName)); | |
| 426 | 新增: if (bm == null) | |
| 427 | 新增: { | |
| 428 | 新增: MessageBox.Show("文件格式有误或者数据为空,请选择有效的导出文件。"); | |
| 429 | 新增: } | |
| 430 | 新增: else | |
| 431 | 新增: { | |
| 432 | 新增: if (MessageBox.Show("导入将覆盖现有设置,确定吗?", "注意", MessageBoxButton.OKCancel) == MessageBoxResult.OK) | |
| 433 | 新增: { | |
| 434 | 新增: pi.SetValue(configData, bm.IgnoreProcessList); | |
| 435 | 新增: listControl.Items.Clear(); | |
| 436 | 新增: foreach (string p in bm.IgnoreProcessList) | |
| 437 | 新增: { | |
| 438 | 新增: listControl.Items.Add(p); | |
| 439 | 新增: } | |
| 440 | 新增: } | |
| 441 | 新增: } | |
| 442 | 新增: } | |
| 443 | 新增: | |
| 444 | 新增: }; | |
| 445 | 新增: | |
| 446 | 新增: //导出 | |
| 447 | 新增: var exportBtn = new Button.Button(); | |
| 448 | 新增: exportBtn.Content = "导出"; | |
| 449 | 新增: exportBtn.Click += (e, c) => | |
| 450 | 新增: { | |
| 451 | 新增: Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog(); | |
| 452 | 新增: sfd.Title = "选择文件"; | |
| 453 | 新增: sfd.Filter = "json(*.json)|*.json"; | |
| 454 | 新增: sfd.FileName = "TaiProcessIgnoreExport"; | |
| 455 | 新增: | |
| 456 | 新增: sfd.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;//指定启动路径 | |
| 457 | 新增: | |
| 458 | 新增: bool? result = sfd.ShowDialog(); | |
| 459 | 新增: if (result == true) | |
| 460 | 新增: { | |
| 461 | 新增: File.WriteAllText(sfd.FileName, JsonConvert.SerializeObject(configData)); | |
| 462 | 新增: | |
| 463 | 新增: } | |
| 464 | 新增: | |
| 465 | 新增: }; | |
| 466 | 新增: | |
| 405 | 467 | var inputPanel = new Grid(); |
| 406 | 468 | inputPanel.ColumnDefinitions.Add( |
| 407 | 469 | new ColumnDefinition() |
| @@ -413,12 +475,25 @@ namespace UI.Controls.SettingPanel | ||
| 413 | 475 | { |
| 414 | 476 | Width = new GridLength(2, GridUnitType.Star) |
| 415 | 477 | }); |
| 478 | 新增: inputPanel.ColumnDefinitions.Add( | |
| 479 | 新增: new ColumnDefinition() | |
| 480 | 新增: { | |
| 481 | 新增: Width = new GridLength(2, GridUnitType.Star) | |
| 482 | 新增: }); | |
| 483 | 新增: inputPanel.ColumnDefinitions.Add( | |
| 484 | 新增: new ColumnDefinition() | |
| 485 | 新增: { | |
| 486 | 新增: Width = new GridLength(2, GridUnitType.Star) | |
| 487 | 新增: }); | |
| 416 | 488 | inputPanel.Margin = new Thickness(15, 10, 15, 10); |
| 417 | 489 | Grid.SetColumn(addInputBox, 0); |
| 418 | 490 | Grid.SetColumn(addBtn, 1); |
| 491 | 新增: Grid.SetColumn(importBtn, 2); | |
| 492 | 新增: Grid.SetColumn(exportBtn, 3); | |
| 419 | 493 | inputPanel.Children.Add(addInputBox); |
| 420 | 494 | inputPanel.Children.Add(addBtn); |
| 421 | 删除: | |
| 495 | 新增: inputPanel.Children.Add(importBtn); | |
| 496 | 新增: inputPanel.Children.Add(exportBtn); | |
| 422 | 497 | |
| 423 | 498 | // 标题和说明 |
| 424 | 499 | |
| @@ -82,6 +82,9 @@ | ||
| 82 | 82 | <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> |
| 83 | 83 | <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.6.0.0\lib\net461\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath> |
| 84 | 84 | </Reference> |
| 85 | 新增: <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> | |
| 86 | 新增: <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> | |
| 87 | 新增: </Reference> | |
| 85 | 88 | <Reference Include="System" /> |
| 86 | 89 | <Reference Include="System.Data" /> |
| 87 | 90 | <Reference Include="System.Drawing" /> |
| @@ -4,6 +4,7 @@ | ||
| 4 | 4 | <package id="Microsoft.Bcl.AsyncInterfaces" version="6.0.0" targetFramework="net461" /> |
| 5 | 5 | <package id="Microsoft.Extensions.DependencyInjection" version="6.0.0" targetFramework="net461" /> |
| 6 | 6 | <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="6.0.0" targetFramework="net461" /> |
| 7 | 新增: <package id="Newtonsoft.Json" version="13.0.1" targetFramework="net461" /> | |
| 7 | 8 | <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net461" /> |
| 8 | 9 | <package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net461" /> |
| 9 | 10 | </packages> |
| 文件末尾没有换行 | ||