# HG changeset patch
# User StephaneLenclud
# Date 1443282951 -7200
# Node ID 2568261f74fb0a6e59a14101f14b10d7e8812bb2
# Parent  d2295c186ce16e285f910bdd499f718433b00bad
Adding CEC settings tab.

diff -r d2295c186ce1 -r 2568261f74fb Server/App.config
--- a/Server/App.config	Sat Sep 26 16:35:27 2015 +0200
+++ b/Server/App.config	Sat Sep 26 17:55:51 2015 +0200
@@ -31,6 +31,18 @@
             <setting name="OpticalDriveToEject" serializeAs="String">
                 <value>None</value>
             </setting>
+            <setting name="CecEnabled" serializeAs="String">
+                <value>False</value>
+            </setting>
+            <setting name="CecHdmiPort" serializeAs="String">
+                <value>1</value>
+            </setting>
+            <setting name="CecMonitorOn" serializeAs="String">
+                <value>True</value>
+            </setting>
+            <setting name="CecMonitorOff" serializeAs="String">
+                <value>True</value>
+            </setting>
         </SharpDisplayManager.Properties.Settings>
     </userSettings>
 </configuration>
diff -r d2295c186ce1 -r 2568261f74fb Server/ConsumerElectronicControl.cs
--- a/Server/ConsumerElectronicControl.cs	Sat Sep 26 16:35:27 2015 +0200
+++ b/Server/ConsumerElectronicControl.cs	Sat Sep 26 17:55:51 2015 +0200
@@ -22,12 +22,22 @@
         /// <param name="aWndHandle"></param>
         /// <param name="aDeviceName"></param>
         /// <param name="aHdmiPort"></param>
-        public void Start(IntPtr aWndHandle, string aDeviceName, byte aHdmiPort)
+        public void Start(IntPtr aWndHandle, string aDeviceName, byte aHdmiPort, bool aMonitorOn, bool aMonitorOff)
         {
             //Create our power setting notifier and register the event we are insterrested in
             iPowerSettingNotifier = new PowerManager.SettingNotifier(aWndHandle);
-            iPowerSettingNotifier.OnMonitorPowerOn += OnMonitorPowerOn;
-            iPowerSettingNotifier.OnMonitorPowerOff += OnMonitorPowerOff;
+
+            //
+            if (aMonitorOn)
+            {
+                iPowerSettingNotifier.OnMonitorPowerOn += OnMonitorPowerOn;
+            }
+
+            //
+            if (aMonitorOff)
+            {
+                iPowerSettingNotifier.OnMonitorPowerOff += OnMonitorPowerOff;
+            }
 
             //CEC
             iCecClient = new Cec.Client(aDeviceName,aHdmiPort);
@@ -41,13 +51,19 @@
         public void Stop()
         {
             //
-            iPowerSettingNotifier.OnMonitorPowerOn -= OnMonitorPowerOn;
-            iPowerSettingNotifier.OnMonitorPowerOff -= OnMonitorPowerOff;
-            iPowerSettingNotifier = null;
+            if (iPowerSettingNotifier != null)
+            {
+                iPowerSettingNotifier.OnMonitorPowerOn -= OnMonitorPowerOn;
+                iPowerSettingNotifier.OnMonitorPowerOff -= OnMonitorPowerOff;
+                iPowerSettingNotifier = null;
+            }
             //
-            iCecClient.Close();
-            iCecClient.Dispose();
-            iCecClient = null;
+            if (iCecClient != null)
+            {
+                iCecClient.Close();
+                iCecClient.Dispose();
+                iCecClient = null;
+            }
         }
 
 
diff -r d2295c186ce1 -r 2568261f74fb Server/MainForm.Designer.cs
--- a/Server/MainForm.Designer.cs	Sat Sep 26 16:35:27 2015 +0200
+++ b/Server/MainForm.Designer.cs	Sat Sep 26 17:55:51 2015 +0200
@@ -96,6 +96,12 @@
             this.pictureBoxGreenStart = new System.Windows.Forms.PictureBox();
             this.labelStartFileName = new System.Windows.Forms.Label();
             this.buttonSelectFile = new System.Windows.Forms.Button();
+            this.tabPageCec = new System.Windows.Forms.TabPage();
+            this.checkBoxCecMonitorOn = new System.Windows.Forms.CheckBox();
+            this.checkBoxCecMonitorOff = new System.Windows.Forms.CheckBox();
+            this.checkBoxCecEnabled = new System.Windows.Forms.CheckBox();
+            this.labelHdmiPort = new System.Windows.Forms.Label();
+            this.comboBoxHdmiPort = new System.Windows.Forms.ComboBox();
             this.tabPageApp = new System.Windows.Forms.TabPage();
             this.checkBoxStartMinimized = new System.Windows.Forms.CheckBox();
             this.checkBoxMinimizeToTray = new System.Windows.Forms.CheckBox();
@@ -105,7 +111,6 @@
             this.labelFontHeight = new System.Windows.Forms.Label();
             this.toolTip = new System.Windows.Forms.ToolTip(this.components);
             this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
-            this.pictureBoxDemo = new System.Windows.Forms.PictureBox();
             this.panelDisplay.SuspendLayout();
             this.tableLayoutPanel.SuspendLayout();
             this.statusStrip.SuspendLayout();
@@ -118,8 +123,8 @@
             ((System.ComponentModel.ISupportInitialize)(this.trackBarMasterVolume)).BeginInit();
             this.tabPageInput.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGreenStart)).BeginInit();
