Adding CEC settings tab.
1.1 --- a/Server/App.config Sat Sep 26 16:35:27 2015 +0200
1.2 +++ b/Server/App.config Sat Sep 26 17:55:51 2015 +0200
1.3 @@ -31,6 +31,18 @@
1.4 <setting name="OpticalDriveToEject" serializeAs="String">
1.5 <value>None</value>
1.6 </setting>
1.7 + <setting name="CecEnabled" serializeAs="String">
1.8 + <value>False</value>
1.9 + </setting>
1.10 + <setting name="CecHdmiPort" serializeAs="String">
1.11 + <value>1</value>
1.12 + </setting>
1.13 + <setting name="CecMonitorOn" serializeAs="String">
1.14 + <value>True</value>
1.15 + </setting>
1.16 + <setting name="CecMonitorOff" serializeAs="String">
1.17 + <value>True</value>
1.18 + </setting>
1.19 </SharpDisplayManager.Properties.Settings>
1.20 </userSettings>
1.21 </configuration>
2.1 --- a/Server/ConsumerElectronicControl.cs Sat Sep 26 16:35:27 2015 +0200
2.2 +++ b/Server/ConsumerElectronicControl.cs Sat Sep 26 17:55:51 2015 +0200
2.3 @@ -22,12 +22,22 @@
2.4 /// <param name="aWndHandle"></param>
2.5 /// <param name="aDeviceName"></param>
2.6 /// <param name="aHdmiPort"></param>
2.7 - public void Start(IntPtr aWndHandle, string aDeviceName, byte aHdmiPort)
2.8 + public void Start(IntPtr aWndHandle, string aDeviceName, byte aHdmiPort, bool aMonitorOn, bool aMonitorOff)
2.9 {
2.10 //Create our power setting notifier and register the event we are insterrested in
2.11 iPowerSettingNotifier = new PowerManager.SettingNotifier(aWndHandle);
2.12 - iPowerSettingNotifier.OnMonitorPowerOn += OnMonitorPowerOn;
2.13 - iPowerSettingNotifier.OnMonitorPowerOff += OnMonitorPowerOff;
2.14 +
2.15 + //
2.16 + if (aMonitorOn)
2.17 + {
2.18 + iPowerSettingNotifier.OnMonitorPowerOn += OnMonitorPowerOn;
2.19 + }
2.20 +
2.21 + //
2.22 + if (aMonitorOff)
2.23 + {
2.24 + iPowerSettingNotifier.OnMonitorPowerOff += OnMonitorPowerOff;
2.25 + }
2.26
2.27 //CEC
2.28 iCecClient = new Cec.Client(aDeviceName,aHdmiPort);
2.29 @@ -41,13 +51,19 @@
2.30 public void Stop()
2.31 {
2.32 //
2.33 - iPowerSettingNotifier.OnMonitorPowerOn -= OnMonitorPowerOn;
2.34 - iPowerSettingNotifier.OnMonitorPowerOff -= OnMonitorPowerOff;
2.35 - iPowerSettingNotifier = null;
2.36 + if (iPowerSettingNotifier != null)
2.37 + {
2.38 + iPowerSettingNotifier.OnMonitorPowerOn -= OnMonitorPowerOn;
2.39 + iPowerSettingNotifier.OnMonitorPowerOff -= OnMonitorPowerOff;
2.40 + iPowerSettingNotifier = null;
2.41 + }
2.42 //
2.43 - iCecClient.Close();
2.44 - iCecClient.Dispose();
2.45 - iCecClient = null;
2.46 + if (iCecClient != null)
2.47 + {
2.48 + iCecClient.Close();
2.49 + iCecClient.Dispose();
2.50 + iCecClient = null;
2.51 + }
2.52 }
2.53
2.54
3.1 --- a/Server/MainForm.Designer.cs Sat Sep 26 16:35:27 2015 +0200
3.2 +++ b/Server/MainForm.Designer.cs Sat Sep 26 17:55:51 2015 +0200
3.3 @@ -96,6 +96,12 @@
3.4 this.pictureBoxGreenStart = new System.Windows.Forms.PictureBox();
3.5 this.labelStartFileName = new System.Windows.Forms.Label();
3.6 this.buttonSelectFile = new System.Windows.Forms.Button();
3.7 + this.tabPageCec = new System.Windows.Forms.TabPage();
3.8 + this.checkBoxCecMonitorOn = new System.Windows.Forms.CheckBox();
3.9 + this.checkBoxCecMonitorOff = new System.Windows.Forms.CheckBox();
3.10 + this.checkBoxCecEnabled = new System.Windows.Forms.CheckBox();
3.11 + this.labelHdmiPort = new System.Windows.Forms.Label();
3.12 + this.comboBoxHdmiPort = new System.Windows.Forms.ComboBox();
3.13 this.tabPageApp = new System.Windows.Forms.TabPage();
3.14 this.checkBoxStartMinimized = new System.Windows.Forms.CheckBox();
3.15 this.checkBoxMinimizeToTray = new System.Windows.Forms.CheckBox();
3.16 @@ -105,7 +111,6 @@
3.17 this.labelFontHeight = new System.Windows.Forms.Label();
3.18 this.toolTip = new System.Windows.Forms.ToolTip(this.components);
3.19 this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
3.20 - this.pictureBoxDemo = new System.Windows.Forms.PictureBox();
3.21 this.panelDisplay.SuspendLayout();
3.22 this.tableLayoutPanel.SuspendLayout();
3.23 this.statusStrip.SuspendLayout();
3.24 @@ -118,8 +123,8 @@
3.25 ((System.ComponentModel.ISupportInitialize)(this.trackBarMasterVolume)).BeginInit();
3.26 this.tabPageInput.SuspendLayout();
3.27 ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGreenStart)).BeginInit();
3.28 + this.tabPageCec.SuspendLayout();
3.29 this.tabPageApp.SuspendLayout();
3.30 - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).BeginInit();
3.31 this.SuspendLayout();
3.32 //
3.33 // panelDisplay
3.34 @@ -521,6 +526,7 @@
3.35 this.tabControl.Controls.Add(this.tabPageDesign);
3.36 this.tabControl.Controls.Add(this.tabPageAudio);
3.37 this.tabControl.Controls.Add(this.tabPageInput);
3.38 + this.tabControl.Controls.Add(this.tabPageCec);
3.39 this.tabControl.Controls.Add(this.tabPageApp);
3.40 this.tabControl.Location = new System.Drawing.Point(12, 139);
3.41 this.tabControl.Name = "tabControl";
3.42 @@ -766,6 +772,86 @@
3.43 this.buttonSelectFile.UseVisualStyleBackColor = true;
3.44 this.buttonSelectFile.Click += new System.EventHandler(this.buttonSelectFile_Click);
3.45 //
3.46 + // tabPageCec
3.47 + //
3.48 + this.tabPageCec.Controls.Add(this.checkBoxCecMonitorOn);
3.49 + this.tabPageCec.Controls.Add(this.checkBoxCecMonitorOff);
3.50 + this.tabPageCec.Controls.Add(this.checkBoxCecEnabled);
3.51 + this.tabPageCec.Controls.Add(this.labelHdmiPort);
3.52 + this.tabPageCec.Controls.Add(this.comboBoxHdmiPort);
3.53 + this.tabPageCec.Location = new System.Drawing.Point(4, 22);
3.54 + this.tabPageCec.Name = "tabPageCec";
3.55 + this.tabPageCec.Padding = new System.Windows.Forms.Padding(3);
3.56 + this.tabPageCec.Size = new System.Drawing.Size(592, 242);
3.57 + this.tabPageCec.TabIndex = 7;
3.58 + this.tabPageCec.Text = "CEC";
3.59 + this.tabPageCec.UseVisualStyleBackColor = true;
3.60 + //
3.61 + // checkBoxCecMonitorOn
3.62 + //
3.63 + this.checkBoxCecMonitorOn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
3.64 + this.checkBoxCecMonitorOn.AutoSize = true;
3.65 + this.checkBoxCecMonitorOn.Location = new System.Drawing.Point(6, 92);
3.66 + this.checkBoxCecMonitorOn.Name = "checkBoxCecMonitorOn";
3.67 + this.checkBoxCecMonitorOn.Size = new System.Drawing.Size(192, 17);
3.68 + this.checkBoxCecMonitorOn.TabIndex = 23;
3.69 + this.checkBoxCecMonitorOn.Text = "Wake up TV when screen turns on";
3.70 + this.checkBoxCecMonitorOn.UseVisualStyleBackColor = true;
3.71 + this.checkBoxCecMonitorOn.CheckedChanged += new System.EventHandler(this.checkBoxCecMonitorOn_CheckedChanged);
3.72 + //
3.73 + // checkBoxCecMonitorOff
3.74 + //
3.75 + this.checkBoxCecMonitorOff.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
3.76 + this.checkBoxCecMonitorOff.AutoSize = true;
3.77 + this.checkBoxCecMonitorOff.Location = new System.Drawing.Point(6, 69);
3.78 + this.checkBoxCecMonitorOff.Name = "checkBoxCecMonitorOff";
3.79 + this.checkBoxCecMonitorOff.Size = new System.Drawing.Size(219, 17);
3.80 + this.checkBoxCecMonitorOff.TabIndex = 22;
3.81 + this.checkBoxCecMonitorOff.Text = "Set TV on standby when screen turns off";
3.82 + this.checkBoxCecMonitorOff.UseVisualStyleBackColor = true;
3.83 + this.checkBoxCecMonitorOff.CheckedChanged += new System.EventHandler(this.checkBoxCecMonitorOff_CheckedChanged);
3.84 + //
3.85 + // checkBoxCecEnabled
3.86 + //
3.87 + this.checkBoxCecEnabled.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
3.88 + this.checkBoxCecEnabled.AutoSize = true;
3.89 + this.checkBoxCecEnabled.Location = new System.Drawing.Point(6, 6);
3.90 + this.checkBoxCecEnabled.Name = "checkBoxCecEnabled";
3.91 + this.checkBoxCecEnabled.Size = new System.Drawing.Size(83, 17);
3.92 + this.checkBoxCecEnabled.TabIndex = 21;
3.93 + this.checkBoxCecEnabled.Text = "Enable CEC";
3.94 + this.checkBoxCecEnabled.UseVisualStyleBackColor = true;
3.95 + this.checkBoxCecEnabled.CheckedChanged += new System.EventHandler(this.checkBoxCecEnabled_CheckedChanged);
3.96 + //
3.97 + // labelHdmiPort
3.98 + //
3.99 + this.labelHdmiPort.AutoSize = true;
3.100 + this.labelHdmiPort.Location = new System.Drawing.Point(3, 26);
3.101 + this.labelHdmiPort.Name = "labelHdmiPort";
3.102 + this.labelHdmiPort.Size = new System.Drawing.Size(182, 13);
3.103 + this.labelHdmiPort.TabIndex = 20;
3.104 + this.labelHdmiPort.Text = "TV HDMI port connected to your PC:";
3.105 + //
3.106 + // comboBoxHdmiPort
3.107 + //
3.108 + this.comboBoxHdmiPort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
3.109 + this.comboBoxHdmiPort.FormattingEnabled = true;
3.110 + this.comboBoxHdmiPort.Items.AddRange(new object[] {
3.111 + "HDMI 1",
3.112 + "HDMI 2",
3.113 + "HDMI 3",
3.114 + "HDMI 4",
3.115 + "HDMI 5",
3.116 + "HDMI 6",
3.117 + "HDMI 7",
3.118 + "HDMI 8",
3.119 + "HDMI 9"});
3.120 + this.comboBoxHdmiPort.Location = new System.Drawing.Point(6, 42);
3.121 + this.comboBoxHdmiPort.Name = "comboBoxHdmiPort";
3.122 + this.comboBoxHdmiPort.Size = new System.Drawing.Size(87, 21);
3.123 + this.comboBoxHdmiPort.TabIndex = 19;
3.124 + this.comboBoxHdmiPort.SelectedIndexChanged += new System.EventHandler(this.comboBoxHdmiPort_SelectedIndexChanged);
3.125 + //
3.126 // tabPageApp
3.127 //
3.128 this.tabPageApp.Controls.Add(this.checkBoxStartMinimized);
3.129 @@ -848,20 +934,11 @@
3.130 //
3.131 this.openFileDialog.Filter = "EXE files (*.exe)|*.exe|All files (*.*)|*.*";
3.132 //
3.133 - // pictureBoxDemo
3.134 - //
3.135 - this.pictureBoxDemo.Location = new System.Drawing.Point(478, 54);
3.136 - this.pictureBoxDemo.Name = "pictureBoxDemo";
3.137 - this.pictureBoxDemo.Size = new System.Drawing.Size(100, 50);
3.138 - this.pictureBoxDemo.TabIndex = 21;
3.139 - this.pictureBoxDemo.TabStop = false;
3.140 - //
3.141 // MainForm
3.142 //
3.143 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
3.144 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
3.145 this.ClientSize = new System.Drawing.Size(624, 442);
3.146 - this.Controls.Add(this.pictureBoxDemo);
3.147 this.Controls.Add(this.labelFontHeight);
3.148 this.Controls.Add(this.labelFontWidth);
3.149 this.Controls.Add(this.labelWarning);
3.150 @@ -894,9 +971,10 @@
3.151 this.tabPageInput.ResumeLayout(false);
3.152 this.tabPageInput.PerformLayout();
3.153 ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGreenStart)).EndInit();
3.154 + this.tabPageCec.ResumeLayout(false);
3.155 + this.tabPageCec.PerformLayout();
3.156 this.tabPageApp.ResumeLayout(false);
3.157 this.tabPageApp.PerformLayout();
3.158 - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).EndInit();
3.159 this.ResumeLayout(false);
3.160 this.PerformLayout();
3.161
3.162 @@ -945,7 +1023,6 @@
3.163 private System.Windows.Forms.Label labelFontWidth;
3.164 private System.Windows.Forms.Label labelFontHeight;
3.165 private System.Windows.Forms.CheckBox checkBoxInverseColors;
3.166 - private System.Windows.Forms.PictureBox pictureBoxDemo;
3.167 private System.Windows.Forms.TabPage tabPageApp;
3.168 private System.Windows.Forms.Button buttonUpdate;
3.169 private System.Windows.Forms.CheckBox checkBoxAutoStart;
3.170 @@ -971,6 +1048,12 @@
3.171 private System.Windows.Forms.PictureBox pictureBoxGreenStart;
3.172 private System.Windows.Forms.ComboBox comboBoxOpticalDrives;
3.173 private System.Windows.Forms.Label labelOpticalDriveEject;
3.174 + private System.Windows.Forms.TabPage tabPageCec;
3.175 + private System.Windows.Forms.CheckBox checkBoxCecEnabled;
3.176 + private System.Windows.Forms.Label labelHdmiPort;
3.177 + private System.Windows.Forms.ComboBox comboBoxHdmiPort;
3.178 + private System.Windows.Forms.CheckBox checkBoxCecMonitorOn;
3.179 + private System.Windows.Forms.CheckBox checkBoxCecMonitorOff;
3.180 }
3.181 }
3.182
4.1 --- a/Server/MainForm.cs Sat Sep 26 16:35:27 2015 +0200
4.2 +++ b/Server/MainForm.cs Sat Sep 26 17:55:51 2015 +0200
4.3 @@ -187,7 +187,8 @@
4.4 //CEC
4.5 iCecManager = new ConsumerElectronicControl();
4.6 OnWndProc += iCecManager.OnWndProc;
4.7 - iCecManager.Start(Handle,"CEC", 2);
4.8 + ResetCec();
4.9 +
4.10
4.11 //Setup notification icon
4.12 SetupTrayIcon();
4.13 @@ -1095,8 +1096,13 @@
4.14 comboBoxOpticalDrives.SelectedIndex = 0;
4.15 }
4.16
4.17 + //CEC settings
4.18 + checkBoxCecEnabled.Checked = Properties.Settings.Default.CecEnabled;
4.19 + checkBoxCecMonitorOn.Checked = Properties.Settings.Default.CecMonitorOn;
4.20 + checkBoxCecMonitorOff.Checked = Properties.Settings.Default.CecMonitorOff;
4.21 + comboBoxHdmiPort.SelectedIndex = Properties.Settings.Default.CecHdmiPort - 1;
4.22
4.23 -
4.24 + //Mini Display settings
4.25 checkBoxReverseScreen.Checked = cds.ReverseScreen;
4.26 checkBoxInverseColors.Checked = cds.InverseColors;
4.27 checkBoxShowVolumeLabel.Checked = cds.ShowVolumeLabel;
4.28 @@ -2218,5 +2224,62 @@
4.29
4.30 base.WndProc(ref aMessage);
4.31 }
4.32 +
4.33 + private void checkBoxCecEnabled_CheckedChanged(object sender, EventArgs e)
4.34 + {
4.35 + //Save CEC enabled status
4.36 + Properties.Settings.Default.CecEnabled = checkBoxCecEnabled.Checked;
4.37 + Properties.Settings.Default.Save();
4.38 + //
4.39 + ResetCec();
4.40 + }
4.41 +
4.42 + private void comboBoxHdmiPort_SelectedIndexChanged(object sender, EventArgs e)
4.43 + {
4.44 + //Save CEC HDMI port
4.45 + Properties.Settings.Default.CecHdmiPort = Convert.ToByte(comboBoxHdmiPort.SelectedIndex);
4.46 + Properties.Settings.Default.CecHdmiPort++;
4.47 + Properties.Settings.Default.Save();
4.48 + //
4.49 + ResetCec();
4.50 + }
4.51 +
4.52 + private void checkBoxCecMonitorOff_CheckedChanged(object sender, EventArgs e)
4.53 + {
4.54 + Properties.Settings.Default.CecMonitorOff = checkBoxCecMonitorOff.Checked;
4.55 + Properties.Settings.Default.Save();
4.56 + //
4.57 + ResetCec();
4.58 + }
4.59 +
4.60 + private void checkBoxCecMonitorOn_CheckedChanged(object sender, EventArgs e)
4.61 + {
4.62 + Properties.Settings.Default.CecMonitorOn = checkBoxCecMonitorOn.Checked;
4.63 + Properties.Settings.Default.Save();
4.64 + //
4.65 + ResetCec();
4.66 + }
4.67 +
4.68 + /// <summary>
4.69 + ///
4.70 + /// </summary>
4.71 + private void ResetCec()
4.72 + {
4.73 + if (iCecManager==null)
4.74 + {
4.75 + //Thus skipping initial UI setup
4.76 + return;
4.77 + }
4.78 +
4.79 + iCecManager.Stop();
4.80 + //
4.81 + if (Properties.Settings.Default.CecEnabled)
4.82 + {
4.83 + iCecManager.Start(Handle, "CEC",
4.84 + Properties.Settings.Default.CecHdmiPort,
4.85 + Properties.Settings.Default.CecMonitorOn,
4.86 + Properties.Settings.Default.CecMonitorOff);
4.87 + }
4.88 + }
4.89 }
4.90 }
5.1 --- a/Server/MainForm.resx Sat Sep 26 16:35:27 2015 +0200
5.2 +++ b/Server/MainForm.resx Sat Sep 26 17:55:51 2015 +0200
5.3 @@ -132,60 +132,62 @@
5.4 <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
5.5 <data name="pictureBoxGreenStart.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
5.6 <value>
5.7 - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
5.8 - YQUAAAujSURBVFhHjZcJWM7ZHsf/wwwPl8GlbE2MpTAzimow2aqRVJPSam+RVkrSvrx5U6lUozehkCVp
5.9 - ikiakGxjG0P2cLMUU0TWq4w7cz/3/CMPd9zlfZ7v85739z/n9/2e7znn956/xKtA6S1A4j+gr42kJuAm
5.10 - UCLQJEA/u3b0s2+H3Bb4XWCfQICA5n/K0xJ/h/O9Hx8aJJINE0jXtGvLwOmdGDinK3q+A3BUmmETZdQC
5.11 - J9EetUCLgbO7MnBGZyHsE1nQBoGvPyjk/xUgEsTLxNouXTEO1GVJpgfZu9PYfnAzefuzydv3BqJdWLGJ
5.12 - dSUrCVC5oju/L1rOXelv3yJkhUCX94R8SMA/fxNL8cZ+2cK+1tJq7TmdMQoaTlJeBAUVOe+TtpK/8731
5.13 - TXvTj5ksSJuJvpcGQ4V4kWvju27ou7V/63xLQyZvCQoBouNXMvlw9264LP+OzT+uImePig0l6e9jj/j9
5.14 - Lv70XEVOqaolx3D37nxm20YWYilzyFytIloE/N68+K2APlOlNXqeargnW7NmZxKqgrjXKIx/je3xZOz4
5.15 - AET8bR/RP/3NuMyiRNyTrNH3Vkdj2kfyknz+ngB59i+e+rUIEApX6s7rhlnQlyRtDSd+Y/BrbA4mYUsI
5.16 - q/OXsnuniv27V1NYtALVtmgS80JJ3Poay3NDWiD3jd8UTJwYK2P55jDMg3TRFxOTJ9gqQOaW/tEcIN2r
5.17 - 85LJLYfO6ojhwl74pDgSmunZgrA1nkRkeXOsMINnpdt5UriepwVZPC/eyPP9BZwuSCFlw0KiNngRuV5g
5.18 - nRfh2Z6ErxXjV3sSkiHDA68kW0Z5q6Hj8qkswkcW8aopQJKanvlJlZedJREsm7ioDwbuPfBOcsAzyV4I
5.19 - cWDB944oVZ40pERzP9qTe0vsaAiz42G0HY8S5/JQaUdWsiOq4iWEZM9hUYYT/gIL053wTXXEK9lBkDvi
5.20 - mWiHvlsPTAL7ti5F278/8ZOkxgYfqY+VZDTcuTMTF/UWndSZEzsF57gpuCZZMC/ZkoxENxqWenHf35wH
5.21 - QaY8ijLlabwpj1Mtqct0wi/ZiooqJYevprO2LIToTa4ECzGRG+aTviOa3AMq5sSYY+Dak7G+6ozy6I7g
5.22 - dG6o95ak2hoPefaFZsEajPLshq5zD+yjxjNDOZHZCUbMTTRh/3J3Hihm0+A/jseRhjxPNKRJZcjjHDOO
5.23 - Z1kQlG3KzktWbD9vQ8kFX/ZdWsb+CyspP7+OktOZLFw5E9uQ8SK3GvrzumAR1k9ehhM3brhL8rFrpymO
5.24 - iJ1iAHpunzJ05l+YGm6AbcwonBLG4Bg3hmqlKw9CLXkkNtLzBF2aMnRpzhnJwx3fkpk+gZQ9xuyttuSH
5.25 - i7psPK1L5hE90vcbk13hTu6pNBwVU7BYrM8QUSV15v4F64jPGej4CX2+k7rL9hvqzfsUm4h+jHTtxKAZ
5.26 - 7TANGsJUhQ528SNwV47nTpg9VUutuJI9m+qt06grMOJR8RjqK0yYH6vHrioHDtyxYef1EWw9r0X2yS/I
5.27 - OmLCluMLSd4TwZQAPYwXajPIqT1fze6IZYgG43zFibCSZkpCha/p4l5ClSYj3Toz1LkDo/3VsIwZinX8
5.28 - MBRxFsSGORKodMA5dCIekZOJjJtNYYE3h47a4ZpmyLH7ARysd6Tk1jfkXxnExjND2HxyMtvOhuKWao9x
5.29 - gLaoij3RmtWBL+Z2EkeyL1ZhmrIDSVJvSynWOlwT20hN9D26iKrVCQP/Lpgq+mEVPwi75Wb4Zq8gaHsZ
5.30 - 0YeuEVFWjt8mJVMjRuCV8DWRu+w5+mw5hxq9Kas1ovDqYLZUapFXOY28S3FMCh3NuEANdL27MEwcweGu
5.31 - Xfku+DOmLx0oC8iVeltI3zvFDMAp5nNG+3ZnpG83DIPFcVH2xCKhPx5rTzBj/U1Gr61HJ/c50/a9IvXi
5.32 - P9lwqZEZqROwWfElPhVzSLu/gqx7YWTUzCHxujvRF5cyd8c8jEIHMyZYja8Xq6Pj2R25ytpE9Mc5Xhsx
5.33 - +SKp1xRpmWN0f9yWD2N8YG9GBfbCSKGBWaJAjCn6Icfo4n+GdtG3aff9EzS2vMR83x+E/tLE3HR9jp37
5.34 - Hh/VRMYG9MJYqc2klSMYrxjMN/49cYoeilG0yKfUwFC4rOevIeKfMWvZUFwShAAL4UCvyZLPVLEp/DP0
5.35 - mBI1UAwYgHnSIKzSBmAWGcGIgIO0cT+OFHwdKfEBHbOaGFH8D2y27yM+bwLPH62joW4N16rTKTq4gJzi
5.36 - OZQdDqH6ogpV6igsUz/HIlUL42VDGBuujUnYEHzTx4g6o42Y/EpJ3UgyGefzV2JzTZiRrIdFkg7TVo3A
5.37 - LuNLJvjl08+1FGl2BZLfBaSYu0jChV55LzHKDKXsiAWvHoTw6v48muvm8vz2bJ78zZ0X15fw8EosAfFa
5.38 - 2K4Zhu3akZinGTApXp9p8QYoNptjJSbdc5LkJrXrLnX+zPYjVLusCNlizfTMsczYMI6Z6Q6McC6gg+VW
5.39 - JLs9SO4nkIKu0Sa+nvZZT3FQGVFXZcXLu068rDGn+YYxzVfH0XzZiqYqf6rKFzF9xRBmbTFgVu5E7NdN
5.40 - wkb1LQvWW5NR4ihqQnu6fCX1l8SnrbBiV+T6Caza64nXFnPc882xUCoZPP8HBoXtRjfhCP1jT9Aj5jwd
5.41 - lt1APeUYKfkjeV41meaqb2i+MoqmC3o0nTHg5ZmpPLkYwu5sG+ZuHIlP8bd47LLGeZs9LptsSS31JSnf
5.42 - Ql7/04K7nfTHy8VS9zGSpbFfb4pOLyG+zI0FO+2EXVGMi3VhcsJkrJLHYpZsj2FaLNqrTjFWlczeoi9o
5.43 - +mUsTSeH0nRiCE1HtGg6JCrkTzY0nokkOXE0fsUmBB9xZNFBVxaUzieixJP8UxE4RmmhNlHyEQI+arkN
5.44 - iU9n4cLJzJJZbD+rQFHuQsBuOwJ2WRBWaoaibArKUlOiiowJ2mZGUKEDR8v1qDpsTM2Br2n8cTDPivvx
5.45 - pGQkdYfdOHd4qfg7nkDUUQdiznoR9fNiog4tIve0ktxDPi23o487ST1auOUbkfi06TFOmjfaQ40T1Wnk
5.46 - n1OQcsqT9PPerLvqRe51D36onk/htXlsr5rHDxdcyKywZnW5JduOz2HPcS9+/EkUouNhbNgrLC60QbF3
5.47 - GimXfEi7Gk7S+Qg2nV/G8RuZmC8ZIM9eITg/buFuvaOLQKee30r5M5UjOX93HcVVMeT+LZDC2mD21AdT
5.48 - 0RDCscYwfnkawelHERy4vYj8ShdWH7IjqdQCZZEpCoGlJRasODqdNZcWsP5WBFnVCvKuxvFz7ToCV01C
5.49 - 3UTaJbi6vncnfOPCR+KBurqxVBYlduqV+hzKb4gr2M1AykWFO/EomnMvlFS9jKP6t3huCFx+tpRfHoRz
5.50 - 9Ncg9gtBpbf8Kb4dwE4hurA2nG03Iyi5EUdlXQ5rS7xk8sPte0iD5I3/JwFyQLalYz9JR1hUHr3enprG
5.51 - An6uSeTgrUCOCRcqH0dz9UUsN39LoPb3RO78kUStwC3RrmqO49wzJcceRlP+ayilN4M5ens51Q/yUe3w
5.52 - Qv7L/6uBZCs4PvnTrVh2oDUoH40OfSQdUaD2O0TpcaUmn5sNm6msVXLqTgBn65dw6WEYVU8iufYkmmtP
5.53 - o7n8OIrKB6Gcqgvip5oATt5WcP3eRm7cK8Y7xVRe84PizFuK3O1bef7kwL+LEJ01xcbM6W//sdjRTtxp
5.54 - KKPhaSk372dx+W4c54XNlbV+nK1ZSGVNEBfvKqm+t5b6xyXUNZaTnOfF4OkdUBsvFYpcAz5E/t4mfO8l
5.55 - 9fXJaCvQrW0HyUAIKZItnBHzDWuLg/m5ait37h/g781nW3Cv8QinRGzLPgVzl00Qt532iDGlHTUlc5FD
5.56 - rXXH/zvHfxXwzuloJ2/ONp9Iul11pEi1CVJFLzPprrjNvHjzVizfbF6K2K9i2Y531ZViP+4sjRFjesuz
5.57 - lovNh4jf5v9vD997jRYbVC5YAn0FBgt8ITBcQEfgyzcxDfHdRZ7x/yJuzf0vc27lpI33P0QAAAAASUVO
5.58 - RK5CYII=
5.59 + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAC45JREFUWEd9
5.60 + lgdYVUcaho8l+Ohq1FWwETR2TSJIiRpsQEQEgiDVRkeqgoj0cvEiICASuYgKdhGJ2BAJKmKLLUaxoy4W
5.61 + 0ICiWFcwbrLvzsGymrB7nue9d+7cmf/75p9yRuJ1yH+B/0kfG0ld4CEoFjQK6GunRl97NeSy4HfBfkGw
5.62 + QKulGO/5QPOjHy01FsGGCzK17NowYHpHBjh3QS+gP45KM2xijZpxEuVRcwczYHYXBszoJIx9IhtaJ/i6
5.63 + pZgfan70488NRYAkWXiIWxeMQ3RYmO1N7p4Mth/aRP6BXPL3v0WUC8s3sqZ4OcEqd3Tm9GGwaxf62Tcb
5.64 + WSro/FHsDzTfF/79238NiA5afayllUOcO2EUOoLU/Gi2la//WLQFtrz93vhjNnMzZqLvq8kwYV7E2vBh
5.65 + NvQ92n1sQBZvrnwj/pUsPsKrK25LvmPTjytYv1fFuuLMj9n7J/7yv4r1JarmGCO8uvGZbWvZiOU7A+9M
5.66 + NH/83rTgvYHeU6VVej7qeKVZs2pXKqptiW8oTHrD9iSydrSAqH/fRrTPfNsve2cKXqnW6PtpoDmtlTwl
5.67 + n39kQB79y2eBzRXC4XIdz66YhX5J6pYokjaEvWFTGMmbw1lZsIg9u1Qc2LOSwp1LUW2NIyU/gpQtb1iS
5.68 + F96M3DZpYxiJoq/Mkk2RmIfqoC8GJg/wnQFZW/pXU7B0v9ZXFrccNqsDhvN64p/uSES2TzORq3yIzvHj
5.69 + eGEWz0u287RwLc+25fCiaAMvDmzjzLZ00tfNI3adLzFrBWt8icr1IWq16L/Sh/AsGW98U20Z5aeOttun
5.70 + sgl/2cDrxmBJanweKFVccZVTXzpxfm8MvLrjl+qAT6q9MOLA3O8dUap8qE+P40GcD/cX2lEfacejODse
5.71 + p7jwSGlHTpojqqKFhOc6Mz/LiSDBvEwnApY54pvmIMQd8UmxQ9+jOyYhfd5NRZt/Pg2UpIZ6f6m3lWQ0
5.72 + wrUTE+f3Eo00cE6YgmviFNxTLfBMsyQrxYP6Rb48CDLnYagpj2NNeZZkypNlltRmOxGYZkV5pZIj1zJZ
5.73 + XRpO3EZ3woSZmHVzyNwRR95BFc7x5hi492BsgAajvLshNF3r6/wkqabaWx59oVmYJqN8uqLj2h372PHM
5.74 + UE5kdrIRLikmHFjixUPFbOqDxvEkxpAXKYY0qgx5st6MEzkWhOaasuuyFdsv2FB8MYD9lxdz4OJyyi6s
5.75 + ofhMNvOWz8Q2fLyIrY6+Z2csIvvK03Dy5k0vSd52alpii9gp+qPn8SnDZv6NqVEG2MaPwil5DI6JY6hS
5.76 + uvMwwpLHYiG9SNahMUuHpvW6PNrxLdmZE0jfa8y+Kkt+uKTDhjM6ZB/VI/OAMbnlXuSdzsBRMQWLBfoM
5.77 + FaektsvfsI7+nAGOn9D7O6mbnH5DPc9PsYnui657RwbOUMM0dChTFdrYJY3ESzmeu5H2VC6y4mrubKq2
5.78 + TKN2mxGPi8ZQV27CnAQ9dlc6cPCuDbtujGTLhcHknvqCnKMmbD4xj7S90UwJ1sN43hAGOrXjq9kdsAzX
5.79 + ZFyA2BFW0kxJuAgwXdBTuNJC16MTw1zbMzpIHcv4YVgnDUeRaEFCpCMhSgdcIybiHTOZmMTZFG7z4/Ax
5.80 + O9wzDDn+IJhDdY4U3/6GgqsD2XB2KJtOTWbruQg8ltljHDxEnIo9GDyrPV+4dBRbsg9WkVpyBlKlXpZS
5.81 + gnWUFrYxWuh7dxanVkcMgjpjquiLVdJA7JaYEZC7lNDtpcQdvk50aRmBG5VMjR6Jb/LXxOy259jzJRxu
5.82 + 8KO0xojCa4PYXDGY/Ipp5F9OZFLEaMaFaKLj15nhYguOcO/Cd2GfMX3RANlAntTLQvreKb4/TvGfMzqg
5.83 + G7oBXTEME9tF2QOL5H54rz7JjLW3GL26Du28F0zb/5pll/7NussNzFg2AZulX+Jf7kzGg6Xk3I8kq9qZ
5.84 + lBtexF1ahMsOT4wiBjEmTJ2vF2ig7dMN+ZS1ie6Ha9IQxOB3Sj2nSIsd4/rhsWQ440N6MSqkJ0YKTcxS
5.85 + BPGm6Icfp3PQWdTi7qD2/VM0N7/CfP8fRPzSiEumPsfPf4+/aiJjg3tirBzCpOUjGa8YxDdBPXCKG4ZR
5.86 + nIin1MRQZFkvSFPUf8asxcNwSxYGLEQGek6W/KeKRRGUpceU2AGiQ3/MUwdildEfs5hoRgYforXXCaSw
5.87 + G0gpD+mQ08jIon9hs30/SfkTePF4DfW1q7helcnOQ3NZX+RM6ZFwqi6pUC0bheWyz7FYNhjjxUMZGzUE
5.88 + k8ihBGSOEefMEMTgl0saRpLJOP+/k5Bnwow0PSxStZm2YiR2WV8yIbCAvu4lSLPLkQIvIsXfQxJZ6Jn/
5.89 + CqPsCEqPWvD6YTivH3jSVOvCizuzefoPL17eWMijqwkEJw3GdtVwbFfrYp5hwKQkfaYlGaDYZI6VGHSP
5.90 + SZKHpNZN6vSZbStUu60I32zN9OyxzFg3jpmZDox03UZ7yy1IdnuRvE4ihV6ndVId7XKe4aAyorbSilf3
5.91 + nHhVbU7TTWOaro2j6YoVjZVBVJbNZ/rSoczabMCsvInYr5mEjepb5q61JqvYUZwJ7ej8ldRPEk8bkYrd
5.92 + MWsnsGKfD76bzfEqMMdCqWTQnB8YGLkHneSj9Es4Sff4C7RffBON9OOkF+jyonIyTZXf0HR1FI0X9Wg8
5.93 + a8Crs1N5eimcPbk2uGzQxb/oW7x3W+O61R63jbYsKwkgtcBCnv8zQltN+uPVAqnbGMnSOLAXO88sJKnU
5.94 + g7m77ES6YhmX4Mbk5MlYpY3FLM0ew4wEhqw4zVhVGvt2fkHjL2NpPDWMxpNDaTw6mMbD4oT8yYaGszGk
5.95 + pYwmsMiEsKOOzD/kztySOUQX+1BwOhrH2MGoT5T8hYFWb97JktRJZOFUdvEstp9ToChzI3iPHcG7LYgs
5.96 + MUNROgVliSmxO40J3WpGaKEDx8r0qDxiTPXBr2n4cRDPi/rytFiX2iMenD+ySLyOJxB7zIH4c77E/ryA
5.97 + 2MPzyTujJO+wf/PtqG1HqXuzdvOtRJJadx8neY72VudkVQYF5xWkn/Yh84Ifa675knfDmx+q5lB43ZPt
5.98 + lZ78cNGN7HJrVpZZsvWEM3tP+PLjT+IgOhHJun0ixYU2KPZNI/2yPxnXoki9EM3GC4s5cTMb84X95dEr
5.99 + hGbb91eytyY69vhWKpip1OXCvTUUVcaT948QCmvC2FsXRnl9OMcbIvnlWTRnHkdz8M58CircWHnYjtQS
5.100 + C5Q7TVEIFhVbsPTYdFZdnsva29HkVCnIv5bIzzVrCFkxCQ0TabfQ6vL+SvaBgVYCDQ1jqTRWrNSrdesp
5.101 + uymuYLdCKBMn3MnHcZx/qaTyVSJVvyVxU3Dl+SJ+eRjFsV9DOSAMldwOouhOMLuE6cKaKLbeiqb4ZiIV
5.102 + tetZXewrix9p110aKHTa/MWAXCGeth36StoiRWVxa+2pbtjGz9UpHLodwnGRhYoncVx7mcCt35Kp+T2F
5.103 + u3+kUiO4LcqVTYmcf67k+KM4yn6NoORWGMfuLKHqYQGqHb7Ir/y/G0i2QuMTWatFA29NqLXvLWmLA+qA
5.104 + Q6weV6sLuFW/iYoaJafvBnOubiGXH0VS+TSG60/juP4sjitPYql4GMHp2lB+qg7m1B0FN+5v4Ob9IvzS
5.105 + TeU5PyT2vKWI3e6dzl8M/NmEQEsszPX97NuKFe3E3fpS6p+VcOtBDlfuJXJBpLmiJpBz1fOoqA7l0j0l
5.106 + VfdXU/ekmNqGMtLyfRk0vT3q46VCEat/S+J/MfAh4mkj6NqmvWQgjOyUUzgj/htWF4Xxc+UW7j44yD+b
5.107 + zjVzv+Eop0Xd5v0KXBZPELeddog+JR20JHMRQ13QvOJbosXKDxGPnA2N1p9IOl20pRj1CVJ5TzPpnrjN
5.108 + vBTXOfl2K99sXom6X8W0neiiIyW07SSNEX16CeR0tmop7jtarGwJ8bQVdBL0EQwSfCEYIdAWfPm2TlPQ
5.109 + WSC3/b/CbwiR/gNzbuWksIMBOAAAAABJRU5ErkJggg==
5.110 </value>
5.111 </data>
5.112 + <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
5.113 + <value>315, 17</value>
5.114 + </metadata>
5.115 <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
5.116 <value>405, 17</value>
5.117 </metadata>
6.1 --- a/Server/Properties/Settings.Designer.cs Sat Sep 26 16:35:27 2015 +0200
6.2 +++ b/Server/Properties/Settings.Designer.cs Sat Sep 26 17:55:51 2015 +0200
6.3 @@ -117,5 +117,53 @@
6.4 this["OpticalDriveToEject"] = value;
6.5 }
6.6 }
6.7 +
6.8 + [global::System.Configuration.UserScopedSettingAttribute()]
6.9 + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
6.10 + [global::System.Configuration.DefaultSettingValueAttribute("False")]
6.11 + public bool CecEnabled {
6.12 + get {
6.13 + return ((bool)(this["CecEnabled"]));
6.14 + }
6.15 + set {
6.16 + this["CecEnabled"] = value;
6.17 + }
6.18 + }
6.19 +
6.20 + [global::System.Configuration.UserScopedSettingAttribute()]
6.21 + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
6.22 + [global::System.Configuration.DefaultSettingValueAttribute("1")]
6.23 + public byte CecHdmiPort {
6.24 + get {
6.25 + return ((byte)(this["CecHdmiPort"]));
6.26 + }
6.27 + set {
6.28 + this["CecHdmiPort"] = value;
6.29 + }
6.30 + }
6.31 +
6.32 + [global::System.Configuration.UserScopedSettingAttribute()]
6.33 + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
6.34 + [global::System.Configuration.DefaultSettingValueAttribute("True")]
6.35 + public bool CecMonitorOn {
6.36 + get {
6.37 + return ((bool)(this["CecMonitorOn"]));
6.38 + }
6.39 + set {
6.40 + this["CecMonitorOn"] = value;
6.41 + }
6.42 + }
6.43 +
6.44 + [global::System.Configuration.UserScopedSettingAttribute()]
6.45 + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
6.46 + [global::System.Configuration.DefaultSettingValueAttribute("True")]
6.47 + public bool CecMonitorOff {
6.48 + get {
6.49 + return ((bool)(this["CecMonitorOff"]));
6.50 + }
6.51 + set {
6.52 + this["CecMonitorOff"] = value;
6.53 + }
6.54 + }
6.55 }
6.56 }
7.1 --- a/Server/Properties/Settings.settings Sat Sep 26 16:35:27 2015 +0200
7.2 +++ b/Server/Properties/Settings.settings Sat Sep 26 17:55:51 2015 +0200
7.3 @@ -26,5 +26,17 @@
7.4 <Setting Name="OpticalDriveToEject" Type="System.String" Scope="User">
7.5 <Value Profile="(Default)">None</Value>
7.6 </Setting>
7.7 + <Setting Name="CecEnabled" Type="System.Boolean" Scope="User">
7.8 + <Value Profile="(Default)">False</Value>
7.9 + </Setting>
7.10 + <Setting Name="CecHdmiPort" Type="System.Byte" Scope="User">
7.11 + <Value Profile="(Default)">1</Value>
7.12 + </Setting>
7.13 + <Setting Name="CecMonitorOn" Type="System.Boolean" Scope="User">
7.14 + <Value Profile="(Default)">True</Value>
7.15 + </Setting>
7.16 + <Setting Name="CecMonitorOff" Type="System.Boolean" Scope="User">
7.17 + <Value Profile="(Default)">True</Value>
7.18 + </Setting>
7.19 </Settings>
7.20 </SettingsFile>
7.21 \ No newline at end of file