cancel should also cancel auto-filled lastIP values
The problem is seen in the first puzzle if you ping pc0, and then edit the 0.0.0.0 gateway. It auto-fills in the last-used pc0 IP address, and canceling saves that change instead of leaving the gateway at 0.0.0.0. lastIP nicely saves some typing (although it has also confused my student quite a bit I think), but since it updates WhatToEdit, that becomes the "saved" value even during a cancel. Instead, save the original value as a copy, and set back to the original value when cancellng. Perhaps it would be worth creating a reparse( NB_IPAddress) function, but this was easy to just hack together. Tested by pinging pc0, then editing the gateway and cancellng, editing the IP address and canceling. Next: don't add a canceled route
This commit is contained in:
parent
ddebafeec9
commit
06eb896558
@ -21,6 +21,8 @@ namespace EduNetworkBuilder
|
|||||||
NetworkDevice ParentDevice = null;
|
NetworkDevice ParentDevice = null;
|
||||||
Point StartLocation = new Point (50,50);
|
Point StartLocation = new Point (50,50);
|
||||||
|
|
||||||
|
NB_IPAddress SavedIPAddress = null;
|
||||||
|
|
||||||
|
|
||||||
public IPAddressEntry(NB_IPAddress toEdit, NetworkDevice ToEdit, Form ParentForm, bool JustPinging=false)
|
public IPAddressEntry(NB_IPAddress toEdit, NetworkDevice ToEdit, Form ParentForm, bool JustPinging=false)
|
||||||
{
|
{
|
||||||
@ -34,6 +36,7 @@ namespace EduNetworkBuilder
|
|||||||
ParentDevice = ToEdit;
|
ParentDevice = ToEdit;
|
||||||
Network myNet = NB.GetNetwork();
|
Network myNet = NB.GetNetwork();
|
||||||
NB_IPAddress lastIP = myNet.RetrieveLastIP();
|
NB_IPAddress lastIP = myNet.RetrieveLastIP();
|
||||||
|
SavedIPAddress = new NB_IPAddress(toEdit);
|
||||||
WhatToEdit = toEdit;
|
WhatToEdit = toEdit;
|
||||||
string hostname = "";
|
string hostname = "";
|
||||||
if (ToEdit != null)
|
if (ToEdit != null)
|
||||||
@ -182,6 +185,8 @@ namespace EduNetworkBuilder
|
|||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if(SavedIPAddress != null)
|
||||||
|
WhatToEdit.Reparse(SavedIPAddress.GetIPString, SavedIPAddress.GetMaskString, SavedIPAddress.GetGateway.ToIpString());
|
||||||
UpdateFieldsFromAddress();
|
UpdateFieldsFromAddress();
|
||||||
WellDone = false;
|
WellDone = false;
|
||||||
Close();
|
Close();
|
||||||
|
Loading…
Reference in New Issue
Block a user