+            this.tabPageCec.SuspendLayout();
             this.tabPageApp.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).BeginInit();
             this.SuspendLayout();
             // 
             // panelDisplay
@@ -521,6 +526,7 @@
             this.tabControl.Controls.Add(this.tabPageDesign);
             this.tabControl.Controls.Add(this.tabPageAudio);
             this.tabControl.Controls.Add(this.tabPageInput);
+            this.tabControl.Controls.Add(this.tabPageCec);
             this.tabControl.Controls.Add(this.tabPageApp);
             this.tabControl.Location = new System.Drawing.Point(12, 139);
             this.tabControl.Name = "tabControl";
@@ -766,6 +772,86 @@
             this.buttonSelectFile.UseVisualStyleBackColor = true;
             this.buttonSelectFile.Click += new System.EventHandler(this.buttonSelectFile_Click);
             // 
+            // tabPageCec
+            // 
+            this.tabPageCec.Controls.Add(this.checkBoxCecMonitorOn);
+            this.tabPageCec.Controls.Add(this.checkBoxCecMonitorOff);
+            this.tabPageCec.Controls.Add(this.checkBoxCecEnabled);
+            this.tabPageCec.Controls.Add(this.labelHdmiPort);
+            this.tabPageCec.Controls.Add(this.comboBoxHdmiPort);
+            this.tabPageCec.Location = new System.Drawing.Point(4, 22);
+            this.tabPageCec.Name = "tabPageCec";
+            this.tabPageCec.Padding = new System.Windows.Forms.Padding(3);
+            this.tabPageCec.Size = new System.Drawing.Size(592, 242);
+            this.tabPageCec.TabIndex = 7;
+            this.tabPageCec.Text = "CEC";
+            this.tabPageCec.UseVisualStyleBackColor = true;
+            // 
+            // checkBoxCecMonitorOn
+            // 
+            this.checkBoxCecMonitorOn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+            this.checkBoxCecMonitorOn.AutoSize = true;
+            this.checkBoxCecMonitorOn.Location = new System.Drawing.Point(6, 92);
+            this.checkBoxCecMonitorOn.Name = "checkBoxCecMonitorOn";
+            this.checkBoxCecMonitorOn.Size = new System.Drawing.Size(192, 17);
+            this.checkBoxCecMonitorOn.TabIndex = 23;
+            this.checkBoxCecMonitorOn.Text = "Wake up TV when screen turns on";
+            this.checkBoxCecMonitorOn.UseVisualStyleBackColor = true;
+            this.checkBoxCecMonitorOn.CheckedChanged += new System.EventHandler(this.checkBoxCecMonitorOn_CheckedChanged);
+            // 
+            // checkBoxCecMonitorOff
+            // 
+            this.checkBoxCecMonitorOff.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+            this.checkBoxCecMonitorOff.AutoSize = true;
+            this.checkBoxCecMonitorOff.Location = new System.Drawing.Point(6, 69);
+            this.checkBoxCecMonitorOff.Name = "checkBoxCecMonitorOff";
+            this.checkBoxCecMonitorOff.Size = new System.Drawing.Size(219, 17);
+            this.checkBoxCecMonitorOff.TabIndex = 22;
+            this.checkBoxCecMonitorOff.Text = "Set TV on standby when screen turns off";
+            this.checkBoxCecMonitorOff.UseVisualStyleBackColor = true;
+            this.checkBoxCecMonitorOff.CheckedChanged += new System.EventHandler(this.checkBoxCecMonitorOff_CheckedChanged);
+            // 
+            // checkBoxCecEnabled
+            // 
+            this.checkBoxCecEnabled.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+            this.checkBoxCecEnabled.AutoSize = true;
+            this.checkBoxCecEnabled.Location = new System.Drawing.Point(6, 6);
+            this.checkBoxCecEnabled.Name = "checkBoxCecEnabled";
+            this.checkBoxCecEnabled.Size = new System.Drawing.Size(83, 17);
+            this.checkBoxCecEnabled.TabIndex = 21;
+            this.checkBoxCecEnabled.Text = "Enable CEC";
+            this.checkBoxCecEnabled.UseVisualStyleBackColor = true;
+            this.checkBoxCecEnabled.CheckedChanged += new System.EventHandler(this.checkBoxCecEnabled_CheckedChanged);
+            // 
+            // labelHdmiPort
+            // 
+            this.labelHdmiPort.AutoSize = true;
+            this.labelHdmiPort.Location = new System.Drawing.Point(3, 26);
+            this.labelHdmiPort.Name = "labelHdmiPort";
+            this.labelHdmiPort.Size = new System.Drawing.Size(182, 13);
+            this.labelHdmiPort.TabIndex = 20;
+            this.labelHdmiPort.Text = "TV HDMI port connected to your PC:";
+            // 
+            // comboBoxHdmiPort
+            // 
+            this.comboBoxHdmiPort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.comboBoxHdmiPort.FormattingEnabled = true;
+            this.comboBoxHdmiPort.Items.AddRange(new object[] {
+            "HDMI 1",
+            "HDMI 2",
+            "HDMI 3",
+            "HDMI 4",
+            "HDMI 5",
+            "HDMI 6",
+            "HDMI 7",
+            "HDMI 8",
+            "HDMI 9"});
+            this.comboBoxHdmiPort.Location = new System.Drawing.Point(6, 42);
+            this.comboBoxHdmiPort.Name = "comboBoxHdmiPort";
+            this.comboBoxHdmiPort.Size = new System.Drawing.Size(87, 21);
+            this.comboBoxHdmiPort.TabIndex = 19;
+            this.comboBoxHdmiPort.SelectedIndexChanged += new System.EventHandler(this.comboBoxHdmiPort_SelectedIndexChanged);
+            // 
             // tabPageApp
             // 
             this.tabPageApp.Controls.Add(this.checkBoxStartMinimized);
