1
0
mirror of https://github.com/Ylianst/MeshCentralRouter synced 2025-12-06 00:13:33 +00:00

Many improvements.

This commit is contained in:
Ylian Saint-Hilaire
2020-09-16 14:42:23 -07:00
parent 94a7784af3
commit 2a8d1d3a6c
24 changed files with 549 additions and 189 deletions

View File

@@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddPortMapForm));
this.cancelButton = new System.Windows.Forms.Button();
this.okButton = new System.Windows.Forms.Button();
@@ -44,8 +45,9 @@
this.label6 = new System.Windows.Forms.Label();
this.tcpRadioButton = new System.Windows.Forms.RadioButton();
this.udpRadioButton = new System.Windows.Forms.RadioButton();
this.ruleNameTextBox = new System.Windows.Forms.TextBox();
this.nameTextBox = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.mainToolTip = new System.Windows.Forms.ToolTip(this.components);
((System.ComponentModel.ISupportInitialize)(this.localNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.remoteNumericUpDown)).BeginInit();
this.SuspendLayout();
@@ -171,15 +173,17 @@
this.udpRadioButton.UseVisualStyleBackColor = true;
this.udpRadioButton.CheckedChanged += new System.EventHandler(this.tcpRadioButton_CheckedChanged);
//
// ruleNameTextBox
// nameTextBox
//
resources.ApplyResources(this.ruleNameTextBox, "ruleNameTextBox");
this.ruleNameTextBox.Name = "ruleNameTextBox";
resources.ApplyResources(this.nameTextBox, "nameTextBox");
this.nameTextBox.Name = "nameTextBox";
this.mainToolTip.SetToolTip(this.nameTextBox, resources.GetString("nameTextBox.ToolTip"));
//
// label8
//
resources.ApplyResources(this.label8, "label8");
this.label8.Name = "label8";
this.mainToolTip.SetToolTip(this.label8, resources.GetString("label8.ToolTip"));
//
// AddPortMapForm
//
@@ -187,7 +191,7 @@
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.Controls.Add(this.ruleNameTextBox);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.label8);
this.Controls.Add(this.udpRadioButton);
this.Controls.Add(this.tcpRadioButton);
@@ -233,7 +237,8 @@
private System.Windows.Forms.Label label6;
private System.Windows.Forms.RadioButton tcpRadioButton;
private System.Windows.Forms.RadioButton udpRadioButton;
private System.Windows.Forms.TextBox ruleNameTextBox;
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ToolTip mainToolTip;
}
}

View File

@@ -1,11 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MeshCentralRouter
@@ -21,7 +14,7 @@ namespace MeshCentralRouter
InitializeComponent();
}
public string getRuleName() { return ruleNameTextBox.Text; }
public string getName() { return nameTextBox.Text; }
public int getProtocol() { return (int)(tcpRadioButton.Checked?1:2); }
public int getLocalPort() { return (int)localNumericUpDown.Value; }
public int getRemotePort() { return (int)remoteNumericUpDown.Value; }
@@ -50,12 +43,34 @@ namespace MeshCentralRouter
}
}
// If the user has indivitual device rights, add an extra device group
if (meshcentral.userRights != null)
{
bool indivitualDevices = false;
foreach (string id in meshcentral.userRights.Keys) { if (id.StartsWith("node/")) { indivitualDevices = true; } }
if (indivitualDevices)
{
MeshClass m = new MeshClass();
m.name = Properties.Resources.IndividualDevices;
groupComboBox.Items.Add(m);
}
}
// Set default selection
if (groupComboBox.Items.Count > 0) { groupComboBox.SelectedIndex = 0; }
appComboBox.SelectedIndex = 1;
fillNodesInDropDown();
} else {
groupComboBox.Items.Add(selectedNode.mesh);
if (selectedNode.mesh == null)
{
MeshClass m = new MeshClass();
m.name = Properties.Resources.IndividualDevices;
groupComboBox.Items.Add(m);
}
else
{
groupComboBox.Items.Add(selectedNode.mesh);
}
groupComboBox.SelectedIndex = 0;
groupComboBox.Enabled = false;
nodeComboBox.Items.Add(selectedNode);
@@ -63,6 +78,7 @@ namespace MeshCentralRouter
nodeComboBox.Enabled = false;
appComboBox.SelectedIndex = 1;
}
nameTextBox.Focus();
}
private void fillNodesInDropDown()
@@ -73,10 +89,13 @@ namespace MeshCentralRouter
// Fill the nodes dropdown
nodeComboBox.Items.Clear();
foreach (string nodeid in meshcentral.nodes.Keys)
if (meshcentral.nodes != null)
{
NodeClass node = meshcentral.nodes[nodeid];
if ((node.meshid == mesh.meshid) && ((node.conn & 1) != 0)) { nodeComboBox.Items.Add(node); }
foreach (string nodeid in meshcentral.nodes.Keys)
{
NodeClass node = meshcentral.nodes[nodeid];
if (((node.meshid == mesh.meshid) || ((mesh.meshid == null) && (meshcentral.userRights.ContainsKey(node.nodeid)))) && ((node.conn & 1) != 0)) { nodeComboBox.Items.Add(node); }
}
}
if (nodeComboBox.Items.Count > 0) { nodeComboBox.SelectedIndex = 0; }

View File

