ListView now shows only name of the profiles

This commit is contained in:
s_falahati 2017-08-07 21:06:40 +04:30
parent 16edeef156
commit 50f1fe9cde

View File

@ -1,6 +1,5 @@
using System; using System;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using HeliosDisplayManagement.Resources; using HeliosDisplayManagement.Resources;
@ -22,9 +21,6 @@ namespace HeliosDisplayManagement.UIForms
lv_profiles.Groups.Add(GroupSaved, Language.Saved_Profiles); lv_profiles.Groups.Add(GroupSaved, Language.Saved_Profiles);
} }
[DllImport("user32", EntryPoint = "SendMessage", CharSet = CharSet.Auto, SetLastError = true)]
public static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, string lParam);
private ListViewItem AddProfile(Profile profile = null) private ListViewItem AddProfile(Profile profile = null)
{ {
il_profiles.Images.Add( il_profiles.Images.Add(
@ -33,7 +29,7 @@ namespace HeliosDisplayManagement.UIForms
il_profiles.ImageSize.Height)); il_profiles.ImageSize.Height));
return lv_profiles.Items.Add(new ListViewItem return lv_profiles.Items.Add(new ListViewItem
{ {
Text = profile?.ToString() ?? Language.Current, Text = profile?.Name ?? Language.Current,
ImageIndex = il_profiles.Images.Count - 1, ImageIndex = il_profiles.Images.Count - 1,
Tag = profile, Tag = profile,
Group = Group =
@ -144,7 +140,7 @@ namespace HeliosDisplayManagement.UIForms
private void lv_profiles_AfterLabelEdit(object sender, LabelEditEventArgs e) private void lv_profiles_AfterLabelEdit(object sender, LabelEditEventArgs e)
{ {
var selectedProfile = (Profile) lv_profiles.Items[e.Item].Tag; var selectedProfile = (Profile) lv_profiles.Items[e.Item].Tag;
if (selectedProfile == null || e.Label == null || selectedProfile.Name == e.Label) if ((selectedProfile == null) || (e.Label == null) || (selectedProfile.Name == e.Label))
{ {
e.CancelEdit = true; e.CancelEdit = true;
return; return;
@ -164,22 +160,14 @@ namespace HeliosDisplayManagement.UIForms
e.CancelEdit = true; e.CancelEdit = true;
return; return;
} }
selectedProfile.Name = e.Label;
lv_profiles.Items[e.Item].Text = selectedProfile.ToString(); lv_profiles.Items[e.Item].Text = selectedProfile.Name = e.Label;
SaveProfiles(); SaveProfiles();
} }
private void lv_profiles_BeforeLabelEdit(object sender, LabelEditEventArgs e) private void lv_profiles_BeforeLabelEdit(object sender, LabelEditEventArgs e)
{ {
var item = lv_profiles.Items[e.Item]; e.CancelEdit = !(lv_profiles.Items[e.Item].Tag is Profile);
if (!(item.Tag is Profile))
{
e.CancelEdit = true;
return;
}
var editHandle = SendMessage(lv_profiles.Handle, 0x1018, IntPtr.Zero, null);
if (editHandle != IntPtr.Zero)
SendMessage(editHandle, 0xC, IntPtr.Zero, ((Profile) item.Tag).Name);
} }
private void lv_profiles_DoubleClick(object sender, EventArgs e) private void lv_profiles_DoubleClick(object sender, EventArgs e)