@@ -848,20 +934,11 @@
             // 
             this.openFileDialog.Filter = "EXE files (*.exe)|*.exe|All files (*.*)|*.*";
             // 
-            // pictureBoxDemo
-            // 
-            this.pictureBoxDemo.Location = new System.Drawing.Point(478, 54);
-            this.pictureBoxDemo.Name = "pictureBoxDemo";
-            this.pictureBoxDemo.Size = new System.Drawing.Size(100, 50);
-            this.pictureBoxDemo.TabIndex = 21;
-            this.pictureBoxDemo.TabStop = false;
-            // 
             // MainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(624, 442);
-            this.Controls.Add(this.pictureBoxDemo);
             this.Controls.Add(this.labelFontHeight);
             this.Controls.Add(this.labelFontWidth);
             this.Controls.Add(this.labelWarning);
@@ -894,9 +971,10 @@
             this.tabPageInput.ResumeLayout(false);
             this.tabPageInput.PerformLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGreenStart)).EndInit();
+            this.tabPageCec.ResumeLayout(false);
+            this.tabPageCec.PerformLayout();
             this.tabPageApp.ResumeLayout(false);
             this.tabPageApp.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -945,7 +1023,6 @@
         private System.Windows.Forms.Label labelFontWidth;
         private System.Windows.Forms.Label labelFontHeight;
         private System.Windows.Forms.CheckBox checkBoxInverseColors;
-        private System.Windows.Forms.PictureBox pictureBoxDemo;
         private System.Windows.Forms.TabPage tabPageApp;
         private System.Windows.Forms.Button buttonUpdate;
 		private System.Windows.Forms.CheckBox checkBoxAutoStart;
@@ -971,6 +1048,12 @@
 		private System.Windows.Forms.PictureBox pictureBoxGreenStart;
         private System.Windows.Forms.ComboBox comboBoxOpticalDrives;
         private System.Windows.Forms.Label labelOpticalDriveEject;
+        private System.Windows.Forms.TabPage tabPageCec;
+        private System.Windows.Forms.CheckBox checkBoxCecEnabled;
+        private System.Windows.Forms.Label labelHdmiPort;
+        private System.Windows.Forms.ComboBox comboBoxHdmiPort;
+        private System.Windows.Forms.CheckBox checkBoxCecMonitorOn;
+        private System.Windows.Forms.CheckBox checkBoxCecMonitorOff;
     }
 }
 
diff -r d2295c186ce1 -r 2568261f74fb Server/MainForm.cs
--- a/Server/MainForm.cs	Sat Sep 26 16:35:27 2015 +0200
+++ b/Server/MainForm.cs	Sat Sep 26 17:55:51 2015 +0200
@@ -187,7 +187,8 @@
             //CEC
             iCecManager = new ConsumerElectronicControl();
             OnWndProc += iCecManager.OnWndProc;
-            iCecManager.Start(Handle,"CEC", 2);
+            ResetCec();
+
 
             //Setup notification icon
             SetupTrayIcon();
@@ -1095,8 +1096,13 @@
                 comboBoxOpticalDrives.SelectedIndex = 0;
             }
 
+            //CEC settings
+            checkBoxCecEnabled.Checked = Properties.Settings.Default.CecEnabled;
+            checkBoxCecMonitorOn.Checked = Properties.Settings.Default.CecMonitorOn;
+            checkBoxCecMonitorOff.Checked = Properties.Settings.Default.CecMonitorOff;
+            comboBoxHdmiPort.SelectedIndex = Properties.Settings.Default.CecHdmiPort - 1;
 
