Firewall rule editor working
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user