From 6a0544df5f5b3d42f1d59af144ecff9ea3bb97e8 Mon Sep 17 00:00:00 2001 From: Alex Z Date: Mon, 3 Feb 2020 13:08:15 +0300 Subject: [PATCH] fix addons --- .../Model/Dto/ProjectDtoModel.cs | 2 ++ .../Model/ViewModel/FormProjectViewModel.cs | 18 +++++++++++++ src/UniversalValveToolbox/UI/FormMain.cs | 26 ++++++++++++------- src/UniversalValveToolbox/UI/FormProfiles.cs | 15 ++++++++++- .../UniversalValveToolbox.csproj | 5 ++-- 5 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 src/UniversalValveToolbox/Model/ViewModel/FormProjectViewModel.cs diff --git a/src/UniversalValveToolbox/Model/Dto/ProjectDtoModel.cs b/src/UniversalValveToolbox/Model/Dto/ProjectDtoModel.cs index 94baa06..cc28d28 100644 --- a/src/UniversalValveToolbox/Model/Dto/ProjectDtoModel.cs +++ b/src/UniversalValveToolbox/Model/Dto/ProjectDtoModel.cs @@ -26,5 +26,7 @@ namespace UniversalValveToolbox.Model.Dto { get => args; set => UpdateField(value, ref args); } + + public override string ToString() => name; } } diff --git a/src/UniversalValveToolbox/Model/ViewModel/FormProjectViewModel.cs b/src/UniversalValveToolbox/Model/ViewModel/FormProjectViewModel.cs new file mode 100644 index 0000000..71f674f --- /dev/null +++ b/src/UniversalValveToolbox/Model/ViewModel/FormProjectViewModel.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UniversalValveToolbox.Base; +using UniversalValveToolbox.Model.Dto; + +namespace UniversalValveToolbox.Model.ViewModel { + class FormProjectViewModel: DtoModel { + private ProjectDtoModel selectProject; + + public ProjectDtoModel SelectProject { + get => selectProject; + set => UpdateField(value, ref selectProject); + } + } +} diff --git a/src/UniversalValveToolbox/UI/FormMain.cs b/src/UniversalValveToolbox/UI/FormMain.cs index 881ed35..3300fb8 100644 --- a/src/UniversalValveToolbox/UI/FormMain.cs +++ b/src/UniversalValveToolbox/UI/FormMain.cs @@ -161,7 +161,8 @@ namespace UniversalValveToolbox { removeItem.ForEach(item => listView.Items.Remove(item)); if (pathSelectedEngine != null) { - var pairPathIconTools = SelectedEngine.Tools.Select(tool => { + var pairPathIconTools = SelectedEngine.Tools + .Select(tool => { var keyByPath = Path.Combine(pathSelectedEngine, tool.Bin); var icon = Icon.ExtractAssociatedIcon(Path.Combine(pathSelectedEngine, tool.Bin)); @@ -204,18 +205,23 @@ namespace UniversalValveToolbox { removeItem.ForEach(item => listView.Items.Remove(item)); - if (pathSelectedEngine != null) { - var pairPathIconTools = addonsSelectedEngine.Select(addons => { - var keyByPath = Path.Combine(pathSelectedEngine, addons.Bin); - var icon = Icon.ExtractAssociatedIcon(Path.Combine(pathSelectedEngine, addons.Bin)); + var pairPathIconTools = addonsSelectedEngine + .Where(addon => { + var path = addon.Bin; + + return File.Exists(path); + + }) + .Select(addons => { + var keyByPath = addons.Bin; + var icon = Icon.ExtractAssociatedIcon(keyByPath); return new Pair(keyByPath, icon); }); - foreach (var pair in pairPathIconTools) { - listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second); - listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second); - } + foreach (var pair in pairPathIconTools) { + listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second); + listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second); } var itemsAddons = addonsSelectedEngine.Select(addons => { @@ -283,7 +289,7 @@ namespace UniversalValveToolbox { else { MessageBox.Show($"\"{SelectedEngine.Name}\" not install", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning); } - } + } } else if (selectItem.Group == listViewGroupAddons) { diff --git a/src/UniversalValveToolbox/UI/FormProfiles.cs b/src/UniversalValveToolbox/UI/FormProfiles.cs index ae4fac5..935a672 100644 --- a/src/UniversalValveToolbox/UI/FormProfiles.cs +++ b/src/UniversalValveToolbox/UI/FormProfiles.cs @@ -1,10 +1,23 @@ -using System; +using kasthack.binding.wf; +using System; using System.Windows.Forms; +using UniversalValveToolbox.Model.Provider; +using UniversalValveToolbox.Model.ViewModel; namespace UniversalValveToolbox { public partial class FormProfiles : Form { + private DataProvider dataProvider = new DataProvider(); + + private FormProjectViewModel model = new FormProjectViewModel(); + public FormProfiles() { InitializeComponent(); + + comboBox_Mod.Items.Clear(); + comboBox_Mod.Items.AddRange(dataProvider.Projects); + //textBox1.Text = "1"; + + //textBox1.Bind(a => a.Name, model, a => a.SelectProject.Name); } private void FormEditProfile_Load(object sender, EventArgs e) { diff --git a/src/UniversalValveToolbox/UniversalValveToolbox.csproj b/src/UniversalValveToolbox/UniversalValveToolbox.csproj index 74f224b..553f0ca 100644 --- a/src/UniversalValveToolbox/UniversalValveToolbox.csproj +++ b/src/UniversalValveToolbox/UniversalValveToolbox.csproj @@ -61,7 +61,8 @@ - + + LangDict.resx True @@ -145,7 +146,7 @@ - +