Firewall rule editor working

This commit is contained in:
2016-11-07 11:52:14 -06:00
parent 6f240bc311
commit 5b62aa59ee
3 changed files with 104 additions and 14 deletions

View File

@ -25,10 +25,16 @@ namespace EduNetworkBuilder
void UpdateForm()
{
if (lbRules.SelectedIndex > 0)
if (lbRules.SelectedIndex >= 0)
{
btnDel.Visible = true;
btnEdit.Visible = true;
}
else
{
btnDel.Visible = false;
btnEdit.Visible = false;
}
int selected = lbRules.SelectedIndex;
lbRules.Items.Clear();
foreach (FirewallRule FW in FirewallDevice.FirewallRules)
@ -60,11 +66,75 @@ namespace EduNetworkBuilder
private void btnDel_Click(object sender, EventArgs e)
{
if (lbRules.SelectedIndex >= 0)
{
if (FirewallDevice.FirewallRules.Count > lbRules.SelectedIndex)
{
int old = lbRules.SelectedIndex;
FirewallDevice.FirewallRules.RemoveAt(lbRules.SelectedIndex);
old--;
if (old > -1)
lbRules.SelectedIndex = old;
UpdateForm();
}
}
}
private void btnDone_Click(object sender, EventArgs e)
{
Close();
}
private void btnEdit_Click(object sender, EventArgs e)
{
EditCurrent();
}
private void EditCurrent()
{
if (lbRules.SelectedIndex >= 0)
{
if (FirewallDevice.FirewallRules.Count > lbRules.SelectedIndex)
{
FirewallRule FW = FirewallDevice.FirewallRules[lbRules.SelectedIndex];
NetTestEditor NTE = new NetTestEditor(FW, FirewallDevice);
NTE.ShowDialog();
UpdateForm();
}
}
}
private void lbRules_DoubleClick(object sender, EventArgs e)
{
EditCurrent();
}
private void lbRules_MouseDown(object sender, MouseEventArgs e)
{
//Do right-click stuff here
if(e.Button == MouseButtons.Right)
{
if (lbRules.ContextMenuStrip == null)
{
lbRules.ContextMenuStrip = new ContextMenuStrip();
}
lbRules.ContextMenuStrip.Items.Clear();
//we can open a right-click menu
int index = 0;
lbRules.ContextMenuStrip.Items.Add(NB.Translate("_Add"));
lbRules.ContextMenuStrip.Items[index++].Click += btnNew_Click;
if (lbRules.SelectedIndex >= 0)
{
lbRules.ContextMenuStrip.Items.Add(NB.Translate("_Edit"));
lbRules.ContextMenuStrip.Items[index++].Click += btnEdit_Click;
lbRules.ContextMenuStrip.Items.Add(NB.Translate("_Delete"));
lbRules.ContextMenuStrip.Items[index++].Click += btnDel_Click;
}
lbRules.ContextMenuStrip.Visible = true;
lbRules.ContextMenuStrip.Show(Cursor.Position);
}
}
}
}