-
+            //Mini Display settings
             checkBoxReverseScreen.Checked = cds.ReverseScreen;
             checkBoxInverseColors.Checked = cds.InverseColors;
 			checkBoxShowVolumeLabel.Checked = cds.ShowVolumeLabel;
@@ -2218,5 +2224,62 @@
             
             base.WndProc(ref aMessage);
         }
+
+        private void checkBoxCecEnabled_CheckedChanged(object sender, EventArgs e)
+        {
+            //Save CEC enabled status
+            Properties.Settings.Default.CecEnabled = checkBoxCecEnabled.Checked;
+            Properties.Settings.Default.Save();
+            //
+            ResetCec();
+        }
+
+        private void comboBoxHdmiPort_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            //Save CEC HDMI port
+            Properties.Settings.Default.CecHdmiPort = Convert.ToByte(comboBoxHdmiPort.SelectedIndex);
+            Properties.Settings.Default.CecHdmiPort++;
+            Properties.Settings.Default.Save();
+            //
+            ResetCec();
+        }
+
+        private void checkBoxCecMonitorOff_CheckedChanged(object sender, EventArgs e)
+        {
+            Properties.Settings.Default.CecMonitorOff = checkBoxCecMonitorOff.Checked;
+            Properties.Settings.Default.Save();
+            //
+            ResetCec();
+        }
+
+        private void checkBoxCecMonitorOn_CheckedChanged(object sender, EventArgs e)
+        {
+            Properties.Settings.Default.CecMonitorOn = checkBoxCecMonitorOn.Checked;
+            Properties.Settings.Default.Save();
+            //
+            ResetCec();
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        private void ResetCec()
+        {
+            if (iCecManager==null)
+            {
+                //Thus skipping initial UI setup
+                return;
+            }
+
+            iCecManager.Stop();
+            //
+            if (Properties.Settings.Default.CecEnabled)
+            {
+                iCecManager.Start(Handle, "CEC",
+                Properties.Settings.Default.CecHdmiPort,
+                Properties.Settings.Default.CecMonitorOn,
+                Properties.Settings.Default.CecMonitorOff);
+            }
+        }
     }
 }
