- Replaced single TabPage CurrentTab with List<TabPage> CurrentTabs to support multiple tabs.

- Added new tab called Video

- Removed unused tabs on load (Soak, Mobile, Video, Images).

- Refactored InsertCamTab():

- Uses CurrentTabs to manage multiple tabs per camera type.

Mobile → inserts Video + Mobile tabs.
AiQ → inserts Images + Soak tabs.

-Cleans up previous tabs before inserting new ones.

-Updated BtnTest_Click():
Added 5-second delay before snapshot.
Takes snapshot after video starts playing.

- New file created VLC.cs
Streams the given IP into the Video tab and takes a snapshot
This commit is contained in:
2026-01-12 16:30:04 +00:00
parent 90b3f7caff
commit 4a2e874b9d
5 changed files with 200 additions and 18 deletions

113
AiQ_GUI.Designer.cs generated
View File

@@ -112,6 +112,7 @@ namespace AiQ_GUI
BtnEzOn = new Button();
BtnSetAll211 = new Button();
PnlLbls = new Panel();
VidView = new LibVLCSharp.WinForms.VideoView();
BtnOpenWebpage = new Button();
LblIRImageF16 = new Label();
ToolTipClipboard = new ToolTip(components);
@@ -129,6 +130,12 @@ namespace AiQ_GUI
BtnAdminStart = new Button();
BtnFirewall = new Button();
TabImages = new TabPage();
Video = new TabPage();
VLCVideo = new Label();
pictureBox2 = new PictureBox();
label7 = new Label();
OVImage = new Label();
pictureBox1 = new PictureBox();
TabSoak = new TabPage();
BtnFactoryDefault = new Button();
SetGodModeAll = new Button();
@@ -153,6 +160,7 @@ namespace AiQ_GUI
PnlQuestion.SuspendLayout();
PnlInputValue.SuspendLayout();
((System.ComponentModel.ISupportInitialize)RMANumBox).BeginInit();
((System.ComponentModel.ISupportInitialize)VidView).BeginInit();
TabImagesandSettings.SuspendLayout();
TabControls.SuspendLayout();
groupBox4.SuspendLayout();
@@ -161,6 +169,9 @@ namespace AiQ_GUI
groupBox1.SuspendLayout();
TabSettings.SuspendLayout();
TabImages.SuspendLayout();
Video.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBox2).BeginInit();
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
TabSoak.SuspendLayout();
Mobile.SuspendLayout();
SuspendLayout();
@@ -1358,6 +1369,16 @@ namespace AiQ_GUI
PnlLbls.Size = new Size(503, 452);
PnlLbls.TabIndex = 198;
//
// VidView
//
VidView.BackColor = Color.Black;
VidView.Location = new Point(12, 579);
VidView.MediaPlayer = null;
VidView.Name = "VidView";
VidView.Size = new Size(392, 221);
VidView.TabIndex = 233;
VidView.Text = "VidView";
//
// BtnOpenWebpage
//
BtnOpenWebpage.BackColor = Color.FromArgb(70, 65, 80);
@@ -1401,6 +1422,7 @@ namespace AiQ_GUI
TabImagesandSettings.Controls.Add(TabControls);
TabImagesandSettings.Controls.Add(TabSettings);
TabImagesandSettings.Controls.Add(TabImages);
TabImagesandSettings.Controls.Add(Video);
TabImagesandSettings.Controls.Add(TabSoak);
TabImagesandSettings.Controls.Add(Mobile);
TabImagesandSettings.Font = new Font("Segoe UI Semibold", 9F, FontStyle.Bold);
@@ -1637,6 +1659,85 @@ namespace AiQ_GUI
TabImages.TabIndex = 0;
TabImages.Text = "Images";
//
// Video
//
Video.BackColor = Color.FromArgb(39, 37, 55);
Video.Controls.Add(VidView);
Video.Controls.Add(VLCVideo);
Video.Controls.Add(pictureBox2);
Video.Controls.Add(label7);
Video.Controls.Add(OVImage);
Video.Controls.Add(pictureBox1);
Video.Location = new Point(4, 24);
Video.Name = "Video";
Video.Padding = new Padding(3);
Video.Size = new Size(411, 806);
Video.TabIndex = 5;
Video.Text = "Video";
//
// VLCVideo
//
VLCVideo.AutoSize = true;
VLCVideo.BackColor = Color.Transparent;
VLCVideo.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold);
VLCVideo.ForeColor = SystemColors.Control;
VLCVideo.Location = new Point(12, 545);
VLCVideo.Margin = new Padding(4, 0, 4, 0);
VLCVideo.Name = "VLCVideo";
VLCVideo.Size = new Size(86, 21);
VLCVideo.TabIndex = 238;
VLCVideo.Text = "Live Video";
//
// pictureBox2
//
pictureBox2.BackColor = Color.Transparent;
pictureBox2.BorderStyle = BorderStyle.FixedSingle;
pictureBox2.Location = new Point(7, 303);
pictureBox2.Margin = new Padding(4, 3, 4, 3);
pictureBox2.Name = "pictureBox2";
pictureBox2.Size = new Size(392, 221);
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox2.TabIndex = 237;
pictureBox2.TabStop = false;
//
// label7
//
label7.AutoSize = true;
label7.BackColor = Color.Transparent;
label7.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold);
label7.ForeColor = SystemColors.Control;
label7.Location = new Point(12, 279);
label7.Margin = new Padding(4, 0, 4, 0);
label7.Name = "label7";
label7.Size = new Size(101, 21);
label7.TabIndex = 236;
label7.Text = "Night Image";
//
// OVImage
//
OVImage.AutoSize = true;
OVImage.BackColor = Color.Transparent;
OVImage.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold);
OVImage.ForeColor = SystemColors.Control;
OVImage.Location = new Point(12, 14);
OVImage.Margin = new Padding(4, 0, 4, 0);
OVImage.Name = "OVImage";
OVImage.Size = new Size(87, 21);
OVImage.TabIndex = 235;
OVImage.Text = "Day Image";
//
// pictureBox1
//
pictureBox1.BackColor = Color.Transparent;
pictureBox1.BorderStyle = BorderStyle.FixedSingle;
pictureBox1.Location = new Point(7, 46);
pictureBox1.Margin = new Padding(4, 3, 4, 3);
pictureBox1.Name = "pictureBox1";
pictureBox1.Size = new Size(392, 221);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.TabIndex = 234;
pictureBox1.TabStop = false;
//
// TabSoak
//
TabSoak.BackColor = Color.FromArgb(39, 37, 55);
@@ -1863,6 +1964,7 @@ namespace AiQ_GUI
PnlInputValue.ResumeLayout(false);
PnlInputValue.PerformLayout();
((System.ComponentModel.ISupportInitialize)RMANumBox).EndInit();
((System.ComponentModel.ISupportInitialize)VidView).EndInit();
TabImagesandSettings.ResumeLayout(false);
TabControls.ResumeLayout(false);
groupBox4.ResumeLayout(false);
@@ -1875,6 +1977,10 @@ namespace AiQ_GUI
TabSettings.ResumeLayout(false);
TabImages.ResumeLayout(false);
TabImages.PerformLayout();
Video.ResumeLayout(false);
Video.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureBox2).EndInit();
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
TabSoak.ResumeLayout(false);
TabSoak.PerformLayout();
Mobile.ResumeLayout(false);
@@ -2015,5 +2121,12 @@ namespace AiQ_GUI
public ComboBox CbBxCamType;
public TabPage Mobile;
private Button BtnUpFirm;
private LibVLCSharp.WinForms.VideoView VidView;
private TabPage Video;
public Label label7;
public Label OVImage;
public PictureBox pictureBox1;
public Label VLCVideo;
public PictureBox pictureBox2;
}
}