@@ -123,7 +123,7 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 194</value>
<value>288, 200</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -151,7 +151,7 @@
<value>Bottom, Right</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>207, 194</value>
<value>207, 200</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -178,7 +178,7 @@
<value>Top, Left, Right</value>
</data>
<data name="localNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 60</value>
<value>157, 63</value>
</data>
<data name="localNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 20</value>
@@ -205,7 +205,7 @@
<value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 62</value>
<value>12, 65</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 13</value>
@@ -232,7 +232,7 @@
<value>Top, Left, Right</value>
</data>
<data name="nodeComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 113</value>
<value>157, 116</value>
</data>
<data name="nodeComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 21</value>
@@ -256,7 +256,7 @@
<value>True</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 116</value>
<value>12, 119</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 13</value>
@@ -283,7 +283,7 @@
<value>True</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 169</value>
<value>12, 172</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 13</value>
@@ -310,7 +310,7 @@
<value>Top, Left, Right</value>
</data>
<data name="remoteNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 167</value>
<value>157, 170</value>
</data>
<data name="remoteNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 20</value>
@@ -337,7 +337,7 @@
<value>True</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 143</value>
<value>12, 146</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 13</value>
@@ -382,7 +382,7 @@
<value>WinSCP</value>
</data>
<data name="appComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 140</value>
<value>157, 143</value>
</data>
<data name="appComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 21</value>
@@ -406,7 +406,7 @@
<value>True</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 89</value>
<value>12, 92</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 13</value>
@@ -433,7 +433,7 @@
<value>Top, Left, Right</value>
</data>
<data name="groupComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 86</value>
<value>157, 89</value>
</data>
<data name="groupComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 21</value>
@@ -457,7 +457,7 @@
<value>True</value>
</data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 36</value>
<value>12, 39</value>
</data>
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 13</value>
@@ -484,7 +484,7 @@
<value>True</value>
</data>
<data name="tcpRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 36</value>
<value>157, 39</value>
</data>
<data name="tcpRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
@@ -511,7 +511,7 @@
<value>True</value>
</data>
<data name="udpRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>209, 36</value>
<value>209, 39</value>
</data>
<data name="udpRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 17</value>
@@ -534,30 +534,39 @@
<data name="&gt;&gt;udpRadioButton.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="ruleNameTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="nameTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="ruleNameTextBox.Location" type="System.Drawing.Point, System.Drawing">
<data name="nameTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 10</value>
</data>
<data name="ruleNameTextBox.Size" type="System.Drawing.Size, System.Drawing">
<data name="nameTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 20</value>
</data>
<data name="ruleNameTextBox.TabIndex" type="System.Int32, mscorlib">
<data name="nameTextBox.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.Name" xml:space="preserve">
<value>ruleNameTextBox</value>
<metadata name="mainToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="nameTextBox.ToolTip" xml:space="preserve">
<value>Optional mapping name</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.Type" xml:space="preserve">
<data name="&gt;&gt;nameTextBox.Name" xml:space="preserve">
<value>nameTextBox</value>
</data>
<data name="&gt;&gt;nameTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.Parent" xml:space="preserve">
<data name="&gt;&gt;nameTextBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.ZOrder" xml:space="preserve">
<data name="&gt;&gt;nameTextBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="mainToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="label8.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -568,13 +577,16 @@
<value>12, 13</value>
</data>
<data name="label8.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 13</value>
<value>35, 13</value>
</data>
<data name="label8.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="label8.Text" xml:space="preserve">
<value>Rule Name</value>
<value>Name</value>
</data>
<data name="label8.ToolTip" xml:space="preserve">
<value>Optional mapping name</value>
</data>
<data name="&gt;&gt;label8.Name" xml:space="preserve">
<value>label8</value>
@@ -595,7 +607,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>375, 229</value>
<value>375, 235</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -2297,6 +2309,12 @@
<data name="$this.Text" xml:space="preserve">
<value>Port Mapping</value>
</data>
<data name="&gt;&gt;mainToolTip.Name" xml:space="preserve">
<value>mainToolTip</value>
</data>
<data name="&gt;&gt;mainToolTip.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AddPortMapForm</value>
</data>

View File

@@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddRelayMapForm));
this.cancelButton = new System.Windows.Forms.Button();
this.okButton = new System.Windows.Forms.Button();
@@ -46,8 +47,9 @@
this.udpRadioButton = new System.Windows.Forms.RadioButton();
this.tcpRadioButton = new System.Windows.Forms.RadioButton();
this.label7 = new System.Windows.Forms.Label();
this.ruleNameTextBox = new System.Windows.Forms.TextBox();
this.nameTextBox = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.mainToolTip = new System.Windows.Forms.ToolTip(this.components);
((System.ComponentModel.ISupportInitialize)(this.localNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.remoteNumericUpDown)).BeginInit();
this.SuspendLayout();
@@ -183,15 +185,17 @@
resources.ApplyResources(this.label7, "label7");
this.label7.Name = "label7";
//
// ruleNameTextBox
// nameTextBox
//
resources.ApplyResources(this.ruleNameTextBox, "ruleNameTextBox");
this.ruleNameTextBox.Name = "ruleNameTextBox";
resources.ApplyResources(this.nameTextBox, "nameTextBox");
this.nameTextBox.Name = "nameTextBox";
this.mainToolTip.SetToolTip(this.nameTextBox, resources.GetString("nameTextBox.ToolTip"));
//
// label8
//
resources.ApplyResources(this.label8, "label8");
this.label8.Name = "label8";
this.mainToolTip.SetToolTip(this.label8, resources.GetString("label8.ToolTip"));
//
// AddRelayMapForm
//
@@ -199,7 +203,7 @@
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.Controls.Add(this.ruleNameTextBox);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.label8);
this.Controls.Add(this.udpRadioButton);
this.Controls.Add(this.tcpRadioButton);
@@ -249,7 +253,8 @@
private System.Windows.Forms.RadioButton udpRadioButton;
private System.Windows.Forms.RadioButton tcpRadioButton;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox ruleNameTextBox;
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ToolTip mainToolTip;
}
}

View File

@@ -1,12 +1,5 @@
using System;
using System.Net;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MeshCentralRouter
@@ -23,7 +16,7 @@ namespace MeshCentralRouter
updateInfo();
}
public string getRuleName() { return ruleNameTextBox.Text; }
public string getName() { return nameTextBox.Text; }
public int getProtocol() { return (int)(tcpRadioButton.Checked ? 1 : 2); }
public int getLocalPort() { return (int)localNumericUpDown.Value; }
public int getRemotePort() { return (int)remoteNumericUpDown.Value; }
@@ -53,12 +46,34 @@ namespace MeshCentralRouter
}
}
// If the user has indivitual device rights, add an extra device group
if (meshcentral.userRights != null)
{
bool indivitualDevices = false;
foreach (string id in meshcentral.userRights.Keys) { if (id.StartsWith("node/")) { indivitualDevices = true; } }
if (indivitualDevices)
{
MeshClass m = new MeshClass();
m.name = Properties.Resources.IndividualDevices;
groupComboBox.Items.Add(m);
}
}
// Set default selection
if (groupComboBox.Items.Count > 0) { groupComboBox.SelectedIndex = 0; }
appComboBox.SelectedIndex = 1;
fillNodesInDropDown();
} else {
groupComboBox.Items.Add(selectedNode.mesh);
if (selectedNode.mesh == null)
{
MeshClass m = new MeshClass();
m.name = Properties.Resources.IndividualDevices;
groupComboBox.Items.Add(m);
}
else
{
groupComboBox.Items.Add(selectedNode.mesh);
}
groupComboBox.SelectedIndex = 0;
groupComboBox.Enabled = false;
nodeComboBox.Items.Add(selectedNode);
@@ -66,6 +81,7 @@ namespace MeshCentralRouter
nodeComboBox.Enabled = false;
appComboBox.SelectedIndex = 1;
}
nameTextBox.Focus();
}
private void fillNodesInDropDown()
@@ -75,10 +91,13 @@ namespace MeshCentralRouter
// Fill the nodes dropdown
nodeComboBox.Items.Clear();
foreach (string nodeid in meshcentral.nodes.Keys)
if (meshcentral.nodes != null)
{
NodeClass node = meshcentral.nodes[nodeid];
if ((node.meshid == mesh.meshid) && ((node.conn & 1) != 0)) { nodeComboBox.Items.Add(node); }
foreach (string nodeid in meshcentral.nodes.Keys)
{
NodeClass node = meshcentral.nodes[nodeid];
if (((node.meshid == mesh.meshid) || ((mesh.meshid == null) && (meshcentral.userRights.ContainsKey(node.nodeid)))) && ((node.conn & 1) != 0)) { nodeComboBox.Items.Add(node); }
}
}
if (nodeComboBox.Items.Count > 0) { nodeComboBox.SelectedIndex = 0; }

