diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs
index 699390b..7667a29 100644
--- a/MainForm.Designer.cs
+++ b/MainForm.Designer.cs
@@ -32,15 +32,16 @@
lbMain = new ListBox();
statusStripMain = new StatusStrip();
toolStripStatusLabel = new ToolStripStatusLabel();
+ toolStripStatusDisco = new ToolStripStatusLabel();
menuStrip1 = new MenuStrip();
discoveryToolStripMenuItem = new ToolStripMenuItem();
startToolStripMenuItem = new ToolStripMenuItem();
stopToolStripMenuItem = new ToolStripMenuItem();
forceRediscoverToolStripMenuItem = new ToolStripMenuItem();
+ toolStripSeparator1 = new ToolStripSeparator();
saveToolStripMenuItem = new ToolStripMenuItem();
loadToolStripMenuItem = new ToolStripMenuItem();
- toolStripSeparator1 = new ToolStripSeparator();
- toolStripStatusDisco = new ToolStripStatusLabel();
+ manualAddToolStripMenuItem = new ToolStripMenuItem();
statusStripMain.SuspendLayout();
menuStrip1.SuspendLayout();
SuspendLayout();
@@ -70,6 +71,12 @@
toolStripStatusLabel.Name = "toolStripStatusLabel";
toolStripStatusLabel.Size = new Size(0, 17);
//
+ // toolStripStatusDisco
+ //
+ toolStripStatusDisco.Name = "toolStripStatusDisco";
+ toolStripStatusDisco.Size = new Size(111, 17);
+ toolStripStatusDisco.Text = "Discovery : Stopped";
+ //
// menuStrip1
//
menuStrip1.Items.AddRange(new ToolStripItem[] { discoveryToolStripMenuItem });
@@ -81,7 +88,7 @@
//
// discoveryToolStripMenuItem
//
- discoveryToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { startToolStripMenuItem, stopToolStripMenuItem, forceRediscoverToolStripMenuItem, toolStripSeparator1, saveToolStripMenuItem, loadToolStripMenuItem });
+ discoveryToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { startToolStripMenuItem, stopToolStripMenuItem, manualAddToolStripMenuItem, forceRediscoverToolStripMenuItem, toolStripSeparator1, saveToolStripMenuItem, loadToolStripMenuItem });
discoveryToolStripMenuItem.Name = "discoveryToolStripMenuItem";
discoveryToolStripMenuItem.Size = new Size(70, 20);
discoveryToolStripMenuItem.Text = "Discovery";
@@ -89,7 +96,7 @@
// startToolStripMenuItem
//
startToolStripMenuItem.Name = "startToolStripMenuItem";
- startToolStripMenuItem.Size = new Size(165, 22);
+ startToolStripMenuItem.Size = new Size(180, 22);
startToolStripMenuItem.Text = "Start";
startToolStripMenuItem.Click += startToolStripMenuItem_Click;
//
@@ -97,41 +104,42 @@
//
stopToolStripMenuItem.Enabled = false;
stopToolStripMenuItem.Name = "stopToolStripMenuItem";
- stopToolStripMenuItem.Size = new Size(165, 22);
+ stopToolStripMenuItem.Size = new Size(180, 22);
stopToolStripMenuItem.Text = "Stop";
stopToolStripMenuItem.Click += stopToolStripMenuItem_Click;
//
// forceRediscoverToolStripMenuItem
//
forceRediscoverToolStripMenuItem.Name = "forceRediscoverToolStripMenuItem";
- forceRediscoverToolStripMenuItem.Size = new Size(165, 22);
+ forceRediscoverToolStripMenuItem.Size = new Size(180, 22);
forceRediscoverToolStripMenuItem.Text = "Force re-discover";
forceRediscoverToolStripMenuItem.Click += forceReloadToolStripMenuItem_Click;
//
+ // toolStripSeparator1
+ //
+ toolStripSeparator1.Name = "toolStripSeparator1";
+ toolStripSeparator1.Size = new Size(177, 6);
+ //
// saveToolStripMenuItem
//
saveToolStripMenuItem.Name = "saveToolStripMenuItem";
- saveToolStripMenuItem.Size = new Size(165, 22);
+ saveToolStripMenuItem.Size = new Size(180, 22);
saveToolStripMenuItem.Text = "Save";
saveToolStripMenuItem.Click += saveToolStripMenuItem_Click;
//
// loadToolStripMenuItem
//
loadToolStripMenuItem.Name = "loadToolStripMenuItem";
- loadToolStripMenuItem.Size = new Size(165, 22);
+ loadToolStripMenuItem.Size = new Size(180, 22);
loadToolStripMenuItem.Text = "Load";
loadToolStripMenuItem.Click += loadToolStripMenuItem_Click;
//
- // toolStripSeparator1
+ // manualAddToolStripMenuItem
//
- toolStripSeparator1.Name = "toolStripSeparator1";
- toolStripSeparator1.Size = new Size(162, 6);
- //
- // toolStripStatusDisco
- //
- toolStripStatusDisco.Name = "toolStripStatusDisco";
- toolStripStatusDisco.Size = new Size(111, 17);
- toolStripStatusDisco.Text = "Discovery : Stopped";
+ manualAddToolStripMenuItem.Name = "manualAddToolStripMenuItem";
+ manualAddToolStripMenuItem.Size = new Size(180, 22);
+ manualAddToolStripMenuItem.Text = "Add manually";
+ manualAddToolStripMenuItem.Click += manualAddToolStripMenuItem_Click;
//
// MainForm
//
@@ -168,5 +176,6 @@
private ToolStripMenuItem loadToolStripMenuItem;
private ToolStripSeparator toolStripSeparator1;
private ToolStripStatusLabel toolStripStatusDisco;
+ private ToolStripMenuItem manualAddToolStripMenuItem;
}
}
\ No newline at end of file
diff --git a/MainForm.cs b/MainForm.cs
index cb4dc19..bce0db0 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -270,5 +270,18 @@ namespace robospot_camera_finder
File.WriteAllText(saveFile.FileName, json);
}
}
+
+ private void manualAddToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Manual_IP_Form manualForm = new Manual_IP_Form();
+
+ if (manualForm.ShowDialog(this) == DialogResult.OK)
+ {
+ string ipAddress = manualForm.ipAddress;
+
+ Camera camera_to_add = new Camera("Camera " + ipAddress, ipAddress, "", "");
+ add_camera(camera_to_add);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Manual_IP_Form.Designer.cs b/Manual_IP_Form.Designer.cs
new file mode 100644
index 0000000..e079653
--- /dev/null
+++ b/Manual_IP_Form.Designer.cs
@@ -0,0 +1,90 @@
+namespace robospot_camera_finder
+{
+ partial class Manual_IP_Form
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ btnValidate = new Button();
+ txtIPAddress = new TextBox();
+ lblEnterIP = new Label();
+ SuspendLayout();
+ //
+ // btnValidate
+ //
+ btnValidate.Location = new Point(313, 27);
+ btnValidate.Name = "btnValidate";
+ btnValidate.Size = new Size(75, 23);
+ btnValidate.TabIndex = 1;
+ btnValidate.Text = "OK";
+ btnValidate.UseVisualStyleBackColor = true;
+ btnValidate.Click += btnValidate_Click;
+ //
+ // txtIPAddress
+ //
+ txtIPAddress.Location = new Point(12, 27);
+ txtIPAddress.MaxLength = 14;
+ txtIPAddress.Name = "txtIPAddress";
+ txtIPAddress.PlaceholderText = "10.*.*.*";
+ txtIPAddress.Size = new Size(295, 23);
+ txtIPAddress.TabIndex = 0;
+ //
+ // lblEnterIP
+ //
+ lblEnterIP.AutoSize = true;
+ lblEnterIP.Location = new Point(12, 9);
+ lblEnterIP.Name = "lblEnterIP";
+ lblEnterIP.Size = new Size(299, 15);
+ lblEnterIP.TabIndex = 2;
+ lblEnterIP.Text = "Please enter the camera IP address in the 10.*.*.* format";
+ //
+ // Manual_IP_Form
+ //
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(400, 66);
+ Controls.Add(lblEnterIP);
+ Controls.Add(txtIPAddress);
+ Controls.Add(btnValidate);
+ FormBorderStyle = FormBorderStyle.FixedSingle;
+ MaximizeBox = false;
+ MinimizeBox = false;
+ Name = "Manual_IP_Form";
+ ShowIcon = false;
+ ShowInTaskbar = false;
+ Text = "Enter IP";
+ TopMost = true;
+ ResumeLayout(false);
+ PerformLayout();
+ }
+
+ #endregion
+
+ private Button btnValidate;
+ private TextBox txtIPAddress;
+ private Label lblEnterIP;
+ }
+}
\ No newline at end of file
diff --git a/Manual_IP_Form.cs b/Manual_IP_Form.cs
new file mode 100644
index 0000000..8ef8eea
--- /dev/null
+++ b/Manual_IP_Form.cs
@@ -0,0 +1,30 @@
+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 robospot_camera_finder
+{
+ public partial class Manual_IP_Form : Form
+ {
+
+ public string ipAddress { get; set; }
+
+ public Manual_IP_Form()
+ {
+ InitializeComponent();
+ }
+
+ private void btnValidate_Click(object sender, EventArgs e)
+ {
+ this.ipAddress = txtIPAddress.Text;
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+ }
+}
diff --git a/Manual_IP_Form.resx b/Manual_IP_Form.resx
new file mode 100644
index 0000000..af32865
--- /dev/null
+++ b/Manual_IP_Form.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file