bukkubuddy-bookmark-manager/Forms/OptionsForm.cs
2026-05-22 01:16:08 +01:00

410 lines
17 KiB
C#

using System;
using System.Windows.Forms;
using BukkuBuddy.DTOs.SaveFile;
using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms.PickerBox;
namespace BukkuBuddy.Forms
{
public class OptionsForm : Form
{
private ThYesNoPickerBox pickerBox1;
private Label label2;
private Label label1;
private ThYesNoPickerBox pickerBox2;
private Label label3;
private RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox textBox1;
private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1;
private FlowLayoutPanel flowLayoutPanel1;
private TTogglePanel togglePanel1;
private TTogglePanel togglePanel2;
private Label label4;
private ThYesNoPickerBox pickerBox3;
private TTogglePanel togglePanel3;
private Label label5;
private RyzStudio.Windows.ThemedForms.ThNumericBox numericBox1;
private Label label6;
private ThYesNoPickerBox pickerBox4;
private Label label7;
private ThYesNoPickerBox pickerBox5;
private App6Options _appSession = null;
public OptionsForm(App6Options appSession)
{
InitializeComponent();
UISetup.Dialog(this, true);
UISetup.AutoSizeChildren(flowLayoutPanel1);
_appSession = appSession;
}
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
pickerBox1.Value = _appSession?.RestorePosition ?? true;
textBox1.Text = _appSession.RunCommand ?? string.Empty;
pickerBox2.Value = _appSession?.AlwaysOnTop ?? false;
pickerBox3.Value = _appSession?.AllowUnsafeSSL ?? false;
numericBox1.Value = _appSession?.Timeout ?? 0;
pickerBox4.Value = _appSession?.AllowCookies ?? false;
pickerBox5.Value = _appSession?.AllowRedirects ?? false;
}
private void InitializeComponent()
{
pickerBox1 = new ThYesNoPickerBox();
label2 = new Label();
pickerBox2 = new ThYesNoPickerBox();
label1 = new Label();
textBox1 = new RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox();
label3 = new Label();
dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter();
flowLayoutPanel1 = new FlowLayoutPanel();
togglePanel1 = new TTogglePanel();
togglePanel2 = new TTogglePanel();
togglePanel3 = new TTogglePanel();
label6 = new Label();
pickerBox4 = new ThYesNoPickerBox();
numericBox1 = new RyzStudio.Windows.ThemedForms.ThNumericBox();
label4 = new Label();
label5 = new Label();
pickerBox3 = new ThYesNoPickerBox();
label7 = new Label();
pickerBox5 = new ThYesNoPickerBox();
flowLayoutPanel1.SuspendLayout();
togglePanel1.SuspendLayout();
togglePanel2.SuspendLayout();
togglePanel3.SuspendLayout();
SuspendLayout();
//
// pickerBox1
//
pickerBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox1.BackColor = System.Drawing.Color.Transparent;
pickerBox1.EnableMovable = false;
pickerBox1.Location = new System.Drawing.Point(311, 22);
pickerBox1.Name = "pickerBox1";
pickerBox1.SelectedIndex = 1;
pickerBox1.Size = new System.Drawing.Size(80, 32);
pickerBox1.TabIndex = 197;
pickerBox1.TabStop = false;
pickerBox1.Value = true;
//
// label2
//
label2.AutoSize = true;
label2.BackColor = System.Drawing.Color.Transparent;
label2.ForeColor = System.Drawing.SystemColors.ControlText;
label2.Location = new System.Drawing.Point(1, 22);
label2.Margin = new Padding(0);
label2.Name = "label2";
label2.Padding = new Padding(0, 8, 0, 0);
label2.Size = new System.Drawing.Size(92, 23);
label2.TabIndex = 196;
label2.Text = "Restore Position";
label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pickerBox2
//
pickerBox2.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox2.BackColor = System.Drawing.Color.Transparent;
pickerBox2.EnableMovable = false;
pickerBox2.Location = new System.Drawing.Point(311, 64);
pickerBox2.Name = "pickerBox2";
pickerBox2.SelectedIndex = 1;
pickerBox2.Size = new System.Drawing.Size(80, 32);
pickerBox2.TabIndex = 198;
pickerBox2.TabStop = false;
pickerBox2.Value = true;
//
// label1
//
label1.AutoSize = true;
label1.BackColor = System.Drawing.Color.Transparent;
label1.ForeColor = System.Drawing.SystemColors.ControlText;
label1.Location = new System.Drawing.Point(1, 64);
label1.Margin = new Padding(0);
label1.Name = "label1";
label1.Padding = new Padding(0, 8, 0, 0);
label1.Size = new System.Drawing.Size(85, 23);
label1.TabIndex = 196;
label1.Text = "Always On Top";
label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// textBox1
//
textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
textBox1.BackColor = System.Drawing.Color.Transparent;
textBox1.ClearedValue = "{0}";
textBox1.EnableMovable = false;
textBox1.Icon = "O";
textBox1.IconSize = 13F;
textBox1.Location = new System.Drawing.Point(131, 22);
textBox1.Name = "textBox1";
textBox1.Size = new System.Drawing.Size(260, 32);
textBox1.TabIndex = 203;
textBox1.TabStop = false;
textBox1.UseSystemPasswordChar = false;
//
// label3
//
label3.AutoSize = true;
label3.BackColor = System.Drawing.Color.Transparent;
label3.ForeColor = System.Drawing.SystemColors.ControlText;
label3.Location = new System.Drawing.Point(1, 22);
label3.Margin = new Padding(0);
label3.Name = "label3";
label3.Padding = new Padding(0, 8, 0, 0);
label3.Size = new System.Drawing.Size(88, 23);
label3.TabIndex = 199;
label3.Text = "Run Command";
label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// dialogFooter1
//
dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240);
dialogFooter1.Dock = DockStyle.Bottom;
dialogFooter1.EnableMovable = false;
dialogFooter1.IsBusy = false;
dialogFooter1.Location = new System.Drawing.Point(0, 491);
dialogFooter1.Name = "dialogFooter1";
dialogFooter1.Size = new System.Drawing.Size(444, 70);
dialogFooter1.TabIndex = 196;
dialogFooter1.TabStop = false;
//
// flowLayoutContainer1
//
flowLayoutPanel1.AutoScroll = true;
flowLayoutPanel1.BackColor = System.Drawing.Color.Transparent;
flowLayoutPanel1.Controls.Add(togglePanel1);
flowLayoutPanel1.Controls.Add(togglePanel2);
flowLayoutPanel1.Controls.Add(togglePanel3);
flowLayoutPanel1.Dock = DockStyle.Fill;
flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
flowLayoutPanel1.Name = "flowLayoutContainer1";
flowLayoutPanel1.Padding = new Padding(10, 10, 10, 30);
flowLayoutPanel1.Size = new System.Drawing.Size(444, 491);
flowLayoutPanel1.TabIndex = 195;
//
// togglePanel1
//
togglePanel1.BackColor = System.Drawing.Color.FromArgb(252, 252, 252);
togglePanel1.CloseIcon = "H";
togglePanel1.Controls.Add(label2);
togglePanel1.Controls.Add(pickerBox1);
togglePanel1.EnableMovable = false;
togglePanel1.ExpandedHeight = 64;
togglePanel1.HeaderPadding = new Padding(4, 0, 0, 2);
togglePanel1.IconWidth = 20;
togglePanel1.Location = new System.Drawing.Point(10, 10);
togglePanel1.Name = "togglePanel1";
togglePanel1.OpenIcon = "G";
togglePanel1.Size = new System.Drawing.Size(401, 64);
togglePanel1.TabIndex = 0;
togglePanel1.Title = "Start-Up";
togglePanel1.TitleContextMenuStrip = null;
togglePanel1.TitleCursor = Cursors.Default;
//
// togglePanel2
//
togglePanel2.BackColor = System.Drawing.Color.FromArgb(252, 252, 252);
togglePanel2.CloseIcon = "H";
togglePanel2.Controls.Add(textBox1);
togglePanel2.Controls.Add(label3);
togglePanel2.Controls.Add(label1);
togglePanel2.Controls.Add(pickerBox2);
togglePanel2.EnableMovable = false;
togglePanel2.ExpandedHeight = 103;
togglePanel2.HeaderPadding = new Padding(4, 0, 0, 2);
togglePanel2.IconWidth = 20;
togglePanel2.Location = new System.Drawing.Point(10, 84);
togglePanel2.Name = "togglePanel2";
togglePanel2.OpenIcon = "G";
togglePanel2.Size = new System.Drawing.Size(401, 103);
togglePanel2.TabIndex = 1;
togglePanel2.Title = "Behaviour";
togglePanel2.TitleContextMenuStrip = null;
togglePanel2.TitleCursor = Cursors.Default;
//
// togglePanel3
//
togglePanel3.BackColor = System.Drawing.Color.FromArgb(252, 252, 252);
togglePanel3.CloseIcon = "H";
togglePanel3.Controls.Add(label7);
togglePanel3.Controls.Add(pickerBox5);
togglePanel3.Controls.Add(label6);
togglePanel3.Controls.Add(pickerBox4);
togglePanel3.Controls.Add(numericBox1);
togglePanel3.Controls.Add(label4);
togglePanel3.Controls.Add(label5);
togglePanel3.Controls.Add(pickerBox3);
togglePanel3.EnableMovable = false;
togglePanel3.ExpandedHeight = 187;
togglePanel3.HeaderPadding = new Padding(4, 0, 0, 2);
togglePanel3.IconWidth = 20;
togglePanel3.Location = new System.Drawing.Point(10, 197);
togglePanel3.Name = "togglePanel3";
togglePanel3.OpenIcon = "G";
togglePanel3.Size = new System.Drawing.Size(401, 187);
togglePanel3.TabIndex = 2;
togglePanel3.Title = "Web Traffic";
togglePanel3.TitleContextMenuStrip = null;
togglePanel3.TitleCursor = Cursors.Default;
//
// label6
//
label6.AutoSize = true;
label6.BackColor = System.Drawing.Color.Transparent;
label6.ForeColor = System.Drawing.SystemColors.ControlText;
label6.Location = new System.Drawing.Point(1, 106);
label6.Margin = new Padding(0);
label6.Name = "label6";
label6.Padding = new Padding(0, 8, 0, 0);
label6.Size = new System.Drawing.Size(82, 23);
label6.TabIndex = 199;
label6.Text = "Allow Cookies";
label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pickerBox4
//
pickerBox4.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox4.BackColor = System.Drawing.Color.Transparent;
pickerBox4.EnableMovable = false;
pickerBox4.Location = new System.Drawing.Point(311, 106);
pickerBox4.Name = "pickerBox4";
pickerBox4.SelectedIndex = 1;
pickerBox4.Size = new System.Drawing.Size(80, 32);
pickerBox4.TabIndex = 200;
pickerBox4.TabStop = false;
pickerBox4.Value = true;
//
// numericBox1
//
numericBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
numericBox1.BackColor = System.Drawing.Color.Transparent;
numericBox1.EnableMovable = false;
numericBox1.Location = new System.Drawing.Point(291, 64);
numericBox1.Maximum = 30;
numericBox1.Minimum = 1;
numericBox1.Name = "numericBox1";
numericBox1.Size = new System.Drawing.Size(100, 32);
numericBox1.TabIndex = 3;
numericBox1.TabStop = false;
numericBox1.Value = 6;
//
// label4
//
label4.AutoSize = true;
label4.BackColor = System.Drawing.Color.Transparent;
label4.ForeColor = System.Drawing.SystemColors.ControlText;
label4.Location = new System.Drawing.Point(1, 22);
label4.Margin = new Padding(0);
label4.Name = "label4";
label4.Padding = new Padding(0, 8, 0, 0);
label4.Size = new System.Drawing.Size(97, 23);
label4.TabIndex = 196;
label4.Text = "Allow Unsafe SSL";
label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label5
//
label5.AutoSize = true;
label5.BackColor = System.Drawing.Color.Transparent;
label5.ForeColor = System.Drawing.SystemColors.ControlText;
label5.Location = new System.Drawing.Point(1, 64);
label5.Margin = new Padding(0);
label5.Name = "label5";
label5.Padding = new Padding(0, 8, 0, 0);
label5.Size = new System.Drawing.Size(151, 23);
label5.TabIndex = 196;
label5.Text = "Request Timeout (Seconds)";
label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pickerBox3
//
pickerBox3.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox3.BackColor = System.Drawing.Color.Transparent;
pickerBox3.EnableMovable = false;
pickerBox3.Location = new System.Drawing.Point(311, 22);
pickerBox3.Name = "pickerBox3";
pickerBox3.SelectedIndex = 1;
pickerBox3.Size = new System.Drawing.Size(80, 32);
pickerBox3.TabIndex = 198;
pickerBox3.TabStop = false;
pickerBox3.Value = true;
//
// label7
//
label7.AutoSize = true;
label7.BackColor = System.Drawing.Color.Transparent;
label7.ForeColor = System.Drawing.SystemColors.ControlText;
label7.Location = new System.Drawing.Point(1, 148);
label7.Margin = new Padding(0);
label7.Name = "label7";
label7.Padding = new Padding(0, 8, 0, 0);
label7.Size = new System.Drawing.Size(88, 23);
label7.TabIndex = 201;
label7.Text = "Allow Redirects";
label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pickerBox5
//
pickerBox5.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pickerBox5.BackColor = System.Drawing.Color.Transparent;
pickerBox5.EnableMovable = false;
pickerBox5.Location = new System.Drawing.Point(311, 148);
pickerBox5.Name = "pickerBox5";
pickerBox5.SelectedIndex = 1;
pickerBox5.Size = new System.Drawing.Size(80, 32);
pickerBox5.TabIndex = 202;
pickerBox5.TabStop = false;
pickerBox5.Value = true;
//
// OptionsForm
//
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
BackColor = System.Drawing.Color.WhiteSmoke;
ClientSize = new System.Drawing.Size(444, 561);
Controls.Add(flowLayoutPanel1);
Controls.Add(dialogFooter1);
MinimumSize = new System.Drawing.Size(460, 600);
Name = "OptionsForm";
Text = "Options";
flowLayoutPanel1.ResumeLayout(false);
togglePanel1.ResumeLayout(false);
togglePanel1.PerformLayout();
togglePanel2.ResumeLayout(false);
togglePanel2.PerformLayout();
togglePanel3.ResumeLayout(false);
togglePanel3.PerformLayout();
ResumeLayout(false);
}
public App6Options Result
{
get
{
if (_appSession == null)
{
_appSession = new App6Options();
}
_appSession.RestorePosition = pickerBox1.Value;
_appSession.RunCommand = textBox1.Text ?? string.Empty;
_appSession.AlwaysOnTop = pickerBox2.Value;
_appSession.AllowUnsafeSSL = pickerBox3.Value;
_appSession.Timeout = numericBox1.Value;
_appSession.AllowCookies = pickerBox4.Value;
_appSession.AllowRedirects = pickerBox5.Value;
return _appSession;
}
}
}
}