View File

@@ -123,7 +123,7 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 220</value>
<value>288, 225</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -151,7 +151,7 @@
<value>Bottom, Right</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>207, 220</value>
<value>207, 225</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -178,7 +178,7 @@
<value>Top, Left, Right</value>
</data>
<data name="localNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 59</value>
<value>157, 63</value>
</data>
<data name="localNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 20</value>
@@ -205,7 +205,7 @@
<value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 61</value>
<value>12, 65</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 13</value>
@@ -232,7 +232,7 @@
<value>Top, Left, Right</value>
</data>
<data name="nodeComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 112</value>
<value>157, 116</value>
</data>
<data name="nodeComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 21</value>
@@ -256,7 +256,7 @@
<value>True</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 115</value>
<value>12, 119</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 13</value>
@@ -283,7 +283,7 @@
<value>True</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 194</value>
<value>12, 198</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 13</value>
@@ -310,7 +310,7 @@
<value>Top, Left, Right</value>
</data>
<data name="remoteNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 192</value>
<value>157, 196</value>
</data>
<data name="remoteNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 20</value>
@@ -337,7 +337,7 @@
<value>True</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 142</value>
<value>12, 146</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 13</value>
@@ -382,7 +382,7 @@
<value>WinSCP</value>
</data>
<data name="appComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 139</value>
<value>157, 143</value>
</data>
<data name="appComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 21</value>
@@ -406,7 +406,7 @@
<value>True</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 169</value>
<value>12, 173</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>57, 13</value>
@@ -433,7 +433,7 @@
<value>Top, Left, Right</value>
</data>
<data name="remoteIpTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 166</value>
<value>157, 170</value>
</data>
<data name="remoteIpTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 20</value>
@@ -463,7 +463,7 @@
<value>True</value>
</data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 88</value>
<value>12, 92</value>
</data>
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 13</value>
@@ -490,7 +490,7 @@
<value>Top, Left, Right</value>
</data>
<data name="groupComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 85</value>
<value>157, 89</value>
</data>
<data name="groupComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 21</value>
@@ -514,7 +514,7 @@
<value>True</value>
</data>
<data name="udpRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>209, 36</value>
<value>209, 39</value>
</data>
<data name="udpRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 17</value>
@@ -541,7 +541,7 @@
<value>True</value>
</data>
<data name="tcpRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 36</value>
<value>157, 39</value>
</data>
<data name="tcpRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
@@ -568,7 +568,7 @@
<value>True</value>
</data>
<data name="label7.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 36</value>
<value>12, 39</value>
</data>
<data name="label7.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 13</value>
@@ -591,28 +591,34 @@
<data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="ruleNameTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="nameTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="ruleNameTextBox.Location" type="System.Drawing.Point, System.Drawing">
<data name="nameTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>157, 10</value>
</data>
<data name="ruleNameTextBox.Size" type="System.Drawing.Size, System.Drawing">
<data name="nameTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>206, 20</value>
</data>
<data name="ruleNameTextBox.TabIndex" type="System.Int32, mscorlib">
<data name="nameTextBox.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.Name" xml:space="preserve">
<value>ruleNameTextBox</value>
<metadata name="mainToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="nameTextBox.ToolTip" xml:space="preserve">
<value>Optional mapping name</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.Type" xml:space="preserve">
<data name="&gt;&gt;nameTextBox.Name" xml:space="preserve">
<value>nameTextBox</value>
</data>
<data name="&gt;&gt;nameTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.Parent" xml:space="preserve">
<data name="&gt;&gt;nameTextBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;ruleNameTextBox.ZOrder" xml:space="preserve">
<data name="&gt;&gt;nameTextBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label8.AutoSize" type="System.Boolean, mscorlib">
@@ -625,13 +631,16 @@
<value>12, 13</value>
</data>
<data name="label8.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 13</value>
<value>35, 13</value>
</data>
<data name="label8.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="label8.Text" xml:space="preserve">
<value>Rule Name</value>
<value>Name</value>
</data>
<data name="label8.ToolTip" xml:space="preserve">
<value>Optional mapping name</value>
</data>
<data name="&gt;&gt;label8.Name" xml:space="preserve">
<value>label8</value>
@@ -652,7 +661,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>375, 255</value>
<value>375, 260</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -2354,6 +2363,12 @@
<data name="$this.Text" xml:space="preserve">
<value>Relay Mapping</value>
</data>
<data name="&gt;&gt;mainToolTip.Name" xml:space="preserve">
<value>mainToolTip</value>
</data>
<data name="&gt;&gt;mainToolTip.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AddRelayMapForm</value>
</data>

View File

