diff -r ba4cad33db58 -r ae2052cc89ef Server/MainForm.cs --- a/Server/MainForm.cs Sun Aug 31 16:21:50 2014 +0200 +++ b/Server/MainForm.cs Sun Aug 31 17:44:18 2014 +0200 @@ -147,6 +147,12 @@ { switch (iDisplay.AttemptRequestCompletion()) { + case Display.TMiniDisplayRequest.EMiniDisplayRequestFirmwareRevision: + toolStripStatusLabelConnect.Text += " v" + iDisplay.FirmwareRevision(); + //Issue next request then + iDisplay.RequestPowerSupplyStatus(); + break; + case Display.TMiniDisplayRequest.EMiniDisplayRequestPowerSupplyStatus: if (iDisplay.PowerSupplyStatus()) { @@ -162,12 +168,6 @@ case Display.TMiniDisplayRequest.EMiniDisplayRequestDeviceId: toolStripStatusLabelConnect.Text += " - " + iDisplay.DeviceId(); - //Issue next request then - iDisplay.RequestFirmwareRevision(); - break; - - case Display.TMiniDisplayRequest.EMiniDisplayRequestFirmwareRevision: - toolStripStatusLabelConnect.Text += " v" + iDisplay.FirmwareRevision(); //No more request to issue break; } @@ -270,7 +270,7 @@ if (iDisplay.Open((Display.TMiniDisplayType)cds.DisplayType)) { UpdateStatus(); - iDisplay.RequestPowerSupplyStatus(); + iDisplay.RequestFirmwareRevision(); } else { @@ -324,6 +324,12 @@ get { DisplaysSettings settings = Properties.Settings.Default.DisplaySettings; + if (settings == null) + { + settings = new DisplaysSettings(); + settings.Init(); + Properties.Settings.Default.DisplaySettings = settings; + } //Make sure all our settings have been created while (settings.Displays.Count <= Properties.Settings.Default.CurrentDisplayIndex) @@ -827,7 +833,14 @@ Properties.Settings.Default.CurrentDisplayIndex = comboBoxDisplayType.SelectedIndex; cds.DisplayType = comboBoxDisplayType.SelectedIndex; Properties.Settings.Default.Save(); - OpenDisplayConnection(); + if (iDisplay.IsOpen()) + { + OpenDisplayConnection(); + } + else + { + UpdateStatus(); + } } @@ -835,9 +848,14 @@ { if (maskedTextBoxTimerInterval.Text != "") { - timer.Interval = Convert.ToInt32(maskedTextBoxTimerInterval.Text); - cds.TimerInterval = timer.Interval; - Properties.Settings.Default.Save(); + int interval = Convert.ToInt32(maskedTextBoxTimerInterval.Text); + + if (interval > 0) + { + timer.Interval = interval; + cds.TimerInterval = timer.Interval; + Properties.Settings.Default.Save(); + } } }