diff --git a/KVMViewer.Designer.cs b/KVMViewer.Designer.cs index c57a6e4..cee1679 100644 --- a/KVMViewer.Designer.cs +++ b/KVMViewer.Designer.cs @@ -51,11 +51,11 @@ namespace MeshCentralRouter this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.updateTimer = new System.Windows.Forms.Timer(this.components); this.topPanel = new System.Windows.Forms.Panel(); + this.extraButtonsPanel = new System.Windows.Forms.Panel(); this.splitButton = new System.Windows.Forms.Button(); this.clipOutboundButton = new System.Windows.Forms.Button(); this.clipInboundButton = new System.Windows.Forms.Button(); this.statsButton = new System.Windows.Forms.Button(); - this.displaySelectComboBox = new System.Windows.Forms.ComboBox(); this.settingsButton = new System.Windows.Forms.Button(); this.zoomButton = new System.Windows.Forms.Button(); this.cadButton = new System.Windows.Forms.Button(); @@ -68,6 +68,7 @@ namespace MeshCentralRouter this.consoleTimer = new System.Windows.Forms.Timer(this.components); this.mainToolTip = new System.Windows.Forms.ToolTip(this.components); this.resizeKvmControl = new MeshCentralRouter.KVMResizeControl(); + this.displaySelectorImageList = new System.Windows.Forms.ImageList(this.components); this.mainStatusStrip.SuspendLayout(); this.topPanel.SuspendLayout(); this.consentContextMenuStrip.SuspendLayout(); @@ -103,11 +104,11 @@ namespace MeshCentralRouter // topPanel // this.topPanel.BackColor = System.Drawing.SystemColors.Control; + this.topPanel.Controls.Add(this.extraButtonsPanel); this.topPanel.Controls.Add(this.splitButton); this.topPanel.Controls.Add(this.clipOutboundButton); this.topPanel.Controls.Add(this.clipInboundButton); this.topPanel.Controls.Add(this.statsButton); - this.topPanel.Controls.Add(this.displaySelectComboBox); this.topPanel.Controls.Add(this.settingsButton); this.topPanel.Controls.Add(this.zoomButton); this.topPanel.Controls.Add(this.cadButton); @@ -115,6 +116,11 @@ namespace MeshCentralRouter resources.ApplyResources(this.topPanel, "topPanel"); this.topPanel.Name = "topPanel"; // + // extraButtonsPanel + // + resources.ApplyResources(this.extraButtonsPanel, "extraButtonsPanel"); + this.extraButtonsPanel.Name = "extraButtonsPanel"; + // // splitButton // resources.ApplyResources(this.splitButton, "splitButton"); @@ -150,14 +156,6 @@ namespace MeshCentralRouter this.statsButton.UseVisualStyleBackColor = true; this.statsButton.Click += new System.EventHandler(this.statsButton_Click); // - // displaySelectComboBox - // - this.displaySelectComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - resources.ApplyResources(this.displaySelectComboBox, "displaySelectComboBox"); - this.displaySelectComboBox.Name = "displaySelectComboBox"; - this.displaySelectComboBox.TabStop = false; - this.displaySelectComboBox.SelectionChangeCommitted += new System.EventHandler(this.displaySelectComboBox_SelectionChangeCommitted); - // // settingsButton // resources.ApplyResources(this.settingsButton, "settingsButton"); @@ -243,6 +241,15 @@ namespace MeshCentralRouter this.resizeKvmControl.Enter += new System.EventHandler(this.resizeKvmControl_Enter); this.resizeKvmControl.Leave += new System.EventHandler(this.resizeKvmControl_Leave); // + // displaySelectorImageList + // + this.displaySelectorImageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("displaySelectorImageList.ImageStream"))); + this.displaySelectorImageList.TransparentColor = System.Drawing.Color.Transparent; + this.displaySelectorImageList.Images.SetKeyName(0, "icon-monitor1.png"); + this.displaySelectorImageList.Images.SetKeyName(1, "icon-monitor1b.png"); + this.displaySelectorImageList.Images.SetKeyName(2, "icon-monitor2.png"); + this.displaySelectorImageList.Images.SetKeyName(3, "icon-monitor2b.png"); + // // KVMViewer // resources.ApplyResources(this, "$this"); @@ -278,7 +285,6 @@ namespace MeshCentralRouter private Button cadButton; private Button zoomButton; private Button settingsButton; - private ComboBox displaySelectComboBox; private Label consoleMessage; private Timer consoleTimer; private Button statsButton; @@ -290,6 +296,8 @@ namespace MeshCentralRouter private ToolStripMenuItem askConsentToolStripMenuItem; private ToolStripMenuItem privacyBarToolStripMenuItem; private Button splitButton; + private Panel extraButtonsPanel; + private ImageList displaySelectorImageList; } } diff --git a/KVMViewer.cs b/KVMViewer.cs index 2f5976f..920f39e 100644 --- a/KVMViewer.cs +++ b/KVMViewer.cs @@ -45,6 +45,7 @@ namespace MeshCentralRouter private KVMViewerExtra[] extraDisplays = null; private System.Windows.Forms.Timer delayedConnectionTimer = null; private bool localAutoReconnect = true; + private Dictionary displaySelectionButtons = new Dictionary(); // Stats public long bytesIn = 0; @@ -52,16 +53,6 @@ namespace MeshCentralRouter public long bytesOut = 0; public long bytesOutCompressed = 0; - public class displayTag - { - public ushort num; - public string name; - - public displayTag(ushort num, string name) { this.num = num; this.name = name; } - - public override string ToString() { return name; } - } - public KVMViewer(MainForm parent, MeshCentralServer server, NodeClass node) { this.parent = parent; @@ -376,7 +367,7 @@ namespace MeshCentralRouter { case 0: // Disconnected mainToolStripStatusLabel.Text = Translate.T(Properties.Resources.Disconnected, lang); - displaySelectComboBox.Visible = false; + extraButtonsPanel.Visible = false; kvmControl.Visible = false; kvmControl.screenWidth = 0; kvmControl.screenHeight = 0; @@ -384,13 +375,13 @@ namespace MeshCentralRouter break; case 1: // Connecting mainToolStripStatusLabel.Text = Translate.T(Properties.Resources.Connecting, lang); - displaySelectComboBox.Visible = false; + extraButtonsPanel.Visible = false; kvmControl.Visible = false; connectButton.Text = Translate.T(Properties.Resources.Disconnect, lang); break; case 2: // Setup mainToolStripStatusLabel.Text = "Setup..."; - displaySelectComboBox.Visible = false; + extraButtonsPanel.Visible = false; kvmControl.Visible = false; connectButton.Text = Translate.T(Properties.Resources.Disconnect, lang); break; @@ -515,35 +506,57 @@ namespace MeshCentralRouter resizeKvmControl.ZoomToFit = !resizeKvmControl.ZoomToFit; } + /// + /// + /// + /// + /// private void resizeKvmControl_DisplaysReceived(object sender, EventArgs e) { if (kvmControl == null || kvmControl.displays.Count == 0) return; if (kvmControl.displays.Count > 0) { - displaySelectComboBox.Visible = true; - displaySelectComboBox.Items.Clear(); + extraButtonsPanel.Visible = true; + extraButtonsPanel.Controls.Clear(); + displaySelectionButtons.Clear(); foreach (ushort displayNum in kvmControl.displays) { - displayTag t; if (displayNum == 0xFFFF) { - t = new displayTag(displayNum, Translate.T(Properties.Resources.AllDisplays, lang)); - displaySelectComboBox.Items.Add(t); + Button b = new Button(); + b.ImageList = displaySelectorImageList; + b.ImageIndex = (kvmControl.currentDisp == displayNum) ? 2 : 3; // All displayes + b.Width = 32; + b.Height = 32; + mainToolTip.SetToolTip(b, Translate.T(Properties.Resources.AllDisplays, lang)); + b.Click += new System.EventHandler(this.displaySelectComboBox_SelectionChangeCommitted); + b.Tag = displayNum; + b.Dock = DockStyle.Left; + extraButtonsPanel.Controls.Add(b); + displaySelectionButtons.Add(displayNum, b); } else { - t = new displayTag(displayNum, string.Format(Translate.T(Properties.Resources.DisplayX, lang), displayNum)); - displaySelectComboBox.Items.Add(t); + Button b = new Button(); + b.ImageList = displaySelectorImageList; + b.ImageIndex = (kvmControl.currentDisp == displayNum) ? 0 : 1; // One display grayed out + b.Width = 32; + b.Height = 32; + mainToolTip.SetToolTip(b, string.Format(Translate.T(Properties.Resources.DisplayX, lang), displayNum)); + b.Click += new System.EventHandler(this.displaySelectComboBox_SelectionChangeCommitted); + b.Tag = displayNum; + b.Dock = DockStyle.Left; + extraButtonsPanel.Controls.Add(b); + displaySelectionButtons.Add(displayNum, b); } - - if (kvmControl.currentDisp == displayNum) { displaySelectComboBox.SelectedItem = t; } } } else { - displaySelectComboBox.Visible = false; - displaySelectComboBox.Items.Clear(); + extraButtonsPanel.Visible = false; + extraButtonsPanel.Controls.Clear(); + displaySelectionButtons.Clear(); } // If there are many displays and all displays is selected, enable split/join button. @@ -553,7 +566,10 @@ namespace MeshCentralRouter private void displaySelectComboBox_SelectionChangeCommitted(object sender, EventArgs e) { if (splitMode) { splitButton_Click(this, null); } - if (kvmControl != null) { kvmControl.SendDisplay(((displayTag)displaySelectComboBox.SelectedItem).num); } + if (kvmControl != null) { + ushort displayNum = (ushort)((Button)sender).Tag; + kvmControl.SendDisplay(displayNum); + } } private void resizeKvmControl_TouchEnabledChanged(object sender, EventArgs e) @@ -738,5 +754,7 @@ namespace MeshCentralRouter } } } + + } } diff --git a/KVMViewer.resx b/KVMViewer.resx index 270e7a6..d23caf2 100644 --- a/KVMViewer.resx +++ b/KVMViewer.resx @@ -171,6 +171,30 @@ 154, 17 + + Top, Left, Right + + + 383, 4 + + + 658, 32 + + + 10 + + + extraButtonsPanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + topPanel + + + 0 + Top, Right @@ -205,7 +229,7 @@ topPanel - 0 + 1 Top, Right @@ -238,7 +262,7 @@ topPanel - 1 + 2 Top, Right @@ -277,7 +301,7 @@ topPanel - 2 + 3 Top, Right @@ -310,36 +334,6 @@ topPanel - 3 - - - 16 - - - 384, 6 - - - 4, 4, 4, 4 - - - 169, 24 - - - 5 - - - False - - - displaySelectComboBox - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - topPanel - - 4 @@ -586,7 +580,7 @@ resizeKvmControl - MeshCentralRouter.KVMResizeControl, MeshCentralRouter, Version=1.8.8063.22517, Culture=neutral, PublicKeyToken=null + MeshCentralRouter.KVMResizeControl, MeshCentralRouter, Version=1.8.8096.29519, Culture=neutral, PublicKeyToken=null $this @@ -594,6 +588,80 @@ 2 + + 752, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADs + DgAAAk1TRnQBSQFMAgEBBAEAARABAAEQAQABEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABIAMAAQEBAAEQBgABEP8A/wD/AP8A/wD/AP8A/wAiAAH3AV4BpQEUAaUBFAGlARQBpQEUAaUBFAGl + ARQB9wFeEAAB9wFeAaUBFAGlARQBpQEUAaUBFAGlARQBpQEUAfcBXhAAAfcBXgGlARQBpQEUAaUBFAGl + ARQBpQEUAaUBFAH3AV4QAAH3AV4BpQEUAaUBFAGlARQBpQEUAaUBFAGlARQB9wFeEAAB3gF7ARgBYwFr + AS0BYwEQAYQBEAFrAS0BGAFjAd4BexAAAd4BewEYAWMBawEtAYQBEAGEARABawEtARgBYwHeAXsQAAHe + AXsBGAFjAWsBLQFjARABhAEQAWsBLQEYAWMB3gF7EAAB3gF7ARgBYwFrAS0BhAEQAYQBEAFrAS0BGAFj + Ad4BexQAAXsBbwFkARABZAEQAVoBaxgAAXsBbwFjAQwBYwEMAVoBaxgAAXsBbwFkARABZAEQAVoBaxgA + AXsBbwFjAQwBYwEMAVoBawwAAZwBcwH3AV4B9wFeAfcBXgH3AV4B9wFeAWsBLQFiARABYgEQAWoBLQH3 + AV4B9wFeAfcBXgH3AV4B9wFeAZwBcwGcAXMB9wFeAfcBXgH3AV4B9wFeAfcBXgFrAS0BYwEMAWMBDAFr + AS0B9wFeAfcBXgH3AV4B9wFeAfcBXgGcAXMBnAFzAfcBXgH3AV4B9wFeAfcBXgH3AV4BawEtAWIBEAFi + ARABagEtAfcBXgH3AV4B9wFeAfcBXgH3AV4BnAFzAZwBcwH3AV4B9wFeAfcBXgH3AV4B9wFeAWsBLQFj + AQwBYwEMAWsBLQH3AV4B9wFeAfcBXgH3AV4B9wFeAZwBcwErARkB2gEeAdoBHgHaAR4B2gEeAdoBHgHa + AR4B2wEeAdsBHgHbAR4BugEeAboBHgHaAR4BugEeAdoBHgFMARkBCAEhAVIBSgFSAUoBUgFKAVIBSgFS + AUoBUgFKAVIBSgFSAUoBUgFKAVIBSgFSAUoBUgFKAVIBSgFSAUoBKQElASsBGQHaAR4B2gEeAdoBHgHa + AR4B2gEeAdoBHgHbAR4B2wEeAdsBHgG6AR4BugEeAdoBHgG6AR4B2gEeAUwBGQEIASEBUgFKAVIBSgFS + AUoBUgFKAVIBSgFSAUoBUgFKAVIBSgFSAUoBUgFKAVIBSgFSAUoBUgFKAVIBSgEpASUBbAEZAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBbQEZASkBJQG1 + AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAUoBKQFs + ARkBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwFt + ARkBKQElAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBSgEpAWwBGQE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ + ASMBPwEjAW0BGQEpASUBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBtQFWAbUBVgFKASkBbAEZAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBbQEZASkBJQG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBtQFWAbUBVgG1AVYBtQFWAUoBKQFsARkBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwFtARkBKQElAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBSgEpAWwBGQH/ASYBfwEqAX8BKgF/ASoBfwEqAX8BKgH/ + ASYB/wEmAX8BKgF/ASoBfwEqAX8BKgF/ASoB/wEmAW0BGQEpASUBlAJSAUoBUgFKAVIBSgFSAUoBUgFK + AZQBUgGUAlIBSgFSAUoBUgFKAVIBSgFSAUoBlAFSAUoBKQFsARkBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwFtARkBKQElAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBSgEpAWwBGQF/ASoBfwE8AX8BPAF/ + ATwBfwE8AX8BPAF/ASoBfwEqAX8BPAF/ATwBfwE8AX8BPAF/ATwBfwEqAW0BGQEpASUBUgJKASkBSgEp + AUoBKQFKASkBSgEpAVIBSgFSAkoBKQFKASkBSgEpAUoBKQFKASkBUgJKASkBbAEZAT8BIwE/ASMBPwEj + AT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBbQEZASkBJQG1AVYBtQFW + AbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAUoBKQFsARkBfwEq + AX8BPAF/ATwBfwE8AX8BPAF/ATwBfwEqAX8BKgF/ATwBfwE8AX8BPAF/ATwBfwE8AX8BKgFtARkBKQEl + AVICSgEpAUoBKQFKASkBSgEpAUoBKQFSAUoBUgJKASkBSgEpAUoBKQFKASkBSgEpAVICSgEpAWwBGQE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAW0BGQEp + ASUBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgFK + ASkBbAEZAX8BKgF/ATwBfwE8AX8BPAF/ATwBfwE8AX8BKgF/ASoBfwE8AX8BPAF/ATwBfwE8AX8BPAF/ + ASoBbQEZASkBJQFSAkoBKQFKASkBSgEpAUoBKQFKASkBUgFKAVICSgEpAUoBKQFKASkBSgEpAUoBKQFS + AkoBKQFsARkBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEj + AT8BIwFtARkBKQElAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFW + AbUBVgG1AVYBSgEpAWwBGQF/ASoBfwE8AX8BPAF/ATwBfwE8AX8BPAF/ASoBfwEqAX8BPAF/ATwBfwE8 + AX8BPAF/ATwBfwEqAW0BGQEpASUBUgJKASkBSgEpAUoBKQFKASkBSgEpAVIBSgFSAkoBKQFKASkBSgEp + AUoBKQFKASkBUgJKASkBbAEZAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBbQEZASkBJQG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBtQFWAbUBVgG1AVYBtQFWAUoBKQFsARkB/wEmAX8BKgF/ASoBfwEqAX8BKgF/ASoB/wEmAf8BJgF/ + ASoBfwEqAX8BKgF/ASoBfwEqAf8BJgFtARkBKQElAZQCUgFKAVIBSgFSAUoBUgFKAVIBSgGUAVIBlAJS + AUoBUgFKAVIBSgFSAUoBUgFKAZQBUgFKASkBbAEZAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBbQEZASkBJQG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAUoBKQFsARkBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwFtARkBKQElAbUBVgG1AVYBtQFWAbUBVgG1 + AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBSgEpAUwBGQE/ASMBPwEjAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAW0BGQEpASUBtQFWAbUBVgG1 + AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgFKASkBTAEZAT8BIwE/ + ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBPwEjAT8BIwE/ASMBbQEZASkBJQG1 + AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAbUBVgG1AVYBtQFWAUoBKQHw + AT0B6AEYAegBGAHoARgB6AEYAegBGAHoARgB6AEYAegBGAHoARgB6AEYAegBGAHoARgB6AEYAegBGAHv + AT0B7wE9AecBHAHnARwB5wEcAecBHAHnARwB5wEcAecBHAHnARwB5wEcAecBHAHnARwB5wEcAecBHAHn + ARwB7wE9AfABPQHoARgB6AEYAegBGAHoARgB6AEYAegBGAHoARgB6AEYAegBGAHoARgB6AEYAegBGAHo + ARgB6AEYAe8BPQHvAT0B5wEcAecBHAHnARwB5wEcAecBHAHnARwB5wEcAecBHAHnARwB5wEcAecBHAHn + ARwB5wEcAecBHAHvAT0BQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4EAAfABDwHw + AQ8B8AEPAfABDwHwAQ8B8AEPAfABDwHwAQ8B/AE/AfwBPwH8AT8B/AE/aAAL + + True @@ -1085,6 +1153,12 @@ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + displaySelectorImageList + + + System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + KVMViewer diff --git a/MeshCentralRouter.csproj b/MeshCentralRouter.csproj index 341f63f..cf4c028 100644 --- a/MeshCentralRouter.csproj +++ b/MeshCentralRouter.csproj @@ -376,6 +376,7 @@ + diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs index ab5d15a..42ad1d4 100644 --- a/Properties/Resources.Designer.cs +++ b/Properties/Resources.Designer.cs @@ -424,6 +424,16 @@ namespace MeshCentralRouter.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap icon_monitor1 { + get { + object obj = ResourceManager.GetObject("icon-monitor1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/Properties/Resources.resx b/Properties/Resources.resx index e1b095e..dd2d065 100644 --- a/Properties/Resources.resx +++ b/Properties/Resources.resx @@ -120,21 +120,18 @@ CIRA - - Toggle remote desktop connection - - - Unable to open file: {0} + + Change remote desktop settings - - ..\Resources\MeshCentral.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Gear20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - Connect + + ..\Resources\icon-clipboard-in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - {0} Bytes + + ZIP Selected Files Denied @@ -142,12 +139,6 @@ Invalid username or password - - {0} bytes/sec - - - Slow - Display connection statistics @@ -157,14 +148,14 @@ ..\Resources\50-Computer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Almost done + Email sent - - Port {0} to {1}:{2} - - - {0} minutes left + + Rename Failed to start remote terminal session @@ -175,8 +166,8 @@ ..\Resources\Empty-Banner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - PuTTY SSH client + + Received invalid network data {0} Mbytes/sec @@ -184,8 +175,8 @@ ..\Resources\refresh16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - No tools allowed + + ..\Resources\delete16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Send Ctrl-Alt-Del to remote device @@ -193,20 +184,23 @@ Fast - - {0} seconds left + + , Recorded Session Search - - Overwrite 1 file? + + Send token to registered email address? Don't ask for {0} days. - - Rename + + Stopped + + + ..\Resources\MeshCentral.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Connecting... @@ -214,11 +208,14 @@ MeshCentral + + ..\Resources\folderzip.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + Failed to start remote desktop session - - Received invalid network data + + Offline Email verification required @@ -229,20 +226,20 @@ Unable to write file: {0} + + WinSCP client + {0} Kbytes/sec Changing language will close this tool. Are you sure? - - Invalid download. + + Connected - - Remove {0} items? - - - Change remote desktop settings + + Close Send token to registered phone number? @@ -256,17 +253,20 @@ Push local clipboard to remote device - - Unable to bind to local port + + {0} minutes left - - ..\Resources\icon-clipboard-in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Toggle remote desktop connection - - ..\Resources\MC2-Banner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Local - - Error uploading file: {0} + + Join + + + Relay Disconnected @@ -280,8 +280,8 @@ Medium - - Remote - {0} + + PuTTY SSH client Pull clipboard from remote device @@ -295,26 +295,23 @@ Port {0} to port {1} - - Very slow - Remove 1 item? - - , {0} connections. + + Overwrite 1 file? (Individual Devices) - - ..\Resources\xinstall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Split Create Folder - - ..\Resources\arrowright16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + {0} Bytes Updating... @@ -334,8 +331,8 @@ {0} hours left - - ..\Resources\icon-clipboard-out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Invalid download. Waiting for user to grant access... @@ -346,26 +343,29 @@ All Displays - - ..\Resources\HelpRelayMap.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + {0} seconds left - - MeshCentral Router + + ..\Resources\xinstall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Disconnect AMT - - Local + + Port {0} to {1}:{2} - - Relay + + Error uploading file: {0} ..\Resources\icons01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - Unable to connect + + Remove {0} items? Setup... @@ -376,14 +376,17 @@ ..\Resources\arrowleft16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - Close + + Unable to connect - - , {0} users + + Unable to bind to local port - - Disconnect + + No tools allowed + + + ..\Resources\arrowright16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Languages @@ -391,14 +394,17 @@ Local - {0} - - ..\Resources\Gear20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + {0} bytes/sec - - Offline + + ..\Resources\icon-clipboard-out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - , Recorded Session + + Very slow + + + MeshCentral Router {0} Byte @@ -409,49 +415,46 @@ ..\Resources\folderup16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\delete16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Unable to open file: {0} - - WinSCP client + + ..\Resources\MC2-Banner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a , 1 connection. + + Connect + Two-factor Authentication Agent - - Connected + + , {0} connections. + + + Remote - {0} Error downloading file: {0} - - Almost done + + ..\Resources\HelpRelayMap.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Remote - - Send token to registered email address? + + Slow - - Stopped + + , {0} users - - ..\Resources\folderzip.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ZIP Selected Files - - - Join - - - Split + + ..\Resources\icon-monitor1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/Resources/icon-monitor1.png b/Resources/icon-monitor1.png new file mode 100644 index 0000000..76380d0 Binary files /dev/null and b/Resources/icon-monitor1.png differ diff --git a/Resources/icon-monitor1b.png b/Resources/icon-monitor1b.png new file mode 100644 index 0000000..8e7a6e6 Binary files /dev/null and b/Resources/icon-monitor1b.png differ diff --git a/Resources/icon-monitor2.png b/Resources/icon-monitor2.png new file mode 100644 index 0000000..b3b4383 Binary files /dev/null and b/Resources/icon-monitor2.png differ diff --git a/Resources/icon-monitor2b.png b/Resources/icon-monitor2b.png new file mode 100644 index 0000000..7810b97 Binary files /dev/null and b/Resources/icon-monitor2b.png differ diff --git a/Resources/monitor32.png b/Resources/monitor32.png new file mode 100644 index 0000000..d11f874 Binary files /dev/null and b/Resources/monitor32.png differ