@@ -237,7 +237,7 @@
</value>
</data>
<data name="devicePictureBox.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 3</value>
<value>4, 1</value>
</data>
<data name="devicePictureBox.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 50</value>
@@ -266,7 +266,7 @@
<value>Microsoft Sans Serif, 8.25pt, style=Bold</value>
</data>
<data name="deviceNameLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>62, 12</value>
<value>60, 10</value>
</data>
<data name="deviceNameLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>235, 15</value>
@@ -293,7 +293,7 @@
<value>Top, Left, Right</value>
</data>
<data name="deviceStatusLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>62, 32</value>
<value>60, 30</value>
</data>
<data name="deviceStatusLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>235, 15</value>
@@ -338,7 +338,7 @@
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rdpButton.Location" type="System.Drawing.Point, System.Drawing">
<value>367, 6</value>
<value>365, 4</value>
</data>
<data name="rdpButton.Size" type="System.Drawing.Size, System.Drawing">
<value>58, 47</value>
@@ -362,14 +362,14 @@
<value>6</value>
</data>
<metadata name="deviceImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
<value>15, 17</value>
</metadata>
<data name="deviceImageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAy
mgAAAk1TRnQBSQFMAgEBCAEAAXABAAFwAQABMgEAATIBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAHI
mgAAAk1TRnQBSQFMAgEBCAEAAXgBAAF4AQABMgEAATIBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAHI
AwABlgMAAQEBAAEQBQABYAHq/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
@@ -1030,14 +1030,14 @@
</value>
</data>
<metadata name="disabledDeviceImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
<value>125, 17</value>
</metadata>
<data name="disabledDeviceImageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4
mgAAAk1TRnQBSQFMAgEBCAEAAXgBAAF4AQABMgEAATIBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAHI
mgAAAk1TRnQBSQFMAgEBCAEAAYABAAGAAQABMgEAATIBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAHI
AwABlgMAAQEBAAEQBQABYAHq/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
@@ -1722,7 +1722,7 @@
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="httpsButton.Location" type="System.Drawing.Point, System.Drawing">
<value>303, 6</value>
<value>301, 4</value>
</data>
<data name="httpsButton.Size" type="System.Drawing.Size, System.Drawing">
<value>58, 23</value>
@@ -1749,7 +1749,7 @@
<value>Top, Right</value>
</data>
<data name="httpButton.Location" type="System.Drawing.Point, System.Drawing">
<value>303, 30</value>
<value>301, 28</value>
</data>
<data name="httpButton.Size" type="System.Drawing.Size, System.Drawing">
<value>58, 23</value>
@@ -1776,7 +1776,7 @@
<value>Top, Right</value>
</data>
<data name="scpButton.Location" type="System.Drawing.Point, System.Drawing">
<value>367, 30</value>
<value>365, 28</value>
</data>
<data name="scpButton.Size" type="System.Drawing.Size, System.Drawing">
<value>58, 23</value>
@@ -1803,7 +1803,7 @@
<value>Top, Right</value>
</data>
<data name="sshButton.Location" type="System.Drawing.Point, System.Drawing">
<value>367, 6</value>
<value>365, 4</value>
</data>
<data name="sshButton.Size" type="System.Drawing.Size, System.Drawing">
<value>58, 23</value>
@@ -1833,7 +1833,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>429, 56</value>
<value>425, 52</value>
</data>
<data name="&gt;&gt;setRDPPortToolStripMenuItem.Name" xml:space="preserve">
<value>setRDPPortToolStripMenuItem</value>

View File

@@ -545,6 +545,7 @@ namespace MeshCentralRouter
private void KVMControl_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == Keys.LWin) || (e.KeyCode == Keys.RWin)) return; // Don't process the Windows key
SendKey(e, 0);
e.Handled = true;
}

52
KVMViewer.Designer.cs generated
View File

@@ -51,6 +51,9 @@ 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.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();
@@ -58,7 +61,7 @@ namespace MeshCentralRouter
this.connectButton = new System.Windows.Forms.Button();
this.consoleMessage = new System.Windows.Forms.Label();
this.consoleTimer = new System.Windows.Forms.Timer(this.components);
this.statsButton = new System.Windows.Forms.Button();
this.mainToolTip = new System.Windows.Forms.ToolTip(this.components);
this.resizeKvmControl = new MeshCentralRouter.KVMResizeControl();
this.mainStatusStrip.SuspendLayout();
this.topPanel.SuspendLayout();
@@ -93,6 +96,8 @@ namespace MeshCentralRouter
// topPanel
//
this.topPanel.BackColor = System.Drawing.SystemColors.Control;
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);
@@ -102,6 +107,35 @@ namespace MeshCentralRouter
resources.ApplyResources(this.topPanel, "topPanel");
this.topPanel.Name = "topPanel";
//
// clipOutboundButton
//
resources.ApplyResources(this.clipOutboundButton, "clipOutboundButton");
this.clipOutboundButton.Image = global::MeshCentralRouter.Properties.Resources.icon_clipboard_out;
this.clipOutboundButton.Name = "clipOutboundButton";
this.clipOutboundButton.TabStop = false;
this.mainToolTip.SetToolTip(this.clipOutboundButton, resources.GetString("clipOutboundButton.ToolTip"));
this.clipOutboundButton.UseVisualStyleBackColor = true;
this.clipOutboundButton.Click += new System.EventHandler(this.clipOutboundButton_Click);
//
// clipInboundButton
//
resources.ApplyResources(this.clipInboundButton, "clipInboundButton");
this.clipInboundButton.Image = global::MeshCentralRouter.Properties.Resources.icon_clipboard_in;
this.clipInboundButton.Name = "clipInboundButton";
this.clipInboundButton.TabStop = false;
this.mainToolTip.SetToolTip(this.clipInboundButton, resources.GetString("clipInboundButton.ToolTip"));
this.clipInboundButton.UseVisualStyleBackColor = true;
this.clipInboundButton.Click += new System.EventHandler(this.clipInboundButton_Click);
//
// statsButton
//
resources.ApplyResources(this.statsButton, "statsButton");
this.statsButton.Name = "statsButton";
this.statsButton.TabStop = false;
this.mainToolTip.SetToolTip(this.statsButton, resources.GetString("statsButton.ToolTip"));
this.statsButton.UseVisualStyleBackColor = true;
this.statsButton.Click += new System.EventHandler(this.statsButton_Click);
//
// displaySelectComboBox
//
this.displaySelectComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@@ -115,14 +149,17 @@ namespace MeshCentralRouter
resources.ApplyResources(this.settingsButton, "settingsButton");
this.settingsButton.Name = "settingsButton";
this.settingsButton.TabStop = false;
this.mainToolTip.SetToolTip(this.settingsButton, resources.GetString("settingsButton.ToolTip"));
this.settingsButton.UseVisualStyleBackColor = true;
this.settingsButton.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click);
//
// zoomButton
//
resources.ApplyResources(this.zoomButton, "zoomButton");
this.zoomButton.Image = global::MeshCentralRouter.Properties.Resources.ZoomToFit;
this.zoomButton.Name = "zoomButton";
this.zoomButton.TabStop = false;
this.mainToolTip.SetToolTip(this.zoomButton, resources.GetString("zoomButton.ToolTip"));
this.zoomButton.UseVisualStyleBackColor = true;
this.zoomButton.Click += new System.EventHandler(this.zoomButton_Click);
//
@@ -131,6 +168,7 @@ namespace MeshCentralRouter
resources.ApplyResources(this.cadButton, "cadButton");
this.cadButton.Name = "cadButton";
this.cadButton.TabStop = false;
this.mainToolTip.SetToolTip(this.cadButton, resources.GetString("cadButton.ToolTip"));
this.cadButton.UseVisualStyleBackColor = true;
this.cadButton.Click += new System.EventHandler(this.sendCtrlAltDelToolStripMenuItem_Click);
//
@@ -139,6 +177,7 @@ namespace MeshCentralRouter
resources.ApplyResources(this.connectButton, "connectButton");
this.connectButton.Name = "connectButton";
this.connectButton.TabStop = false;
this.mainToolTip.SetToolTip(this.connectButton, resources.GetString("connectButton.ToolTip"));
this.connectButton.UseVisualStyleBackColor = true;
this.connectButton.Click += new System.EventHandler(this.MenuItemDisconnect_Click);
//
@@ -153,14 +192,6 @@ namespace MeshCentralRouter
this.consoleTimer.Interval = 5000;
this.consoleTimer.Tick += new System.EventHandler(this.consoleTimer_Tick);
//
// statsButton
//
resources.ApplyResources(this.statsButton, "statsButton");
this.statsButton.Name = "statsButton";
this.statsButton.TabStop = false;
this.statsButton.UseVisualStyleBackColor = true;
this.statsButton.Click += new System.EventHandler(this.statsButton_Click);
//
// resizeKvmControl
//
this.resizeKvmControl.BackColor = System.Drawing.Color.Gray;
@@ -206,6 +237,9 @@ namespace MeshCentralRouter
private Label consoleMessage;
private Timer consoleTimer;
private Button statsButton;
private Button clipInboundButton;
private Button clipOutboundButton;
private ToolTip mainToolTip;
}
}