diff -r d2295c186ce1 -r 2568261f74fb Server/MainForm.resx
--- a/Server/MainForm.resx	Sat Sep 26 16:35:27 2015 +0200
+++ b/Server/MainForm.resx	Sat Sep 26 17:55:51 2015 +0200
@@ -132,60 +132,62 @@
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="pictureBoxGreenStart.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAujSURBVFhHjZcJWM7ZHsf/wwwPl8GlbE2MpTAzimow2aqRVJPSam+RVkrSvrx5U6lUozehkCVp
-        ikiakGxjG0P2cLMUU0TWq4w7cz/3/CMPd9zlfZ7v85739z/n9/2e7znn956/xKtA6S1A4j+gr42kJuAm
-        UCLQJEA/u3b0s2+H3Bb4XWCfQICA5n/K0xJ/h/O9Hx8aJJINE0jXtGvLwOmdGDinK3q+A3BUmmETZdQC
-        J9EetUCLgbO7MnBGZyHsE1nQBoGvPyjk/xUgEsTLxNouXTEO1GVJpgfZu9PYfnAzefuzydv3BqJdWLGJ
-        dSUrCVC5oju/L1rOXelv3yJkhUCX94R8SMA/fxNL8cZ+2cK+1tJq7TmdMQoaTlJeBAUVOe+TtpK/8731
-        TXvTj5ksSJuJvpcGQ4V4kWvju27ou7V/63xLQyZvCQoBouNXMvlw9264LP+OzT+uImePig0l6e9jj/j9
-        Lv70XEVOqaolx3D37nxm20YWYilzyFytIloE/N68+K2APlOlNXqeargnW7NmZxKqgrjXKIx/je3xZOz4
-        AET8bR/RP/3NuMyiRNyTrNH3Vkdj2kfyknz+ngB59i+e+rUIEApX6s7rhlnQlyRtDSd+Y/BrbA4mYUsI
-        q/OXsnuniv27V1NYtALVtmgS80JJ3Poay3NDWiD3jd8UTJwYK2P55jDMg3TRFxOTJ9gqQOaW/tEcIN2r
-        85LJLYfO6ojhwl74pDgSmunZgrA1nkRkeXOsMINnpdt5UriepwVZPC/eyPP9BZwuSCFlw0KiNngRuV5g
-        nRfh2Z6ErxXjV3sSkiHDA68kW0Z5q6Hj8qkswkcW8aopQJKanvlJlZedJREsm7ioDwbuPfBOcsAzyV4I
-        cWDB944oVZ40pERzP9qTe0vsaAiz42G0HY8S5/JQaUdWsiOq4iWEZM9hUYYT/gIL053wTXXEK9lBkDvi
-        mWiHvlsPTAL7ti5F278/8ZOkxgYfqY+VZDTcuTMTF/UWndSZEzsF57gpuCZZMC/ZkoxENxqWenHf35wH
-        QaY8ijLlabwpj1Mtqct0wi/ZiooqJYevprO2LIToTa4ECzGRG+aTviOa3AMq5sSYY+Dak7G+6ozy6I7g
-        dG6o95ak2hoPefaFZsEajPLshq5zD+yjxjNDOZHZCUbMTTRh/3J3Hihm0+A/jseRhjxPNKRJZcjjHDOO
-        Z1kQlG3KzktWbD9vQ8kFX/ZdWsb+CyspP7+OktOZLFw5E9uQ8SK3GvrzumAR1k9ehhM3brhL8rFrpymO
-        iJ1iAHpunzJ05l+YGm6AbcwonBLG4Bg3hmqlKw9CLXkkNtLzBF2aMnRpzhnJwx3fkpk+gZQ9xuyttuSH
-        i7psPK1L5hE90vcbk13hTu6pNBwVU7BYrM8QUSV15v4F64jPGej4CX2+k7rL9hvqzfsUm4h+jHTtxKAZ
-        7TANGsJUhQ528SNwV47nTpg9VUutuJI9m+qt06grMOJR8RjqK0yYH6vHrioHDtyxYef1EWw9r0X2yS/I
-        OmLCluMLSd4TwZQAPYwXajPIqT1fze6IZYgG43zFibCSZkpCha/p4l5ClSYj3Toz1LkDo/3VsIwZinX8
-        MBRxFsSGORKodMA5dCIekZOJjJtNYYE3h47a4ZpmyLH7ARysd6Tk1jfkXxnExjND2HxyMtvOhuKWao9x
-        gLaoij3RmtWBL+Z2EkeyL1ZhmrIDSVJvSynWOlwT20hN9D26iKrVCQP/Lpgq+mEVPwi75Wb4Zq8gaHsZ
-        0YeuEVFWjt8mJVMjRuCV8DWRu+w5+mw5hxq9Kas1ovDqYLZUapFXOY28S3FMCh3NuEANdL27MEwcweGu
-        Xfku+DOmLx0oC8iVeltI3zvFDMAp5nNG+3ZnpG83DIPFcVH2xCKhPx5rTzBj/U1Gr61HJ/c50/a9IvXi
-        P9lwqZEZqROwWfElPhVzSLu/gqx7YWTUzCHxujvRF5cyd8c8jEIHMyZYja8Xq6Pj2R25ytpE9Mc5Xhsx
-        +SKp1xRpmWN0f9yWD2N8YG9GBfbCSKGBWaJAjCn6Icfo4n+GdtG3aff9EzS2vMR83x+E/tLE3HR9jp37
-        Hh/VRMYG9MJYqc2klSMYrxjMN/49cYoeilG0yKfUwFC4rOevIeKfMWvZUFwShAAL4UCvyZLPVLEp/DP0
-        mBI1UAwYgHnSIKzSBmAWGcGIgIO0cT+OFHwdKfEBHbOaGFH8D2y27yM+bwLPH62joW4N16rTKTq4gJzi
-        OZQdDqH6ogpV6igsUz/HIlUL42VDGBuujUnYEHzTx4g6o42Y/EpJ3UgyGefzV2JzTZiRrIdFkg7TVo3A
-        LuNLJvjl08+1FGl2BZLfBaSYu0jChV55LzHKDKXsiAWvHoTw6v48muvm8vz2bJ78zZ0X15fw8EosAfFa
-        2K4Zhu3akZinGTApXp9p8QYoNptjJSbdc5LkJrXrLnX+zPYjVLusCNlizfTMsczYMI6Z6Q6McC6gg+VW
-        JLs9SO4nkIKu0Sa+nvZZT3FQGVFXZcXLu068rDGn+YYxzVfH0XzZiqYqf6rKFzF9xRBmbTFgVu5E7NdN
-        wkb1LQvWW5NR4ihqQnu6fCX1l8SnrbBiV+T6Caza64nXFnPc882xUCoZPP8HBoXtRjfhCP1jT9Aj5jwd
-        lt1APeUYKfkjeV41meaqb2i+MoqmC3o0nTHg5ZmpPLkYwu5sG+ZuHIlP8bd47LLGeZs9LptsSS31JSnf
-        Ql7/04K7nfTHy8VS9zGSpbFfb4pOLyG+zI0FO+2EXVGMi3VhcsJkrJLHYpZsj2FaLNqrTjFWlczeoi9o
-        +mUsTSeH0nRiCE1HtGg6JCrkTzY0nokkOXE0fsUmBB9xZNFBVxaUzieixJP8UxE4RmmhNlHyEQI+arkN
-        iU9n4cLJzJJZbD+rQFHuQsBuOwJ2WRBWaoaibArKUlOiiowJ2mZGUKEDR8v1qDpsTM2Br2n8cTDPivvx
-        pGQkdYfdOHd4qfg7nkDUUQdiznoR9fNiog4tIve0ktxDPi23o487ST1auOUbkfi06TFOmjfaQ40T1Wnk
-        n1OQcsqT9PPerLvqRe51D36onk/htXlsr5rHDxdcyKywZnW5JduOz2HPcS9+/EkUouNhbNgrLC60QbF3
-        GimXfEi7Gk7S+Qg2nV/G8RuZmC8ZIM9eITg/buFuvaOLQKee30r5M5UjOX93HcVVMeT+LZDC2mD21AdT
-        0RDCscYwfnkawelHERy4vYj8ShdWH7IjqdQCZZEpCoGlJRasODqdNZcWsP5WBFnVCvKuxvFz7ToCV01C
-        3UTaJbi6vncnfOPCR+KBurqxVBYlduqV+hzKb4gr2M1AykWFO/EomnMvlFS9jKP6t3huCFx+tpRfHoRz
-        9Ncg9gtBpbf8Kb4dwE4hurA2nG03Iyi5EUdlXQ5rS7xk8sPte0iD5I3/JwFyQLalYz9JR1hUHr3enprG
-        An6uSeTgrUCOCRcqH0dz9UUsN39LoPb3RO78kUStwC3RrmqO49wzJcceRlP+ayilN4M5ens51Q/yUe3w
-        Qv7L/6uBZCs4PvnTrVh2oDUoH40OfSQdUaD2O0TpcaUmn5sNm6msVXLqTgBn65dw6WEYVU8iufYkmmtP
-        o7n8OIrKB6Gcqgvip5oATt5WcP3eRm7cK8Y7xVRe84PizFuK3O1bef7kwL+LEJ01xcbM6W//sdjRTtxp
-        KKPhaSk372dx+W4c54XNlbV+nK1ZSGVNEBfvKqm+t5b6xyXUNZaTnOfF4OkdUBsvFYpcAz5E/t4mfO8l
-        9fXJaCvQrW0HyUAIKZItnBHzDWuLg/m5ait37h/g781nW3Cv8QinRGzLPgVzl00Qt532iDGlHTUlc5FD
-        rXXH/zvHfxXwzuloJ2/ONp9Iul11pEi1CVJFLzPprrjNvHjzVizfbF6K2K9i2Y531ZViP+4sjRFjesuz
-        lovNh4jf5v9vD997jRYbVC5YAn0FBgt8ITBcQEfgyzcxDfHdRZ7x/yJuzf0vc27lpI33P0QAAAAASUVO
-        RK5CYII=
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAC45JREFUWEd9
+        lgdYVUcaho8l+Ohq1FWwETR2TSJIiRpsQEQEgiDVRkeqgoj0cvEiICASuYgKdhGJ2BAJKmKLLUaxoy4W
+        0ICiWFcwbrLvzsGymrB7nue9d+7cmf/75p9yRuJ1yH+B/0kfG0ld4CEoFjQK6GunRl97NeSy4HfBfkGw
+        QKulGO/5QPOjHy01FsGGCzK17NowYHpHBjh3QS+gP45KM2xijZpxEuVRcwczYHYXBszoJIx9IhtaJ/i6
+        pZgfan70488NRYAkWXiIWxeMQ3RYmO1N7p4Mth/aRP6BXPL3v0WUC8s3sqZ4OcEqd3Tm9GGwaxf62Tcb
+        WSro/FHsDzTfF/79238NiA5afayllUOcO2EUOoLU/Gi2la//WLQFtrz93vhjNnMzZqLvq8kwYV7E2vBh
+        NvQ92n1sQBZvrnwj/pUsPsKrK25LvmPTjytYv1fFuuLMj9n7J/7yv4r1JarmGCO8uvGZbWvZiOU7A+9M
+        NH/83rTgvYHeU6VVej7qeKVZs2pXKqptiW8oTHrD9iSydrSAqH/fRrTPfNsve2cKXqnW6PtpoDmtlTwl
+        n39kQB79y2eBzRXC4XIdz66YhX5J6pYokjaEvWFTGMmbw1lZsIg9u1Qc2LOSwp1LUW2NIyU/gpQtb1iS
+        F96M3DZpYxiJoq/Mkk2RmIfqoC8GJg/wnQFZW/pXU7B0v9ZXFrccNqsDhvN64p/uSES2TzORq3yIzvHj
+        eGEWz0u287RwLc+25fCiaAMvDmzjzLZ00tfNI3adLzFrBWt8icr1IWq16L/Sh/AsGW98U20Z5aeOttun
+        sgl/2cDrxmBJanweKFVccZVTXzpxfm8MvLrjl+qAT6q9MOLA3O8dUap8qE+P40GcD/cX2lEfacejODse
+        p7jwSGlHTpojqqKFhOc6Mz/LiSDBvEwnApY54pvmIMQd8UmxQ9+jOyYhfd5NRZt/Pg2UpIZ6f6m3lWQ0
+        wrUTE+f3Eo00cE6YgmviFNxTLfBMsyQrxYP6Rb48CDLnYagpj2NNeZZkypNlltRmOxGYZkV5pZIj1zJZ
+        XRpO3EZ3woSZmHVzyNwRR95BFc7x5hi492BsgAajvLshNF3r6/wkqabaWx59oVmYJqN8uqLj2h372PHM
+        UE5kdrIRLikmHFjixUPFbOqDxvEkxpAXKYY0qgx5st6MEzkWhOaasuuyFdsv2FB8MYD9lxdz4OJyyi6s
+        ofhMNvOWz8Q2fLyIrY6+Z2csIvvK03Dy5k0vSd52alpii9gp+qPn8SnDZv6NqVEG2MaPwil5DI6JY6hS
+        uvMwwpLHYiG9SNahMUuHpvW6PNrxLdmZE0jfa8y+Kkt+uKTDhjM6ZB/VI/OAMbnlXuSdzsBRMQWLBfoM
+        FaektsvfsI7+nAGOn9D7O6mbnH5DPc9PsYnui657RwbOUMM0dChTFdrYJY3ESzmeu5H2VC6y4mrubKq2
+        TKN2mxGPi8ZQV27CnAQ9dlc6cPCuDbtujGTLhcHknvqCnKMmbD4xj7S90UwJ1sN43hAGOrXjq9kdsAzX
+        ZFyA2BFW0kxJuAgwXdBTuNJC16MTw1zbMzpIHcv4YVgnDUeRaEFCpCMhSgdcIybiHTOZmMTZFG7z4/Ax
+        O9wzDDn+IJhDdY4U3/6GgqsD2XB2KJtOTWbruQg8ltljHDxEnIo9GDyrPV+4dBRbsg9WkVpyBlKlXpZS
+        gnWUFrYxWuh7dxanVkcMgjpjquiLVdJA7JaYEZC7lNDtpcQdvk50aRmBG5VMjR6Jb/LXxOy259jzJRxu
+        8KO0xojCa4PYXDGY/Ipp5F9OZFLEaMaFaKLj15nhYguOcO/Cd2GfMX3RANlAntTLQvreKb4/TvGfMzqg
+        G7oBXTEME9tF2QOL5H54rz7JjLW3GL26Du28F0zb/5pll/7NussNzFg2AZulX+Jf7kzGg6Xk3I8kq9qZ
+        lBtexF1ahMsOT4wiBjEmTJ2vF2ig7dMN+ZS1ie6Ha9IQxOB3Sj2nSIsd4/rhsWQ440N6MSqkJ0YKTcxS
+        BPGm6Icfp3PQWdTi7qD2/VM0N7/CfP8fRPzSiEumPsfPf4+/aiJjg3tirBzCpOUjGa8YxDdBPXCKG4ZR
+        nIin1MRQZFkvSFPUf8asxcNwSxYGLEQGek6W/KeKRRGUpceU2AGiQ3/MUwdildEfs5hoRgYforXXCaSw
+        G0gpD+mQ08jIon9hs30/SfkTePF4DfW1q7helcnOQ3NZX+RM6ZFwqi6pUC0bheWyz7FYNhjjxUMZGzUE
+        k8ihBGSOEefMEMTgl0saRpLJOP+/k5Bnwow0PSxStZm2YiR2WV8yIbCAvu4lSLPLkQIvIsXfQxJZ6Jn/
+        CqPsCEqPWvD6YTivH3jSVOvCizuzefoPL17eWMijqwkEJw3GdtVwbFfrYp5hwKQkfaYlGaDYZI6VGHSP
+        SZKHpNZN6vSZbStUu60I32zN9OyxzFg3jpmZDox03UZ7yy1IdnuRvE4ihV6ndVId7XKe4aAyorbSilf3
+        nHhVbU7TTWOaro2j6YoVjZVBVJbNZ/rSoczabMCsvInYr5mEjepb5q61JqvYUZwJ7ej8ldRPEk8bkYrd
+        MWsnsGKfD76bzfEqMMdCqWTQnB8YGLkHneSj9Es4Sff4C7RffBON9OOkF+jyonIyTZXf0HR1FI0X9Wg8
+        a8Crs1N5eimcPbk2uGzQxb/oW7x3W+O61R63jbYsKwkgtcBCnv8zQltN+uPVAqnbGMnSOLAXO88sJKnU
+        g7m77ES6YhmX4Mbk5MlYpY3FLM0ew4wEhqw4zVhVGvt2fkHjL2NpPDWMxpNDaTw6mMbD4oT8yYaGszGk
+        pYwmsMiEsKOOzD/kztySOUQX+1BwOhrH2MGoT5T8hYFWb97JktRJZOFUdvEstp9ToChzI3iPHcG7LYgs
+        MUNROgVliSmxO40J3WpGaKEDx8r0qDxiTPXBr2n4cRDPi/rytFiX2iMenD+ySLyOJxB7zIH4c77E/ryA
+        2MPzyTujJO+wf/PtqG1HqXuzdvOtRJJadx8neY72VudkVQYF5xWkn/Yh84Ifa675knfDmx+q5lB43ZPt
+        lZ78cNGN7HJrVpZZsvWEM3tP+PLjT+IgOhHJun0ixYU2KPZNI/2yPxnXoki9EM3GC4s5cTMb84X95dEr
+        hGbb91eytyY69vhWKpip1OXCvTUUVcaT948QCmvC2FsXRnl9OMcbIvnlWTRnHkdz8M58CircWHnYjtQS
+        C5Q7TVEIFhVbsPTYdFZdnsva29HkVCnIv5bIzzVrCFkxCQ0TabfQ6vL+SvaBgVYCDQ1jqTRWrNSrdesp
+        uymuYLdCKBMn3MnHcZx/qaTyVSJVvyVxU3Dl+SJ+eRjFsV9DOSAMldwOouhOMLuE6cKaKLbeiqb4ZiIV
+        tetZXewrix9p110aKHTa/MWAXCGeth36StoiRWVxa+2pbtjGz9UpHLodwnGRhYoncVx7mcCt35Kp+T2F
+        u3+kUiO4LcqVTYmcf67k+KM4yn6NoORWGMfuLKHqYQGqHb7Ir/y/G0i2QuMTWatFA29NqLXvLWmLA+qA
+        Q6weV6sLuFW/iYoaJafvBnOubiGXH0VS+TSG60/juP4sjitPYql4GMHp2lB+qg7m1B0FN+5v4Ob9IvzS
+        TeU5PyT2vKWI3e6dzl8M/NmEQEsszPX97NuKFe3E3fpS6p+VcOtBDlfuJXJBpLmiJpBz1fOoqA7l0j0l
+        VfdXU/ekmNqGMtLyfRk0vT3q46VCEat/S+J/MfAh4mkj6NqmvWQgjOyUUzgj/htWF4Xxc+UW7j44yD+b
+        zjVzv+Eop0Xd5v0KXBZPELeddog+JR20JHMRQ13QvOJbosXKDxGPnA2N1p9IOl20pRj1CVJ5TzPpnrjN
+        vBTXOfl2K99sXom6X8W0neiiIyW07SSNEX16CeR0tmop7jtarGwJ8bQVdBL0EQwSfCEYIdAWfPm2TlPQ
+        WSC3/b/CbwiR/gNzbuWksIMBOAAAAABJRU5ErkJggg==
 </value>
   </data>
