diff --git a/DeviceSettingsForm.Designer.cs b/DeviceSettingsForm.Designer.cs index fc1b007..2a9e9eb 100644 --- a/DeviceSettingsForm.Designer.cs +++ b/DeviceSettingsForm.Designer.cs @@ -34,6 +34,7 @@ this.label1 = new System.Windows.Forms.Label(); this.okButton = new System.Windows.Forms.Button(); this.cancelButton = new System.Windows.Forms.Button(); + this.systemTrayCheckBox = new System.Windows.Forms.CheckBox(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // @@ -42,11 +43,12 @@ this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox1.Controls.Add(this.systemTrayCheckBox); this.groupBox1.Controls.Add(this.doubleClickComboBox); this.groupBox1.Controls.Add(this.label1); this.groupBox1.Location = new System.Drawing.Point(12, 12); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(294, 81); + this.groupBox1.Size = new System.Drawing.Size(294, 99); this.groupBox1.TabIndex = 5; this.groupBox1.TabStop = false; this.groupBox1.Text = "Settings"; @@ -82,7 +84,7 @@ // this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.okButton.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.okButton.Location = new System.Drawing.Point(150, 99); + this.okButton.Location = new System.Drawing.Point(150, 117); this.okButton.Name = "okButton"; this.okButton.Size = new System.Drawing.Size(75, 23); this.okButton.TabIndex = 4; @@ -95,20 +97,31 @@ this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.cancelButton.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.cancelButton.Location = new System.Drawing.Point(231, 99); + this.cancelButton.Location = new System.Drawing.Point(231, 117); this.cancelButton.Name = "cancelButton"; this.cancelButton.Size = new System.Drawing.Size(75, 23); this.cancelButton.TabIndex = 3; this.cancelButton.Text = "Cancel"; this.cancelButton.UseVisualStyleBackColor = true; // + // systemTrayCheckBox + // + this.systemTrayCheckBox.AutoSize = true; + this.systemTrayCheckBox.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.systemTrayCheckBox.Location = new System.Drawing.Point(14, 70); + this.systemTrayCheckBox.Name = "systemTrayCheckBox"; + this.systemTrayCheckBox.Size = new System.Drawing.Size(123, 17); + this.systemTrayCheckBox.TabIndex = 2; + this.systemTrayCheckBox.Text = "Show on system tray"; + this.systemTrayCheckBox.UseVisualStyleBackColor = true; + // // DeviceSettingsForm // this.AcceptButton = this.okButton; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.cancelButton; - this.ClientSize = new System.Drawing.Size(318, 134); + this.ClientSize = new System.Drawing.Size(318, 152); this.Controls.Add(this.groupBox1); this.Controls.Add(this.okButton); this.Controls.Add(this.cancelButton); @@ -131,5 +144,6 @@ private System.Windows.Forms.Button cancelButton; private System.Windows.Forms.ComboBox doubleClickComboBox; private System.Windows.Forms.Label label1; + private System.Windows.Forms.CheckBox systemTrayCheckBox; } } \ No newline at end of file diff --git a/DeviceSettingsForm.cs b/DeviceSettingsForm.cs index 5a222be..e9e071f 100644 --- a/DeviceSettingsForm.cs +++ b/DeviceSettingsForm.cs @@ -24,6 +24,12 @@ namespace MeshCentralRouter set { doubleClickComboBox.SelectedIndex = value; } } + public bool ShowSystemTray + { + get { return systemTrayCheckBox.Checked; } + set { systemTrayCheckBox.Checked = value; } + } + private void okButton_Click(object sender, EventArgs e) { DialogResult = DialogResult.OK; diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 4e9e7a6..e132047 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -109,7 +109,6 @@ this.cancelAutoCloseButton2 = new System.Windows.Forms.Button(); this.mapPanel = new System.Windows.Forms.Panel(); this.noMapLabel = new System.Windows.Forms.Label(); - this.settingsPictureBox = new System.Windows.Forms.PictureBox(); this.helpPictureBox = new System.Windows.Forms.PictureBox(); this.addButton = new System.Windows.Forms.Button(); this.addRelayButton = new System.Windows.Forms.Button(); @@ -131,6 +130,9 @@ this.saveMappingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openMapFileDialog = new System.Windows.Forms.OpenFileDialog(); this.saveMapFileDialog = new System.Windows.Forms.SaveFileDialog(); + this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator(); + this.settingsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.settingsPictureBox = new System.Windows.Forms.PictureBox(); this.panel5.SuspendLayout(); this.mainPanel.SuspendLayout(); this.mainTabControl.SuspendLayout(); @@ -154,12 +156,12 @@ this.devicesContextMenuStrip.SuspendLayout(); this.portMapTabPage.SuspendLayout(); this.mapPanel.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.settingsPictureBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.helpPictureBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.trayIconContextMenuStrip.SuspendLayout(); this.mappingsContextMenuStrip.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.settingsPictureBox)).BeginInit(); this.SuspendLayout(); // // panel5 @@ -618,6 +620,7 @@ this.devicesListView.Sorting = System.Windows.Forms.SortOrder.Ascending; this.devicesListView.UseCompatibleStateImageBehavior = false; this.devicesListView.View = System.Windows.Forms.View.Details; + this.devicesListView.Click += new System.EventHandler(this.devicesListView_Click); this.devicesListView.DoubleClick += new System.EventHandler(this.devicesListView_DoubleClick); this.devicesListView.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress); // @@ -771,15 +774,6 @@ resources.ApplyResources(this.noMapLabel, "noMapLabel"); this.noMapLabel.Name = "noMapLabel"; // - // settingsPictureBox - // - resources.ApplyResources(this.settingsPictureBox, "settingsPictureBox"); - this.settingsPictureBox.Cursor = System.Windows.Forms.Cursors.Hand; - this.settingsPictureBox.Image = global::MeshCentralRouter.Properties.Resources.Gear20; - this.settingsPictureBox.Name = "settingsPictureBox"; - this.settingsPictureBox.TabStop = false; - this.settingsPictureBox.Click += new System.EventHandler(this.settingsPictureBox_Click); - // // helpPictureBox // resources.ApplyResources(this.helpPictureBox, "helpPictureBox"); @@ -893,7 +887,9 @@ // this.mappingsContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.openMappingsToolStripMenuItem, - this.saveMappingsToolStripMenuItem}); + this.saveMappingsToolStripMenuItem, + this.toolStripMenuItem5, + this.settingsToolStripMenuItem1}); this.mappingsContextMenuStrip.Name = "mappingsContextMenuStrip"; resources.ApplyResources(this.mappingsContextMenuStrip, "mappingsContextMenuStrip"); // @@ -919,6 +915,26 @@ this.saveMapFileDialog.DefaultExt = "mcrouter"; resources.ApplyResources(this.saveMapFileDialog, "saveMapFileDialog"); // + // toolStripMenuItem5 + // + this.toolStripMenuItem5.Name = "toolStripMenuItem5"; + resources.ApplyResources(this.toolStripMenuItem5, "toolStripMenuItem5"); + // + // settingsToolStripMenuItem1 + // + this.settingsToolStripMenuItem1.Name = "settingsToolStripMenuItem1"; + resources.ApplyResources(this.settingsToolStripMenuItem1, "settingsToolStripMenuItem1"); + this.settingsToolStripMenuItem1.Click += new System.EventHandler(this.settingsPictureBox_Click); + // + // settingsPictureBox + // + resources.ApplyResources(this.settingsPictureBox, "settingsPictureBox"); + this.settingsPictureBox.Cursor = System.Windows.Forms.Cursors.Hand; + this.settingsPictureBox.Image = global::MeshCentralRouter.Properties.Resources.Gear20; + this.settingsPictureBox.Name = "settingsPictureBox"; + this.settingsPictureBox.TabStop = false; + this.settingsPictureBox.Click += new System.EventHandler(this.settingsPictureBox_Click); + // // MainForm // resources.ApplyResources(this, "$this"); @@ -958,12 +974,12 @@ this.devicesContextMenuStrip.ResumeLayout(false); this.portMapTabPage.ResumeLayout(false); this.mapPanel.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.settingsPictureBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.helpPictureBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.trayIconContextMenuStrip.ResumeLayout(false); this.mappingsContextMenuStrip.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.settingsPictureBox)).EndInit(); this.ResumeLayout(false); } @@ -1024,7 +1040,6 @@ private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.PictureBox settingsPictureBox; private System.Windows.Forms.TabControl devicesTabControl; private System.Windows.Forms.TabPage devicesTabPage; private System.Windows.Forms.TabPage portMapTabPage; @@ -1070,6 +1085,9 @@ private System.Windows.Forms.Button cancelAutoCloseButton2; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4; private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem1; + private System.Windows.Forms.PictureBox settingsPictureBox; } } diff --git a/MainForm.cs b/MainForm.cs index dec4bcf..0b8c893 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -384,6 +384,7 @@ namespace MeshCentralRouter private void backButton5_Click(object sender, EventArgs e) { + cancelAutoClose(); meshcentral.disconnect(); } @@ -415,7 +416,7 @@ namespace MeshCentralRouter meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged; meshcentral.onClipboardData += Meshcentral_onClipboardData; meshcentral.onTwoFactorCookie += Meshcentral_onTwoFactorCookie; - meshcentral.onToolUpdate += Meshcentral_onToolUpdate; + //meshcentral.onToolUpdate += Meshcentral_onToolUpdate; if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); @@ -983,6 +984,7 @@ namespace MeshCentralRouter private void addButton_Click(object sender, EventArgs e) { + cancelAutoClose(); AddPortMapForm form = new AddPortMapForm(meshcentral); if (sender == null) @@ -1131,8 +1133,16 @@ namespace MeshCentralRouter X509Certificate2UI.DisplayCertificate(lastBadConnectCert); } + private void cancelAutoClose() + { + autoExitProc = null; + cancelAutoCloseButton1.Visible = false; + cancelAutoCloseButton2.Visible = false; + } + private void addRelayMapButton_Click(object sender, EventArgs e) { + cancelAutoClose(); AddRelayMapForm form = new AddRelayMapForm(meshcentral); if (sender == null) @@ -1171,11 +1181,13 @@ namespace MeshCentralRouter private void helpPictureBox_Click(object sender, EventArgs e) { + cancelAutoClose(); new MappingHelpForm().ShowDialog(this); } private void openWebSiteButton_Click(object sender, EventArgs e) { + cancelAutoClose(); if (meshcentral.loginCookie != null) { Uri serverurl = null; if (authLoginUrl != null) { @@ -1212,6 +1224,7 @@ namespace MeshCentralRouter private void settingsPictureBox_Click(object sender, EventArgs e) { + cancelAutoClose(); SettingsForm f = new SettingsForm(); f.BindAllInterfaces = inaddrany; f.ShowSystemTray = (notifyIcon.Visible == true); @@ -1267,6 +1280,7 @@ namespace MeshCentralRouter private void devicesTabControl_SelectedIndexChanged(object sender, EventArgs e) { + cancelAutoClose(); searchTextBox.Visible = (devicesTabControl.SelectedIndex == 0); if (devicesTabControl.SelectedIndex == 0) { menuLabel.ContextMenuStrip = mainContextMenuStrip; @@ -1277,6 +1291,7 @@ namespace MeshCentralRouter private void searchTextBox_KeyPress(object sender, KeyPressEventArgs e) { + cancelAutoClose(); if (e.KeyChar == 27) { searchTextBox.Text = ""; e.Handled = true; } } @@ -1349,6 +1364,7 @@ namespace MeshCentralRouter private void menuLabel_Click(object sender, EventArgs e) { + cancelAutoClose(); if (devicesTabControl.SelectedIndex == 0) { mainContextMenuStrip.Show(menuLabel, menuLabel.PointToClient(Cursor.Position)); @@ -1518,6 +1534,7 @@ namespace MeshCentralRouter private void mapPanel_DragEnter(object sender, DragEventArgs e) { + cancelAutoClose(); if (e.Data.GetDataPresent(DataFormats.FileDrop) == false) return; string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false); if ((s.Length != 1) || (s[0].ToLower().EndsWith(".mcrouter") == false)) return; @@ -1526,6 +1543,7 @@ namespace MeshCentralRouter private void mapPanel_DragDrop(object sender, DragEventArgs e) { + cancelAutoClose(); if (e.Data.GetDataPresent(DataFormats.FileDrop) == false) return; string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false); if ((s.Length != 1) || (s[0].ToLower().EndsWith(".mcrouter") == false)) return; @@ -1622,6 +1640,7 @@ namespace MeshCentralRouter private void devicesListView_DoubleClick(object sender, EventArgs e) { + cancelAutoClose(); if (devicesListView.SelectedItems.Count != 1) { return; } ListViewItem selecteditem = devicesListView.SelectedItems[0]; NodeClass node = (NodeClass)selecteditem.Tag; @@ -1674,9 +1693,7 @@ namespace MeshCentralRouter private void cancelAutoCloseButton_Click(object sender, EventArgs e) { - autoExitProc = null; - cancelAutoCloseButton1.Visible = false; - cancelAutoCloseButton2.Visible = false; + cancelAutoClose(); } public delegate void SetAutoCloseHandler(); @@ -1691,16 +1708,30 @@ namespace MeshCentralRouter { DeviceSettingsForm f = new DeviceSettingsForm(); f.deviceDoubleClickAction = deviceDoubleClickAction; + f.ShowSystemTray = (notifyIcon.Visible == true); if (f.ShowDialog(this) == DialogResult.OK) { deviceDoubleClickAction = f.deviceDoubleClickAction; setRegValue("DevDoubleClickClickAction", deviceDoubleClickAction.ToString()); setDoubleClickDeviceAction(); + if (f.ShowSystemTray) + { + notifyIcon.Visible = true; + this.ShowInTaskbar = false; + this.MinimizeBox = false; + } + else + { + notifyIcon.Visible = false; + this.ShowInTaskbar = true; + this.MinimizeBox = true; + } } } private void MainForm_KeyPress(object sender, KeyPressEventArgs e) { + cancelAutoClose(); if ((currentPanel == 4) && (devicesTabControl.SelectedIndex == 0)) { if (e.KeyChar == 27) @@ -1722,6 +1753,11 @@ namespace MeshCentralRouter } } + private void devicesListView_Click(object sender, EventArgs e) + { + cancelAutoClose(); + } + /* private delegate void displayMessageHandler(string msg, int buttons, string extra, int progress); private void displayMessage(string msg, int buttons = 0, string extra = "", int progress = 0) diff --git a/MainForm.resx b/MainForm.resx index e6fa95c..b0a4292 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -117,24 +117,480 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + mainPanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel5 + + + 0 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel5 + + + 1 + + + Fill + + + + 0, 0 + + + 492, 416 + + + + 8 + + + panel5 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + mainTabControl + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mainPanel + + + 0 + + + Fill + + + 0, 65 + + + 492, 351 + + + 9 + + + mainPanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel5 + + + 0 + FlatButtons + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage1 + + + 0 + + + 4, 25 + + + 3, 3, 3, 3 + + + 484, 322 + + + 0 + + + Login + + + tabPage1 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mainTabControl + + + 0 + + + panel2 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage2 + + + 0 + + + 4, 25 + + + 3, 3, 3, 3 + + + 484, 322 + + + 1 + + + Token + + + tabPage2 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mainTabControl + + + 1 + + + panel3 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage3 + + + 0 + + + 4, 25 + + + 484, 322 + + + 2 + + + Certificate + + + tabPage3 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mainTabControl + + + 2 + + + panel4 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage5 + + + 0 + + + 4, 25 + + + 484, 322 + + + 4 + + + Mappings + + + tabPage5 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mainTabControl + + + 3 + + + Fill + + + 0, 0 + + + 0, 0, 0, 0 + + + 492, 351 + + + 8 + + + False + + + mainTabControl + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mainPanel + + + 0 + + + installButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 0 + + + stateLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 1 + + + label28 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 2 + + + label27 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 3 + + + label26 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 4 + + + passwordTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 5 + + + serverNameComboBox + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 6 + + + userNameTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 7 + + + licenseLinkLabel + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 8 + + + versionLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 9 + + + nextButton1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 10 + + + pictureBox3 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 11 + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 12 + + + pictureBox2 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 13 + + + Fill + + + 3, 3 + + + 478, 316 + + + 6 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage1 + + + 0 + Bottom, Left NoControl - 11, 285 95, 23 - 20 @@ -549,55 +1005,160 @@ 13 - - Fill + + tokenRememberCheckBox - - 3, 3 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 478, 316 + + panel2 - + + 0 + + + emailTokenButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 1 + + + smsTokenButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 2 + + + tokenEmailSentLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 3 + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 4 + + + tokenTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 5 + + + pictureBox6 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + 6 - - panel1 + + backButton2 - + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 7 + + + nextButton2 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 8 + + + pictureBox4 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 9 + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 10 + + + Fill + + + 3, 3 + + + 478, 316 + + + 7 + + + panel2 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabPage1 + + tabPage2 - - 0 - - - 4, 25 - - - 3, 3, 3, 3 - - - 484, 322 - - - 0 - - - Login - - - tabPage1 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - mainTabControl - - + 0 @@ -930,56 +1491,125 @@ 10 - - Fill + + rememberCertCheckBox - - 3, 3 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 478, 316 + + panel3 - - 7 - - - panel2 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage2 - - + 0 - - 4, 25 + + certDetailsTextBox - - 3, 3, 3, 3 + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + panel3 + + + 1 + + + certDetailsButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 2 + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 3 + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 4 + + + backButton3 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 5 + + + nextButton3 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 6 + + + pictureBox5 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 7 + + + Fill + + + 0, 0 + + 484, 322 - - 1 + + 8 - - Token + + panel3 - - tabPage2 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabPage3 - - mainTabControl - - - 1 + + 0 Bottom, Left @@ -1227,53 +1857,113 @@ 7 - - Fill + + menuLabel - - 0, 0 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 484, 322 + + panel4 - - 8 - - - panel3 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage3 - - + 0 - - 4, 25 + + searchTextBox - + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 1 + + + devicesTabControl + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 2 + + + openWebSiteButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 3 + + + backButton5 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 4 + + + nextButton5 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 5 + + + pictureBox7 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 6 + + + Fill + + + 0, 0 + + 484, 322 - - 2 + + 8 - - Certificate + + panel4 - - tabPage3 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabPage5 - - mainTabControl - - - 2 + + 0 Top, Right @@ -1284,42 +1974,6 @@ 613, 17 - - 185, 22 - - - Show &Group Names - - - 185, 22 - - - Show &Offline Devices - - - 182, 6 - - - 185, 22 - - - Sort by &Name - - - 185, 22 - - - Sort by G&roup - - - 182, 6 - - - 185, 22 - - - &Settings... - 186, 126 @@ -1359,6 +2013,42 @@ 0 + + 185, 22 + + + Show &Group Names + + + 185, 22 + + + Show &Offline Devices + + + 182, 6 + + + 185, 22 + + + Sort by &Name + + + 185, 22 + + + Sort by G&roup + + + 182, 6 + + + 185, 22 + + + S&ettings... + Top, Right @@ -1389,17 +2079,170 @@ FlatButtons + + devicesTabPage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesTabControl + + + 0 + + + portMapTabPage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesTabControl + + + 1 + + + 3, 3 + + + 478, 279 + + + 55 + + + devicesTabControl + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 2 + + + devicesPanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesTabPage + + + 0 + + + 4, 25 + + + 3, 3, 3, 3 + + + 470, 250 + + + 0 + + + Devices + + + devicesTabPage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesTabControl + + + 0 + Top, Bottom, Left, Right True + + cancelAutoCloseButton1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesPanel + + + 0 + + + devicesListView + + + System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesPanel + + + 1 + + + noSearchResultsLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesPanel + + + 2 + + + noDevicesLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesPanel + + + 3 + + + 0, 0 + + + 470, 250 + + + 50 + + + devicesPanel + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + devicesTabPage + + + 0 + Bottom, Left - 4, 207 + 4, 203 168, 35 @@ -1440,66 +2283,6 @@ 161, 56 - - Segoe UI, 9pt, style=Bold - - - 170, 22 - - - Add &Map... - - - 170, 22 - - - Add &Relay Map... - - - 167, 6 - - - 170, 22 - - - Remote Desktop... - - - 170, 22 - - - Remote Files... - - - 170, 22 - - - HTTP - - - 170, 22 - - - HTTPS - - - 170, 22 - - - RDP - - - 170, 22 - - - SSH - - - 170, 22 - - - SCP - 171, 208 @@ -1517,7 +2300,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADg - HQAAAk1TRnQBSQFMAgEBEAEAATgBAAE4AQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA + HQAAAk1TRnQBSQFMAgEBEAEAAUABAAFAAQABEAEAARABAAT/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 @@ -1671,6 +2454,66 @@ 1 + + Segoe UI, 9pt, style=Bold + + + 170, 22 + + + Add &Map... + + + 170, 22 + + + Add &Relay Map... + + + 167, 6 + + + 170, 22 + + + Remote Desktop... + + + 170, 22 + + + Remote Files... + + + 170, 22 + + + HTTP + + + 170, 22 + + + HTTPS + + + 170, 22 + + + RDP + + + 170, 22 + + + SSH + + + 170, 22 + + + SCP + Top, Left, Right @@ -1684,7 +2527,7 @@ 2, 88 - 430, 52 + 426, 52 5 @@ -1723,7 +2566,7 @@ 2, 88 - 430, 52 + 426, 52 4 @@ -1746,53 +2589,104 @@ 3 - - 0, 0 + + cancelAutoCloseButton2 - - 470, 250 + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 50 + + portMapTabPage - - devicesPanel + + 0 - + + mapPanel + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - devicesTabPage + + portMapTabPage - - 0 + + 1 - + + settingsPictureBox + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + portMapTabPage + + + 2 + + + helpPictureBox + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + portMapTabPage + + + 3 + + + addButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + portMapTabPage + + + 4 + + + addRelayButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + portMapTabPage + + + 5 + + 4, 25 - + 3, 3, 3, 3 - + 470, 250 - - 0 + + 1 - - Devices + + Mappings - - devicesTabPage + + portMapTabPage - + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + devicesTabControl - - 0 + + 1 Bottom, Left @@ -1833,32 +2727,6 @@ True - - Top, Left, Right - - - Arial, 8.25pt, style=Bold - - - NoControl - - - 2, 79 - - - 459, 52 - - - 4 - - - No Port Mappings - -Click "Add" to get started. - - - MiddleCenter - noMapLabel @@ -1892,32 +2760,43 @@ Click "Add" to get started. 1 - - Bottom, Left + + Top, Left, Right - + + Arial, 8.25pt, style=Bold + + NoControl - - 1, 226 + + 2, 79 - - 20, 20 + + 455, 52 - - 54 + + 4 - - settingsPictureBox + + No Port Mappings + +Click "Add" to get started. - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + MiddleCenter - - portMapTabPage + + noMapLabel - - 2 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + mapPanel + + + 0 Bottom, Right @@ -2012,54 +2891,6 @@ Click "Add" to get started. 5 - - 4, 25 - - - 3, 3, 3, 3 - - - 470, 250 - - - 1 - - - Mappings - - - portMapTabPage - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - devicesTabControl - - - 1 - - - 3, 3 - - - 478, 279 - - - 55 - - - devicesTabControl - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel4 - - - 2 - Bottom, Left @@ -2183,108 +3014,6 @@ Click "Add" to get started. 6 - - Fill - - - 0, 0 - - - 484, 322 - - - 8 - - - panel4 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage5 - - - 0 - - - 4, 25 - - - 484, 322 - - - 4 - - - Mappings - - - tabPage5 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - mainTabControl - - - 3 - - - Fill - - - 0, 0 - - - 0, 0, 0, 0 - - - 492, 351 - - - 8 - - - False - - - mainTabControl - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - mainPanel - - - 0 - - - Fill - - - 0, 65 - - - 492, 351 - - - 9 - - - mainPanel - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel5 - - - 0 - Top @@ -2312,30 +3041,6 @@ Click "Add" to get started. 1 - - Fill - - - 0, 0 - - - 492, 416 - - - 8 - - - panel5 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 4 - 17, 17 @@ -2348,21 +3053,6 @@ Click "Add" to get started. 418, 17 - - 112, 22 - - - &Open... - - - 109, 6 - - - 112, 22 - - - E&xit - 113, 54 @@ -4069,12 +4759,36 @@ Click "Add" to get started. MeshCentral Router + + 112, 22 + + + &Open... + + + 109, 6 + + + 112, 22 + + + E&xit + 791, 17 905, 17 + + 169, 76 + + + mappingsContextMenuStrip + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 168, 22 @@ -4087,15 +4801,6 @@ Click "Add" to get started. &Save Mappings... - - 169, 48 - - - mappingsContextMenuStrip - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 1110, 17 @@ -4114,6 +4819,42 @@ Click "Add" to get started. Save Port Mappings + + 165, 6 + + + 168, 22 + + + S&ettings... + + + Bottom, Left + + + NoControl + + + 1, 226 + + + 20, 20 + + + 54 + + + settingsPictureBox + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + portMapTabPage + + + 2 + True @@ -6006,6 +6747,18 @@ Click "Add" to get started. System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + toolStripMenuItem5 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + settingsToolStripMenuItem1 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + MainForm