View File

@@ -101,7 +101,10 @@ namespace MeshCentralRouter
randomIdHex = BitConverter.ToString(randomid).Replace("-", string.Empty);
state = 1;
Uri u = new Uri(server.wsurl.ToString().Replace("/control.ashx", "/") + "meshrelay.ashx?browser=1&p=2&nodeid=" + node.nodeid + "&id=" + randomIdHex + "&auth=" + server.authCookie);
string ux = server.wsurl.ToString().Replace("/control.ashx", "/");
int i = ux.IndexOf("?");
if (i >= 0) { ux = ux.Substring(0, i); }
Uri u = new Uri(ux + "meshrelay.ashx?browser=1&p=2&nodeid=" + node.nodeid + "&id=" + randomIdHex + "&auth=" + server.authCookie);
wc = new webSocketClient();
wc.onStateChanged += Wc_onStateChanged;
wc.onBinaryData += Wc_onBinaryData;
@@ -267,6 +270,8 @@ namespace MeshCentralRouter
}
cadButton.Enabled = (state == 3);
clipInboundButton.Enabled = (state == 3);
clipOutboundButton.Enabled = (state == 3);
}
private void updateTimer_Tick(object sender, EventArgs e)
@@ -458,5 +463,22 @@ namespace MeshCentralRouter
kvmStats.Close();
kvmStats = null;
}
private void clipInboundButton_Click(object sender, EventArgs e)
{
//string textData = "abc";
//Clipboard.SetData(DataFormats.Text, (Object)textData);
server.sendCommand("{\"action\":\"msg\",\"type\":\"getclip\",\"nodeid\":\"" + node.nodeid + "\"}");
}
private void clipOutboundButton_Click(object sender, EventArgs e)
{
string textData = (string)Clipboard.GetData(DataFormats.Text);
if (textData != null)
{
textData = textData.Replace("\\", "\\\\").Replace("\"", "\\\"");
server.sendCommand("{\"action\":\"msg\",\"type\":\"setclip\",\"nodeid\":\"" + node.nodeid + "\",\"data\":\"" + textData + "\"}");
}
}
}
}

View File

@@ -167,7 +167,70 @@
<metadata name="updateTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>264, 17</value>
</metadata>
<data name="clipOutboundButton.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="clipOutboundButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="clipOutboundButton.Location" type="System.Drawing.Point, System.Drawing">
<value>324, 3</value>
</data>
<data name="clipOutboundButton.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 26</value>
</data>
<data name="clipOutboundButton.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<metadata name="mainToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>509, 17</value>
</metadata>
<data name="clipOutboundButton.ToolTip" xml:space="preserve">
<value>Push local clipboard to remote device</value>
</data>
<data name="&gt;&gt;clipOutboundButton.Name" xml:space="preserve">
<value>clipOutboundButton</value>
</data>
<data name="&gt;&gt;clipOutboundButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;clipOutboundButton.Parent" xml:space="preserve">
<value>topPanel</value>
</data>
<data name="&gt;&gt;clipOutboundButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="clipInboundButton.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="clipInboundButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="clipInboundButton.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 3</value>
</data>
<data name="clipInboundButton.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 26</value>
</data>
<data name="clipInboundButton.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="clipInboundButton.ToolTip" xml:space="preserve">
<value>Pull clipboard from remote device</value>
</data>
<data name="&gt;&gt;clipInboundButton.Name" xml:space="preserve">
<value>clipInboundButton</value>
</data>
<data name="&gt;&gt;clipInboundButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;clipInboundButton.Parent" xml:space="preserve">
<value>topPanel</value>
</data>
<data name="&gt;&gt;clipInboundButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="statsButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
@@ -186,6 +249,9 @@
<data name="statsButton.Text" xml:space="preserve">
<value>Stats</value>
</data>
<data name="statsButton.ToolTip" xml:space="preserve">
<value>Display connection statistics</value>
</data>
<data name="&gt;&gt;statsButton.Name" xml:space="preserve">
<value>statsButton</value>
</data>
@@ -196,10 +262,10 @@
<value>topPanel</value>
</data>
<data name="&gt;&gt;statsButton.ZOrder" xml:space="preserve">
<value>0</value>
<value>2</value>
</data>
<data name="displaySelectComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>383, 5</value>
<value>360, 5</value>
</data>
<data name="displaySelectComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>128, 21</value>
@@ -220,13 +286,13 @@
<value>topPanel</value>
</data>
<data name="&gt;&gt;displaySelectComboBox.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="settingsButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="settingsButton.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 3</value>
<value>193, 3</value>
</data>
<data name="settingsButton.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 26</value>
@@ -237,6 +303,9 @@
<data name="settingsButton.Text" xml:space="preserve">
<value>Settings</value>
</data>
<data name="settingsButton.ToolTip" xml:space="preserve">
<value>Change remote desktop settings</value>
</data>
<data name="&gt;&gt;settingsButton.Name" xml:space="preserve">
<value>settingsButton</value>
</data>
@@ -247,22 +316,25 @@
<value>topPanel</value>
</data>
<data name="&gt;&gt;settingsButton.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<data name="zoomButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="zoomButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="zoomButton.Location" type="System.Drawing.Point, System.Drawing">
<value>193, 3</value>
<value>953, 3</value>
</data>
<data name="zoomButton.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 26</value>
<value>30, 26</value>
</data>
<data name="zoomButton.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="zoomButton.Text" xml:space="preserve">
<value>Zoom-to-Fit</value>
<data name="zoomButton.ToolTip" xml:space="preserve">
<value>Toggle zoom-to-fit mode</value>
</data>
<data name="&gt;&gt;zoomButton.Name" xml:space="preserve">
<value>zoomButton</value>
@@ -274,7 +346,10 @@
<value>topPanel</value>
</data>
<data name="&gt;&gt;zoomButton.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="cadButton.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="cadButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -291,6 +366,9 @@
<data name="cadButton.Text" xml:space="preserve">
<value>Ctrl-Alt-Del</value>
</data>
<data name="cadButton.ToolTip" xml:space="preserve">
<value>Send Ctrl-Alt-Del to remote device</value>
</data>
<data name="&gt;&gt;cadButton.Name" xml:space="preserve">
<value>cadButton</value>
</data>
@@ -301,7 +379,7 @@
<value>topPanel</value>
</data>
<data name="&gt;&gt;cadButton.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="connectButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -318,6 +396,9 @@
<data name="connectButton.Text" xml:space="preserve">
<value>Connect</value>
</data>
<data name="connectButton.ToolTip" xml:space="preserve">
<value>Toggle remote desktop connection</value>
</data>
<data name="&gt;&gt;connectButton.Name" xml:space="preserve">
<value>connectButton</value>
</data>
@@ -328,7 +409,7 @@
<value>topPanel</value>
</data>
<data name="&gt;&gt;connectButton.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="topPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
@@ -412,7 +493,7 @@
<value>resizeKvmControl</value>
</data>
<data name="&gt;&gt;resizeKvmControl.Type" xml:space="preserve">
<value>MeshCentralRouter.KVMResizeControl, MeshCentralRouter, Version=1.0.7533.35016, Culture=neutral, PublicKeyToken=null</value>
<value>MeshCentralRouter.KVMResizeControl, MeshCentralRouter, Version=1.0.7564.25887, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;resizeKvmControl.Parent" xml:space="preserve">
<value>$this</value>
@@ -887,6 +968,12 @@
<data name="&gt;&gt;consoleTimer.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;mainToolTip.Name" xml:space="preserve">
<value>mainToolTip</value>
</data>
<data name="&gt;&gt;mainToolTip.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>KVMViewer</value>
</data>

