1.1 --- a/Server/MainForm.cs Sat Aug 30 19:24:47 2014 +0200
1.2 +++ b/Server/MainForm.cs Sun Aug 31 16:12:59 2014 +0200
1.3 @@ -41,16 +41,7 @@
1.4
1.5 InitializeComponent();
1.6 UpdateStatus();
1.7 -
1.8 - //Load settings
1.9 - marqueeLabelTop.Font = Properties.Settings.Default.DisplayFont;
1.10 - marqueeLabelBottom.Font = Properties.Settings.Default.DisplayFont;
1.11 - checkBoxShowBorders.Checked = Properties.Settings.Default.DisplayShowBorders;
1.12 - checkBoxConnectOnStartup.Checked = Properties.Settings.Default.DisplayConnectOnStartup;
1.13 - checkBoxReverseScreen.Checked = Properties.Settings.Default.DisplayReverseScreen;
1.14 - comboBoxDisplayType.SelectedIndex = Properties.Settings.Default.DisplayType;
1.15 - timer.Interval = Properties.Settings.Default.TimerInterval;
1.16 - maskedTextBoxTimerInterval.Text = Properties.Settings.Default.TimerInterval.ToString();
1.17 +
1.18 //
1.19 tableLayoutPanel.CellBorderStyle = (checkBoxShowBorders.Checked ? TableLayoutPanelCellBorderStyle.Single : TableLayoutPanelCellBorderStyle.None);
1.20 //We have a bug when drawing minimized and reusing our bitmap
1.21 @@ -102,7 +93,7 @@
1.22 //MessageBox.Show("Ok");
1.23 marqueeLabelTop.Font = fontDialog.Font;
1.24 marqueeLabelBottom.Font = fontDialog.Font;
1.25 - Properties.Settings.Default.DisplayFont = fontDialog.Font;
1.26 + cds.Font = fontDialog.Font;
1.27 Properties.Settings.Default.Save();
1.28 //
1.29 CheckFontHeight();
1.30 @@ -235,7 +226,7 @@
1.31 CoordinateTranslationDelegate screenX;
1.32 CoordinateTranslationDelegate screenY;
1.33
1.34 - if (Properties.Settings.Default.DisplayReverseScreen)
1.35 + if (cds.ReverseScreen)
1.36 {
1.37 screenX = ScreenReversedX;
1.38 screenY = ScreenReversedY;
1.39 @@ -276,7 +267,7 @@
1.40 {
1.41 CloseDisplayConnection();
1.42
1.43 - if (iDisplay.Open((Display.TMiniDisplayType)Properties.Settings.Default.DisplayType))
1.44 + if (iDisplay.Open((Display.TMiniDisplayType)cds.DisplayType))
1.45 {
1.46 UpdateStatus();
1.47 iDisplay.RequestPowerSupplyStatus();
1.48 @@ -318,28 +309,62 @@
1.49
1.50 private void trackBarBrightness_Scroll(object sender, EventArgs e)
1.51 {
1.52 - Properties.Settings.Default.DisplayBrightness = trackBarBrightness.Value;
1.53 + cds.Brightness = trackBarBrightness.Value;
1.54 Properties.Settings.Default.Save();
1.55 iDisplay.SetBrightness(trackBarBrightness.Value);
1.56
1.57 }
1.58
1.59 +
1.60 + /// <summary>
1.61 + /// CDS stands for Current Display Settings
1.62 + /// </summary>
1.63 + private DisplaySettingsEntry cds
1.64 + {
1.65 + get
1.66 + {
1.67 + DisplaySettings settings = Properties.Settings.Default.DisplaySettings;
1.68 +
1.69 + //Make sure all our settings have been created
1.70 + while (settings.Displays.Count <= Properties.Settings.Default.CurrentDisplayIndex)
1.71 + {
1.72 + settings.Displays.Add(new DisplaySettingsEntry());
1.73 + }
1.74 +
1.75 + DisplaySettingsEntry displaySettings = settings.Displays[Properties.Settings.Default.CurrentDisplayIndex];
1.76 + return displaySettings;
1.77 + }
1.78 + }
1.79 +
1.80 private void UpdateStatus()
1.81 {
1.82 + //Synchronize UI with settings
1.83 + //Load settings
1.84 + marqueeLabelTop.Font = cds.Font;
1.85 + marqueeLabelBottom.Font = cds.Font;
1.86 + checkBoxShowBorders.Checked = cds.ShowBorders;
1.87 + checkBoxConnectOnStartup.Checked = Properties.Settings.Default.DisplayConnectOnStartup;
1.88 + checkBoxReverseScreen.Checked = cds.ReverseScreen;
1.89 + comboBoxDisplayType.SelectedIndex = cds.DisplayType;
1.90 + timer.Interval = cds.TimerInterval;
1.91 + maskedTextBoxTimerInterval.Text = cds.TimerInterval.ToString();
1.92 +
1.93 +
1.94 if (iDisplay.IsOpen())
1.95 {
1.96 + //Only setup brightness if display is open
1.97 + trackBarBrightness.Minimum = iDisplay.MinBrightness();
1.98 + trackBarBrightness.Maximum = iDisplay.MaxBrightness();
1.99 + trackBarBrightness.Value = cds.Brightness;
1.100 + trackBarBrightness.LargeChange = Math.Max(1, (iDisplay.MaxBrightness() - iDisplay.MinBrightness()) / 5);
1.101 + trackBarBrightness.SmallChange = 1;
1.102 + iDisplay.SetBrightness(cds.Brightness);
1.103 + //
1.104 buttonFill.Enabled = true;
1.105 buttonClear.Enabled = true;
1.106 buttonOpen.Enabled = false;
1.107 buttonClose.Enabled = true;
1.108 trackBarBrightness.Enabled = true;
1.109 - trackBarBrightness.Minimum = iDisplay.MinBrightness();
1.110 - trackBarBrightness.Maximum = iDisplay.MaxBrightness();
1.111 - trackBarBrightness.Value = Properties.Settings.Default.DisplayBrightness;
1.112 - trackBarBrightness.LargeChange = Math.Max(1,(iDisplay.MaxBrightness() - iDisplay.MinBrightness())/5);
1.113 - trackBarBrightness.SmallChange = 1;
1.114 - iDisplay.SetBrightness(Properties.Settings.Default.DisplayBrightness);
1.115 -
1.116 toolStripStatusLabelConnect.Text = "Connected - " + iDisplay.Vendor() + " - " + iDisplay.Product();
1.117 //+ " - " + iDisplay.SerialNumber();
1.118 }
1.119 @@ -351,6 +376,7 @@
1.120 buttonClose.Enabled = false;
1.121 trackBarBrightness.Enabled = false;
1.122 toolStripStatusLabelConnect.Text = "Disconnected";
1.123 + toolStripStatusLabelPower.Text = "N/A";
1.124 }
1.125 }
1.126
1.127 @@ -360,7 +386,7 @@
1.128 {
1.129 //Save our show borders setting
1.130 tableLayoutPanel.CellBorderStyle = (checkBoxShowBorders.Checked ? TableLayoutPanelCellBorderStyle.Single : TableLayoutPanelCellBorderStyle.None);
1.131 - Properties.Settings.Default.DisplayShowBorders = checkBoxShowBorders.Checked;
1.132 + cds.ShowBorders = checkBoxShowBorders.Checked;
1.133 Properties.Settings.Default.Save();
1.134 }
1.135
1.136 @@ -374,7 +400,7 @@
1.137 private void checkBoxReverseScreen_CheckedChanged(object sender, EventArgs e)
1.138 {
1.139 //Save our reverse screen setting
1.140 - Properties.Settings.Default.DisplayReverseScreen = checkBoxReverseScreen.Checked;
1.141 + cds.ReverseScreen = checkBoxReverseScreen.Checked;
1.142 Properties.Settings.Default.Save();
1.143 }
1.144
1.145 @@ -798,7 +824,8 @@
1.146
1.147 private void comboBoxDisplayType_SelectedIndexChanged(object sender, EventArgs e)
1.148 {
1.149 - Properties.Settings.Default.DisplayType = comboBoxDisplayType.SelectedIndex;
1.150 + Properties.Settings.Default.CurrentDisplayIndex = comboBoxDisplayType.SelectedIndex;
1.151 + cds.DisplayType = comboBoxDisplayType.SelectedIndex;
1.152 Properties.Settings.Default.Save();
1.153 OpenDisplayConnection();
1.154 }
1.155 @@ -809,7 +836,7 @@
1.156 if (maskedTextBoxTimerInterval.Text != "")
1.157 {
1.158 timer.Interval = Convert.ToInt32(maskedTextBoxTimerInterval.Text);
1.159 - Properties.Settings.Default.TimerInterval = timer.Interval;
1.160 + cds.TimerInterval = timer.Interval;
1.161 Properties.Settings.Default.Save();
1.162 }
1.163 }