Server/MainForm.cs
changeset 48 9039acfde091
parent 47 c9e3d1389d06
child 50 ba4cad33db58
     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          }