# HG changeset patch
# User StephaneLenclud
# Date 1471627683 -7200
# Node ID 448e6a616c22db21eb5c545ef2284009764c6c9e
# Parent 2e4d2558bb21d0d8d66ce205a2cb12a847cde667
Removing Input tab as we don't need to specific features anymore.
diff -r 2e4d2558bb21 -r 448e6a616c22 Server/App.config
--- a/Server/App.config Fri Aug 19 19:18:54 2016 +0200
+++ b/Server/App.config Fri Aug 19 19:28:03 2016 +0200
@@ -25,12 +25,6 @@
False
-
- None
-
-
- None
-
False
diff -r 2e4d2558bb21 -r 448e6a616c22 Server/FormMain.Designer.cs
--- a/Server/FormMain.Designer.cs Fri Aug 19 19:18:54 2016 +0200
+++ b/Server/FormMain.Designer.cs Fri Aug 19 19:28:03 2016 +0200
@@ -92,12 +92,6 @@
this.checkBoxShowVolumeLabel = new System.Windows.Forms.CheckBox();
this.checkBoxMute = new System.Windows.Forms.CheckBox();
this.trackBarMasterVolume = new System.Windows.Forms.TrackBar();
- this.tabPageInput = new System.Windows.Forms.TabPage();
- this.comboBoxOpticalDrives = new System.Windows.Forms.ComboBox();
- this.labelOpticalDriveEject = new System.Windows.Forms.Label();
- 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.groupBoxCecLogOptions = new System.Windows.Forms.GroupBox();
this.checkBoxCecLogNoPoll = new System.Windows.Forms.CheckBox();
@@ -153,8 +147,6 @@
this.tabPageDesign.SuspendLayout();
this.tabPageAudio.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBarMasterVolume)).BeginInit();
- this.tabPageInput.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGreenStart)).BeginInit();
this.tabPageCec.SuspendLayout();
this.groupBoxCecLogOptions.SuspendLayout();
this.tabPageHarmony.SuspendLayout();
@@ -588,7 +580,6 @@
this.tabControl.Controls.Add(this.tabPageClients);
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.tabPageHarmony);
this.tabControl.Controls.Add(this.tabPageEvent);
@@ -783,69 +774,6 @@
this.toolTip.SetToolTip(this.trackBarMasterVolume, "Master Volume");
this.trackBarMasterVolume.Scroll += new System.EventHandler(this.trackBarMasterVolume_Scroll);
//
- // tabPageInput
- //
- this.tabPageInput.Controls.Add(this.comboBoxOpticalDrives);
- this.tabPageInput.Controls.Add(this.labelOpticalDriveEject);
- this.tabPageInput.Controls.Add(this.pictureBoxGreenStart);
- this.tabPageInput.Controls.Add(this.labelStartFileName);
- this.tabPageInput.Controls.Add(this.buttonSelectFile);
- this.tabPageInput.Location = new System.Drawing.Point(4, 22);
- this.tabPageInput.Name = "tabPageInput";
- this.tabPageInput.Padding = new System.Windows.Forms.Padding(3);
- this.tabPageInput.Size = new System.Drawing.Size(752, 385);
- this.tabPageInput.TabIndex = 6;
- this.tabPageInput.Text = "Input";
- this.tabPageInput.UseVisualStyleBackColor = true;
- //
- // comboBoxOpticalDrives
- //
- this.comboBoxOpticalDrives.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.comboBoxOpticalDrives.FormattingEnabled = true;
- this.comboBoxOpticalDrives.Location = new System.Drawing.Point(113, 53);
- this.comboBoxOpticalDrives.Name = "comboBoxOpticalDrives";
- this.comboBoxOpticalDrives.Size = new System.Drawing.Size(55, 21);
- this.comboBoxOpticalDrives.TabIndex = 18;
- this.comboBoxOpticalDrives.SelectedIndexChanged += new System.EventHandler(this.comboBoxOpticalDrives_SelectedIndexChanged);
- //
- // labelOpticalDriveEject
- //
- this.labelOpticalDriveEject.AutoSize = true;
- this.labelOpticalDriveEject.Location = new System.Drawing.Point(0, 56);
- this.labelOpticalDriveEject.Name = "labelOpticalDriveEject";
- this.labelOpticalDriveEject.Size = new System.Drawing.Size(107, 13);
- this.labelOpticalDriveEject.TabIndex = 3;
- this.labelOpticalDriveEject.Text = "Optical drive to eject:";
- //
- // pictureBoxGreenStart
- //
- this.pictureBoxGreenStart.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxGreenStart.Image")));
- this.pictureBoxGreenStart.Location = new System.Drawing.Point(3, 6);
- this.pictureBoxGreenStart.Name = "pictureBoxGreenStart";
- this.pictureBoxGreenStart.Size = new System.Drawing.Size(32, 32);
- this.pictureBoxGreenStart.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
- this.pictureBoxGreenStart.TabIndex = 2;
- this.pictureBoxGreenStart.TabStop = false;
- //
- // labelStartFileName
- //
- this.labelStartFileName.AutoSize = true;
- this.labelStartFileName.Location = new System.Drawing.Point(72, 16);
- this.labelStartFileName.Name = "labelStartFileName";
- this.labelStartFileName.Size = new System.Drawing.Size(33, 13);
- this.labelStartFileName.TabIndex = 1;
- this.labelStartFileName.Text = "None";
- //
- // buttonSelectFile
- //
- this.buttonSelectFile.Location = new System.Drawing.Point(41, 11);
- this.buttonSelectFile.Name = "buttonSelectFile";
- this.buttonSelectFile.Size = new System.Drawing.Size(25, 23);
- this.buttonSelectFile.TabIndex = 0;
- this.buttonSelectFile.Text = "...";
- this.buttonSelectFile.UseVisualStyleBackColor = true;
- this.buttonSelectFile.Click += new System.EventHandler(this.buttonSelectFile_Click);
- //
// tabPageCec
//
this.tabPageCec.Controls.Add(this.groupBoxCecLogOptions);
@@ -1401,9 +1329,6 @@
this.tabPageAudio.ResumeLayout(false);
this.tabPageAudio.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBarMasterVolume)).EndInit();
- this.tabPageInput.ResumeLayout(false);
- this.tabPageInput.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGreenStart)).EndInit();
this.tabPageCec.ResumeLayout(false);
this.tabPageCec.PerformLayout();
this.groupBoxCecLogOptions.ResumeLayout(false);
@@ -1480,13 +1405,7 @@
private System.Windows.Forms.CheckBox checkBoxMute;
private System.Windows.Forms.CheckBox checkBoxShowVolumeLabel;
private System.Windows.Forms.Label labelDefaultAudioDevice;
- private System.Windows.Forms.TabPage tabPageInput;
- private System.Windows.Forms.Button buttonSelectFile;
private System.Windows.Forms.OpenFileDialog openFileDialog;
- private System.Windows.Forms.Label labelStartFileName;
- 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;
diff -r 2e4d2558bb21 -r 448e6a616c22 Server/FormMain.Hid.cs
--- a/Server/FormMain.Hid.cs Fri Aug 19 19:18:54 2016 +0200
+++ b/Server/FormMain.Hid.cs Fri Aug 19 19:28:03 2016 +0200
@@ -21,8 +21,6 @@
[System.ComponentModel.DesignerCategory("Code")]
public class FormMainHid : Form
{
- [System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint = "SwitchToThisWindow")]
- public static extern void SwitchToThisWindow([System.Runtime.InteropServices.InAttribute()] System.IntPtr hwnd, [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] bool fUnknown);
//
public delegate void OnHidEventDelegate(object aSender, Hid.Event aHidEvent);
@@ -141,19 +139,6 @@
Usage = (Hid.Usage.WindowsMediaCenterRemoteControl) aHidEvent.Usages[0]
};
Properties.Settings.Default.EarManager.TriggerEvent(e);
-
- //Old legacy hard coded stuff
- //TODO: remove it
- switch (aHidEvent.Usages[0])
- {
- case (ushort) Hid.Usage.WindowsMediaCenterRemoteControl.GreenStart:
- HandleGreenStart();
- break;
- case (ushort) Hid.Usage.WindowsMediaCenterRemoteControl.Eject:
- case (ushort) Hid.Usage.WindowsMediaCenterRemoteControl.Ext2:
- HandleEject();
- break;
- }
}
else if (aHidEvent.UsagePage == (ushort) Hid.UsagePage.Consumer)
{
@@ -163,12 +148,6 @@
Usage = (Hid.Usage.ConsumerControl) aHidEvent.Usages[0]
};
Properties.Settings.Default.EarManager.TriggerEvent(e);
-
- //Keep this for debug when only ThinkPad keyboard is available
- //if (aHidEvent.Usages[0] == (ushort)Hid.Usage.ConsumerControl.ThinkPadFullscreenMagnifier)
- //{
- // HandleEject();
- //}
}
}
else if (aHidEvent.IsKeyboard)
@@ -189,259 +168,9 @@
}
}
- ///
- ///
- ///
- ///
- private void CheckLastError(string aPrefix)
- {
- string errorMessage = new Win32Exception(Marshal.GetLastWin32Error()).Message;
- Debug.WriteLine(aPrefix + Marshal.GetLastWin32Error().ToString() + ": " + errorMessage);
- }
+
- ///
- ///
- ///
- ///
- ///
- private IntPtr MarshalToPointer(object data)
- {
- IntPtr buf = Marshal.AllocHGlobal(
- Marshal.SizeOf(data));
- Marshal.StructureToPtr(data,
- buf, false);
- return buf;
- }
-
- ///
- ///
- ///
- ///
- private SafeFileHandle OpenVolume(string aDriveName)
- {
- return Function.CreateFile("\\\\.\\" + aDriveName,
- SharpLib.Win32.FileAccess.GENERIC_READ,
- SharpLib.Win32.FileShare.FILE_SHARE_READ | SharpLib.Win32.FileShare.FILE_SHARE_WRITE,
- IntPtr.Zero,
- CreationDisposition.OPEN_EXISTING,
- 0,
- IntPtr.Zero);
- }
-
- ///
- ///
- ///
- ///
- ///
- private bool LockVolume(SafeFileHandle aVolume)
- {
- //Hope that's doing what I think it does
- IntPtr dwBytesReturned=new IntPtr();
- //Should not be needed but I'm not sure how to pass NULL in there.
- OVERLAPPED overlapped=new OVERLAPPED();
-
- int tries = 0;
- const int KMaxTries = 100;
- const int KSleepTime = 10;
- bool success = false;
-
- while (!success && tries < KMaxTries)
- {
- success = Function.DeviceIoControl(aVolume, Const.FSCTL_LOCK_VOLUME, IntPtr.Zero, 0, IntPtr.Zero, 0, dwBytesReturned, ref overlapped);
- System.Threading.Thread.Sleep(KSleepTime);
- tries++;
- }
-
- CheckLastError("Lock volume: ");
-
- return success;
- }
-
- ///
- ///
- ///
- ///
- ///
- private bool DismountVolume(SafeFileHandle aVolume)
- {
- //Hope that's doing what I think it does
- IntPtr dwBytesReturned = new IntPtr();
- //Should not be needed but I'm not sure how to pass NULL in there.
- OVERLAPPED overlapped=new OVERLAPPED();
-
- bool res = Function.DeviceIoControl(aVolume, Const.FSCTL_DISMOUNT_VOLUME, IntPtr.Zero, 0, IntPtr.Zero, 0, dwBytesReturned, ref overlapped);
- CheckLastError("Dismount volume: ");
- return res;
- }
-
-
-
- ///
- ///
- ///
- ///
- ///
- ///
- private bool PreventRemovalOfVolume(SafeFileHandle aVolume, bool aPreventRemoval)
- {
- //Hope that's doing what I think it does
- IntPtr dwBytesReturned = new IntPtr();
- //Should not be needed but I'm not sure how to pass NULL in there.
- OVERLAPPED overlapped = new OVERLAPPED();
- //
- PREVENT_MEDIA_REMOVAL preventMediaRemoval = new PREVENT_MEDIA_REMOVAL();
- preventMediaRemoval.PreventMediaRemoval = Convert.ToByte(aPreventRemoval);
- IntPtr preventMediaRemovalParam = MarshalToPointer(preventMediaRemoval);
-
- bool result = Function.DeviceIoControl(aVolume, Const.IOCTL_STORAGE_MEDIA_REMOVAL, preventMediaRemovalParam, Convert.ToUInt32(Marshal.SizeOf(preventMediaRemoval)), IntPtr.Zero, 0, dwBytesReturned, ref overlapped);
- CheckLastError("Media removal: ");
- Marshal.FreeHGlobal(preventMediaRemovalParam);
-
- return result;
- }
-
- ///
- /// Eject optical drive media opening the tray if any.
- ///
- ///
- ///
- private bool MediaEject(SafeFileHandle aVolume)
- {
- //Hope that's doing what I think it does
- IntPtr dwBytesReturned = new IntPtr();
- //Should not be needed but I'm not sure how to pass NULL in there.
- OVERLAPPED overlapped=new OVERLAPPED();
-
- bool res = Function.DeviceIoControl(aVolume, Const.IOCTL_STORAGE_EJECT_MEDIA, IntPtr.Zero, 0, IntPtr.Zero, 0, dwBytesReturned, ref overlapped);
- CheckLastError("Media eject: ");
- return res;
- }
-
- ///
- /// Close an optical drive tray.
- ///
- ///
- ///
- private bool MediaLoad(SafeFileHandle aVolume)
- {
- //Hope that's doing what I think it does
- IntPtr dwBytesReturned = new IntPtr();
- //Should not be needed but I'm not sure how to pass NULL in there.
- OVERLAPPED overlapped=new OVERLAPPED();
-
- bool res = Function.DeviceIoControl(aVolume, Const.IOCTL_STORAGE_LOAD_MEDIA, IntPtr.Zero, 0, IntPtr.Zero, 0, dwBytesReturned, ref overlapped);
- CheckLastError("Media load: ");
- return res;
- }
-
- ///
- ///
- ///
- ///
- ///
- private bool StorageCheckVerify(SafeFileHandle aVolume)
- {
- //Hope that's doing what I think it does
- IntPtr dwBytesReturned = new IntPtr();
- //Should not be needed but I'm not sure how to pass NULL in there.
- OVERLAPPED overlapped = new OVERLAPPED();
-
- bool res = Function.DeviceIoControl(aVolume, Const.IOCTL_STORAGE_CHECK_VERIFY2, IntPtr.Zero, 0, IntPtr.Zero, 0, dwBytesReturned, ref overlapped);
-
- CheckLastError("Check verify: ");
-
- return res;
- }
-
-
-
- ///
- /// Perform media ejection.
- ///
- private void HandleEject()
- {
- string drive = ((FormMain)this).OpticalDriveToEject();
- if (drive.Length!=2)
- {
- //Not a proper drive spec.
- //Probably 'None' selected.
- return;
- }
-
- SafeFileHandle handle = OpenVolume(drive);
- if (handle.IsInvalid)
- {
- CheckLastError("ERROR: Failed to open volume: ");
- return;
- }
-
- if (LockVolume(handle) && DismountVolume(handle))
- {
- Debug.WriteLine("Volume was dismounted.");
-
- if (PreventRemovalOfVolume(handle,false))
- {
- //StorageCheckVerify(handle);
-
- DateTime before;
- before = DateTime.Now;
- bool ejectSuccess = MediaEject(handle);
- double ms = (DateTime.Now - before).TotalMilliseconds;
-
- //We assume that if it take more than a certain time to for eject to execute it means we actually ejected.
- //If our eject completes too rapidly we assume the tray is already open and we will try to close it.
- if (ejectSuccess && ms > 100)
- {
- Debug.WriteLine("Media was ejected");
- }
- else if (MediaLoad(handle))
- {
- Debug.WriteLine("Media was loaded");
- }
- }
- }
- else
- {
- Debug.WriteLine("Volume lock or dismount failed.");
- }
-
- //This is needed to make sure we can open the volume next time around
- handle.Dispose();
- }
-
- ///
- ///
- ///
- private void HandleGreenStart()
- {
- //First check if the process we want to launch already exists
- string procName = Path.GetFileNameWithoutExtension(Properties.Settings.Default.StartFileName);
- Process[] existingProcesses = Process.GetProcessesByName(procName);
- if (existingProcesses == null || existingProcesses.Length == 0)
- {
- // Process do not exists just try to launch it
- ProcessStartInfo start = new ProcessStartInfo();
- // Enter in the command line arguments, everything you would enter after the executable name itself
- //start.Arguments = arguments;
- // Enter the executable to run, including the complete path
- start.FileName = Properties.Settings.Default.StartFileName;
- start.WindowStyle = ProcessWindowStyle.Normal;
- start.CreateNoWindow = true;
- start.UseShellExecute = true;
- // Run the external process & wait for it to finish
- Process proc = Process.Start(start);
-
- //SL: We could have used that too
- //Shell32.Shell shell = new Shell32.Shell();
- //shell.ShellExecute(Properties.Settings.Default.StartFileName);
- }
- else
- {
- //This won't work properly until we have a manifest that enables uiAccess.
- //However uiAccess just won't work with ClickOnce so we will have to use a different deployment system.
- SwitchToThisWindow(existingProcesses[0].MainWindowHandle, true);
- }
- }
+
///
diff -r 2e4d2558bb21 -r 448e6a616c22 Server/FormMain.cs
--- a/Server/FormMain.cs Fri Aug 19 19:18:54 2016 +0200
+++ b/Server/FormMain.cs Fri Aug 19 19:28:03 2016 +0200
@@ -178,9 +178,6 @@
//Populate device types
PopulateDeviceTypes();
- //Populate optical drives
- PopulateOpticalDrives();
-
//Initial status update
UpdateStatus();
@@ -647,41 +644,6 @@
}
///
- ///
- ///
- private void PopulateOpticalDrives()
- {
- //Reset our list of drives
- comboBoxOpticalDrives.Items.Clear();
- comboBoxOpticalDrives.Items.Add("None");
-
- //Go through each drives on our system and collected the optical ones in our list
- DriveInfo[] allDrives = DriveInfo.GetDrives();
- foreach (DriveInfo d in allDrives)
- {
- Debug.WriteLine("Drive " + d.Name);
- Debug.WriteLine(" Drive type: {0}", d.DriveType);
-
- if (d.DriveType == DriveType.CDRom)
- {
- //This is an optical drive, add it now
- comboBoxOpticalDrives.Items.Add(d.Name.Substring(0, 2));
- }
- }
- }
-
- ///
- ///
- ///
- ///
- public string OpticalDriveToEject()
- {
- return comboBoxOpticalDrives.SelectedItem.ToString();
- }
-
-
-
- ///
///
///
private void SetupTrayIcon()
@@ -1237,31 +1199,6 @@
CheckFontHeight();
//Check if "run on Windows startup" is enabled
checkBoxAutoStart.Checked = iStartupManager.Startup;
- //
- labelStartFileName.Text = Properties.Settings.Default.StartFileName;
-
-
- //Try find our drive in our drive list
- int opticalDriveItemIndex = 0;
- bool driveNotFound = true;
- string opticalDriveToEject = Properties.Settings.Default.OpticalDriveToEject;
- foreach (object item in comboBoxOpticalDrives.Items)
- {
- if (opticalDriveToEject == item.ToString())
- {
- comboBoxOpticalDrives.SelectedIndex = opticalDriveItemIndex;
- driveNotFound = false;
- break;
- }
- opticalDriveItemIndex++;
- }
-
- if (driveNotFound)
- {
- //We could not find the drive we had saved.
- //Select "None" then.
- comboBoxOpticalDrives.SelectedIndex = 0;
- }
//Harmony settings
iTextBoxHarmonyHubAddress.Text = Properties.Settings.Default.HarmonyHubAddress;
@@ -2563,39 +2500,6 @@
///
///
///
- ///
- ///
- private void buttonSelectFile_Click(object sender, EventArgs e)
- {
- //openFileDialog1.InitialDirectory = "c:\\";
- //openFileDialog.Filter = "EXE files (*.exe)|*.exe|All files (*.*)|*.*";
- //openFileDialog.FilterIndex = 1;
- openFileDialog.RestoreDirectory = true;
-
- if (DlgBox.ShowDialog(openFileDialog) == DialogResult.OK)
- {
- labelStartFileName.Text = openFileDialog.FileName;
- Properties.Settings.Default.StartFileName = openFileDialog.FileName;
- Properties.Settings.Default.Save();
- }
- }
-
- ///
- ///
- ///
- ///
- ///
- private void comboBoxOpticalDrives_SelectedIndexChanged(object sender, EventArgs e)
- {
- //Save the optical drive the user selected for ejection
- Properties.Settings.Default.OpticalDriveToEject = comboBoxOpticalDrives.SelectedItem.ToString();
- Properties.Settings.Default.Save();
- }
-
-
- ///
- ///
- ///
private void LogsUpdate()
{
if (iWriter != null)
diff -r 2e4d2558bb21 -r 448e6a616c22 Server/FormMain.resx
--- a/Server/FormMain.resx Fri Aug 19 19:18:54 2016 +0200
+++ b/Server/FormMain.resx Fri Aug 19 19:28:03 2016 +0200
@@ -129,65 +129,10 @@
315, 17
-
-
-
- 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
-
-
405, 17
+
AAABAAEAgIAAAAEAIAADNAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAACAAAAAgAgGAAAAwz5hywAAIABJ
diff -r 2e4d2558bb21 -r 448e6a616c22 Server/Properties/Settings.Designer.cs
--- a/Server/Properties/Settings.Designer.cs Fri Aug 19 19:18:54 2016 +0200
+++ b/Server/Properties/Settings.Designer.cs Fri Aug 19 19:28:03 2016 +0200
@@ -96,30 +96,6 @@
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("None")]
- public string StartFileName {
- get {
- return ((string)(this["StartFileName"]));
- }
- set {
- this["StartFileName"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("None")]
- public string OpticalDriveToEject {
- get {
- return ((string)(this["OpticalDriveToEject"]));
- }
- set {
- this["OpticalDriveToEject"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool CecEnabled {
get {
diff -r 2e4d2558bb21 -r 448e6a616c22 Server/Properties/Settings.settings
--- a/Server/Properties/Settings.settings Fri Aug 19 19:18:54 2016 +0200
+++ b/Server/Properties/Settings.settings Fri Aug 19 19:28:03 2016 +0200
@@ -20,12 +20,6 @@
False
-
- None
-
-
- None
-
False