+  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>315, 17</value>
+  </metadata>
   <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>405, 17</value>
   </metadata>
diff -r d2295c186ce1 -r 2568261f74fb Server/Properties/Settings.Designer.cs
--- a/Server/Properties/Settings.Designer.cs	Sat Sep 26 16:35:27 2015 +0200
+++ b/Server/Properties/Settings.Designer.cs	Sat Sep 26 17:55:51 2015 +0200
@@ -117,5 +117,53 @@
                 this["OpticalDriveToEject"] = value;
             }
         }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("False")]
+        public bool CecEnabled {
+            get {
+                return ((bool)(this["CecEnabled"]));
+            }
+            set {
+                this["CecEnabled"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("1")]
+        public byte CecHdmiPort {
+            get {
+                return ((byte)(this["CecHdmiPort"]));
+            }
+            set {
+                this["CecHdmiPort"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("True")]
+        public bool CecMonitorOn {
+            get {
+                return ((bool)(this["CecMonitorOn"]));
+            }
+            set {
+                this["CecMonitorOn"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("True")]
+        public bool CecMonitorOff {
+            get {
+                return ((bool)(this["CecMonitorOff"]));
+            }
+            set {
+                this["CecMonitorOff"] = value;
+            }
+        }
     }
 }
diff -r d2295c186ce1 -r 2568261f74fb Server/Properties/Settings.settings
--- a/Server/Properties/Settings.settings	Sat Sep 26 16:35:27 2015 +0200
+++ b/Server/Properties/Settings.settings	Sat Sep 26 17:55:51 2015 +0200
@@ -26,5 +26,17 @@
     <Setting Name="OpticalDriveToEject" Type="System.String" Scope="User">
       <Value Profile="(Default)">None</Value>
     </Setting>
+    <Setting Name="CecEnabled" Type="System.Boolean" Scope="User">
+      <Value Profile="(Default)">False</Value>
+    </Setting>
+    <Setting Name="CecHdmiPort" Type="System.Byte" Scope="User">
+      <Value Profile="(Default)">1</Value>
+    </Setting>
+    <Setting Name="CecMonitorOn" Type="System.Boolean" Scope="User">
+      <Value Profile="(Default)">True</Value>
+    </Setting>
+    <Setting Name="CecMonitorOff" Type="System.Boolean" Scope="User">
+      <Value Profile="(Default)">True</Value>
+    </Setting>
   </Settings>
 </SettingsFile>
\ No newline at end of file