19
MainForm.Designer.cs generated
View File

@@ -90,6 +90,7 @@
this.addMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addRelayMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
this.remoteDesktopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.httpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.httpsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.rdpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -123,7 +124,7 @@
this.saveMappingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openMapFileDialog = new System.Windows.Forms.OpenFileDialog();
this.saveMapFileDialog = new System.Windows.Forms.SaveFileDialog();
this.remoteDesktopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.rememberCertCheckBox = new System.Windows.Forms.CheckBox();
this.panel5.SuspendLayout();
this.mainPanel.SuspendLayout();
this.mainTabControl.SuspendLayout();
@@ -394,6 +395,7 @@
//
// panel3
//
this.panel3.Controls.Add(this.rememberCertCheckBox);
this.panel3.Controls.Add(this.certDetailsTextBox);
this.panel3.Controls.Add(this.certDetailsButton);
this.panel3.Controls.Add(this.label4);
@@ -616,6 +618,12 @@
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
resources.ApplyResources(this.toolStripMenuItem3, "toolStripMenuItem3");
//
// remoteDesktopToolStripMenuItem
//
this.remoteDesktopToolStripMenuItem.Name = "remoteDesktopToolStripMenuItem";
resources.ApplyResources(this.remoteDesktopToolStripMenuItem, "remoteDesktopToolStripMenuItem");
this.remoteDesktopToolStripMenuItem.Click += new System.EventHandler(this.remoteDesktopToolStripMenuItem_Click);
//
// httpToolStripMenuItem
//
this.httpToolStripMenuItem.Name = "httpToolStripMenuItem";
@@ -847,11 +855,11 @@
this.saveMapFileDialog.DefaultExt = "mcrouter";
resources.ApplyResources(this.saveMapFileDialog, "saveMapFileDialog");
//
// remoteDesktopToolStripMenuItem
// rememberCertCheckBox
//
this.remoteDesktopToolStripMenuItem.Name = "remoteDesktopToolStripMenuItem";
resources.ApplyResources(this.remoteDesktopToolStripMenuItem, "remoteDesktopToolStripMenuItem");
this.remoteDesktopToolStripMenuItem.Click += new System.EventHandler(this.remoteDesktopToolStripMenuItem_Click);
resources.ApplyResources(this.rememberCertCheckBox, "rememberCertCheckBox");
this.rememberCertCheckBox.Name = "rememberCertCheckBox";
this.rememberCertCheckBox.UseVisualStyleBackColor = true;
//
// MainForm
//
@@ -996,6 +1004,7 @@
private System.Windows.Forms.ToolStripMenuItem addRelayMapToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
private System.Windows.Forms.ToolStripMenuItem remoteDesktopToolStripMenuItem;
private System.Windows.Forms.CheckBox rememberCertCheckBox;
}
}

View File

