diff options
Diffstat (limited to 'grapher/Models/Devices')
| -rw-r--r-- | grapher/Models/Devices/DeviceDialogItem.cs | 26 | ||||
| -rw-r--r-- | grapher/Models/Devices/DeviceIDItem.cs | 73 | ||||
| -rw-r--r-- | grapher/Models/Devices/DeviceIDManager.cs | 68 |
3 files changed, 26 insertions, 141 deletions
diff --git a/grapher/Models/Devices/DeviceDialogItem.cs b/grapher/Models/Devices/DeviceDialogItem.cs new file mode 100644 index 0000000..9ca5528 --- /dev/null +++ b/grapher/Models/Devices/DeviceDialogItem.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace grapher.Models.Devices +{ + public class DeviceDialogItem + { + public MultiHandleDevice device; + public DeviceSettings oldSettings; + public DeviceConfig newConfig; + public string newProfile; + public bool overrideDefaultConfig; + + public override string ToString() + { + return string.IsNullOrWhiteSpace(device.name) ? + device.id : + device.name; + } + } +} diff --git a/grapher/Models/Devices/DeviceIDItem.cs b/grapher/Models/Devices/DeviceIDItem.cs deleted file mode 100644 index 8f1587b..0000000 --- a/grapher/Models/Devices/DeviceIDItem.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace grapher.Models.Devices -{ - public class DeviceIDItem - { - public DeviceIDItem(string name, string id, DeviceIDManager manager) - { - Name = name; - ID = id; - Manager = manager; - DeviceIDMenuItem = new ToolStripMenuItem(); - DeviceIDMenuItem.Checked = false; - DeviceIDMenuItem.Text = MenuItemText(); - DeviceIDMenuItem.Click += OnClicked; - manager.DeviceIDsMenuItem.DropDownItems.Add(DeviceIDMenuItem); - } - - private ToolStripMenuItem DeviceIDMenuItem { get; } - - public string Name { get; } - - public string ID { get; } - - private DeviceIDManager Manager { get; } - - public void SetActivated() - { - DeviceIDMenuItem.Checked = true; - } - - public void SetDeactivated() - { - DeviceIDMenuItem.Checked = false; - } - - private string MenuItemText() => string.IsNullOrEmpty(ID) ? $"{Name}" : ID.Replace("&", "&&"); - - private string DisconnectedText() => $"Disconnected: {ID}"; - - public void SetDisconnected() - { - DeviceIDMenuItem.ForeColor = Color.DarkGray; - DeviceIDMenuItem.Text = DisconnectedText(); - } - - public void OnClicked(object sender, EventArgs e) - { - Manager.SetActive(this); - } - - public override bool Equals(object obj) - { - return obj is DeviceIDItem item && - Name == item.Name && - ID == item.ID; - } - - public override int GetHashCode() - { - int hashCode = -1692744877; - hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(Name); - hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(ID); - return hashCode; - } - } -} diff --git a/grapher/Models/Devices/DeviceIDManager.cs b/grapher/Models/Devices/DeviceIDManager.cs deleted file mode 100644 index 39856a1..0000000 --- a/grapher/Models/Devices/DeviceIDManager.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Management; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace grapher.Models.Devices -{ - public class DeviceIDManager - { - public DeviceIDManager(ToolStripMenuItem deviceIDs) - { - DeviceIDsMenuItem = deviceIDs; - DeviceIDsMenuItem.Checked = false; - } - - public ToolStripMenuItem DeviceIDsMenuItem { get; } - - public string ID { get => SelectedDeviceID.ID; } - - public DeviceIDItem SelectedDeviceID { get; private set; } - - public Dictionary<string, DeviceIDItem> DeviceIDs { get; private set; } - - public void SetActive(DeviceIDItem deviceIDItem) - { - if (SelectedDeviceID != null) - { - SelectedDeviceID.SetDeactivated(); - } - - SelectedDeviceID = deviceIDItem; - SelectedDeviceID.SetActivated(); - } - - public void Update(string devID) - { - DeviceIDsMenuItem.DropDownItems.Clear(); - - bool found = string.IsNullOrEmpty(devID); - - var anyDevice = new DeviceIDItem("Any", string.Empty, this); - - if (found) SetActive(anyDevice); - - foreach (string id in RawInputInterop.GetDeviceIDs()) - { - var deviceItem = new DeviceIDItem(string.Empty, id, this); - if (!found && deviceItem.ID.Equals(devID)) - { - SetActive(deviceItem); - found = true; - } - } - - if (!found) - { - var deviceItem = new DeviceIDItem(string.Empty, devID, this); - deviceItem.SetDisconnected(); - SetActive(deviceItem); - } - } - - } -} |