-
Notifications
You must be signed in to change notification settings - Fork 0
/
FormMain.cs
126 lines (101 loc) · 3.17 KB
/
FormMain.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HostsEditor
{
public partial class FormMain : Form
{
public static bool IsLoaded { get; set; }
public static Hosts Hosts { get; set; }
public FormMain()
{
IsLoaded = false;
InitializeComponent();
Hosts = new Hosts();
}
private void Form1_Load(object sender, EventArgs e)
{
LoadHosts();
IsLoaded = true;
}
public void LoadHosts()
{
Hosts.Read();
objectListView1.ClearObjects();
objectListView1.AddObjects(Hosts.HostEntries);
}
public void AddNewItem()
{
var newEntry = new NewEntry();
newEntry.ShowDialog();
if (newEntry.DialogResult != DialogResult.OK) return;
var newHost = new HostEntry()
{
UrlAddress = newEntry.UrlAddress,
IpAddress = newEntry.IpAddress,
Enabled = newEntry.IsEnabled
};
objectListView1.AddObject(newHost);
Hosts.HostEntries = objectListView1.Objects.Cast<HostEntry>().ToList();
}
private void NewToolStripMenuItem_Click(object sender, EventArgs e)
{
AddNewItem();
}
private void NewHostToolStripMenuItem_Click(object sender, EventArgs e)
{
AddNewItem();
}
public void Write()
{
if (!IsLoaded) return;
Hosts.HostEntries = objectListView1.Objects.Cast<HostEntry>().ToList();
Hosts.Write();
}
private void ReloadToolStripMenuItem_Click(object sender, EventArgs e)
{
IsLoaded = false;
LoadHosts();
IsLoaded = true;
}
private void ExitToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void ObjectListView1_ItemsChanged(object sender, BrightIdeasSoftware.ItemsChangedEventArgs e)
{
Write();
}
private void ObjectListView1_ItemCheck(object sender, ItemCheckEventArgs e)
{
Write();
}
private void ObjectListView1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
Write();
}
private void ObjectListView1_CellEditFinished(object sender, BrightIdeasSoftware.CellEditEventArgs e)
{
Write();
}
private void ObjectListView1_ItemsAdding(object sender, BrightIdeasSoftware.ItemsAddingEventArgs e)
{
Write();
}
private void ObjectListView1_ItemsRemoving(object sender, BrightIdeasSoftware.ItemsRemovingEventArgs e)
{
Write();
}
private void DeleteToolStripMenuItem_Click(object sender, EventArgs e)
{
objectListView1.RemoveObjects(objectListView1.SelectedItems);
}
}
}