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