@@ -285,7 +285,6 @@ namespace MeshCentralRouter
private void backButton5_Click(object sender, EventArgs e)
{
authLoginUrl = null;
meshcentral.disconnect();
}
@@ -314,7 +313,16 @@ namespace MeshCentralRouter
meshcentral.onStateChanged += Meshcentral_onStateChanged;
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); }
meshcentral.onClipboardData += Meshcentral_onClipboardData;
if (lastBadConnectCert != null)
{
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
}
else
{
string ignoreCert = loadFromRegistry("IgnoreCert");
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
}
Uri serverurl = null;
if (authLoginUrl != null) {
@@ -329,8 +337,17 @@ namespace MeshCentralRouter
}
}
private void Meshcentral_onClipboardData(string nodeid, string data)
{
if (this.InvokeRequired) { this.Invoke(new MeshCentralServer.onClipboardDataHandler(Meshcentral_onClipboardData), nodeid, data); return; }
Clipboard.SetData(DataFormats.Text, (Object)data);
}
private void nextButton3_Click(object sender, EventArgs e)
{
// If we need to remember this certificate
if (rememberCertCheckBox.Checked) { saveToRegistry("IgnoreCert", lastBadConnectCert.GetCertHashString()); }
// Attempt to login, ignore bad cert.
addButton.Enabled = false;
addRelayButton.Enabled = false;
@@ -341,6 +358,7 @@ namespace MeshCentralRouter
meshcentral.onStateChanged += Meshcentral_onStateChanged;
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
meshcentral.onClipboardData += Meshcentral_onClipboardData;
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
Uri serverurl = null;
@@ -618,6 +636,7 @@ namespace MeshCentralRouter
meshcentral.onStateChanged -= Meshcentral_onStateChanged;
meshcentral.onNodesChanged -= Meshcentral_onNodesChanged;
meshcentral = null;
authLoginUrl = null;
} else if (state == 1) {
stateLabel.Visible = false;
//setPanel(1);
@@ -815,7 +834,7 @@ namespace MeshCentralRouter
MapUserControl map = new MapUserControl();
map.xdebug = debug;
map.inaddrany = inaddrany;
map.ruleName = form.getRuleName();
map.name = form.getName();
map.protocol = form.getProtocol();
map.localPort = form.getLocalPort();
map.remotePort = form.getRemotePort();
@@ -863,10 +882,16 @@ namespace MeshCentralRouter
meshcentral = new MeshCentralServer();
meshcentral.debug = debug;
meshcentral.ignoreCert = ignoreCert;
if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); }
if (lastBadConnectCert != null) {
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
} else {
string ignoreCert = loadFromRegistry("IgnoreCert");
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
}
meshcentral.onStateChanged += Meshcentral_onStateChanged;
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
meshcentral.onClipboardData += Meshcentral_onClipboardData;
if (sendEmailToken == true)
{
sendEmailToken = false;
@@ -943,7 +968,7 @@ namespace MeshCentralRouter
MapUserControl map = new MapUserControl();
map.xdebug = debug;
map.inaddrany = inaddrany;
map.ruleName = form.getRuleName();
map.name = form.getName();
map.protocol = form.getProtocol();
map.localPort = form.getLocalPort();
map.remotePort = form.getRemotePort();
@@ -1244,7 +1269,7 @@ namespace MeshCentralRouter
MapUserControl map = new MapUserControl();
map.xdebug = debug;
map.inaddrany = inaddrany;
map.ruleName = x["ruleName"].ToString();
if (x.ContainsKey("name")) { map.name = x["name"].ToString(); } else { map.name = ""; }
map.protocol = (int)x["protocol"];
map.localPort = (int)x["localPort"];
if (x.ContainsKey("remoteIP")) { map.remoteIP = (string)x["remoteIP"]; }
@@ -1286,7 +1311,7 @@ namespace MeshCentralRouter
MeshMapper map = ((MapUserControl)c).mapper;
if (mapCounter == 0) { text += " {\r\n"; } else { text += ",\r\n {\r\n"; }
text += " \"nodeName\": \"" + mapCtrl.node.name + "\",\r\n";
text += " \"ruleName\": \"" + mapCtrl.ruleName + "\",\r\n";
if ((mapCtrl.name != null) && (mapCtrl.name != "")) { text += " \"name\": \"" + mapCtrl.name + "\",\r\n"; }
text += " \"meshId\": \"" + mapCtrl.node.meshid + "\",\r\n";
text += " \"nodeId\": \"" + mapCtrl.node.nodeid + "\",\r\n";
text += " \"appId\": " + mapCtrl.appId + ",\r\n";

View File

@@ -948,6 +948,36 @@
<data name="&gt;&gt;tabPage2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="rememberCertCheckBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="rememberCertCheckBox.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="rememberCertCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>208, 255</value>
</data>
<data name="rememberCertCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>145, 17</value>
</data>
<data name="rememberCertCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>26</value>
</data>
<data name="rememberCertCheckBox.Text" xml:space="preserve">
<value>Remember this certificate</value>
</data>
<data name="&gt;&gt;rememberCertCheckBox.Name" xml:space="preserve">
<value>rememberCertCheckBox</value>
</data>
<data name="&gt;&gt;rememberCertCheckBox.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rememberCertCheckBox.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;rememberCertCheckBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="certDetailsTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
@@ -976,7 +1006,7 @@
<value>panel3</value>
</data>
<data name="&gt;&gt;certDetailsTextBox.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="certDetailsButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@@ -1006,7 +1036,7 @@
<value>panel3</value>
</data>
<data name="&gt;&gt;certDetailsButton.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="label4.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -1042,7 +1072,7 @@
<value>panel3</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="label5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -1072,7 +1102,7 @@
<value>panel3</value>
</data>
<data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="backButton3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
@@ -1102,7 +1132,7 @@
<value>panel3</value>
</data>
<data name="&gt;&gt;backButton3.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="nextButton3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
@@ -1132,7 +1162,7 @@
<value>panel3</value>
</data>
<data name="&gt;&gt;nextButton3.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="pictureBox5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
@@ -1162,7 +1192,7 @@
<value>panel3</value>
</data>
<data name="&gt;&gt;pictureBox5.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
@@ -1393,7 +1423,7 @@
<value>SCP</value>
</data>
<data name="devicesContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>171, 208</value>
<value>171, 186</value>
</data>
<data name="&gt;&gt;devicesContextMenuStrip.Name" xml:space="preserve">
<value>devicesContextMenuStrip</value>
@@ -1409,7 +1439,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADg
HQAAAk1TRnQBSQFMAgEBEAEAATABAAEQAQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
HQAAAk1TRnQBSQFMAgEBEAEAARgBAAEYAQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABUAMAAQEBAAEYBgABPP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AJYAA/0D+AP3A/sD/yEAA/0D+gP5
A/wD/xgAAfoB+wH6A/4qAAP9A/8tAAP7A88D1QPbA88D1AO+A9QYAAP8A90D4APjA90D4APUA+MSAAP8
AZEBjwF9AU4BaAEhAfQB9QH0JAAD/gPRA8YD+ioAAcYCxwHPAtAB2ALZA90DywPBA68DmgP3FQAD2APd
@@ -1576,7 +1606,7 @@
<value>2, 88</value>
</data>
<data name="noSearchResultsLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>450, 52</value>
<value>446, 52</value>
</data>
<data name="noSearchResultsLabel.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -1615,7 +1645,7 @@
<value>2, 88</value>
</data>
<data name="noDevicesLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>450, 52</value>
<value>446, 52</value>
</data>
<data name="noDevicesLabel.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -1705,7 +1735,7 @@
<value>2, 79</value>
</data>
<data name="noMapLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>450, 52</value>
<value>446, 52</value>
</data>
<data name="noMapLabel.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -5739,6 +5769,12 @@ Click "Add" to get started.</value>
<data name="&gt;&gt;toolStripMenuItem3.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;remoteDesktopToolStripMenuItem.Name" xml:space="preserve">
<value>remoteDesktopToolStripMenuItem</value>
</data>
<data name="&gt;&gt;remoteDesktopToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;httpToolStripMenuItem.Name" xml:space="preserve">
<value>httpToolStripMenuItem</value>
</data>
@@ -5841,12 +5877,6 @@ Click "Add" to get started.</value>
<data name="&gt;&gt;saveMapFileDialog.Type" xml:space="preserve">
<value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;remoteDesktopToolStripMenuItem.Name" xml:space="preserve">
<value>remoteDesktopToolStripMenuItem</value>
</data>
<data name="&gt;&gt;remoteDesktopToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>MainForm</value>
</data>

View File

@@ -14,7 +14,7 @@ namespace MeshCentralRouter
{
public partial class MapUserControl : UserControl
{
public string ruleName;
public string name;
public int protocol;
public int localPort;
public string remoteIP = null;
@@ -46,9 +46,9 @@ namespace MeshCentralRouter
public void UpdateInfo()
{
if(this.ruleName != null)
if ((name != null) && (name != ""))
{
deviceNameLabel.Text = node.name + ": " + this.ruleName;
deviceNameLabel.Text = node.name + ": " + this.name;
}
else
{

View File

@@ -119,7 +119,7 @@
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="devicePictureBox.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 3</value>
<value>5, 3</value>
</data>
<data name="devicePictureBox.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 50</value>
@@ -151,10 +151,10 @@
<value>NoControl</value>
</data>
<data name="deviceNameLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>62, 12</value>
<value>60, 11</value>
</data>
<data name="deviceNameLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>294, 15</value>
<value>280, 15</value>
</data>
<data name="deviceNameLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -181,10 +181,10 @@
<value>NoControl</value>
</data>
<data name="routingStatusLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>62, 32</value>
<value>60, 31</value>
</data>
<data name="routingStatusLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>294, 15</value>
<value>280, 15</value>
</data>
<data name="routingStatusLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -208,7 +208,7 @@
<value>Top, Right</value>
</data>
<data name="appButton.Location" type="System.Drawing.Point, System.Drawing">
<value>348, 6</value>
<value>346, 4</value>
</data>
<data name="appButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -235,7 +235,7 @@
<value>Top, Right</value>
</data>
<data name="closeButton.Location" type="System.Drawing.Point, System.Drawing">
<value>348, 30</value>
<value>346, 28</value>
</data>
<data name="closeButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -266,7 +266,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAy
mgAAAk1TRnQBSQFMAgEBCAEAAUgBAAFIAQABMgEAATIBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAHI
mgAAAk1TRnQBSQFMAgEBCAEAAVABAAFQAQABMgEAATIBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAHI
AwABlgMAAQEBAAEQBQABYAHq/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
@@ -929,14 +929,8 @@
<metadata name="mainContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>156, 17</value>
</metadata>
<data name="statsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
</data>
<data name="statsToolStripMenuItem.Text" xml:space="preserve">
<value>Stats...</value>
</data>
<data name="mainContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 48</value>
<value>109, 26</value>
</data>
<data name="&gt;&gt;mainContextMenuStrip.Name" xml:space="preserve">
<value>mainContextMenuStrip</value>
@@ -944,6 +938,12 @@
<data name="&gt;&gt;mainContextMenuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="statsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>108, 22</value>
</data>
<data name="statsToolStripMenuItem.Text" xml:space="preserve">
<value>Stats...</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -951,7 +951,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>429, 56</value>
<value>425, 58</value>
</data>
<data name="&gt;&gt;deviceImageList.Name" xml:space="preserve">
<value>deviceImageList</value>

View File

@@ -722,6 +722,9 @@
</ItemGroup>
<ItemGroup>
<Content Include="MeshServer.ico" />
<None Include="Resources\ZoomToFit.png" />
<None Include="Resources\icon-clipboard-out.png" />
<None Include="Resources\icon-clipboard-in.png" />
<None Include="Resources\50-Computer.png" />
</ItemGroup>
<ItemGroup>

View File

@@ -554,6 +554,21 @@ namespace MeshCentralRouter
if ((onNodesChanged != null) && (nodes != null)) onNodesChanged(true);
break;
}
case "msg":
{
if (jsonAction.ContainsKey("type"))
{
string type = (string)jsonAction["type"];
if ((type == "getclip") && (jsonAction.ContainsKey("data")) && (jsonAction.ContainsKey("nodeid")))
{
// We requested the remote clipboard
string nodeid = (string)jsonAction["nodeid"];
string clipData = (string)jsonAction["data"];
if (onClipboardData != null) { onClipboardData(nodeid, clipData); }
}
}
break;
}
default:
{
break;
@@ -569,6 +584,8 @@ namespace MeshCentralRouter
public event onNodeListChangedHandler onNodesChanged;
public delegate void onLoginTokenChangedHandler();
public event onLoginTokenChangedHandler onLoginTokenChanged;
public delegate void onClipboardDataHandler(string nodeid, string data);
public event onClipboardDataHandler onClipboardData;
public class xwebclient : IDisposable
{

View File

@@ -165,6 +165,26 @@ namespace MeshCentralRouter.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap icon_clipboard_in {
get {
object obj = ResourceManager.GetObject("icon-clipboard-in", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap icon_clipboard_out {
get {
object obj = ResourceManager.GetObject("icon-clipboard-out", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -175,6 +195,15 @@ namespace MeshCentralRouter.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to (Individual Devices).
/// </summary>
internal static string IndividualDevices {
get {
return ResourceManager.GetString("IndividualDevices", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Invalid username or password.
/// </summary>
@@ -402,5 +431,15 @@ namespace MeshCentralRouter.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap ZoomToFit {
get {
object obj = ResourceManager.GetObject("ZoomToFit", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -124,6 +124,9 @@
<data name="Folder36" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Folder36.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LanguagesTitle" xml:space="preserve">
<value>Languages</value>
</data>
<data name="SearchPlaceHolder" xml:space="preserve">
<value>Search</value>
</data>
@@ -145,9 +148,6 @@
<data name="LanguagesChanging" xml:space="preserve">
<value>Changing language will close this tool. Are you sure?</value>
</data>
<data name="Starting" xml:space="preserve">
<value>Starting...</value>
</data>
<data name="UnableToConnect" xml:space="preserve">
<value>Unable to connect</value>
</data>
@@ -166,6 +166,9 @@
<data name="MeshCentral" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MeshCentral.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icon-clipboard-out" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icon-clipboard-out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Offline" xml:space="preserve">
<value>Offline</value>
</data>
@@ -199,34 +202,43 @@
<data name="ManyConnections" xml:space="preserve">
<value>, {0} connections.</value>
</data>
<data name="icons01" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Starting" xml:space="preserve">
<value>Starting...</value>
</data>
<data name="50-Computer" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\50-Computer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="IndividualDevices" xml:space="preserve">
<value>(Individual Devices)</value>
</data>
<data name="TwoFactorAuthentication" xml:space="preserve">
<value>Two-factor Authentication</value>
</data>
<data name="MQTT" xml:space="preserve">
<value>MQTT</value>
</data>
<data name="MeshCentralTitle" xml:space="preserve">
<value>MeshCentral</value>
</data>
<data name="LanguagesTitle" xml:space="preserve">
<value>Languages</value>
<data name="MQTT" xml:space="preserve">
<value>MQTT</value>
</data>
<data name="EmptyBanner" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Empty-Banner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons01" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="OneConnection" xml:space="preserve">
<value>, 1 connection.</value>
</data>
<data name="UnableToBindToLocalPort" xml:space="preserve">
<value>Unable to bind to local port</value>
</data>
<data name="icon-clipboard-in" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icon-clipboard-in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="InvalidUsernameOrPassword" xml:space="preserve">
<value>Invalid username or password</value>
</data>
<data name="50-Computer" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\50-Computer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ZoomToFit" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZoomToFit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 37 KiB

BIN
Resources/ZoomToFit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B