From c551b04e9e03eed481fd33cbce5b853da0892b11 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Nov 2021 13:30:05 +0000 Subject: [PATCH 1/6] Changed: optimise find next file --- RyzStudio/IO/AccessibleDirectory.cs | 31 +++++++++++++++++++++-------- VideoPreview.csproj | 2 +- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/RyzStudio/IO/AccessibleDirectory.cs b/RyzStudio/IO/AccessibleDirectory.cs index a4af53d..7881a2c 100644 --- a/RyzStudio/IO/AccessibleDirectory.cs +++ b/RyzStudio/IO/AccessibleDirectory.cs @@ -214,16 +214,31 @@ namespace RyzStudio.IO string filename = Path.GetFileName(filepath); if (string.IsNullOrWhiteSpace(filename)) return null; - List fileList = AccessibleDirectory.GetFiles(path, pattern, true); - if (fileList == null) return null; - if (fileList.Count <= 0) return null; - if (fileList.Count(x => (Path.GetFileName(x).Equals(filename))) < 0) return null; + bool returnNext = false; + foreach (string item in Directory.EnumerateFiles(path, "*", SearchOption.TopDirectoryOnly)) + { + if (!MatchFileSearchPattern(pattern, Path.GetFileName(item))) + { + continue; + } - int pos = fileList.FindIndex(x => Path.GetFileName(x).Equals(filename)); - if (pos < 0) return null; - if (pos >= (fileList.Count - 1)) return null; + if (!IsFileAccessible(item)) + { + continue; + } - return fileList[(pos + 1)]; + if (returnNext) + { + return item; + } + + if (Path.GetFileName(item).Equals(filename)) + { + returnNext = true; + } + } + + return null; } public static bool IsAccessible(string path) diff --git a/VideoPreview.csproj b/VideoPreview.csproj index 1859923..a12acfc 100644 --- a/VideoPreview.csproj +++ b/VideoPreview.csproj @@ -11,7 +11,7 @@ Ray Lam favicon.ico true - 0.1.1.008 + 0.1.1.022 From 2bed5a85d1de0ebedd71027369c9d683d648eb6d Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Nov 2021 13:34:17 +0000 Subject: [PATCH 2/6] Changed: button positions --- MainForm.Designer.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 513e7f5..9f45908 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -165,7 +165,7 @@ namespace VideoPreview this.textBox1.Name = "textBox1"; this.textBox1.NormalImage = ((System.Drawing.Image)(resources.GetObject("textBox1.NormalImage"))); this.textBox1.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9); - this.textBox1.Size = new System.Drawing.Size(286, 35); + this.textBox1.Size = new System.Drawing.Size(334, 35); this.textBox1.SubmitButton = null; this.textBox1.TabIndex = 16; this.textBox1.UseSystemPasswordChar = false; @@ -190,18 +190,18 @@ namespace VideoPreview // // button3 // - this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.button3.BackColor = System.Drawing.Color.Transparent; this.button3.DefaultImage = global::VideoPreview.UIResource.refresh2; this.button3.DownImage = global::VideoPreview.UIResource.refresh; this.button3.IsSelected = false; this.button3.LabelText = ""; - this.button3.Location = new System.Drawing.Point(410, 9); + this.button3.Location = new System.Drawing.Point(53, 705); this.button3.Margin = new System.Windows.Forms.Padding(10); this.button3.Name = "button3"; this.button3.OverImage = global::VideoPreview.UIResource.refresh; this.button3.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.button3.Size = new System.Drawing.Size(35, 35); + this.button3.Size = new System.Drawing.Size(35, 37); this.button3.TabIndex = 23; this.toolTip1.SetToolTip(this.button3, "Refresh"); this.button3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button3_MouseClick); @@ -214,7 +214,7 @@ namespace VideoPreview this.button4.DownImage = global::VideoPreview.UIResource.arrow_right; this.button4.IsSelected = false; this.button4.LabelText = ""; - this.button4.Location = new System.Drawing.Point(53, 705); + this.button4.Location = new System.Drawing.Point(94, 705); this.button4.Margin = new System.Windows.Forms.Padding(10); this.button4.Name = "button4"; this.button4.OverImage = global::VideoPreview.UIResource.arrow_right; From 4b52ba567a4c5b258d8ef657df385b5a31cdfae6 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Nov 2021 14:09:50 +0000 Subject: [PATCH 3/6] Fixed: ffmpeg path --- MainForm.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MainForm.cs b/MainForm.cs index de8f890..38003de 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -260,12 +260,13 @@ namespace VideoPreview Clear(); + string ffmpegPath = Path.GetDirectoryName(Application.ExecutablePath) + @"\ffmpeg.exe"; MediaFile inputFile = new MediaFile { Filename = filename }; - using (Engine engine = new Engine(Path.GetDirectoryName(Application.ExecutablePath) + @"\ffmpeg.exe")) + using (Engine engine = new Engine(ffmpegPath)) { try { @@ -301,7 +302,7 @@ namespace VideoPreview int thumbnailWidth = flowLayoutPanel1.ClientSize.Width - flowLayoutPanel1.Padding.Horizontal - SystemInformation.VerticalScrollBarWidth; int thumbnailHeight = (int)Math.Round(decimal.Divide((decimal)thumbnailWidth, frameRatio)); - using (Engine engine = new Engine()) + using (Engine engine = new Engine(ffmpegPath)) { for (int i = 0; i < this.CurrentSession.NoFrames; i++) { From cb2c1c13dbc6fa3a47df71feac49646cd6dcd02c Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Nov 2021 15:15:18 +0000 Subject: [PATCH 4/6] Changed: moved to using external ryzstudio3 --- AppResource.Designer.cs | 10 - AppResource.resx | 4 - MainForm.Designer.cs | 44 +- MainForm.cs | 4 +- MainForm.resx | 111 +++ OptionsForm.cs | 36 +- .../PublishProfiles/Release x64.pubxml.user | 2 +- References/RyzStudio3.dll | Bin 0 -> 128512 bytes Resources/UI/arrow_right.png | Bin 597 -> 0 bytes Resources/UI/arrow_right2.png | Bin 414 -> 0 bytes Resources/UI/cog.png | Bin 713 -> 0 bytes Resources/UI/cog2.png | Bin 467 -> 0 bytes Resources/UI/file.png | Bin 372 -> 0 bytes Resources/UI/file2.png | Bin 323 -> 0 bytes Resources/UI/refresh.png | Bin 451 -> 0 bytes Resources/UI/refresh2.png | Bin 300 -> 0 bytes Resources/loading-block.gif | Bin 33840 -> 0 bytes RyzStudio/Data/SQLite/SQLiteDatabase.cs | 444 ---------- RyzStudio/Drawing/Rectangoid.cs | 124 --- RyzStudio/IO/AccessibleDirectory.cs | 396 --------- RyzStudio/IO/FileType.cs | 56 -- RyzStudio/IO/SessionFileFormatBase.cs | 290 ------- RyzStudio/IO/SharpZipLib.cs | 241 ------ RyzStudio/IO/SmarterFileSystem.cs | 281 ------ RyzStudio/Net/HttpWeb.cs | 168 ---- RyzStudio/Windows/Forms/StackLayoutPanel.cs | 69 -- .../Forms/TCustomProgressBar.Designer.cs | 63 -- RyzStudio/Windows/Forms/TCustomProgressBar.cs | 158 ---- .../Windows/Forms/TCustomProgressBar.resx | 120 --- RyzStudio/Windows/Forms/TFlatButton.cs | 115 --- RyzStudio/Windows/Forms/TForm.cs | 434 ---------- RyzStudio/Windows/Forms/TForm.resx | 424 --------- .../Forms/THorizontalSeparator.Designer.cs | 37 - .../Windows/Forms/THorizontalSeparator.cs | 101 --- .../Windows/Forms/THorizontalSeparator.resx | 120 --- RyzStudio/Windows/Forms/TImageBox.cs | 84 -- RyzStudio/Windows/Forms/TPanelBook.cs | 258 ------ RyzStudio/Windows/Forms/TUserControl.cs | 73 -- RyzStudio/Windows/Forms/ThreadControl.cs | 815 ------------------ .../PickerBox/TNumericPickerBox.cs | 52 -- .../ThemedForms/PickerBox/TPickerBox.cs | 98 --- .../PickerBox/TPickerBox.designer.cs | 59 -- .../ThemedForms/PickerBox/TPickerBox.resx | 120 --- .../ThemedForms/PickerBox/TYesNoPickerBox.cs | 27 - RyzStudio/Windows/ThemedForms/TButton.cs | 183 ---- .../Windows/ThemedForms/TButton.designer.cs | 62 -- RyzStudio/Windows/ThemedForms/TButton.resx | 60 -- .../ThemedForms/TDialogForm.Designer.cs | 47 - RyzStudio/Windows/ThemedForms/TDialogForm.cs | 117 --- .../Windows/ThemedForms/TDialogForm.resx | 60 -- RyzStudio/Windows/ThemedForms/TListBox.cs | 385 --------- .../Windows/ThemedForms/TListBox.designer.cs | 358 -------- RyzStudio/Windows/ThemedForms/TListBox.resx | 69 -- RyzStudio/Windows/ThemedForms/TMemoBox.cs | 59 -- .../Windows/ThemedForms/TMemoBox.designer.cs | 63 -- RyzStudio/Windows/ThemedForms/TNumericBox.cs | 99 --- .../ThemedForms/TNumericBox.designer.cs | 60 -- .../Windows/ThemedForms/TNumericBox.resx | 60 -- RyzStudio/Windows/ThemedForms/TProgressBar.cs | 50 -- .../ThemedForms/TProgressBar.designer.cs | 65 -- .../Windows/ThemedForms/TProgressBar.resx | 60 -- RyzStudio/Windows/ThemedForms/TUserControl.cs | 106 --- .../ThemedForms/TUserControl.designer.cs | 37 - .../ThemedForms/TextBox/TButtonTextBox.cs | 149 ---- .../TextBox/TButtonTextBox.designer.cs | 81 -- .../ThemedForms/TextBox/TButtonTextBox.resx | 120 --- .../ThemedForms/TextBox/TFolderTextBox.cs | 46 - .../ThemedForms/TextBox/TFolderTextBox.resx | 120 --- .../ThemedForms/TextBox/TKeyCodeTextBox.cs | 96 --- .../ThemedForms/TextBox/TOpenFileTextBox.cs | 48 -- .../Windows/ThemedForms/TextBox/TTextBox.cs | 100 --- .../ThemedForms/TextBox/TTextBox.designer.cs | 60 -- .../Windows/ThemedForms/TextBox/TTextBox.resx | 120 --- UIResource.Designer.cs | 143 --- UIResource.resx | 145 ---- VideoPreview.csproj | 74 +- VideoPreview.sln => skye.sln | 0 77 files changed, 175 insertions(+), 8565 deletions(-) create mode 100644 References/RyzStudio3.dll delete mode 100644 Resources/UI/arrow_right.png delete mode 100644 Resources/UI/arrow_right2.png delete mode 100644 Resources/UI/cog.png delete mode 100644 Resources/UI/cog2.png delete mode 100644 Resources/UI/file.png delete mode 100644 Resources/UI/file2.png delete mode 100644 Resources/UI/refresh.png delete mode 100644 Resources/UI/refresh2.png delete mode 100644 Resources/loading-block.gif delete mode 100644 RyzStudio/Data/SQLite/SQLiteDatabase.cs delete mode 100644 RyzStudio/Drawing/Rectangoid.cs delete mode 100644 RyzStudio/IO/AccessibleDirectory.cs delete mode 100644 RyzStudio/IO/FileType.cs delete mode 100644 RyzStudio/IO/SessionFileFormatBase.cs delete mode 100644 RyzStudio/IO/SharpZipLib.cs delete mode 100644 RyzStudio/IO/SmarterFileSystem.cs delete mode 100644 RyzStudio/Net/HttpWeb.cs delete mode 100644 RyzStudio/Windows/Forms/StackLayoutPanel.cs delete mode 100644 RyzStudio/Windows/Forms/TCustomProgressBar.Designer.cs delete mode 100644 RyzStudio/Windows/Forms/TCustomProgressBar.cs delete mode 100644 RyzStudio/Windows/Forms/TCustomProgressBar.resx delete mode 100644 RyzStudio/Windows/Forms/TFlatButton.cs delete mode 100644 RyzStudio/Windows/Forms/TForm.cs delete mode 100644 RyzStudio/Windows/Forms/TForm.resx delete mode 100644 RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs delete mode 100644 RyzStudio/Windows/Forms/THorizontalSeparator.cs delete mode 100644 RyzStudio/Windows/Forms/THorizontalSeparator.resx delete mode 100644 RyzStudio/Windows/Forms/TImageBox.cs delete mode 100644 RyzStudio/Windows/Forms/TPanelBook.cs delete mode 100644 RyzStudio/Windows/Forms/TUserControl.cs delete mode 100644 RyzStudio/Windows/Forms/ThreadControl.cs delete mode 100644 RyzStudio/Windows/ThemedForms/PickerBox/TNumericPickerBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.resx delete mode 100644 RyzStudio/Windows/ThemedForms/PickerBox/TYesNoPickerBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TButton.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TButton.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TButton.resx delete mode 100644 RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TDialogForm.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TDialogForm.resx delete mode 100644 RyzStudio/Windows/ThemedForms/TListBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TListBox.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TListBox.resx delete mode 100644 RyzStudio/Windows/ThemedForms/TMemoBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TMemoBox.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TNumericBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TNumericBox.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TNumericBox.resx delete mode 100644 RyzStudio/Windows/ThemedForms/TProgressBar.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TProgressBar.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TProgressBar.resx delete mode 100644 RyzStudio/Windows/ThemedForms/TUserControl.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TUserControl.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.resx delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.resx delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TKeyCodeTextBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TOpenFileTextBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TTextBox.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TTextBox.designer.cs delete mode 100644 RyzStudio/Windows/ThemedForms/TextBox/TTextBox.resx delete mode 100644 UIResource.Designer.cs delete mode 100644 UIResource.resx rename VideoPreview.sln => skye.sln (100%) diff --git a/AppResource.Designer.cs b/AppResource.Designer.cs index a8c3e5c..f905447 100644 --- a/AppResource.Designer.cs +++ b/AppResource.Designer.cs @@ -68,15 +68,5 @@ namespace VideoPreview { return ResourceManager.GetString("AppName", resourceCulture); } } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap loading_block { - get { - object obj = ResourceManager.GetObject("loading_block", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } } } diff --git a/AppResource.resx b/AppResource.resx index b87f38c..d8cb101 100644 --- a/AppResource.resx +++ b/AppResource.resx @@ -120,8 +120,4 @@ Video Preview - - - Resources\loading-block.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - \ No newline at end of file diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 9f45908..bbc7370 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -83,7 +83,7 @@ namespace VideoPreview this.button1.IsSelected = false; this.button1.LabelText = "&Close"; this.button1.Location = new System.Drawing.Point(296, 705); - this.button1.Margin = new System.Windows.Forms.Padding(10); + this.button1.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); this.button1.Name = "button1"; this.button1.OverImage = null; this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); @@ -98,13 +98,13 @@ namespace VideoPreview this.tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0); this.tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0); this.tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent; - this.tHorizontalSeparator1.Location = new System.Drawing.Point(8, 105); - this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0); + this.tHorizontalSeparator1.Location = new System.Drawing.Point(5, 105); + this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10); this.tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(5760, 22); this.tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22); this.tHorizontalSeparator1.Name = "tHorizontalSeparator1"; this.tHorizontalSeparator1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10); - this.tHorizontalSeparator1.Size = new System.Drawing.Size(442, 22); + this.tHorizontalSeparator1.Size = new System.Drawing.Size(454, 22); this.tHorizontalSeparator1.TabIndex = 9; this.tHorizontalSeparator1.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop); this.tHorizontalSeparator1.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver); @@ -116,13 +116,13 @@ namespace VideoPreview this.tHorizontalSeparator3.AutoScrollMargin = new System.Drawing.Size(0, 0); this.tHorizontalSeparator3.AutoScrollMinSize = new System.Drawing.Size(0, 0); this.tHorizontalSeparator3.BackColor = System.Drawing.Color.Transparent; - this.tHorizontalSeparator3.Location = new System.Drawing.Point(8, 673); - this.tHorizontalSeparator3.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0); + this.tHorizontalSeparator3.Location = new System.Drawing.Point(5, 673); + this.tHorizontalSeparator3.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10); this.tHorizontalSeparator3.MaximumSize = new System.Drawing.Size(5760, 22); this.tHorizontalSeparator3.MinimumSize = new System.Drawing.Size(0, 22); this.tHorizontalSeparator3.Name = "tHorizontalSeparator3"; this.tHorizontalSeparator3.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10); - this.tHorizontalSeparator3.Size = new System.Drawing.Size(442, 22); + this.tHorizontalSeparator3.Size = new System.Drawing.Size(454, 22); this.tHorizontalSeparator3.TabIndex = 13; // // flowLayoutPanel1 @@ -161,11 +161,11 @@ namespace VideoPreview this.textBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); this.textBox1.HighlightImage = ((System.Drawing.Image)(resources.GetObject("textBox1.HighlightImage"))); this.textBox1.Location = new System.Drawing.Point(111, 9); - this.textBox1.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3); + this.textBox1.Margin = new System.Windows.Forms.Padding(10, 0, 0, 10); this.textBox1.Name = "textBox1"; this.textBox1.NormalImage = ((System.Drawing.Image)(resources.GetObject("textBox1.NormalImage"))); - this.textBox1.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9); - this.textBox1.Size = new System.Drawing.Size(334, 35); + this.textBox1.Padding = new System.Windows.Forms.Padding(10, 9, 9, 9); + this.textBox1.Size = new System.Drawing.Size(334, 34); this.textBox1.SubmitButton = null; this.textBox1.TabIndex = 16; this.textBox1.UseSystemPasswordChar = false; @@ -174,14 +174,14 @@ namespace VideoPreview // this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.button2.BackColor = System.Drawing.Color.Transparent; - this.button2.DefaultImage = global::VideoPreview.UIResource.cog2; - this.button2.DownImage = global::VideoPreview.UIResource.cog; + this.button2.DefaultImage = ((System.Drawing.Image)(resources.GetObject("button2.DefaultImage"))); + this.button2.DownImage = ((System.Drawing.Image)(resources.GetObject("button2.DownImage"))); this.button2.IsSelected = false; this.button2.LabelText = ""; this.button2.Location = new System.Drawing.Point(12, 705); - this.button2.Margin = new System.Windows.Forms.Padding(10); + this.button2.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); this.button2.Name = "button2"; - this.button2.OverImage = global::VideoPreview.UIResource.cog; + this.button2.OverImage = ((System.Drawing.Image)(resources.GetObject("button2.OverImage"))); this.button2.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); this.button2.Size = new System.Drawing.Size(37, 37); this.button2.TabIndex = 17; @@ -192,14 +192,14 @@ namespace VideoPreview // this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.button3.BackColor = System.Drawing.Color.Transparent; - this.button3.DefaultImage = global::VideoPreview.UIResource.refresh2; - this.button3.DownImage = global::VideoPreview.UIResource.refresh; + this.button3.DefaultImage = ((System.Drawing.Image)(resources.GetObject("button3.DefaultImage"))); + this.button3.DownImage = ((System.Drawing.Image)(resources.GetObject("button3.DownImage"))); this.button3.IsSelected = false; this.button3.LabelText = ""; this.button3.Location = new System.Drawing.Point(53, 705); - this.button3.Margin = new System.Windows.Forms.Padding(10); + this.button3.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); this.button3.Name = "button3"; - this.button3.OverImage = global::VideoPreview.UIResource.refresh; + this.button3.OverImage = ((System.Drawing.Image)(resources.GetObject("button3.OverImage"))); this.button3.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); this.button3.Size = new System.Drawing.Size(35, 37); this.button3.TabIndex = 23; @@ -210,14 +210,14 @@ namespace VideoPreview // this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.button4.BackColor = System.Drawing.Color.Transparent; - this.button4.DefaultImage = global::VideoPreview.UIResource.arrow_right2; - this.button4.DownImage = global::VideoPreview.UIResource.arrow_right; + this.button4.DefaultImage = ((System.Drawing.Image)(resources.GetObject("button4.DefaultImage"))); + this.button4.DownImage = ((System.Drawing.Image)(resources.GetObject("button4.DownImage"))); this.button4.IsSelected = false; this.button4.LabelText = ""; this.button4.Location = new System.Drawing.Point(94, 705); - this.button4.Margin = new System.Windows.Forms.Padding(10); + this.button4.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); this.button4.Name = "button4"; - this.button4.OverImage = global::VideoPreview.UIResource.arrow_right; + this.button4.OverImage = ((System.Drawing.Image)(resources.GetObject("button4.OverImage"))); this.button4.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); this.button4.Size = new System.Drawing.Size(37, 37); this.button4.TabIndex = 24; diff --git a/MainForm.cs b/MainForm.cs index 38003de..97e3755 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -4,10 +4,8 @@ using MediaToolkit.Options; using RyzStudio.IO; using RyzStudio.Windows.Forms; using System; -using System.Collections.Generic; using System.Drawing; using System.IO; -using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; @@ -54,7 +52,7 @@ namespace VideoPreview { isBusy = value; - ThreadControl.SetValue(pictureBox1, (isBusy ? AppResource.loading_block : null)); + ThreadControl.SetValue(pictureBox1, (isBusy ? RyzStudio.UIResource.loading_block : null)); ThreadControl.SetEnable(textBox1, !isBusy); ThreadControl.SetEnable(button1, !isBusy); ThreadControl.SetEnable(button2, !isBusy); diff --git a/MainForm.resx b/MainForm.resx index a8edcae..53734f9 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -79,6 +79,117 @@ 17, 17 + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa + AAABX0lEQVQ4T4WTuy5FURCGNzVqRykatxOFRCeho8M74AEOIlQ8AAo6idKt4Al4AbdGSUKic2vQCN+3 + 9lo7diT7/MmXzMxeM+sys7MKTcJjRLupWqAH2oOXJ+5HHgygLhgC15Zk4Bh+4A02oj0Cw9Heg69oH0FJ + VvXDFKzAJayBhaUB5zALM+DabihUA6vPBa9aq/AKbcH7o104y82gQdiKDBiI8nResdA43MI3LBlAdfgE + F19FOxVZB69QdOceTmAU0uu6q4mtkWvYBKXv4xbdeQJfuFcnygImpQI3kAq4iZ05gFDAV30Bj7VsAHlc + j20Rkz+gH9QCuNbkCQPKXXbgIni5LOKukpKV7fTEJXXAOzgDzWSrbXln8KIc4TRI8+Aui5Ae1avZEWcg + DZKdKsnx9IPVnQnbamf6wPg2OObah5CKFzJg1XQ0Z+MUvO8z+E7+aKURrtIY3IFtnjbwX1n2CxDSV2Di + 8/KLAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa + AAABsUlEQVQ4T32TvUoDQRSFV2u1VktJ41+wCKQTtNNOfQfjA/hDiJU+QGKhnZBSjYU+gXkBTczPEggo + REjnX6Npwvqd2bshCuuFs3vumXPvzM7MenHh+/56o9F4EcRNjo8gCEaazWai1WqNK1ch+YUA70hjbJp8 + SV7lg5CA6RoEGD54542n6/V6ShwUQc94yUrDUFcNYN4AOfgDOFJjAW0XTxlso2/JW6vVZqzcfe8UYg9D + xqTYwHcI3vGOmRQGwjkDd5Z6zLCIdiIwwYLJaqDV5S11hasIPuiDA2ksOQn/BjJXxKMm8GOgfQhPB/IM + bkiWo93VrGgV8lEBXkUraEw5PA3C0+HRBUVmnZVBYQ2qQw0ehxpoU1PgMmqgXX0DOrasTFouuT6hClT8 + BeY1RuGevKCDtiYtWtYZg/dOINQErWBwxQp4meKipWG02+0JxE8a5EyKDRpk8OrIJ01yYkLLooEu0o7N + sq/vtfEsuU5Ed8BdJHxJVxwFYkkDQN11J/o6Gfic6adwXXPxq6j5IGx3k5jc0jDpbtwC/QOv2if9aL+u + 8H9B0QrNnnh3abxp8p/wvB/JAvqX1FARdgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa + AAABsUlEQVQ4T32TvUoDQRSFV2u1VktJ41+wCKQTtNNOfQfjA/hDiJU+QGKhnZBSjYU+gXkBTczPEggo + REjnX6Npwvqd2bshCuuFs3vumXPvzM7MenHh+/56o9F4EcRNjo8gCEaazWai1WqNK1ch+YUA70hjbJp8 + SV7lg5CA6RoEGD54542n6/V6ShwUQc94yUrDUFcNYN4AOfgDOFJjAW0XTxlso2/JW6vVZqzcfe8UYg9D + xqTYwHcI3vGOmRQGwjkDd5Z6zLCIdiIwwYLJaqDV5S11hasIPuiDA2ksOQn/BjJXxKMm8GOgfQhPB/IM + bkiWo93VrGgV8lEBXkUraEw5PA3C0+HRBUVmnZVBYQ2qQw0ehxpoU1PgMmqgXX0DOrasTFouuT6hClT8 + BeY1RuGevKCDtiYtWtYZg/dOINQErWBwxQp4meKipWG02+0JxE8a5EyKDRpk8OrIJ01yYkLLooEu0o7N + sq/vtfEsuU5Ed8BdJHxJVxwFYkkDQN11J/o6Gfic6adwXXPxq6j5IGx3k5jc0jDpbtwC/QOv2if9aL+u + 8H9B0QrNnnh3abxp8p/wvB/JAvqX1FARdgAAAABJRU5ErkJggg== + + + + 17, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAAC80AAAvNATcVCdYAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa + AAAAxUlEQVQoU53ROQoCMQCF4eAVRAuXQi9gLajoLURtLLyHd1DsBO3FM7mULoViIQj6vywDmlQ++CCZ + mYSXjPlJFQsc8cIBc+i5kkPfDV3auGLpx/qwhRVO6KGIN2wKOGNkZ3EGuGGIbNEUGzeMokp1TPBAtqiB + shtGaUK15Y4n/otWaoewm3ZORU3UyEYd1VWd1V1nSGULnd1Gi3Qr4XZSGUPXnrczokW6/y70Yo0Oav6Z + 5hd81dYfDpUqmGEHnXXv5yX4GPMBN1wraYadbeMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAAC80AAAvNATcVCdYAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa + AAABAklEQVQoU5WQPU5CQRSFX9yCwUKhkA1QmyiBXRCwoWAf7gFjZyK9cSkv7/+9UqFEKTAUJCbjd25G + ItNxkpOZe849N3cm+o88zztlWT4VRbHi/OFcwkfp8p1zZ9QjaxZoukPYcD7r7gfcor3ANRymaXrB6SwQ + x3GL4pPGexMCEB7jb7MsmxxCND9QvFoRQCvR3MWf0bc7hLj0kiS5siIAgRv8jUjom3PvrROhpJ9g0zTZ + W0fQJvg9K7g4v+tMu+sNZgTgM970disU8r+yxZiYGAB9ir+u6/rcBIX0/0wZyICLqqr6aNdeW8Cvo7UR + Rn8r0dimnsN3uIcfqpumubRmQxT9AnbC+MLcW5PEAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAAC80AAAvNATcVCdYAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa + AAABAklEQVQoU5WQPU5CQRSFX9yCwUKhkA1QmyiBXRCwoWAf7gFjZyK9cSkv7/+9UqFEKTAUJCbjd25G + ItNxkpOZe849N3cm+o88zztlWT4VRbHi/OFcwkfp8p1zZ9QjaxZoukPYcD7r7gfcor3ANRymaXrB6SwQ + x3GL4pPGexMCEB7jb7MsmxxCND9QvFoRQCvR3MWf0bc7hLj0kiS5siIAgRv8jUjom3PvrROhpJ9g0zTZ + W0fQJvg9K7g4v+tMu+sNZgTgM970disU8r+yxZiYGAB9ir+u6/rcBIX0/0wZyICLqqr6aNdeW8Cvo7UR + Rn8r0dimnsN3uIcfqpumubRmQxT9AnbC+MLcW5PEAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wQAADsEBuJFr7QAAASBJREFUOE+dkzFOAzEQRS0KisBJIFeBih6ukAsgQAolIBJKWhKOABKnAG6QOpGA + LkHwnrMO641ZCb70JI93xhp/z4aCduACnuGt4gUuYRd+1SZcwwJmMILTinG15zdzzM3kxhOYYMEWNLUN + Z2COudkhA/DDfozaZU7qJMp7uXESo1wHcLhcZrJLa/QrmjOFUtt9+IJejH5krp5YGx2+c1HQBtxC6ZB7 + 8KXCB9Tbt+2HGo8wAQ8ZQpI11v7pAM1OsubdxSv85wrORrzCFWhix6Chc2gz0YkNXfiEY4OGvM7Rcpkp + PeNqtG9gDnsxalcapLofq1H2EDspXce2Nc7itVFWbtiJCXqisRaIa/f85lOuFdelJxrr6/gr+1SuC79z + CN8yTFaSEVoBOQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wQAADsEBuJFr7QAAAVBJREFUOE+Vk0FOwlAYhBsXLNSTgFfRFXu9ghcgYKJLagSWbhGPoIk36KZpywlc + 10TcqanflGktFkyYZNL3Zub/8/f1NfiLLMu6aZqOE8Dz3RRCvJ5jbWB2qLnj+UX4DT7AkYi2kCbPmY7L + 1pBA4MXFoziOj2zVwDvGu3JG2d8mCBMZ8MzSTiijrCaphJ6FYSk0gN6n+bm3NTSlamBXmxDmO8a+xivg + paUSyqLpnEI1EOb2NlAUxQFN7vFbTZj4ESZq8NEc32M/VWT/DF9ZF8vlcuqYGgxVu1cDOHGsarBSgwzu + /QroC5okWtxi5lEUHdqrgX+zrbhxiOOA9zph8U2jgf0aaH144W0N8tVnXF9thBn8hKel8A8oKi8S2fo8 + JJZXWU1YD7a9jsbWwbl48yoLbjJzIIdzFYhaS7M3bRU3oTMhoIPV19GvvPJ6y+8cBD/MdMJz9za4mgAA + AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wQAADsEBuJFr7QAAAVBJREFUOE+Vk0FOwlAYhBsXLNSTgFfRFXu9ghcgYKJLagSWbhGPoIk36KZpywlc + 10TcqanflGktFkyYZNL3Zub/8/f1NfiLLMu6aZqOE8Dz3RRCvJ5jbWB2qLnj+UX4DT7AkYi2kCbPmY7L + 1pBA4MXFoziOj2zVwDvGu3JG2d8mCBMZ8MzSTiijrCaphJ6FYSk0gN6n+bm3NTSlamBXmxDmO8a+xivg + paUSyqLpnEI1EOb2NlAUxQFN7vFbTZj4ESZq8NEc32M/VWT/DF9ZF8vlcuqYGgxVu1cDOHGsarBSgwzu + /QroC5okWtxi5lEUHdqrgX+zrbhxiOOA9zph8U2jgf0aaH144W0N8tVnXF9thBn8hKel8A8oKi8S2fo8 + JJZXWU1YD7a9jsbWwbl48yoLbjJzIIdzFYhaS7M3bRU3oTMhoIPV19GvvPJ6y+8cBD/MdMJz9za4mgAA + AABJRU5ErkJggg== + + AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA diff --git a/OptionsForm.cs b/OptionsForm.cs index 51d20db..8776655 100644 --- a/OptionsForm.cs +++ b/OptionsForm.cs @@ -32,9 +32,9 @@ namespace VideoPreview this.tHorizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator(); this.pickerBox2 = new RyzStudio.Windows.ThemedForms.TNumericPickerBox(); this.SuspendLayout(); - // + // // button1 - // + // this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.button1.BackColor = System.Drawing.Color.Transparent; this.button1.DefaultImage = null; @@ -49,9 +49,9 @@ namespace VideoPreview this.button1.Size = new System.Drawing.Size(128, 32); this.button1.TabIndex = 173; this.button1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); - // + // // pickerBox1 - // + // this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox1.BackColor = System.Drawing.Color.Transparent; this.pickerBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); @@ -63,9 +63,9 @@ namespace VideoPreview this.pickerBox1.SubmitButton = null; this.pickerBox1.TabIndex = 183; this.pickerBox1.Value = true; - // + // // label6 - // + // this.label6.AutoSize = true; this.label6.BackColor = System.Drawing.Color.Transparent; this.label6.ForeColor = System.Drawing.SystemColors.ControlText; @@ -77,9 +77,9 @@ namespace VideoPreview this.label6.TabIndex = 182; this.label6.Text = "Generate No. Frames"; this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // label8 - // + // this.label8.AutoSize = true; this.label8.BackColor = System.Drawing.Color.Transparent; this.label8.ForeColor = System.Drawing.SystemColors.ControlText; @@ -91,10 +91,10 @@ namespace VideoPreview this.label8.TabIndex = 186; this.label8.Text = "Always-On-Top"; this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // tHorizontalSeparator1 - // - this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + // + this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0); this.tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0); @@ -107,10 +107,10 @@ namespace VideoPreview this.tHorizontalSeparator1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10); this.tHorizontalSeparator1.Size = new System.Drawing.Size(364, 22); this.tHorizontalSeparator1.TabIndex = 188; - // + // // tHorizontalSeparator2 - // - this.tHorizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.tHorizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.tHorizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0); this.tHorizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0); @@ -123,9 +123,9 @@ namespace VideoPreview this.tHorizontalSeparator2.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10); this.tHorizontalSeparator2.Size = new System.Drawing.Size(364, 22); this.tHorizontalSeparator2.TabIndex = 190; - // + // // pickerBox2 - // + // this.pickerBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox2.BackColor = System.Drawing.Color.Transparent; this.pickerBox2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); @@ -137,9 +137,9 @@ namespace VideoPreview this.pickerBox2.SubmitButton = null; this.pickerBox2.TabIndex = 193; this.pickerBox2.Value = 0; - // + // // OptionsForm - // + // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(384, 521); diff --git a/Properties/PublishProfiles/Release x64.pubxml.user b/Properties/PublishProfiles/Release x64.pubxml.user index 8863fd9..6d0135d 100644 --- a/Properties/PublishProfiles/Release x64.pubxml.user +++ b/Properties/PublishProfiles/Release x64.pubxml.user @@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. --> - True|2021-10-06T12:32:12.5390909Z;True|2021-10-06T13:30:08.6918628+01:00;True|2021-10-06T13:28:10.3646719+01:00;True|2021-10-01T18:02:02.2972982+01:00;True|2021-10-01T17:57:27.4210560+01:00;True|2021-09-30T23:50:34.3900006+01:00;True|2021-09-30T23:10:36.4950540+01:00;True|2021-09-30T22:28:18.0305937+01:00;True|2021-09-30T22:26:57.4795225+01:00;True|2021-09-30T22:26:51.0761308+01:00;True|2021-09-29T16:48:49.3245150+01:00;True|2021-08-01T16:05:00.3313835+01:00;True|2021-07-30T01:25:32.1475388+01:00;True|2021-07-29T21:13:51.3291891+01:00;True|2021-07-28T20:38:29.8079041+01:00;True|2021-07-24T23:38:58.3796268+01:00;True|2021-07-24T23:38:24.4797205+01:00;True|2021-07-23T14:41:56.7940005+01:00;True|2021-07-23T02:31:59.0312077+01:00;True|2021-07-23T02:19:40.8556685+01:00;True|2021-07-23T01:58:59.4046567+01:00; + True|2021-11-07T14:03:05.4305557Z;True|2021-10-06T13:32:12.5390909+01:00;True|2021-10-06T13:30:08.6918628+01:00;True|2021-10-06T13:28:10.3646719+01:00;True|2021-10-01T18:02:02.2972982+01:00;True|2021-10-01T17:57:27.4210560+01:00;True|2021-09-30T23:50:34.3900006+01:00;True|2021-09-30T23:10:36.4950540+01:00;True|2021-09-30T22:28:18.0305937+01:00;True|2021-09-30T22:26:57.4795225+01:00;True|2021-09-30T22:26:51.0761308+01:00;True|2021-09-29T16:48:49.3245150+01:00;True|2021-08-01T16:05:00.3313835+01:00;True|2021-07-30T01:25:32.1475388+01:00;True|2021-07-29T21:13:51.3291891+01:00;True|2021-07-28T20:38:29.8079041+01:00;True|2021-07-24T23:38:58.3796268+01:00;True|2021-07-24T23:38:24.4797205+01:00;True|2021-07-23T14:41:56.7940005+01:00;True|2021-07-23T02:31:59.0312077+01:00;True|2021-07-23T02:19:40.8556685+01:00;True|2021-07-23T01:58:59.4046567+01:00; \ No newline at end of file diff --git a/References/RyzStudio3.dll b/References/RyzStudio3.dll new file mode 100644 index 0000000000000000000000000000000000000000..7fa0e8037f6d239cdfd43fb5da7209d3446316a1 GIT binary patch literal 128512 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 literal 0 HcmV?d00001 diff --git a/Resources/UI/arrow_right.png b/Resources/UI/arrow_right.png deleted file mode 100644 index 96c8e26a795c5dcd18846fa3d38925d06e984670..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 597 zcmV-b0;>IqP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TNp4? zmqJHX@C71HtjX#3@14_JkkB92S$qBKUu$2^-mcSyN~IF>eSa1kbzOI`Nnc}m;!Hdq zuUN|BUjquCG#ZU{&+`^2zJRnP9GH`I7jdX|D|59e@&%Q zcgh7o^OW2&nic#H{CLpBDVNLJ2p+IWL-c?&(w0i4EyXTD9A9Km00000NkvXXu0mjfmVyDB diff --git a/Resources/UI/arrow_right2.png b/Resources/UI/arrow_right2.png deleted file mode 100644 index 33981824f7ec406e7aef383da308be0db412ad6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmV;P0b%}$P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T3-z5w#$pIzfCzqZO_Ig{wG3qSunp`3TQ5XJ_qhCY$gk zznD2@CNuw?$r72sE;@M4-C+-tsH7+VYx>Z}GTv~FN0@O;qlFW!;T=Vse2Y(PVgU6F zVhfIOtaFMS!hg(#UUMAd*n`j`p35ILLa&;6EOeWdxJ&0)uTY$4q_(|{Z>)sgZyfsq z=Y|TO+eoArXGkq_iH-wC5UXw6_D${z!+3(9_6RW#7Ctf5kUy*o~UBsQFj^nnyY)&q& za{V!RF_z#9EI+0(%wPzoSViSAm19jTtY624e3`Zr&pFF}0I!xyPtXGqi~s-t07*qo IM6N<$f++2+V*mgE diff --git a/Resources/UI/cog.png b/Resources/UI/cog.png deleted file mode 100644 index 7a63c8ff497a06e19075ce81b066f66cccff3621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmV;)0yh1LP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10#->x zK~y-6g_ALe+(j70e{c36f*7kDVrxYBf4hqi!B{B7GN?sj@WAH4$O$3@vVKU}^TD=CDTk-i=|cdmwRK6?BwcH*eGD+2P9H6$JZW2Voc4h?fs>N% z*uDguk#w}RwkK%|_!L+H4ggn%!{Mm~LC<>K_6eYqbQ1U?BF+KioZn6`#0c9 zYwfY|czk0CK+?~)@1~TNBjP-8{$Elr^i9tBJ>d3WFt`P<1kiQePomJGM^)M8r8sN9XA*^{(FD+uQp^lK1J> zeP*}T_U2YAAH}M@wTauoUv^IYSsn+^oYwhXL zXmkXi);gT84Qxb2=_CKz_7B71aCNcM?(Xivob#Q@Wb!WmQ>B!(obz9$lt&gZ&StY^ z;2=;ZlgS$?r4`#(BjN)|E~T8ceG2&8_IJR6*4i>~b74--c@uaUxGU+h?bVdhG26e| zF2F~UUbX!&uo)4rNc!hf*jCPYlv27C5jS(r71#xS2VRVbLpwV=56)(@L*w!I#vHe_ v$mw2$+xz6cDe0o^2W-DCsR4iVy{NwdQgAt!(CbpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10bof) zK~y-6jnX|!mT?pY@So4pP`D-L(2$!whJz3^1hyqKnBO7$0F_8i`T^1*H^EV~!EaDY zV`fWBU|SJCfcJo*|=qi;4l8H-~IFR_h<0Qcb;-r)(R6ML%;a3kn5y=JY+ zJPvWK=~%_v+W#n)^V&80c1G;V1AN9AW@Ed9zX|>ry#iUx2wir*Vhi`3v$CATR^ASl z;%h0(UB_MvSCq}~`=6R7#g%l@ZPzx9gE;15Yp3lUh4VkS9pCfB?%`nt(!vTp)GD>p z_EIgGLg$)>^y65$fs15Dp?t8aOgYbfg^j1F@}f59oWjUFek*$$Xd-WBwo~OM&J<=w zVt=hHyMv7iyt(O7{KAiP^F_J3N4Sow`R-m~R1*pOj>o-%{sE_RS^{qBODF&U002ov JPDHLkV1n}Z*WUmD diff --git a/Resources/UI/file.png b/Resources/UI/file.png deleted file mode 100644 index d0c9e5830ade13c518f1a0a7fb5c4e4f20407e41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en1E;5pV~B-+@}K|z?GJx_eO>q8-{0o#jg5}n z9g>X_tOiC#_t=80Zr!@IUqOk7N1;}M!R*1StE;a!K12(Z}++-JXWeQ&xW63z>H+#w~#;bXZn+`j)9pFh|njA5wmragwuLSFoy^UXf z-QJ$R*||lK?E$O9ZJ!1+Yvz}S9d3O--Y>s=VUUaD2I&+{T?OdXq84umfFr?P-?xdad}WKNiL#_{XZGGItC Nc)I$ztaD0e0s!%Bg1i6# diff --git a/Resources/UI/file2.png b/Resources/UI/file2.png deleted file mode 100644 index f3e9f6d2179af7121d2314669151bada83185afe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en@P?<0V~B_mzch1Gq$$e+;8eZOfUvhDuXxoI>Z<;4FSAKHgGum`mj9+JAe$xE~D$Gfb_Ufni z7#v^{&B$rov*qGpw%RufHG>j*wWC%%Y+_q<#CAgOdiK0!6}xON-0+;gM&xay`G2PQ zOt+G*wXB{cw|r8~q%TRk64!0sue^WDo$FTu|J0^hdJ9TEnV5RN^Ixw)1@p4T61G!! S%?<Uq zK~yM_g^w|7R6!Jlzk6q%zaT+GB)z&7zaX)&31}AxLI~Jch(E!?DqTd-kj`RJ z&^m>nHp|NHfTge?1X86lyEDh;Ei6mG(_J{(ar@+^o z^OHXC0Kfs7ra1)8QcBAJ0Fu0v@*Q|?X2$>#z|02o`TWf)(C@tO?w|X!0$11h{wteI zCVwSenb{1W*1Fww-M3ZaXf(PVV_a+7_NN0k`fV?2t@lz&Kdwt}n&wE-BYHEEo&v8! z2oKDxt^zsdJxNh2q6wg>FgT6Y$;9eCVz-9<|2 ttdz0|T-I7oLI}Ui>^*Q9V@%6C{{eWAm^s`$a$5iZ002ovPDHLkV1h>z#XSH3 diff --git a/Resources/UI/refresh2.png b/Resources/UI/refresh2.png deleted file mode 100644 index e14b40f1c9d4339d2bd2fc0fa514135bd9f1c417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 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 0); - } - - public bool DoQueryExist(string query, params string[] args) - { - string sql = SQLiteDatabase.PrepareQuery(query, args); - - return DoQueryExist(sql); - } - - public bool HasTable(string table_name) - { - lastError = string.Empty; - if (database == null) - { - return false; - } - - int rv = this.DoQueryCount("SELECT 1 FROM sqlite_master WHERE type='table' AND name='" + escapeSQL(table_name) + "'"); - - return (rv > 0); - } - - public bool CheckRequiredTables() - { - bool rv = true; - foreach (string tbl in requiredTableList) - { - if (string.IsNullOrEmpty(tbl)) - { - continue; - } - - if (!this.HasTable(tbl)) - { - rv = false; - break; - } - } - - return rv; - } - - - protected bool PrepareConfig() - { - if (HasTable(tableNameConfig)) - { - return true; - } - - bool rv = this.DoNonQuery(@" - BEGIN TRANSACTION; - CREATE TABLE " + tableNameConfig + @" (cfg_name TEXT, cfg_value TEXT); - COMMIT; - "); - - return rv; - } - - public bool SetConfig(string name, string value) - { - if (!PrepareConfig()) - { - return false; - } - - string sql = string.Empty; - int rv = this.DoQueryCount("SELECT 1 FROM " + tableNameConfig + " WHERE cfg_name='" + escapeSQL(name) + "'"); - if (rv <= 0) - { - sql = "INSERT INTO " + tableNameConfig + " (cfg_name, cfg_value) VALUES ('[^1]', '[^2]');"; - } - else - { - sql = "UPDATE " + tableNameConfig + " SET cfg_value='[^2]' WHERE cfg_name='[^1]';"; - } - - sql = PrepareQuery(sql, new string[] { name, value }); - - return this.DoNonQuery(sql); - } - - public string GetConfig(string name, string default_value = "") - { - if (!PrepareConfig()) - { - return default_value; - } - - bool rv = this.DoQueryExist("SELECT 1 FROM " + tableNameConfig + " WHERE cfg_name='" + escapeSQL(name) + "'"); - if (!rv) - { - return default_value; - } - - return this.DoQuerySingle("SELECT cfg_value FROM " + tableNameConfig + " WHERE cfg_name='" + escapeSQL(name) + "'"); - } - - #endregion - - protected virtual bool Prepare() - { - return true; - } - } -} \ No newline at end of file diff --git a/RyzStudio/Drawing/Rectangoid.cs b/RyzStudio/Drawing/Rectangoid.cs deleted file mode 100644 index 59a24d8..0000000 --- a/RyzStudio/Drawing/Rectangoid.cs +++ /dev/null @@ -1,124 +0,0 @@ -using System.Drawing; -using System.Drawing.Drawing2D; - -namespace RyzStudio.Drawing -{ - public struct Rectangoid - { - private int X; - private int Y; - private int Width; - private int Height; - private int Radius; - - public Rectangoid(Rectangle rect, int radius) - { - X = rect.X; - Y = rect.Y; - Width = rect.Width; - Height = rect.Height; - Radius = radius; - } - - public Rectangoid(Rectangle rect, int radius, int borderWidth) - { - rect.Inflate((-1 * borderWidth), (-1 * borderWidth)); - - X = rect.X; - Y = rect.Y; - Width = rect.Width; - Height = rect.Height; - Radius = radius; - } - - public Rectangoid(int x, int y, int width, int height, int radius) - { - X = x; - Y = y; - Width = width; - Height = height; - Radius = radius; - } - - public Rectangoid(int x, int y, int width, int height) - { - X = x; - Y = y; - Width = width; - Height = height; - Radius = 0; - } - - public Rectangoid(int width, int height, int radius) - { - X = 0; - Y = 0; - Width = width; - Height = height; - Radius = radius; - } - - public Rectangoid(int width, int height) - { - X = 0; - Y = 0; - Width = width; - Height = height; - Radius = 0; - } - - public Rectangoid(int width) - { - X = 0; - Y = 0; - Width = width; - Height = width; - Radius = 0; - } - - public GraphicsPath ToGraphicsPath() - { - GraphicsPath rv = new GraphicsPath(); - rv.AddLine(X + this.Radius, Y, X + Width - (this.Radius * 2), Y); - - if (this.Radius > 0) - { - rv.AddArc(X + Width - (this.Radius * 2), Y, this.Radius * 2, this.Radius * 2, 270, 90); - } - - rv.AddLine(X + Width, Y + this.Radius, X + Width, Y + Height - (this.Radius * 2)); - - if (this.Radius > 0) - { - rv.AddArc(X + Width - (this.Radius * 2), Y + Height - (this.Radius * 2), this.Radius * 2, this.Radius * 2, 0, 90); - } - - rv.AddLine(X + Width - (this.Radius * 2), Y + Height, X + this.Radius, Y + Height); - - if (this.Radius > 0) - { - rv.AddArc(X, Y + Height - (this.Radius * 2), this.Radius * 2, this.Radius * 2, 90, 90); - } - - rv.AddLine(X, Y + Height - (this.Radius * 2), X, Y + this.Radius); - - if (this.Radius > 0) - { - rv.AddArc(X, Y, this.Radius * 2, this.Radius * 2, 180, 90); - } - - rv.CloseFigure(); - - return rv; - } - - public PointF GetOrigin() - { - PointF rv = new PointF(); - rv.X = ((float)Width / 2) + X; - rv.Y = ((float)Height / 2) + Y; - - return rv; - } - } -} \ No newline at end of file diff --git a/RyzStudio/IO/AccessibleDirectory.cs b/RyzStudio/IO/AccessibleDirectory.cs deleted file mode 100644 index 7881a2c..0000000 --- a/RyzStudio/IO/AccessibleDirectory.cs +++ /dev/null @@ -1,396 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; - -namespace RyzStudio.IO -{ - public class AccessibleDirectory - { - - public static List GetFiles(string path, string pattern, bool searchTopOnly) - { - List fileList = new List(); - List directoryList = new List(); - - if (string.IsNullOrWhiteSpace(pattern)) pattern = "*"; - - directoryList.Add(path); - - while (true) - { - if (directoryList.Count <= 0) - { - break; - } - - string directory = directoryList.First(); - directoryList.RemoveAt(0); - - if (IsDirectoryAccessible(directory)) - { - IEnumerable searchDirList = new List(); - - try - { - searchDirList = Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly); - } - catch (Exception) - { - continue; - } - - if (!searchTopOnly) - { - foreach (string item in searchDirList) - { - if (!IsDirectoryAccessible(item)) - { - continue; - } - - directoryList.Add(item); - } - } - - foreach (string item in Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly)) - { - if (!MatchFileSearchPattern(pattern, Path.GetFileName(item))) - { - continue; - } - - if (!IsFileAccessible(item)) - { - continue; - } - - fileList.Add(item); - } - } - } - - return fileList; - } - - public static IEnumerable EnumerateFiles(string path, string pattern, bool searchTopOnly) - { - List directoryList = new List(); - - if (string.IsNullOrWhiteSpace(pattern)) pattern = "*"; - - directoryList.Add(path); - - while (true) - { - if (directoryList.Count <= 0) - { - yield break; - } - - string directory = directoryList.First(); - directoryList.RemoveAt(0); - - if (IsDirectoryAccessible(directory)) - { - IEnumerable searchDirList = new List(); - - try - { - searchDirList = Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly); - } - catch (Exception) - { - continue; - } - - if (!searchTopOnly) - { - foreach (string item in searchDirList) - { - if (!IsDirectoryAccessible(item)) - { - continue; - } - - directoryList.Add(item); - } - } - - foreach (string item in Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly)) - { - if (!MatchFileSearchPattern(pattern, Path.GetFileName(item))) - { - continue; - } - - if (!IsFileAccessible(item)) - { - continue; - } - - yield return item; - } - } - } - } - - public static void GetFiles(string path, string pattern, bool searchTopOnly, Func callback) - { - List directoryList = new List(); - ulong searchCount = 0; - - if (string.IsNullOrWhiteSpace(pattern)) pattern = "*"; - - directoryList.Add(path); - searchCount++; - - while (true) - { - if (directoryList.Count <= 0) - { - break; - } - - string directory = directoryList.First(); - directoryList.RemoveAt(0); - - callback(null, searchCount, directoryList.Count); - - if (IsDirectoryAccessible(directory)) - { - IEnumerable searchDirList = new List(); - - try - { - searchDirList = Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly); - } - catch (Exception) - { - continue; - } - - if (!searchTopOnly) - { - foreach (string item in searchDirList) - { - if (!IsDirectoryAccessible(item)) - { - continue; - } - - directoryList.Add(item); - searchCount++; - - callback(null, searchCount, directoryList.Count); - } - } - - foreach (string item in Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly)) - { - if (!MatchFileSearchPattern(pattern, Path.GetFileName(item))) - { - continue; - } - - if (!IsFileAccessible(item)) - { - continue; - } - - callback(item, searchCount, directoryList.Count); - } - } - } - } - - public static string GetNextFile(string filepath, string pattern) - { - if (string.IsNullOrWhiteSpace(filepath)) return null; - - string path = Path.GetDirectoryName(filepath); - if (string.IsNullOrWhiteSpace(path)) return null; - - string filename = Path.GetFileName(filepath); - if (string.IsNullOrWhiteSpace(filename)) return null; - - bool returnNext = false; - foreach (string item in Directory.EnumerateFiles(path, "*", SearchOption.TopDirectoryOnly)) - { - if (!MatchFileSearchPattern(pattern, Path.GetFileName(item))) - { - continue; - } - - if (!IsFileAccessible(item)) - { - continue; - } - - if (returnNext) - { - return item; - } - - if (Path.GetFileName(item).Equals(filename)) - { - returnNext = true; - } - } - - return null; - } - - public static bool IsAccessible(string path) - { - if (string.IsNullOrWhiteSpace(path)) return false; - - if (File.Exists(path)) return IsFileAccessible(path); - if (Directory.Exists(path)) return IsDirectoryAccessible(path); - - return false; - } - - public static bool IsFileAccessible(string filename) - { - if (string.IsNullOrWhiteSpace(filename)) return false; - if (!File.Exists(filename)) return false; - - try - { - FileInfo fi = new FileInfo(filename); - fi.GetAccessControl(); - } - catch - { - return false; - } - - return true; - } - - public static bool IsDirectoryAccessible(string path) - { - if (string.IsNullOrWhiteSpace(path)) return false; - if (!Directory.Exists(path)) return false; - - try - { - DirectoryInfo di = new DirectoryInfo(path); - di.GetAccessControl(); - } - catch - { - return false; - } - - return true; - } - - public static bool MatchFileSearchPattern(string pattern, string subject) - { - if (string.IsNullOrWhiteSpace(pattern)) - { - return false; - } - - Func matchPattern = (pattern, subject) => - { - string[] parts = pattern.Split('*'); - if (parts.Length <= 1) - { - return subject.Equals(pattern, StringComparison.CurrentCultureIgnoreCase); - } - - int pos = 0; - - for (int i = 0; i < parts.Length; i++) - { - if (i <= 0) - { - // first - pos = subject.IndexOf(parts[i], pos, StringComparison.CurrentCultureIgnoreCase); - if (pos != 0) - { - return false; - } - } - else if (i >= (parts.Length - 1)) - { - // last - if (!subject.EndsWith(parts[i], StringComparison.CurrentCultureIgnoreCase)) - { - return false; - } - } - else - { - pos = subject.IndexOf(parts[i], pos, StringComparison.CurrentCultureIgnoreCase); - if (pos < 0) - { - return false; - } - - pos += parts[i].Length; - } - } - - return true; - }; - - Func matchAllPattern = (pattern, subject) => - { - int wildcardCount = pattern.Count(x => x.Equals('*')); - if (wildcardCount <= 0) - { - return subject.Equals(pattern, StringComparison.CurrentCultureIgnoreCase); - } - else if (wildcardCount == 1) - { - string newWildcardPattern = pattern.Replace("*", ""); - - if (pattern.StartsWith("*")) - { - return subject.EndsWith(newWildcardPattern, StringComparison.CurrentCultureIgnoreCase); - } - else if (pattern.EndsWith("*")) - { - return subject.StartsWith(newWildcardPattern, StringComparison.CurrentCultureIgnoreCase); - } - else - { - return matchPattern(pattern, subject); - } - } - else - { - return matchPattern(pattern, subject); - } - }; - - if (pattern.Contains(';')) - { - string[] parts = pattern.Split(';'); - for (int i=0; i 0); - - sr2.Close(); - oxTW.Close(); - zipOutStream1.Finish(); - zipOutStream1.Close(); - - rv = true; - } - catch (Exception exc) - { - if (enableErrorReporting) - { - MessageBox.Show(exc.Message); - } - } - - return rv; - } - - public bool saveToXml() - { - return saveToXml(lastUsedFileName); - } - - public bool saveToXml(string file_name) - { - bool rv = false; - - lastUsedFileName = file_name; - try - { - File.Delete(file_name); - FileInfo fileinfo1 = new FileInfo(file_name); - if (!Directory.Exists(fileinfo1.DirectoryName)) - { - Directory.CreateDirectory(fileinfo1.DirectoryName); - } - } - catch (Exception exc) - { - if (enableErrorReporting) - { - MessageBox.Show(exc.Message); - } - } - - try - { - XmlTextWriter oxTW = new XmlTextWriter(file_name, Encoding.UTF8); - saveToXmlTextWriter(ref oxTW); - oxTW.Flush(); - oxTW.Close(); - - rv = true; - } - catch (Exception exc) - { - if (enableErrorReporting) - { - MessageBox.Show(exc.Message); - } - } - - return rv; - } - - #endregion - - protected virtual void loadFromXmlDocument(ref XmlDocument xml_doc) { } - protected virtual void saveToXmlTextWriter(ref XmlTextWriter writer) { } - - #region public methods (conversions) - - public int[] convIntArrayString(string s1, char c) - { - string[] sarr = s1.Split(c); - int[] iarr = new int[sarr.Length]; - for (int i = 0; i < sarr.Length; i++) - { - iarr[i] = Int32.Parse(sarr[i]); - } - - return iarr; - } - - public string convStringIntArray(int[] r, char s) - { - string t = null; - for (int i = 0; i < r.Length; i++) - { - if (i != 0) - { - t += s.ToString(); - } - - t += r[i].ToString(); - } - - return t; - } - -#endregion - } -} \ No newline at end of file diff --git a/RyzStudio/IO/SharpZipLib.cs b/RyzStudio/IO/SharpZipLib.cs deleted file mode 100644 index 33729b8..0000000 --- a/RyzStudio/IO/SharpZipLib.cs +++ /dev/null @@ -1,241 +0,0 @@ -using System; -using System.IO; -using ICSharpCode.SharpZipLib.Zip; - -namespace RyzStudio.IO -{ - public class SharpZipLib - { - - - public static bool IsZipEncrypted(string filename) - { - bool rv = false; - - try - { - ZipInputStream readStream = new ZipInputStream(System.IO.File.OpenRead(filename)); - - ZipEntry theEntry = null; - while ((theEntry = readStream.GetNextEntry()) != null) - { - if (theEntry.IsCrypted) - { - rv = true; - } - - break; - } - - readStream.Close(); - readStream.Dispose(); - readStream = null; - } - catch - { - // do nothing - } - - return rv; - } - - //public static void AddFile(ZipOutputStream zipStream, string filename, string prefixPath = null) - //{ - // byte[] buffer = new byte[4096]; - - // string f1 = ""; - // if (prefixPath != null) - // { - // f1 = Path.GetDirectoryName(filename).TrimEnd('\\') + "\\"; - // f1 = f1.Replace(prefixPath, "").TrimEnd('\\') + "\\"; - // f1 = f1 + Path.GetFileName(filename); - // f1 = f1.TrimStart('\\'); - // } - - // ZipEntry entry = new ZipEntry(f1); - // entry.DateTime = DateTime.Now; - - // zipStream.PutNextEntry(entry); - - // FileStream fs = File.OpenRead(filename); - - // int sourceBytes; - - // do - // { - // sourceBytes = fs.Read(buffer, 0, buffer.Length); - // zipStream.Write(buffer, 0, sourceBytes); - // } - // while (sourceBytes > 0); - //} - - //public static void AddFolder(ZipOutputStream zipstream, string folderpath, string prefixpath = null) - //{ - // foreach (string fn in Directory.GetFiles(folderpath, "*.*", System.IO.SearchOption.AllDirectories)) - // { - // AddFile(zipstream, fn, prefixpath); - // } - //} - - public static string ReadSingle(string filename, string password, string entryFilename) - { - string rv = null; - - int size = 2048; - byte[] buffer = new byte[size]; - int bufferSize = 0; - - ZipEntry readEntry = null; - - try - { - ZipInputStream readStream = new ZipInputStream(File.OpenRead(filename)); - readStream.Password = password; - - while (true) - { - readEntry = readStream.GetNextEntry(); - if (readEntry == null) - { - break; - } - - if (string.IsNullOrWhiteSpace(readEntry.Name)) - { - continue; - } - - if (!readEntry.IsFile) - { - continue; - } - - if (!readEntry.Name.Equals(entryFilename)) - { - continue; - } - - MemoryStream ms = new MemoryStream(); - buffer = new byte[size]; - bufferSize = 0; - - do - { - bufferSize = readStream.Read(buffer, 0, buffer.Length); - ms.Write(buffer, 0, bufferSize); - } - while (bufferSize > 0); - - ms.Position = 0; - - StreamReader sr = new StreamReader(ms); - rv = sr.ReadToEnd(); - - break; - } - - readStream.Flush(); - readStream.Close(); - readStream.Dispose(); - readStream = null; - } - catch (Exception) - { - return rv; - } - - return rv; - } - - public static bool TestArchive(string filename, string password = null) - { - if (string.IsNullOrWhiteSpace(filename)) - { - return false; - } - - if (!File.Exists(filename)) - { - return false; - } - - ZipEntry readEntry = null; - - try - { - ZipInputStream readStream = new ZipInputStream(System.IO.File.OpenRead(filename)); - readStream.Password = password; - - while (true) - { - readEntry = readStream.GetNextEntry(); - if (readEntry == null) - { - break; - } - - //break; - } - - readStream.Close(); - readStream.Dispose(); - readStream = null; - } - catch (Exception) - { - return false; - } - - return true; - } - - public static bool CreateSingle(string filename, string password, string entryFilename, string content) - { - int size = 2048; - byte[] buffer = new byte[size]; - int bufferSize = 0; - - try - { - ZipOutputStream zipStream = new ZipOutputStream(File.Create(filename)); - zipStream.SetLevel(9); - zipStream.Password = password; - - // stream - MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(content)); - ms.Position = 0; - - // write file entry - zipStream.PutNextEntry(new ZipEntry(entryFilename)); - - buffer = new byte[size]; - bufferSize = 0; - - do - { - bufferSize = ms.Read(buffer, 0, buffer.Length); - zipStream.Write(buffer, 0, bufferSize); - } - while (bufferSize > 0); - - ms.Flush(); - ms.Close(); - ms.Dispose(); - ms = null; - - zipStream.Finish(); - zipStream.Flush(); - zipStream.Close(); - zipStream.Dispose(); - zipStream = null; - } - catch (Exception) - { - return false; - } - - return true; - } - - } -} \ No newline at end of file diff --git a/RyzStudio/IO/SmarterFileSystem.cs b/RyzStudio/IO/SmarterFileSystem.cs deleted file mode 100644 index 9a04fb1..0000000 --- a/RyzStudio/IO/SmarterFileSystem.cs +++ /dev/null @@ -1,281 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; - -namespace RyzStudio.IO -{ - public class SmarterFileSystem - { - public static List GetFiles(string path, string pattern, System.IO.SearchOption searchOption) - { - List fileList = new List(); - List directoryList = new List(); - - directoryList.Add(path); - - while (true) - { - if (directoryList.Count <= 0) - { - break; - } - - string directory = directoryList.First(); - directoryList.RemoveAt(0); - - if (!IsDirectoryAccessible(directory)) - { - continue; - } - - IEnumerable dirList = Enumerable.Empty(); - - try - { - dirList = Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly); - } - catch - { - continue; - } - - foreach (string item in dirList) - { - //if (!IsDirectoryAccessible(item)) - //{ - // continue; - //} - - directoryList.Add(item); - } - - foreach (string item in Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly)) - { - if (!IsFileAccessible(item)) - { - continue; - } - - fileList.Add(item); - } - } - - return fileList; - } - - //public static List GetFiles(string path, string searchPattern, System.IO.SearchOption searchOption) - //{ - // List rs = new List(); - - // if (string.IsNullOrWhiteSpace(path)) return rs; - // if (!System.IO.Directory.Exists(path)) return rs; - - // IEnumerable fileList = Enumerable.Empty(); - - - // //if (!IsDirectoryAccessible(path)) - // //{ - // // return rs; - // //} - - // try - // { - // fileList = Directory.EnumerateFiles(path, "*", SearchOption.TopDirectoryOnly); - // } - // catch - // { - // return rs; - // } - - // foreach (string item in fileList) - // { - // if (!IsFileAccessible(item)) - // { - // continue; - // } - - // rs.Add(item); - // } - - // if (searchOption == SearchOption.AllDirectories) - // { - // foreach (string item in Directory.EnumerateDirectories(path, "*", SearchOption.TopDirectoryOnly)) - // { - // //if (!IsDirectoryAccessible(item)) - // //{ - // // continue; - // //} - - // rs.AddRange(GetFiles(item, searchPattern, searchOption)); - // } - // } - - // return rs; - //} - - - //public static string CleanFilename(string value, string defaultValue = "") - //{ - // if (string.IsNullOrWhiteSpace(value)) - // { - // return defaultValue; - // } - // else - // { - // return string.Join("-", value.Replace(".", "-").Split(Path.GetInvalidFileNameChars())); - // } - //} - - //public static List GetFiles(string path, string pattern) - //{ - // List fileList = new List(); - // List directoryList = new List(); - - // directoryList.Add(path); - - // while (true) - // { - // if (directoryList.Count <= 0) - // { - // break; - // } - - // string directory = directoryList.First(); - // directoryList.RemoveAt(0); - - // if (!IsDirectoryAccessible(directory)) - // { - // continue; - // } - - // foreach (string item in Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly)) - // { - // if (!IsDirectoryAccessible(item)) - // { - // continue; - // } - - // directoryList.Add(item); - // } - - // foreach (string item in Directory.EnumerateFiles(directory, pattern, SearchOption.TopDirectoryOnly)) - // { - // if (!IsFileAccessible(item)) - // { - // continue; - // } - - // fileList.Add(item); - // } - // } - - // return fileList; - //} - - public static bool IsFileAccessible(string filename) - { - if (string.IsNullOrWhiteSpace(filename)) return false; - if (!System.IO.File.Exists(filename)) return false; - - try - { - System.IO.File.GetAttributes(filename); - } - catch - { - return false; - } - - return true; - } - - public static bool IsDirectoryAccessible(string path) - { - if (string.IsNullOrWhiteSpace(path)) return false; - if (!System.IO.Directory.Exists(path)) return false; - - //try - //{ - // System.IO.Directory.GetCreationTime(path); - //} - //catch - //{ - // return false; - //} - - return true; - } - - //public static string ResolvePath(string value) - //{ - // string rv = Environment.ExpandEnvironmentVariables(value); - - // rv = resolveFirstPath(rv); - // rv = resolveLastPath(rv); - - // return rv; - //} - - //protected static string resolveFirstPath(string value) - //{ - // const string last = "%FIRST%"; - // if (!value.Contains(last)) - // { - // return value; - // } - - // string head = value.Substring(0, value.IndexOf(last)); - // string tail = value.Substring(value.IndexOf(last) + last.Length); - - // string[] dirList = new string[0]; - - // try - // { - // dirList = System.IO.Directory.GetDirectories(head, "*", System.IO.SearchOption.TopDirectoryOnly); - // } - // catch - // { - // // do nothing - // } - - // if (dirList.Length <= 0) - // { - // return value; - // } - - // return dirList[0] + tail; - //} - - //protected static string resolveLastPath(string value) - //{ - // const string last = "%LAST%"; - // if (!value.Contains(last)) - // { - // return value; - // } - - // string head = value.Substring(0, value.IndexOf(last)); - // string tail = value.Substring(value.IndexOf(last) + last.Length); - - // string[] dirList = new string[0]; - - // try - // { - // dirList = System.IO.Directory.GetDirectories(head, "*", System.IO.SearchOption.TopDirectoryOnly); - // } - // catch - // { - // // do nothing - // } - - // if (dirList.Length <= 0) - // { - // return value; - // } - - // return dirList[(dirList.Length - 1)] + tail; - //} - - } -} diff --git a/RyzStudio/Net/HttpWeb.cs b/RyzStudio/Net/HttpWeb.cs deleted file mode 100644 index bafff2e..0000000 --- a/RyzStudio/Net/HttpWeb.cs +++ /dev/null @@ -1,168 +0,0 @@ -using System; -using System.IO; -using System.Net; -using System.Text; -using System.Windows.Forms; - -namespace RyzStudio.Net -{ - public class HttpWeb - { - public string defaultUserAgent = "Momozilla/5.0 (" + Environment.OSVersion.Platform.ToString() + " ; " + Environment.OSVersion.VersionString + "; " + Application.CurrentCulture.TwoLetterISOLanguageName + ")"; - public int defaultTimeout = 6000; - public int defaultMaxRedirect = 8; - public bool defaultAllowRedirect = true; - public CookieContainer defaultCookierContainer = null; - - public HttpWeb() - { - } - - public HttpWebRequest CreateRequest(string url) - { - return this.CreateRequest(url, url); - } - - public HttpWebRequest CreateRequest(string url, string referrerURL) - { - if (defaultCookierContainer == null) - { - defaultCookierContainer = new CookieContainer(); - } - - HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); - webRequest.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore); - webRequest.MaximumAutomaticRedirections = defaultMaxRedirect; - webRequest.CookieContainer = defaultCookierContainer; - webRequest.UserAgent = defaultUserAgent; - webRequest.AllowAutoRedirect = defaultAllowRedirect; - webRequest.Timeout = defaultTimeout; - - return webRequest; - } - - public int GetResponse(out string sourceCode, string url, string referrerURL = "") - { - HttpWebRequest webRequest = this.CreateRequest(url, referrerURL); - - return GetResponse(out sourceCode, webRequest); - } - - public int GetResponse(out string sourceCode, HttpWebRequest webRequest) - { - sourceCode = string.Empty; - - int rv = 0; - - try - { - HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); - - rv = (int)webResponse.StatusCode; - - StreamReader readContent = new StreamReader(webResponse.GetResponseStream()); - sourceCode = readContent.ReadToEnd(); - - webResponse.Close(); - webResponse = null; - } - catch (WebException xc) - { - if (xc.Response is HttpWebResponse) - { - HttpWebResponse rs = xc.Response as HttpWebResponse; - StreamReader readContent = new StreamReader(rs.GetResponseStream()); - if (readContent != null) - { - sourceCode = readContent.ReadToEnd(); - } - - rv = (int)rs.StatusCode; - } - else - { - rv = (int)xc.Status; - sourceCode = xc.Message; - } - } - catch (Exception xc) - { - sourceCode = xc.Message; - } - - return rv; - } - - public static HttpWebRequest AddBasicAuthentication(HttpWebRequest webRequest, string username, string password) - { - webRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(string.Concat(username, ":", password))); - webRequest.PreAuthenticate = true; - - return webRequest; - } - - - public int GetPOSTResponse(out string sourceCode, HttpWebRequest webRequest, string postData) - { - sourceCode = ""; - int rv = 0; - byte[] buffer = Encoding.UTF8.GetBytes(postData); - - webRequest.ContentLength = buffer.Length; - - try - { - Stream dataStream = webRequest.GetRequestStream(); - dataStream.Write(buffer, 0, buffer.Length); - dataStream.Close(); - } - catch (Exception xc) - { - sourceCode = xc.Message; - return rv; - } - - return this.GetResponse(out sourceCode, webRequest); - } - - public int GetHeader(out WebHeaderCollection headerCollection, string url, string referrerURL = "") - { - headerCollection = null; - - int rv = 0; - - HttpWebRequest webRequest = this.CreateRequest(url, referrerURL); - webRequest.Method = "HEAD"; - - try - { - HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); - headerCollection = webResponse.Headers; - - rv = (int)webResponse.StatusCode; - - webResponse.Close(); - webResponse = null; - } - catch (WebException xc) - { - if (xc.Response is HttpWebResponse) - { - HttpWebResponse rs = xc.Response as HttpWebResponse; - - rv = (int)rs.StatusCode; - } - else - { - rv = (int)xc.Status; - } - } - catch - { - // do nothing - } - - return rv; - } - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/Forms/StackLayoutPanel.cs b/RyzStudio/Windows/Forms/StackLayoutPanel.cs deleted file mode 100644 index 8cdeae5..0000000 --- a/RyzStudio/Windows/Forms/StackLayoutPanel.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace RyzStudio.Windows.Forms -{ - public class StackLayoutPanel : FlowLayoutPanel - { - public StackLayoutPanel() : base() - { - this.AutoScroll = true; - this.FlowDirection = FlowDirection.TopDown; - this.WrapContents = false; - } - - protected override void OnResize(EventArgs eventargs) - { - base.OnResize(eventargs); - - //int w = this.ClientRectangle.Width - SystemInformation.VerticalScrollBarWidth; - int w = this.ClientRectangle.Width - 1; - - foreach (Control item in this.Controls) - { - if (item.Width != w) - { - item.Width = w; - } - } - } - - protected override void OnControlAdded(ControlEventArgs e) - { - base.OnControlAdded(e); - - OnResize(null); - } - - protected override void OnControlRemoved(ControlEventArgs e) - { - base.OnControlRemoved(e); - - OnResize(null); - } - - public void AddControl(Control value) - { - if (this.InvokeRequired) - { - this.Invoke(new MethodInvoker(() => - { - value.Margin = new Padding(0, 3, 0, 3); - - this.Controls.Add(value); - })); - } - else - { - value.Margin = new Padding(0, 3, 0, 3); - - this.Controls.Add(value); - } - } - - } -} diff --git a/RyzStudio/Windows/Forms/TCustomProgressBar.Designer.cs b/RyzStudio/Windows/Forms/TCustomProgressBar.Designer.cs deleted file mode 100644 index 73c344f..0000000 --- a/RyzStudio/Windows/Forms/TCustomProgressBar.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -namespace RyzStudio.Windows.Forms -{ - partial class TCustomProgressBar - { - ///

- /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.label3 = new System.Windows.Forms.Label(); - this.SuspendLayout(); - // - // label3 - // - this.label3.BackColor = System.Drawing.Color.Transparent; - this.label3.Dock = System.Windows.Forms.DockStyle.Fill; - this.label3.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label3.Location = new System.Drawing.Point(4, 4); - this.label3.Margin = new System.Windows.Forms.Padding(0); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(803, 47); - this.label3.TabIndex = 144; - this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // ProgressBarInner - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.label3); - this.Margin = new System.Windows.Forms.Padding(0); - this.Name = "ProgressBarInner"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(810, 54); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Label label3; - } -} diff --git a/RyzStudio/Windows/Forms/TCustomProgressBar.cs b/RyzStudio/Windows/Forms/TCustomProgressBar.cs deleted file mode 100644 index 1a8493e..0000000 --- a/RyzStudio/Windows/Forms/TCustomProgressBar.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.Forms -{ - public partial class TCustomProgressBar : TUserControl - { - protected int minimum = 0; - protected int maximum = 100; - protected int value = 50; - - - public TCustomProgressBar() : base() - { - InitializeComponent(); - - this.Padding = new Padding(0); - } - - - [Category("Data"), Browsable(true)] - public int Minimum - { - get => minimum; - set - { - if (this.InvokeRequired) - { - this.Invoke(new MethodInvoker(() => { - SetMinimum(value); - })); - } - else - { - SetMinimum(value); - } - } - } - - [Category("Data"), Browsable(true)] - public int Maximum - { - get => maximum; - set - { - if (this.InvokeRequired) - { - this.Invoke(new MethodInvoker(() => { - SetMaximum(value); - })); - } - else - { - SetMaximum(value); - } - } - } - - [Category("Data"), Browsable(true)] - public int Value - { - get => value; - set - { - if (this.InvokeRequired) - { - this.Invoke(new MethodInvoker(() => { - SetValue(value); - })); - } - else - { - SetValue(value); - } - } - } - - [Category("Appearance"), Browsable(true)] - public Color BarColour { get; set; } = Color.FromArgb(158, 225, 249); - - [Category("Appearance"), Browsable(true)] - public Color BarTextColour { get => label3.ForeColor; set => label3.ForeColor = value; } - - - protected override void OnPaint(PaintEventArgs e) - { - base.OnPaint(e); - - Rectangle canvas = this.DisplayRectangle; - Graphics g = e.Graphics; - - if (this.Value > 0) - { - decimal result = decimal.Divide(canvas.Width, this.Maximum) * this.Value; - - canvas.Width = (int)Math.Round(result); - - g.FillRectangle(new SolidBrush(this.BarColour), canvas); - } - } - - - public void Reset(int value) - { - this.Minimum = 0; - this.Value = 0; - this.Maximum = value; - } - - protected void UpdateText() => RyzStudio.Windows.Forms.ThreadControl.SetText(label3, string.Format("{0}/{1}", this.Value.ToString(), this.Maximum.ToString())); - - protected void SetMinimum(int value) - { - int m = value; - if (m < 0) m = 0; - if (m > this.Maximum) m = this.Maximum; - if (this.Value < m) this.Value = m; - if (this.value > this.Maximum) this.value = this.Maximum; - - minimum = m; - - UpdateText(); - - this.Invalidate(); - } - - protected void SetMaximum(int value) - { - int m = value; - if (m < 0) m = 0; - if (m < this.Minimum) m = this.Minimum; - if (this.Value > m) this.Value = m; - if (this.value < this.Minimum) this.value = this.Minimum; - - maximum = m; - - UpdateText(); - - this.Invalidate(); - } - - protected void SetValue(int value) - { - int m = value; - if (m < this.Minimum) m = this.Minimum; - if (m > this.Maximum) m = this.Maximum; - - this.value = m; - - UpdateText(); - - this.Invalidate(); - } - - } -} diff --git a/RyzStudio/Windows/Forms/TCustomProgressBar.resx b/RyzStudio/Windows/Forms/TCustomProgressBar.resx deleted file mode 100644 index 1af7de1..0000000 --- a/RyzStudio/Windows/Forms/TCustomProgressBar.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/Forms/TFlatButton.cs b/RyzStudio/Windows/Forms/TFlatButton.cs deleted file mode 100644 index b50dee0..0000000 --- a/RyzStudio/Windows/Forms/TFlatButton.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.Forms -{ - public class TFlatButton : Label - { - public class ButtonStyle - { - public Color BackColour { get; set; } = Color.Transparent; - public Color PenColour { get; set; } = Color.Transparent; - } - - public enum FlatButtonState - { - Idle = 0, - Hover, - Down - } - - protected FlatButtonState controlState = FlatButtonState.Idle; - - public TFlatButton() : base() - { - this.AutoSize = false; - this.ImageAlign = ContentAlignment.MiddleCenter; - this.TextAlign = ContentAlignment.MiddleCenter; - - // customise - this.StyleOver = new ButtonStyle() - { - BackColour = Color.FromArgb(51, 51, 51), - PenColour = Color.White - }; - this.StyleDown = new ButtonStyle() - { - BackColour = Color.FromArgb(179, 179, 179), - PenColour = Color.Black - }; - this.StyleDefault = new ButtonStyle() - { - BackColour = Color.White, - PenColour = Color.Black - }; - - this.VisualState = FlatButtonState.Idle; - - this.Click += delegate { this.OnClick(null); }; - this.MouseEnter += delegate { this.VisualState = FlatButtonState.Hover; }; - this.MouseLeave += delegate { this.VisualState = FlatButtonState.Idle; }; - this.MouseDown += delegate { this.VisualState = FlatButtonState.Down; }; - this.MouseUp += delegate { this.VisualState = FlatButtonState.Idle; }; - } - - protected FlatButtonState VisualState - { - get { return controlState; } - set - { - switch (value) - { - case FlatButtonState.Idle: - if (this.VisualState == FlatButtonState.Down) - { - updateButton(StyleOver); - } - else - { - updateButton(StyleDefault); - } - - break; - case FlatButtonState.Hover: - updateButton(StyleOver); - break; - case FlatButtonState.Down: - updateButton(StyleDown); - break; - default: - updateButton(StyleDefault); - break; - } - - controlState = value; - } - } - - protected void updateButton(ButtonStyle style) - { - this.ForeColor = style.PenColour; - this.BackColor = style.BackColour; - } - - protected ButtonStyle StyleOver { get; set; } = new ButtonStyle(); - - protected ButtonStyle StyleDown { get; set; } = new ButtonStyle(); - - protected ButtonStyle StyleDefault { get; set; } = new ButtonStyle(); - - public void PerformClick() - { - if (this.InvokeRequired) - { - this.Invoke(new MethodInvoker(() => { - this.OnClick(null); - })); - } - else - { - this.OnClick(null); - } - } - - } -} diff --git a/RyzStudio/Windows/Forms/TForm.cs b/RyzStudio/Windows/Forms/TForm.cs deleted file mode 100644 index 58ed7dc..0000000 --- a/RyzStudio/Windows/Forms/TForm.cs +++ /dev/null @@ -1,434 +0,0 @@ -using System; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; -//using Resources = AppLauncher.Properties.Resources; - -namespace RyzStudio.Windows.Forms -{ - public class TForm : Form - { - //protected readonly Color borderColour = Color.FromArgb(200, 200, 200); - //protected readonly int borderWidth = 1; - - //protected readonly int resizeBorderWidth = 4; - - protected readonly Color backColour = Color.FromArgb(250, 250, 250); - - //protected readonly Color titleBackColour = Color.FromArgb(235, 234, 233); - //protected readonly Color titleBorderColour = Color.FromArgb(200, 198, 196); - //protected readonly Color titleColour = Color.FromArgb(102, 102, 102); - //protected readonly int titleBarHeight = 33; - //protected readonly bool showTitleBarLine = true; - //protected Font titleFont = null; - //protected int titleFontTop = 0; - - //protected readonly Size titleBarIconSize = new Size(48, 32); - //protected readonly int titleBarIconMargin = 0; - //protected readonly int titleBarIconMarginRight = 0; - - //protected Image appIcon = null; - //protected const int appIconLeft = 12; - //protected const int appIconRight = 6; - //protected int appIconTop = 0; - - protected bool isDragging = false; - protected Point startPosition = new Point(); - - //protected Point startWindowSize = new Point(); - - //protected bool enableMinimise { get; set; } = true; - //protected bool enableMaximise { get; set; } = true; - //protected bool enableClose { get; set; } = true; - //protected bool closeOnMinimise { get; set; } = false; - - protected bool isBusy = false; - - private IContainer components; - - public TForm() : base() - { - InitializeComponent(); - - //if (!this.DesignMode) - //{ - // this.FormBorderStyle = FormBorderStyle.None; - // this.StartPosition = FormStartPosition.Manual; - //} - - this.AutoScaleMode = AutoScaleMode.Font; - this.BackColor = backColour; - this.FormBorderStyle = FormBorderStyle.Sizable; - this.Padding = new Padding(0); - this.DoubleBuffered = true; - - this.MouseDown += new MouseEventHandler(form_MouseDown); - this.MouseMove += new MouseEventHandler(form_MouseMove); - this.MouseUp += new MouseEventHandler(form_MouseUp); - this.PreviewKeyDown += new PreviewKeyDownEventHandler(form_PreviewKeyDown); - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.Text = Application.ProductName; - - //initialiseLoadComponent(); - - //if (appIcon != null) appIconTop = (int)Math.Floor((decimal)(titleBarHeight - appIcon.Height) / 2) + borderWidth; - //titleFont = new Font(this.Font.FontFamily, 10F); - //titleFontTop = (int)Math.Floor((decimal)(titleBarHeight - TextRenderer.MeasureText("#", titleFont).Height) / 2) + borderWidth; - - } - - //protected override void OnMouseClick(MouseEventArgs e) - //{ - // base.OnMouseClick(e); - - // bool isLabel = ((e.Location.X >= 0) && (e.Location.X <= this.Width) && (e.Location.Y >= 0) && (e.Location.Y <= titleBarHeight)); - - // if (e.Button == MouseButtons.Left) - // { - // if (isLabel) - // { - // // do nothing - // } - // else - // { - // // do nothing - // } - // } - // else if (e.Button == MouseButtons.Right) - // { - // if (isLabel) - // { - // if (this.TitleContextMenuStrip != null) - // { - // this.TitleContextMenuStrip.Show(this, e.Location); - // } - // } - // else - // { - // // do nothing - // } - // } - //} - - //protected override void OnPaint(PaintEventArgs e) - //{ - // base.OnPaint(e); - - // Graphics g = e.Graphics; - // Rectangle area = new Rectangle(this.DisplayRectangle.X, this.DisplayRectangle.Y, (this.DisplayRectangle.Width - borderWidth), (this.DisplayRectangle.Height - borderWidth)); - - // // border - // g.DrawRectangle(new Pen(borderColour, borderWidth), area); - - // area.Inflate((-1 * borderWidth), (-1 * borderWidth)); - - //g.FillRectangle(new SolidBrush(titleBackColour), area.X, area.Y, (area.Width + area.X), titleBarHeight); - - //if (showTitleBarLine) g.DrawLine(new Pen(titleBorderColour, 1), area.X, titleBarHeight, (area.Width + area.X), titleBarHeight); - - //if (!DesignMode) - //{ - // if (appIcon != null) g.DrawImageUnscaled(appIcon, appIconLeft, appIconTop); - - // int iconPosX = borderWidth + appIconLeft + appIconRight + ((appIcon == null) ? 0 : appIcon.Width); - // TextRenderer.DrawText(g, this.Text, titleFont, new Point(iconPosX, titleFontTop), titleColour); - //} - //} - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - this.Invalidate(); - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color BackColor { get => base.BackColor; set => base.BackColor = backColour; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Padding { get => base.Padding; set => base.Padding = value; } - - [Category("Appearance")] - public ContextMenuStrip TitleContextMenuStrip { get; set; } = null; - - //[Browsable(false)] - //public Image AppIcon { get; set; } = null; - - //[Browsable(false)] - //public bool IsMaximiseEnabled { get; set; } = false; - - //protected Point DefaultLocation - //{ - // get - // { - // Point newPosition = new Point(Cursor.Position.X, Cursor.Position.Y); - // newPosition.X -= (this.Width / 2); - // newPosition.Y -= (this.Height / 2); - - // newPosition.X = Math.Max(newPosition.X, Screen.PrimaryScreen.WorkingArea.Left); - // newPosition.Y = Math.Max(newPosition.Y, Screen.PrimaryScreen.WorkingArea.Top); - - // return newPosition; - // } - //} - - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TForm)); - this.SuspendLayout(); - // - // AForm - // - this.Name = "AForm"; - this.ResumeLayout(false); - } - - private void form_MouseDown(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - isDragging = true; - startPosition = e.Location; - //startWindowSize = new Point(this.Width, this.Height); - } - } - - private void form_MouseMove(object sender, MouseEventArgs e) - { - if (isDragging) - { - int x = (this.Location.X + (e.Location.X - startPosition.X)); - int y = (this.Location.Y + (e.Location.Y - startPosition.Y)); - - //this.Location = validateFormLocation(x, y); - this.Location = new Point(x, y); - } - } - - private void form_MouseUp(object sender, MouseEventArgs e) - { - isDragging = false; - } - - private void form_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - if (e.KeyCode == Keys.Escape) - { - Application.Exit(); - } - } - - //protected virtual void initialiseLoadComponent() - //{ - // if (DesignMode) return; - - // // close - // TImageBox closeBox = generateToolbarImageBox(); - // closeBox.Image = closeBox.ImageNormal = (enableClose) ? Resources.titlebar_close : Resources.titlebar_blank; - // closeBox.ImageHover = (enableClose) ? Resources.titlebar_close3 : Resources.titlebar_blank; - // closeBox.ImageSelected = Resources.titlebar_close3; - // closeBox.MouseClick += delegate (object sender, MouseEventArgs e) - // { - // if (e.Button == MouseButtons.Left) - // { - // if (enableClose) - // { - // this.Close(); - // } - // } - // }; - // closeBox.Left = this.DisplayRectangle.Width - closeBox.Width - (titleBarIconMarginRight + borderWidth); - - // this.Controls.Add(closeBox); - - // // maximise - // TImageBox maximiseBox = generateToolbarImageBox(); - // maximiseBox.Image = maximiseBox.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank; - // maximiseBox.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank; - // maximiseBox.ImageSelected = Resources.titlebar_maximise3; - // maximiseBox.MouseClick += delegate (object sender, MouseEventArgs e) - // { - // if (!(sender is TImageBox)) return; - - // TImageBox imageBox2 = (sender as TImageBox); - - // if (imageBox2 == null) return; - - // if (e.Button == MouseButtons.Left) - // { - // if (enableMaximise) - // { - // if (this.WindowState == FormWindowState.Maximized) - // { - // this.WindowState = FormWindowState.Normal; - // imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise; - // } - // else - // { - // this.WindowState = FormWindowState.Maximized; - // imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise5; - // } - // } - // } - // else if (e.Button == MouseButtons.Right) - // { - // this.TopMost = !this.TopMost; - - // if (this.TopMost) - // { - // imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise3; - // imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_maximise3; - // } - // else - // { - // imageBox2.Image = imageBox2.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank; - // imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank; - // } - // } - // }; - // maximiseBox.Left = closeBox.Left - maximiseBox.Width - titleBarIconMargin; - - // this.Controls.Add(maximiseBox); - - // // minimise - // TImageBox minimiseBox = generateToolbarImageBox(); - // minimiseBox.Image = minimiseBox.ImageNormal = (enableMinimise) ? Resources.titlebar_minimise : Resources.titlebar_blank; - // minimiseBox.ImageHover = (enableMinimise) ? Resources.titlebar_minimise5 : Resources.titlebar_blank; - // //minimiseBox.ImageSelected = null; - // minimiseBox.MouseClick += delegate (object sender, MouseEventArgs e) - // { - // if (!enableMinimise) return; - // if (e.Button != MouseButtons.Left) return; - - // if (closeOnMinimise) - // { - // this.Close(); - // } - // else - // { - // this.WindowState = FormWindowState.Minimized; - // } - // }; - // minimiseBox.Left = maximiseBox.Left - minimiseBox.Width - titleBarIconMargin; - - // this.Controls.Add(minimiseBox); - - // // resize - // UserControl uc1 = new UserControl() - // { - // Anchor = (AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right), - // Height = resizeBorderWidth, - // Width = this.DisplayRectangle.Width - resizeBorderWidth, - // Left = 0, - // Top = this.DisplayRectangle.Height - resizeBorderWidth, - // BackColor = Color.Transparent, - // Cursor = Cursors.SizeNS - // }; - // uc1.MouseDown += form_MouseDown; - // uc1.MouseUp += form_MouseUp; - // uc1.MouseMove += delegate (object sender, MouseEventArgs e) - // { - // if (isDragging) - // { - // this.Size = new Size(startWindowSize.X, e.Y - startPosition.Y + this.Height); - // } - // }; - // uc1.BringToFront(); - - // this.Controls.Add(uc1); - - // UserControl uc2 = new UserControl() - // { - // Anchor = (AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom), - // Height = this.DisplayRectangle.Height - resizeBorderWidth, - // Width = resizeBorderWidth, - // Left = this.DisplayRectangle.Width - resizeBorderWidth, - // Top = 0, - // BackColor = Color.Transparent, - // Cursor = Cursors.SizeWE - // }; - // uc2.MouseDown += form_MouseDown; - // uc2.MouseUp += form_MouseUp; - // uc2.MouseMove += delegate (object sender, MouseEventArgs e) - // { - // if (isDragging) - // { - // this.Size = new Size(e.X - startPosition.X + this.Width, startWindowSize.Y); - // } - // }; - // uc2.BringToFront(); - - // this.Controls.Add(uc2); - - // UserControl uc3 = new UserControl() - // { - // Anchor = (AnchorStyles.Bottom | AnchorStyles.Right), - // Height = resizeBorderWidth, - // Width = resizeBorderWidth, - // Left = this.DisplayRectangle.Width - resizeBorderWidth, - // Top = this.DisplayRectangle.Height - resizeBorderWidth, - // BackColor = Color.Transparent, - // Cursor = Cursors.SizeNWSE - // }; - // uc3.MouseDown += form_MouseDown; - // uc3.MouseUp += form_MouseUp; - // uc3.MouseMove += delegate (object sender, MouseEventArgs e) - // { - // if (isDragging) - // { - // this.Size = new Size((e.X - startPosition.X + this.Width), (e.Y - startPosition.Y + this.Height)); - // } - // }; - // uc3.BringToFront(); - - // this.Controls.Add(uc3); - //} - - //protected TImageBox generateToolbarImageBox() - //{ - // TImageBox imageBox = new TImageBox(); - // //imageBox.BackColor = Color.Transparent; - // imageBox.BackColorHover = imageBox.BackColorSelected = Color.FromArgb(220, 220, 220); - // imageBox.BackgroundImageLayout = ImageLayout.Center; - // imageBox.ErrorImage = null; - // //imageBox.Image = Resources.close; - // //imageBox.ImageHover = Resources.close2; - // //imageBox.ImageNormal = Resources.close; - // imageBox.ImageSelected = null; - // imageBox.IsSelected = false; - // //closeBox.Location = new System.Drawing.Point(169, 12); - // imageBox.Size = titleBarIconSize; - // imageBox.SizeMode = PictureBoxSizeMode.CenterImage; - // //imageBox.MouseClick += new MouseEventHandler(closeBox_MouseClick); - // //imageBox.Left = this.DisplayRectangle.Width - imageBox.Width - 17; - // imageBox.Top = (int)Math.Floor((decimal) (titleBarHeight - titleBarIconSize.Height) / 2) + borderWidth; - // imageBox.Anchor = (AnchorStyles.Top | AnchorStyles.Right); - // imageBox.Padding = new Padding(0); - - // return imageBox; - //} - - //private void exitToolStripMenuItem_Click(object sender, EventArgs e) => this.Close(); - - //private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) - //{ - // if (e.Button == MouseButtons.Left) - // { - // this.Visible = !this.Visible; - // } - - // //notifyIcon1.Visible = !this.Visible; - //} - - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/Forms/TForm.resx b/RyzStudio/Windows/Forms/TForm.resx deleted file mode 100644 index b723165..0000000 --- a/RyzStudio/Windows/Forms/TForm.resx +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - 17, 17 - - - 130, 17 - - - - - AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA - IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxc - VU5rW1Tna1tU22paU5BsXVVCgEBABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAaltTZWtbVPxrW1T/a1tU/2tbVP9rW1T/a1tU7mtbU6VrXFNWbVtbDgAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAABqWlR/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU+Wta - VLprW1Nrb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2tbVJhrW1T/a1tU/2tbVP+NgXz/2NPR/6+mov+Bc23/a1tU/2tb - VP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVc1sXFSAa1xSMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtSUkHa1xUqmtbVP9rW1T/a1tU/5iNiP/6+fn///////// - ////////6+no/7+4tf+Sh4L/bV5X/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVOFrXFOZallTTW1J - SQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlaWhFqW1TCa1tU/2tbVP9rW1T/o5mV//38 - /P//////////////////////////////////////9PPy/8jDwP+cko3/c2Nd/2tbVP9rW1T/a1tU/2tb - VP9rW1T/a1tU/2tbVPVrW1SzalxUXmlaWhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalhYHWtbVNRrW1T/a1tU/2tb - VP+1rar/////////////////////////////////////////////////////////////////+vn5/9LN - y/+lm5f/eGpj/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVPtrWlS9bFxVb2xdVSEAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrWVMra1tU42tb - VP9rW1T/bV1W/8S9u/////////////////////////////////////////////////////////////// - /////////////////////////v7+/97a2f+xqKT/g3Zw/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tb - VP5qW1V4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpZ - VTxrW1Tua1tU/2tbVP9wYVr/0czK//////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////+ro5/+8tbL/j4N+/21d - Vv9rW1T/a1tU/2tbVP9rW1TpAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAbFxTUGtbVPZrW1T/a1tU/3VnYP/d2df///////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////Tz8v/Iw8D/dmdh/2tbVP9rW1T/blpTJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAABsXFRha1tU+2tbVP9rW1T/emxl/+Th4P////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////m5CL/2tbVP9rW1T/a1tTXwAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtaVHdrW1T/a1tU/2tbVP+DdnD/7uzs/////////////Pvw//z6 - 7v/8+u7//Pru//z67v/8+u7//Pru//z67v/9/PT///////////////////////z4+f/79fX/+/X1//v1 - 9f/79fX/+/X1//v19f/79fX//Pb2////////////////////////////vLWy/2tbVP9rW1T/a1xTmQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDa1tUmGtbVP9rW1T/a1tU/4t/ev/08/L///////// - ///cyT7/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/6Nt+////////////4bG1/8Rl - bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/9KKkP//////////////////////3tvZ/2tb - VP9rW1T/a1tU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Sra1tU/2tbVP9rW1T/mY6J//r5 - +f////////////389f/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28Y1//// - ////////0IWL/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/9+fn///////// - /////////Pz8/3BhWv9rW1T/a1tU/nFVVRIAAAAAAAAAAAAAAAAAAAAAaVpaEWtcVMNrW1T/a1tU/2tb - VP+kmpb//fz8//////////////////389P/RtwD/0bcA/+TVbP/w56r/8Oeq//Dnqv/w56r/8Oeq/93K - Qv/RtwD/28Y1////////////0IWL/8RlbP/TjZL/68zO/+vMzv/rzM7/68zO/+vMzv/dpqr/xGVs/8Rl - bP/8+Pn//////////////////////46CfP9rW1T/a1tU/2xbVEkAAAAAAAAAAAAAAABsWFgaa1xU0Wtb - VP9rW1T/a1tU/7CopP////////////////////////////389P/RtwD/0bcA/+7lov////////////// - /////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX///////////////////////// - ///px8n/xGVs/8RlbP/8+Pn//////////////////////7CopP9rW1T/a1tU/2tbVIMAAAAAAAAAAAAA - AABqXFTOa1tU/2tbVP9tXlf/xr+9//////////////////////////////////389P/RtwD/0bcA/+7l - ov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX///////// - ///////////////////px8n/xGVs/8RlbP/8+Pn//////////////////////9LNy/9rW1T/a1tU/2tb - VL8AAAAAAAAAAAAAAABrW1Tva1tU/2tbVP/KxML///////////////////////////////////////38 - 9P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8Rl - bP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn///////////////////////Py - 8v9sXFX/a1tU/2tbVPRmZmYFAAAAAAAAAABrW1W4a1tU/2tbVP/Oycf///////////////////////// - //////////////389P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1//// - ////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn///////// - //////////////////+CdG7/a1tU/2tbVP9sXVM0AAAAAAAAAABqWlR/a1tU/2tbVP+tpKD///////// - //////////////////////////////389P/RtwD/0bcA/+7lov///////////////////////////+PT - Y//RtwD/28Y1////////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8Rl - bP/8+Pn///////////////////////////+jmZX/a1tU/2tbVP9rWlNuAAAAAAAAAABtWlNEa1tU/2tb - VP+Lfnn///////////////////////////////////////389P/RtwD/0bcA/93JQf/j1Gb/49Rm/+PU - Zv/j1Gb/49Rm/9jCJ//RtwD/28Y1////////////0IWL/8RlbP/NfYL/3KOn/9yjp//co6f/3KOn/9yj - p//TjJH/xGVs/8RlbP/8+Pn////////////////////////////Fv7z/a1tU/2tbVP9qW1OoAAAAAAAA - AABqVVUMa1tU+2tbVP9uXlf/+fn4//////////////////////////////////389P/RtwD/0bcA/9G3 - AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28c5////////////0IWL/8RlbP/EZWz/xGVs/8Rl - bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8Rmbf/9+vr////////////////////////////n5eT/a1tU/2tb - VP9rW1TkAAAAAAAAAAAAAAAAa1tUz2tbVP9rW1T/3NjW//////////////////////////////////38 - 9v/axTP/2sUz/9rFM//axTP/2sUz/9rFM//axTP/2sUz/9rFM//bxzj/8Ois////////////2p2i/9CE - if/QhIn/0ISJ/9CEif/QhIn/0ISJ/9CEif/QhIn/0ISJ/+GwtP////////////////////////////// - ///+/v7/dWdg/2tbVP9rW1T/alhYHQAAAAAAAAAAa1tUlGtbVP9rW1T/ubKv//////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - ////////////////////////l4uG/2tbVP9rW1T/a1pUWAAAAAAAAAAAbFtVWmtbVP9rW1T/mI2I//// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////uLGt/2tbVP9rW1T/a1tUkgAAAAAAAAAAa1pSH2tb - VP9rW1T/dmdh//7+/v////////////////////////////////+rnPH/fGTp/3xk6f98ZOn/fGTp/3xk - 6f98ZOn/fGTp/3xk6f9/aOr/ysD2////////////rOH9/zi4+v8ztvr/M7b6/zO2+v8ztvr/M7b6/zO2 - +v8ztvr/M7b6/33R/P//////////////////////////////////////2tbV/2tbVP9rW1T/a1tVzQAA - AAAAAAAAAAAAAGtbVONrW1T/a1tU/+jm5f////////////////////////////r5/v9cPuT/Wz3k/1s9 - 5P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/gGjq////////////Obj6/wCk+f8ApPn/AKT5/wCk - +f8ApPn/AKT5/wCk+f8ApPn/AKT5/wGk+f/3/P//////////////////////////////////+vn5/25f - WP9rW1T/a1tU/GpVVQwAAAAAAAAAAGtcVKprW1T/a1tU/8bAvf////////////////////////////j3 - /v9bPeT/Wz3k/4Vu6/+di+//nYvv/52L7/+di+//nYvv/3Rb6P9bPeT/fWXq////////////Nbf6/wCk - +f8nsvr/Zsj7/2bI+/9myPv/Zsj7/2bI+/9Bu/v/AKT5/wCk+f/0+/////////////////////////// - /////////////4p9eP9rW1T/a1tU/2xdVUIAAAAAAAAAAGtbVHBrW1T/a1tU/6Sblv////////////// - //////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq//// - ////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+/////////// - /////////////////////////////6yjn/9rW1T/a1tU/2pcVH0AAAAAAAAAAGxdUzRrW1T/a1tU/4J0 - bv////////////////////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI - 7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk - +f/0+////////////////////////////////////////87Jx/9rW1T/a1tU/2tbVbgAAAAAAAAAAGZm - ZgVrW1T0a1tU/2xcVf/z8vL///////////////////////j3/v9bPeT/Wz3k/8O49f////////////// - /////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////////////////////// - //+i3v3/AKT5/wCk+f/0+////////////////////////////////////////8rEwv9rW1T/a1tU/2tb - VO8AAAAAAAAAAAAAAABrW1S/a1tU/2tbVP/Szcv///////////////////////j3/v9bPeT/Wz3k/8O4 - 9f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////// - //////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////////////xr+9/21e - V/9rW1T/a1tU/2pcVM4AAAAAAAAAAAAAAABrWlSFa1tU/2tbVP+xqaX///////////////////////j3 - /v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk - +f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+/////////////////////////// - //+6sq//bFxV/2tbVP9rW1T/a1tT1m9eVR4AAAAAAAAAAAAAAABpXFVLa1tU/2tbVP+Pg37///////// - //////////////j3/v9bPeT/Wz3k/6CP7//Ivvb/yL72/8i+9v/Ivvb/yL72/4Vv6/9bPeT/fWXq//// - ////////Nbf6/wCk+f9CvPv/quH9/6rh/f+q4f3/quH9/6rh/f9sy/z/AKT5/wCk+f/0+/////////// - /////////f39/6ifmv9rW1T/a1tU/2tbVP9rW1TIZllZFAAAAAAAAAAAAAAAAAAAAABpWloRa1tU/Wtb - VP9wYVr//Pv7//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9 - 5P9bPeT/fWXq////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk - +f/1+//////////////7+vr/nZKO/2tbVP9rW1T/a1tU/2tcVbJmZk0KAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAa1tT1mtbVP9rW1T/4Nzb//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9 - 5P9bPeT/Wz3k/1s95P9bPeT/rJ3x////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk - +f8ApPn/AKT5/z66+v////////////b19P+Pg37/a1tU/2tbVP9rW1T/a1tTn4BAQAQAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAa1pUm2tbVP9rW1T/vbaz//////////////////7+///08v3/9PL9//Ty - /f/08v3/9PL9//Ty/f/08v3/9PL9//Ty/f/49/7/////////////////8vr//+75///u+f//7vn//+75 - ///u+f//7vn//+75///u+f//8Pr/////////////8O/u/4Z5dP9rW1T/a1tU/2tbVP9rXFSIAAAAAQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbFxUYWtbVP9rW1T/nJGM//////////////////// - //////////////////////////////////////////////////////////////////////////////// - ///////////////////////////////////////////////////n5eT/fG5o/2tbVP9rW1T/a1tU/Gta - VWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAblpTJWtbVP9rW1T/dmdh/8jD - wP/08/L///////////////////////////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////93Z1/91Z2D/a1tU/2tb - VP9rW1T2bFxTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWtb - VOlrW1T/a1tU/2tbVP9tXVb/j4N+/7y1sv/q6Of///////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////0czK/3Bh - Wv9rW1T/a1tU/2tbVO5qWVU8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAGpbVXhrW1T+a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/g3Zw/7GopP/e2tn//v7+//// - //////////////////////////////////////////////////////////////////////////////// - ///Evbv/bV1W/2tbVP9rW1T/a1tU42tZUysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsXVUhbFxVb2taVL1rW1T7a1tU/2tbVP9rW1T/a1tU/2tb - VP9rW1T/eGpj/6Wbl//Szcv/+vn5//////////////////////////////////////////////////// - /////////////7Wtqv9rW1T/a1tU/2tbVP9rW1TUalhYHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpWloRbFpUVWtb - U6JrW1Twa1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/cGFa/5KHgv+/uLX/8O/u//////////////////// - ///////////////////9/f3/p56a/2tbVP9rW1T/a1tU/2pbVcdmWVkUAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAABVVVUDallVPGtbVJFrW1Pia1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/bFxV/4l8 - dv+1ran/4d7d//////////////////v6+v+cko3/a1tU/2tbVP9rW1T/a1tUsXFVVQkAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa1xSMmxcVIBrW1XNa1tU/2tb - VP9rW1T/a1tU/2tbVP9rW1T/a1tU/4Fzbf+vpqL/2NPR/42BfP9rW1T/a1tU/2tbVP9rW1SYVVVVAwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAb15VHmtbU2trWlS6a1tU+WtbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2pa - VH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbVtbDmtcU1ZrW1Ola1tU7mtbVP9rW1T/a1tU/2tb - VP9rW1T8altTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBABGxd - VUJqWlOQa1tU22tbVOdsXFVOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4H///+sEP//AD///6wQ//4AB///rBD/+AAA//+sEP/w - AAAP/6wQ/+AAAAH/rBD/wAAAAD+sEP+AAAAAH6wQ/wAAAAAPrBD+AAAAAA+sEPwAAAAAD6wQ+AAAAAAP - rBDgAAAAAA+sEMAAAAAAB6wQgAAAAAAHrBAAAAAAAAesEAAAAAAAB6wQAAAAAAADrBAAAAAAAAOsEAAA - AAAAA6wQAAAAAAADrBAAAAAAAAOsEIAAAAAAAawQgAAAAAABrBCAAAAAAAGsEIAAAAAAAawQwAAAAAAA - rBDAAAAAAACsEMAAAAAAAKwQwAAAAAAArBDAAAAAAACsEOAAAAAAAKwQ4AAAAAAArBDgAAAAAAGsEOAA - AAAAA6wQ8AAAAAAHrBDwAAAAAA+sEPAAAAAAP6wQ8AAAAAB/rBDwAAAAAP+sEPgAAAAB/6wQ/AAAAAP/ - rBD/gAAAB/+sEP/wAAAP/6wQ//8AAB//rBD//+AAf/+sEP///AD//6wQ////gf//rBAoAAAAIAAAAEAA - AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAABsXFRha1tU7GtbVcFqW1RzalxVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAbFtVe2tbVP5rW1T/a1tU/2tbVP9rW1T/a1tT1mtcVIhrWVU5gICAAgAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2xbVJVrW1T/bV5X/8K7uf/RzMr/pJqW/3hpY/9rW1T/a1tU/2tb - VP9rW1TpalxTnGxcVU5mZk0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Spa1tU/29fWf/Oycf//////////////////v7+/+He - 3f+1ran/iXx2/2tbVP9rW1T/a1tU/2tbVPZqW1W7bFxVb2xYWBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwYFAQbFxUwGtbVP91ZmD+3trZ//////////////////// - ////////////////////////6efm/7y0sf+Ogn3/bV1W/2tbVP9rW1T/a1tU/WtbVMZrWlR3ZlVVDwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2tbVNJrW1T/fW9p/+fl5P////////////// - ///////////////////////////////////////////////////z8vL/x8G//5uQi/9xYlv/a1tU/2tb - VP9rW1SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpdVylrW1Tha1tU/4V4cv/w7u7///////// - //////////////////////////////////////////////////////////////////////////////r6 - +v/Evbv/a1tU/2xbVMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrXVM3a1tU62tbVP+MgHr/9PPy//// - //////////////////////////////////////////////////////////////////////////////// - //////////////v6+v9vX1n/a1tU+2pVVQwAAAAAAAAAAAAAAAAAAAAAallTTWtbVPVrW1T/mY6K//r5 - +f///v3/1r8d/9G3AP/RtwD/0bcA/9G3AP/RtwD/07oL//r34//57u//x2xy/8RlbP/EZWz/xGVs/8Rl - bP/EZWz/y3d9///+/v///////////4yAev9rW1T/alpSQQAAAAAAAAAAAAAAAGpaVWBrW1T7a1tU/6mg - nP/+/v7///////799//RtwD/2cMr/+PUZv/j1Gb/49Rm/9zIPP/RtwD/9vHM//Pg4v/EZWz/0omP/9yj - p//co6f/3KOn/85/hf/EZWz//fr6////////////rqai/2tbVP9sW1V7AAAAAAAAAABrW1R5a1tU/2xc - Vf+4sa3//////////////////v33/9G3AP/k1Wz/////////////////7OGW/9G3AP/28cz/8+Di/8Rl - bP/nwML/////////////////3aaq/8RlbP/9+vr////////////RzMn/a1tU/2pbVLYAAAAAAAAAAGtb - VO5rW1T/w726///////////////////////+/ff/0bcA/+TVbP/////////////////s4Zb/0bcA//bx - zP/z4OL/xGVs/+fAwv/////////////////dpqr/xGVs//36+v////////////Lw8P9rW1T/a1tU74CA - gAIAAAAAa1tUxWtbVP/Z1dP///////////////////////799//RtwD/5NVs/////////////////+zh - lv/RtwD/9vHM//Pg4v/EZWz/58DC/////////////////92mqv/EZWz//fr6/////////////////4By - bP9rW1T/aF1RLAAAAABqXFSLa1tU/7iwrf///////////////////////v33/9G3AP/dyUH/7eKZ/+3i - mf/t4pn/4dBa/9G3AP/28cz/8+Di/8RlbP/Zm6D/58HE/+fBxP/nwcT/04yR/8RlbP/9+vr///////// - ////////opeT/2tbVP9qW1NlAAAAAGtbVVFrW1T/louG///////////////////////+/ff/0bcA/9G3 - AP/RtwD/0bcA/9G3AP/RtwD/0bcB//n12//z4OL/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/x2xy//79 - /f/////////////////Dvbr/a1tU/2tbU58AAAAAaF1RFmtbVP90ZV///v7+///////////////////+ - /f/28cz/9vHM//bxzP/28cz/9vHM//bxzP/49dr///////35+f/z4OL/8+Di//Pg4v/z4OL/8+Di//Pg - 4v/47e7//////////////////////+Xi4f9rW1T/altU2gAAAAAAAAAAa1xT3GtbVP/m4+L///////// - /////////////+zp/P/e2Pr/3tj6/97Y+v/e2Pr/3tj6/+fj+////////////9ry/v/M7f7/zO3+/8zt - /v/M7f7/zO3+/+L1/v///////////////////////v7+/3VmX/9rW1T+aF1RFgAAAABsWlSha1tU/8S+ - u//////////////////8/P//YkXl/1s95P9bPeT/Wz3k/1s95P9bPeT/XD7k/+jk+//b8v7/AaT5/wCk - +f8ApPn/AKT5/wCk+f8ApPn/C6j5//v+////////////////////////lYmE/2tbVP9rWlRPAAAAAGpc - VGdrW1T/o5mU//////////////////r5/v9bPeT/hW7r/72x9P+9sfT/vbH0/5WB7v9bPeT/3tj6/8zt - /v8ApPn/WsT7/5nb/f+Z2/3/mdv9/0G7+/8ApPn/9/z///////////////////////+2r6v/a1tU/2pb - VIkAAAAAaF1RLGtbVP+Acmz/////////////////+vn+/1s95P+gj+//////////////////u6/0/1s9 - 5P/e2Pr/zO3+/wCk+f+W2v3/////////////////bMv8/wCk+f/3/P///////////////////////9nV - 0/9rW1T/a1tUxQAAAACAgIACa1tU72tbVP/y8PD////////////6+f7/Wz3k/6CP7/////////////// - //+7r/T/Wz3k/97Y+v/M7f7/AKT5/5ba/f////////////////9sy/z/AKT5//f8//////////////// - ////////w726/2tbVP9rW1TuAAAAAAAAAABqW1S2a1tU/9HMyf////////////r5/v9bPeT/oI/v//// - /////////////7uv9P9bPeT/3tj6/8zt/v8ApPn/ltr9/////////////////2zL/P8ApPn/9/z///// - /////////////7ixrf9sXFX/a1tU/2tbVHkAAAAAAAAAAGpcVH1rW1T/r6ej////////////+vn+/1s9 - 5P93Xun/nYvv/52L7/+di+//gmvq/1s95P/e2Pr/zO3+/wCk+f88ufr/Zsj7/2bI+/9myPv/K7P6/wCk - +f/3/P////////7+/v+upaH/a1tU/2tbVPxqXFRnAAAAAAAAAAAAAAAAa1tUQ2tbVP+NgXz///////// - ///6+f7/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/YkXl/+3q/P/M7f7/AKT5/wCk+f8ApPn/AKT5/wCk - +f8ApPn/Ha76//3+///7+vr/nZOO/2tbVP9rWlT4altVVAAAAAAAAAAAAAAAAAAAAAB0XV0La1tU+29f - Wf/7+vr///////////////////////////////////////////////////////////////////////// - ////////////////////////9vX0/5CEfv9rW1T/bFxU72pZVTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AABsW1TMa1tU/8S9u//6+vr///////////////////////////////////////////////////////// - //////////////////////////////Du7v+FeHL/a1tU/2tbVOFqXVcpAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAGtbVI9rW1T/a1tU/3FiW/+bkIv/x8G///Py8v////////////////////////////// - ///////////////////////////////////n5eT/fW9p/2tbVP9rW1TSaF5VGwAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAZlVVD2taVHdrW1TGa1tU/WtbVP9rW1T/bV1W/46Cff+8tLH/6efm//// - ////////////////////////////////////////3trZ/3ZnYf9rW1T/bFxUwHBgUBAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmWVkUalxUXmtcVKprW1Tya1tU/2tb - VP9rW1T/f3Fr/6uinv/Y09H//fz8/////////////////9LNy/9xYVv/a1tU/2paVa9xVVUJAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZm - TQpsXFVOalxTnGtbVOlrW1T/a1tU/2tbVP94aWP/pJqW/9HMyv/Cu7n/bV5X/2tbVP9sW1SVVVVVAwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAgICAAmtZVTlrXFSIa1tT1mtbVP9rW1T/a1tU/2tbVP9rW1T+bFtVewAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalxVJGpbVHNrW1XBa1tU7Gxc - VGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/g////wA///wAB//4A - AD/8AAAH+AAAB/AAAAfgAAADwAAAA4AAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAGAAAAAgAAAAIAA - AACAAAAAgAAAAMAAAADAAAABwAAAA8AAAAfgAAAP4AAAH+AAAD/8AAB//4AA///wA////wf/KAAAABgA - AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAa1tTa2xcVfBsXFW1bFpVZmZcUhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrWlSFa1tU/4+Dfv+AcWv8a1tU/2tb - VP5tXlbMa1xUemxbVS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAVVVVA2xbVJprW1T/qqCc//7+/v//////6+no/7+4tf+RhoH9bF1W/mtbVP9tXlbia1xTmWpZ - U02AVVUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0XV0LbFxVtWxcVf+5sq////////// - ////////////////////////8/Hx/8bAvf+Zjor/cGBa/WtbVP9tXVbxaltUo2heVRsAAAAAAAAAAAAA - AAAAAAAAAAAAAGZZWRRtXFbKbV1W/sjCv/////////////////////////////////////////////// - ////////+vn5/9LNy/+mnJj/bV1W/WtbVIMAAAAAAAAAAAAAAAAAAAAAaFhYIG1eV9pvYFn808/N//// - ////////////////////////////////////////////////////////////////////////in55/W1d - Vr4AAAAAAAAAAAAAAABoXVEsbV5X53NlXvzd2tj//v78/9S8EP/RtwD/0bcA/9G3AP/RtwD/8Oit/+zN - 0P/EZWz/xGVs/8RlbP/EZWz/yG91//79/f//////raSg/2xcVfaAQEAEAAAAAGxcVEBtXVbzfG5n++jm - 5f///////v35/9G3AP/v5qf/9vHM//bxzP/Ywij/7eKZ/+fBxP/NfYP/8+Di//Pg4v/rysz/xGVs//77 - /P//////z8rH/2tbVP9rXFIyAAAAAG1dVe2CdW/98O/u/////////////v35/9G3AP/38tH///////// - ///axTL/7eKZ/+fBxP/Qg4n////////////04+T/xGVs//77/P//////8fDv/2tbVP9sW1RtAAAAAG5e - Vs+ViYT+/////////////////v35/9G3AP/38tH////////////axTL/7eKZ/+fBxP/Qg4n///////// - ///04+T/xGVs//77/P///////////31waftqW1OoAAAAAGxaU5NyY138/v7+/////////////v35/9G3 - AP/Zwyr/2sUz/9rFM//Tugr/7eOb/+fBxP/Ga3L/0ISJ/9CEif/OfoT/xGVs//78/P///////////6CW - kv9tXlflAAAAAGpcU1lrW1T/5ePh//////////////79/+3imf/t4pn/7eKZ/+3imf/t4pr/+/nr//bm - 5//nwcT/58HE/+fBxP/nwcT/7M3P/////////////////8K7uf9rW1T/alhYHW9eVR5rW1T/w726//// - /////////////8rA9v+9sfT/vbH0/72x9P++svT/8vD9/+v4//+a2/3/mdv9/5nb/f+Z2/3/rOH9//// - /////////////+Th4P9rW1T/bFtVVwAAAABtXlfnopeT/////////////Pv+/1s95P92Xej/fGTp/3xk - 6f9hReX/v7P0/5vb/f8KqPn/M7b6/zO2+v8qs/r/AKT5//r9//////////////7+/v9yY1z8a1tUkQAA - AABqW1OofXBp+///////////+/r+/1s95P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr///////// - ///R7/7/AKT5//n9//////////////////+ViYT+bl5WzwAAAABsW1Rta1tU//Hw7///////+/r+/1s9 - 5P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr////////////R7/7/AKT5//n9//////////////Dv - 7v+CdW/9bV1V7QAAAABsXVM0a1tU/9DLyf//////+/r+/1s95P/GvPb/3tj6/97Y+v91W+j/vbH0/5nb - /f8osvr/zO3+/8zt/v+n4P3/AKT5//n9////////6+no/35wavxsXVX1altURgAAAACAQEAEbV1W9q6m - ov//////+/r+/1s95P9bPeT/Wz3k/1s95P9bPeT/ysH2/5nb/f8ApPn/AKT5/wCk+f8ApPn/EKr5//z+ - ///g3dv/dmdh/G1dVuptWFMxAAAAAAAAAAAAAAAAbFxVv4x/ev3///////////////////////////// - /////////////////////////////////////////////9jT0f9xYVv8bV5W32pcVSQAAAAAAAAAAAAA - AAAAAAAAa1tUg21dVv2mnJj/0s3L//r5+f////////////////////////////////////////////// - ////////yMK//21dVv5tXFbKZllZFAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2pbVKNsXFXwa1tU/3Bg - Wv2Zjor+xsC9//Px8f////////////////////////////////+5sq//bFxV/2xcVbV0XV0LAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDallVPGtcVIhtXVbba1tU/2tbVP6Ie3X9ta2p/+He - 3f///////v7+/66mov9rW1T/bFpUoWZmZgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAbFtVLWtcVHpsXVXLa1tU/mtbVP9/cWv7j4N+/2tbVP9rWlSFAAAAAQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAZlxSGWxaVWZsXFW1bFxV8GtbU2sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H - /0H8AP9B+AAPQfAAA0HgAANBwAADQYAAAUEAAAFBAAABQQAAAUEAAAFBAAAAQQAAAEGAAABBgAAAQYAA - AEGAAABBgAABQcAAA0HAAAdBwAAPQfAAH0H/AD9B/+D/QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJhW3tvYFn0dWZgsmxbVVdmVVUPAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAAnFiW5eCdG705OHg/8a/vf+UiYT0cWFa+Xdo - YcptXFVsb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAbUlJB3NkXbKMgHr09/b2//////////////////r5 - +f/Szcv/oJeS9XNlXfZzZV7baVxVJwAAAAAAAAAAbVtbDnNjXciZj4n1+/r6//////////////////// - ///////////////////+/v7/pJqW+WxdVnYAAAAAamBVGHJkXdmnnpn2/f37/9S8E//axTP/2MIo/+XX - cP/eqa3/zX2D/9CEif/IcHf//v39/83Ixf92Z2C8AAAAAHJjXOC5sK36//////7++//bxjb///////Xw - yv/k1Gf/3KOn//Pf4P//////0IaL//79/f/w7u7/cWFb8gAAAAF0Zl/i4+Df///////+/vv/2cMr//bx - zP/u5aL/5NRn/9yjp//px8n/8+Di/85/hf/+/f3//////3hpYvNuWlMldGReo8K7uf////////79/+PU - Zv/j1Gb/49Rm//Dorv/qyMv/3KOn/9yjp//eqKz///7+//////+ajoryalxUXmpaVWCbkYzz//////7+ - //+ikfD/nYvv/52L7//Lwfb/ruL9/2bI+/9myPv/b8z8//7/////////wbq3/3RlXqJuWlMleGli8/// - ///8/P//d17p/97Y+v/DuPX/nYvv/2fJ+/+i3v3/zO3+/yuz+v/7/v///////+Pg3/90Zl/iAAAAAXFh - W/Lw7u7//Pz//35m6v//////3df5/52L7/9nyfv/yuz+//////82t/r/+/7///////+5sK36cmNc4AAA - AAB2Z2G+zsnH//z8//9iReX/fGTp/3Vb6P+jkvD/Z8n7/yiy+v8ztvr/E6v5//v9/v+to5/4c2Nd3m1b - UhwAAAAAbF1WdqSalvn+/v7///////////////////////////////////////v6+v+Zj4r2c2ReyW1b - Ww4AAAAAAAAAAGlcVSdzZV7bc2Vd9qCXkvXSzcv/+vn5//////////////////f29v+MgHr0c2Rdsm1J - SQcAAAAAAAAAAAAAAAAAAAAAAAAAAG9eVR5rW1NrdGRexnBhWfiShoHvxr+9/uTh4P+CdG70c2RdmYCA - gAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVVUPbFtVV3VmYLJvYFn0cmFbewAA - AAAAAAAAAAAAAAAAAAAAAAAA+D+sQeAHrEHAAaxBgAGsQQABrEEAAKxBAACsQQAArEEAAKxBAACsQQAA - rEGAAKxBgAGsQYADrEHgB6xB/B+sQQ== - - - \ No newline at end of file diff --git a/RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs b/RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs deleted file mode 100644 index 1058088..0000000 --- a/RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace RyzStudio.Windows.Forms -{ - partial class THorizontalSeparator - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - } - - #endregion - } -} diff --git a/RyzStudio/Windows/Forms/THorizontalSeparator.cs b/RyzStudio/Windows/Forms/THorizontalSeparator.cs deleted file mode 100644 index 1be87f2..0000000 --- a/RyzStudio/Windows/Forms/THorizontalSeparator.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.Forms -{ - public partial class THorizontalSeparator : System.Windows.Forms.UserControl - { - public THorizontalSeparator() - { - InitializeComponent(); - - this.BackColor = Color.Transparent; - this.Margin = new Padding(10, 0, 10, 0); - this.MaximumSize = new Size(SystemInformation.VirtualScreen.Width, 22); - this.MinimumSize = new Size(0, 22); - this.Padding = new Padding(0, 10, 0, 10); - } - - protected override void OnPaintBackground(PaintEventArgs e) - { - base.OnPaintBackground(e); - - Graphics g = e.Graphics; - - g.FillRectangle(new SolidBrush(Color.FromArgb(213, 223, 229)), new Rectangle(this.DisplayRectangle.Left, 11, this.DisplayRectangle.Width, 1)); - g.FillRectangle(new SolidBrush(Color.FromArgb(249, 251, 253)), new Rectangle(this.DisplayRectangle.Left, 12, this.DisplayRectangle.Width, 1)); - } - - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new BorderStyle BorderStyle { get => base.BorderStyle; set => base.BorderStyle = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Cursor Cursor { get => base.Cursor; set => base.Cursor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Font Font { get => base.Font; set => base.Font = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color BackColor { get => base.BackColor; set => base.BackColor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color ForeColor { get => base.ForeColor; set => base.ForeColor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AllowDrop { get => base.AllowDrop; set => base.AllowDrop = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override AutoValidate AutoValidate { get => base.AutoValidate; set => base.AutoValidate = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override ContextMenuStrip ContextMenuStrip { get => base.ContextMenuStrip; set => base.ContextMenuStrip = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new AutoSizeMode AutoSizeMode { get => base.AutoSizeMode; set => base.AutoSizeMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get => base.Margin; set => base.Margin = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Padding { get => base.Padding; set => base.Padding = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new DockStyle Dock { get => base.Dock; set => base.Dock = value; } - - } -} diff --git a/RyzStudio/Windows/Forms/THorizontalSeparator.resx b/RyzStudio/Windows/Forms/THorizontalSeparator.resx deleted file mode 100644 index 1af7de1..0000000 --- a/RyzStudio/Windows/Forms/THorizontalSeparator.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/Forms/TImageBox.cs b/RyzStudio/Windows/Forms/TImageBox.cs deleted file mode 100644 index 09f7bbe..0000000 --- a/RyzStudio/Windows/Forms/TImageBox.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; -using System.ComponentModel; -using System.Drawing; - -namespace RyzStudio.Windows.Forms -{ - public class TImageBox : System.Windows.Forms.PictureBox - { - public TImageBox() : base() - { - this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.ErrorImage = null; - this.InitialImage = null; - this.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - } - - protected override void OnCreateControl() - { - OnMouseLeave(null); - - base.OnCreateControl(); - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Color BackColor { get => base.BackColor; set => base.BackColor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Image Image { get => base.Image; set => base.Image = value; } - - [Category("Appearance"), Browsable(true)] - public Color BackColorNormal { get; set; } = Color.Transparent; - - [Category("Appearance"), Browsable(true)] - public Color BackColorHover { get; set; } = Color.Transparent; - - [Category("Appearance"), Browsable(true)] - public Color BackColorSelected { get; set; } = Color.Transparent; - - [Category("Appearance"), Browsable(true)] - public Image ImageNormal { get; set; } - - [Category("Appearance"), Browsable(true)] - public Image ImageHover { get; set; } - - [Category("Appearance"), Browsable(true)] - public Image ImageSelected { get; set; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public Image NormalImage { get => this.ImageNormal; set => this.ImageNormal = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public Image HoverImage { get => this.ImageHover; set => this.ImageHover = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public Image SelectedImage { get => this.ImageSelected; set => this.ImageSelected = value; } - - public bool IsSelected { get; set; } = false; - - protected override void OnMouseEnter(EventArgs e) - { - this.Image = this.ImageHover; - this.BackColor = this.BackColorHover; - - base.OnMouseEnter(e); - } - - protected override void OnMouseLeave(EventArgs e) - { - this.Image = (this.IsSelected ? this.ImageSelected : this.ImageNormal); - this.BackColor = (this.IsSelected ? this.BackColorSelected : this.BackColorNormal); - - base.OnMouseLeave(e); - } - - protected override void OnLostFocus(EventArgs e) - { - this.Image = (this.IsSelected ? this.ImageSelected : this.ImageNormal); - this.BackColor = (this.IsSelected ? this.BackColorSelected : this.BackColorNormal); - - base.OnLostFocus(e); - } - - } -} diff --git a/RyzStudio/Windows/Forms/TPanelBook.cs b/RyzStudio/Windows/Forms/TPanelBook.cs deleted file mode 100644 index eae6a0f..0000000 --- a/RyzStudio/Windows/Forms/TPanelBook.cs +++ /dev/null @@ -1,258 +0,0 @@ -namespace RyzStudio.Windows.Forms -{ - using System; - using System.Collections; - using System.ComponentModel; - using System.Drawing; - using System.Windows.Forms; - - [ToolboxItem(true)] - public class TPanelBook : UserControl - { - public class PanelCollection : CollectionBase - { - protected TPanelBook panelBook = null; - - public PanelCollection(TPanelBook parentPanelBook) : base() - { - panelBook = parentPanelBook; - } - - public TPanelBook Parent => panelBook; - - public Panel this[int index] { get => (Panel)List[index]; set => List[index] = value; } - - public int Add(Panel value) => List.Add(value); - - public void AddRange(Panel[] pages) => Array.ForEach(pages, x => this.Add(x)); - - public bool Contains(Panel value) => List.Contains(value); - - public int IndexOf(Panel value) => List.IndexOf(value); - - public void Insert(int index, Panel value) => List.Insert(index, value); - - public void Remove(Panel value) => List.Remove(value); - - protected override void OnInsertComplete(int index, object value) - { - base.OnInsertComplete(index, value); - - if (panelBook != null) - { - panelBook.PageIndex = index; - } - } - - protected override void OnRemoveComplete(int index, object value) - { - base.OnRemoveComplete(index, value); - - if (panelBook != null) - { - if (panelBook.PageIndex == index) - { - if (index < InnerList.Count) - { - panelBook.PageIndex = index; - } - else - { - panelBook.PageIndex = InnerList.Count - 1; - } - } - } - } - - } - - private System.ComponentModel.IContainer components = null; - - protected PanelCollection panelCollection = null; - - public TPanelBook() - { - InitializeComponent(); - - panelCollection = new PanelCollection(this); - } - - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - - base.Dispose(disposing); - } - - protected void InitializeComponent() - { - components = new System.ComponentModel.Container(); - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public Panel ActivePanel { get; protected set; } = null; - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; } - - [Category("Collection")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public PanelCollection Pages => panelCollection; - - [Category("Collection")] - public int SelectedIndex - { - get => (panelCollection.Count <= 0) ? -1 : panelCollection.IndexOf(this.ActivePanel); - set - { - if (panelCollection.Count <= 0) return; - if (value < 0) return; - if (value > (panelCollection.Count - 1)) return; - if (value == this.SelectedIndex) return; - - ActivatePage(value); - } - } - - protected internal int PageIndex - { - get => panelCollection.IndexOf(this.ActivePanel); - set - { - if (panelCollection.Count <= 0) - { - ActivatePage(-1); - return; - } - - if ((value < -1) || (value >= panelCollection.Count)) - { - throw new ArgumentOutOfRangeException("PageIndex", value, "The page index must be between 0 and " + Convert.ToString(panelCollection.Count - 1)); - } - - ActivatePage(value); - } - } - - protected internal void ActivatePage(int index) - { - if ((panelCollection.Count == 0) && (index >= panelCollection.Count) && (index <= 0)) - { - return; - } - - Panel p = (Panel)panelCollection[index]; - - ActivatePage(p); - } - - protected internal void ActivatePage(Panel page) - { - if (this.ActivePanel != null) - { - if (this.ActivePanel.InvokeRequired) - { - this.ActivePanel.Invoke(new MethodInvoker(() => { - this.ActivePanel.Visible = false; - })); - } - else - { - this.ActivePanel.Visible = false; - } - } - - this.ActivePanel = page; - if (this.ActivePanel != null) - { - this.ActivePanel.Parent = this; - if (!this.Contains(this.ActivePanel)) - { - this.Container.Add(this.ActivePanel); - } - - if (this.ActivePanel.InvokeRequired) - { - this.ActivePanel.Invoke(new MethodInvoker(() => { - this.ActivePanel.Dock = DockStyle.Fill; - this.ActivePanel.Visible = true; - this.ActivePanel.BringToFront(); - })); - } - else - { - this.ActivePanel.Dock = DockStyle.Fill; - this.ActivePanel.Visible = true; - this.ActivePanel.BringToFront(); - } - } - - if (this.ActivePanel != null) - { - if (this.ActivePanel.InvokeRequired) - { - this.ActivePanel.Invoke(new MethodInvoker(() => { - this.ActivePanel.Invalidate(); - })); - } - else - { - this.ActivePanel.Invalidate(); - } - } - else - { - this.Invalidate(); - } - } - -#if DEBUG - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - if (this.DesignMode) - { - this.Invalidate(); - } - } - -#endif - - protected override void DestroyHandle() - { - base.DestroyHandle(); - - foreach (Panel p in panelCollection) - { - p.Dispose(); - } - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/Forms/TUserControl.cs b/RyzStudio/Windows/Forms/TUserControl.cs deleted file mode 100644 index 8a22585..0000000 --- a/RyzStudio/Windows/Forms/TUserControl.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.Forms -{ - public class TUserControl : UserControl - { - - public TUserControl() : base() - { - - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new BorderStyle BorderStyle { get => base.BorderStyle; set => base.BorderStyle = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Cursor Cursor { get => base.Cursor; set => base.Cursor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Font Font { get => base.Font; set => base.Font = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color ForeColor { get => base.ForeColor; set => base.ForeColor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AllowDrop { get => base.AllowDrop; set => base.AllowDrop = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override AutoValidate AutoValidate { get => base.AutoValidate; set => base.AutoValidate = value; } - - //[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - //public override ContextMenuStrip ContextMenuStrip { get => base.ContextMenuStrip; set => base.ContextMenuStrip = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new AutoSizeMode AutoSizeMode { get => base.AutoSizeMode; set => base.AutoSizeMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/Forms/ThreadControl.cs b/RyzStudio/Windows/Forms/ThreadControl.cs deleted file mode 100644 index 21e2eae..0000000 --- a/RyzStudio/Windows/Forms/ThreadControl.cs +++ /dev/null @@ -1,815 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace RyzStudio.Windows.Forms -{ - public class ThreadControl - { - public static void Add(Control control, Control value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Controls.Add(value); - })); - } - else - { - control.Controls.Add(value); - } - } - - public static void Add(ListBox control, string value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Items.Add(value); - })); - } - else - { - control.Items.Add(value); - } - } - - public static void Add(ComboBox control, string value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Items.Add(value); - })); - } - else - { - control.Items.Add(value); - } - } - - //public static void Add(FlowLayoutPanel control, Control value) - //{ - // if (control.InvokeRequired) - // { - // control.Invoke(new MethodInvoker(() => { - // control.Controls.Add(value); - // })); - // } - // else - // { - // control.Controls.Add(value); - // } - //} - - public static int Add(TreeView control, TreeNode value) - { - int n = -1; - - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - n = control.Nodes.Add(value); - })); - } - else - { - n = control.Nodes.Add(value); - } - - return n; - } - - public static int Add(TreeNode control, TreeNode value) - { - int n = -1; - - if (control.TreeView.InvokeRequired) - { - control.TreeView.Invoke(new MethodInvoker(() => { - n = control.Nodes.Add(value); - })); - } - else - { - n = control.Nodes.Add(value); - } - - return n; - } - - public static int Add(DataGridView control, object[] value) - { - int n = -1; - - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - n = control.Rows.Add(value); - })); - } - else - { - n = control.Rows.Add(value); - } - - return n; - } - - public static int Add(DataGridView control, object[] value, object tag) - { - int n = -1; - - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - n = control.Rows.Add(value); - control.Rows[n].Tag = tag; - })); - } - else - { - n = control.Rows.Add(value); - control.Rows[n].Tag = tag; - } - - return n; - } - - public static TreeNode Add(TreeView control, string key, string text) - { - TreeNode rv = null; - - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - rv = control.Nodes.Add(key, text); - })); - } - else - { - rv = control.Nodes.Add(key, text); - } - - return rv; - } - - public static TreeNode Add(TreeNode control, string key, string text) - { - TreeNode rv = null; - - if (control.TreeView.InvokeRequired) - { - control.TreeView.Invoke(new MethodInvoker(() => { - rv = control.Nodes.Add(key, text); - })); - } - else - { - rv = control.Nodes.Add(key, text); - } - - return rv; - } - - public static TreeNode Add(TreeView parentControl, TreeNodeCollection control, string key, string text, int imageIndex, int selectedImageIndex) - { - TreeNode rv = null; - - if (parentControl.InvokeRequired) - { - parentControl.Invoke(new MethodInvoker(() => { - rv = control.Add(key, text, imageIndex, selectedImageIndex); - })); - } - else - { - rv = control.Add(key, text, imageIndex, selectedImageIndex); - } - - return rv; - } - - public static TreeNode Add(TreeNode control, string key, string text, int imageIndex, int selectedImageIndex) - { - TreeNode rv = null; - - if (control.TreeView.InvokeRequired) - { - control.TreeView.Invoke(new MethodInvoker(() => { - rv = control.Nodes.Add(key, text, imageIndex, selectedImageIndex); - })); - } - else - { - rv = control.Nodes.Add(key, text, imageIndex, selectedImageIndex); - } - - return rv; - } - - public static TreeNode Add(TreeView control, string key, string text, int imageIndex, int selectedImageIndex) - { - TreeNode rv = null; - - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - rv = control.Nodes.Add(key, text, imageIndex, selectedImageIndex); - })); - } - else - { - rv = control.Nodes.Add(key, text, imageIndex, selectedImageIndex); - } - - return rv; - } - - public static void Add(TreeView parentControl, ImageList control, Image value) - { - if (parentControl.InvokeRequired) - { - parentControl.Invoke(new MethodInvoker(() => { - control.Images.Add(value); - })); - } - else - { - control.Images.Add(value); - } - } - - public static void Add(Control parentControl, ImageList control, string key, Image value) - { - if (parentControl.InvokeRequired) - { - parentControl.Invoke(new MethodInvoker(() => { - control.Images.Add(key, value); - })); - } - else - { - control.Images.Add(key, value); - } - } - - public static void AddLine(RichTextBox control, string text) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Text += text + Environment.NewLine; - })); - } - else - { - control.Text += text + Environment.NewLine; - } - } - - public static void Clear(ListBox control) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Items.Clear(); - })); - } - else - { - control.Items.Clear(); - } - } - - public static void Clear(ComboBox control) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Items.Clear(); - })); - } - else - { - control.Items.Clear(); - } - } - - public static void Clear(TreeView parentControl, ImageList control) - { - if (parentControl.InvokeRequired) - { - parentControl.Invoke(new MethodInvoker(() => { - control.Images.Clear(); - })); - } - else - { - control.Images.Clear(); - } - } - - public static void Clear(FlowLayoutPanel control) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Controls.Clear(); - })); - } - else - { - control.Controls.Clear(); - } - } - - public static void Clear(TreeView control) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Nodes.Clear(); - })); - } - else - { - control.Nodes.Clear(); - } - } - - public static void Clear(Label control) => SetText(control, string.Empty); - - public static void Clear(PictureBox control) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Image = null; - })); - } - else - { - control.Image = null; - } - } - - public static void Clear(DataGridView control) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Rows.Clear(); - })); - } - else - { - control.Rows.Clear(); - } - } - - public static void Expand(TreeNode control) - { - if (control.TreeView.InvokeRequired) - { - control.TreeView.Invoke(new MethodInvoker(() => { - control.Expand(); - })); - } - else - { - control.Expand(); - } - } - - public static List FindChildControl(Control control) where T : Control - { - List rs = new List(); - - foreach (Control item in control.Controls) - { - var ctr = item as T; - if (ctr == null) - { - rs.AddRange(FindChildControl(item)); - } - else - { - rs.Add(ctr); - } - } - - return rs; - } - - public static string GetSelectedValue(ListBox sender) - { - string rv = string.Empty; - - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { - rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); - })); - } - else - { - rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); - } - - return rv; - } - - public static string GetText(Control control, bool doTrim = true) - { - string rv = string.Empty; - - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - rv = (doTrim ? control.Text?.Trim() : control.Text); - })); - } - else - { - rv = (doTrim ? control.Text?.Trim() : control.Text); - } - - return rv; - } - - public static int GetValue(NumericUpDown sender) - { - int rv = 0; - - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { - rv = (int)sender.Value; - })); - } - else - { - rv = (int)sender.Value; - } - - return rv; - } - - public static bool IsChild(TreeNode dragNode, TreeNode dropNode) - { - TreeNode tn = dropNode; - while (true) - { - if (tn.Parent == null) - { - break; - } - - if (tn.Equals(dragNode)) - { - return true; - } - - tn = tn.Parent; - } - - return false; - } - - public static void SetChecked(ToolStripMenuItem control, bool value) - { - if (control.GetCurrentParent().InvokeRequired) - { - control.GetCurrentParent().Invoke(new MethodInvoker(() => - { - control.Checked = value; - })); - } - else - { - control.Checked = value; - } - } - - public static void SetClientHeight(Control control, int value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.ClientSize = new Size(control.ClientSize.Width, value); - })); - } - else - { - control.ClientSize = new Size(control.ClientSize.Width, value); - } - } - - public static void SetClientSize(Control control, int width, int height) => SetClientSize(control, new Size(width, height)); - - public static void SetClientSize(Control control, Size value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.ClientSize = value; - })); - } - else - { - control.ClientSize = value; - } - } - - public static void SetClientWidth(Control control, int value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.ClientSize = new Size(value, control.ClientSize.Height); - })); - } - else - { - control.ClientSize = new Size(value, control.ClientSize.Height); - } - } - - public static void SetEnable(Control control, bool value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Enabled = value; - })); - } - else - { - control.Enabled = value; - } - } - - public static void SetEnable(ToolStripMenuItem control, bool value) - { - if (control.GetCurrentParent() == null) - { - control.Enabled = value; - return; - } - - if (control.GetCurrentParent().InvokeRequired) - { - control.GetCurrentParent().Invoke(new MethodInvoker(() => - { - control.Enabled = value; - })); - } - else - { - control.Enabled = value; - } - } - - public static void SetFocus(Control control) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Focus(); - })); - } - else - { - control.Focus(); - } - } - - public static void SetHeight(Control control, int value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Height = value; - })); - } - else - { - control.Height = value; - } - } - - public static void SetLocation(Control control, Point value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Location = value; - })); - } - else - { - control.Location = value; - } - } - - public static void SetSize(Control control, int width, int height) => SetSize(control, new Size(width, height)); - - public static void SetSize(Control control, Size value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Size = value; - })); - } - else - { - control.Size = value; - } - } - - public static void SetText(Control control, string text) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Text = text; - })); - } - else - { - control.Text = text; - } - } - - public static void SetTopMost(Form control, bool value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.TopMost = value; - })); - } - else - { - control.TopMost = value; - } - } - - public static void SetValue(Control control, string value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Text = value; - })); - } - else - { - control.Text = value; - } - } - - public static void SetValue(ComboBox control, int value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.SelectedIndex = value; - })); - } - else - { - control.SelectedIndex = value; - } - } - - public static void SetValue(PictureBox control, Image value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => - { - control.Image = value; - })); - } - else - { - control.Image = value; - } - } - - public static string GetValue(ListBox sender) - { - string rv = string.Empty; - - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { - rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); - })); - } - else - { - rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); - } - - return rv; - } - - public static int GetValue(ComboBox sender) - { - int rv = -1; - - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { - rv = sender.SelectedIndex; - })); - } - else - { - rv = sender.SelectedIndex; - } - - return rv; - } - - public static void SetVisible(Control control, bool value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Visible = value; - })); - } - else - { - control.Visible = value; - } - } - - public static void SetVisible(Form control, bool value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - if (value) - { - //control.ShowInTaskbar = value; - //control.Opacity = 100; - control.Visible = value; - } - else - { - control.Visible = value; - //control.ShowInTaskbar = value; - //control.Opacity = 0; - } - })); - } - else - { - if (value) - { - //control.ShowInTaskbar = value; - //control.Opacity = 100; - control.Visible = value; - } - else - { - control.Visible = value; - //control.ShowInTaskbar = value; - //control.Opacity = 0; - } - } - } - - public static void SetWidth(Control control, int value) - { - if (control.InvokeRequired) - { - control.Invoke(new MethodInvoker(() => { - control.Width = value; - })); - } - else - { - control.Width = value; - } - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/PickerBox/TNumericPickerBox.cs b/RyzStudio/Windows/ThemedForms/PickerBox/TNumericPickerBox.cs deleted file mode 100644 index fdb0413..0000000 --- a/RyzStudio/Windows/ThemedForms/PickerBox/TNumericPickerBox.cs +++ /dev/null @@ -1,52 +0,0 @@ -using RyzStudio.Windows.Forms; -using System.Windows.Forms; - -namespace RyzStudio.Windows.ThemedForms -{ - public class TNumericPickerBox : TPickerBox - { - protected int minimumValue = 0; - protected int maximumValue = 50; - - - public TNumericPickerBox() : base() - { - this.ComboBox.MaxDropDownItems = 10; - - this.Clear(); - } - - - public ComboBox InnerControl { get => this.ComboBox; } - - public int Value - { - get => (ThreadControl.GetValue(this.ComboBox) + minimumValue); - set => ThreadControl.SetValue(this.ComboBox, (value - minimumValue)); - } - - - public void Clear() - { - ThreadControl.Clear(this.ComboBox); - ThreadControl.Add(this.ComboBox, "0"); - ThreadControl.SetValue(this.ComboBox, 0); - } - - public void Clear(int min, int max, int value) - { - minimumValue = min; - maximumValue = max; - - ThreadControl.Clear(this.ComboBox); - - for (int i=min; i< max; i++) - { - ThreadControl.Add(this.ComboBox, i.ToString()); - } - - this.Value = value; - } - - } -} diff --git a/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.cs b/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.cs deleted file mode 100644 index 255f98c..0000000 --- a/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.cs +++ /dev/null @@ -1,98 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - using RyzStudio.Drawing; - using System; - using System.ComponentModel; - using System.Drawing; - using System.Windows.Forms; - - public partial class TPickerBox : RyzStudio.Windows.ThemedForms.TUserControl - { - protected readonly Padding textboxPadding = new Padding(6, 2, 4, 2); - - public TPickerBox() : base() - { - InitializeComponent(); - - this.Font = new Font(this.Font, FontStyle.Regular); - this.Margin = new Padding(10, 4, 10, 4); - - comboBox1.Font = this.Font; - comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; - comboBox1.PreviewKeyDown += textBox_PreviewKeyDown; - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Height = comboBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom); - } - - protected override void OnGotFocus(EventArgs e) - { - base.OnGotFocus(e); - - comboBox1.Focus(); - } - - protected void textBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - switch (e.KeyCode) - { - case Keys.Enter: - if (this.SubmitButton != null) - { - this.SubmitButton.PerformClick(); - } - - break; - case Keys.Escape: - close(); - break; - default: break; - } - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public System.Windows.Forms.ComboBox ComboBox { get => comboBox1; set => comboBox1 = value; } - - //[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - //[Category("Appearance")] - //public new string Text - //{ - // get => textBox1.Text; - // set - // { - // textBox1.Text = value; - // textBox1.SelectionStart = textBox1.Text.Length; - // } - //} - - //[Browsable(true)] - //[Category("Appearance")] - //public ComboBox.ObjectCollection Items { get => comboBox1.Items; set => comboBox1.Items = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public TButton SubmitButton { get; set; } = null; - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get => base.Margin; set => base.Margin = value; } - - protected override void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.designer.cs b/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.designer.cs deleted file mode 100644 index 760329f..0000000 --- a/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.designer.cs +++ /dev/null @@ -1,59 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TPickerBox - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.comboBox1 = new System.Windows.Forms.ComboBox(); - this.SuspendLayout(); - // - // comboBox1 - // - this.comboBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.comboBox1.FormattingEnabled = true; - this.comboBox1.Location = new System.Drawing.Point(4, 4); - this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(121, 21); - this.comboBox1.TabIndex = 0; - // - // PickerBox - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.comboBox1); - this.Name = "PickerBox"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(128, 32); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.ComboBox comboBox1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.resx b/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.resx deleted file mode 100644 index 1af7de1..0000000 --- a/RyzStudio/Windows/ThemedForms/PickerBox/TPickerBox.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/ThemedForms/PickerBox/TYesNoPickerBox.cs b/RyzStudio/Windows/ThemedForms/PickerBox/TYesNoPickerBox.cs deleted file mode 100644 index e9b0557..0000000 --- a/RyzStudio/Windows/ThemedForms/PickerBox/TYesNoPickerBox.cs +++ /dev/null @@ -1,27 +0,0 @@ -using RyzStudio.Windows.Forms; -using System.Windows.Forms; - -namespace RyzStudio.Windows.ThemedForms -{ - public class TYesNoPickerBox : TPickerBox - { - - public TYesNoPickerBox() : base() - { - this.ComboBox.Items.Clear(); - - this.ComboBox.Items.AddRange(new string[] { "No", "Yes" }); - if (this.ComboBox.Items.Count > 0) this.ComboBox.SelectedIndex = 0; - } - - - public ComboBox InnerControl { get => this.ComboBox; } - - public bool Value - { - get => (ThreadControl.GetValue(this.ComboBox) == 1); - set => ThreadControl.SetValue(this.ComboBox, (value ? 1 : 0)); - } - - } -} diff --git a/RyzStudio/Windows/ThemedForms/TButton.cs b/RyzStudio/Windows/ThemedForms/TButton.cs deleted file mode 100644 index aff4fd2..0000000 --- a/RyzStudio/Windows/ThemedForms/TButton.cs +++ /dev/null @@ -1,183 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - using RyzStudio.Windows.Forms; - using System; - using System.ComponentModel; - using System.Drawing; - using System.Windows.Forms; - - public partial class TButton : RyzStudio.Windows.ThemedForms.TUserControl - { - public class ButtonStyle - { - public Color BackColour { get; set; } = Color.Transparent; - public Color PenColour { get; set; } = Color.Transparent; - public Image ForeImage { get; set; } = null; - } - - public enum ButtonState - { - Idle = 0, - Hover, - Down - } - - protected ButtonState controlState = ButtonState.Idle; - protected bool isSelected = false; - - public TButton() - { - InitializeComponent(); - - this.Margin = new Padding(10); - - label1.ImageAlign = ContentAlignment.MiddleCenter; - label1.Click += label1_Click; - label1.MouseClick += label1_MouseClick; - label1.MouseEnter += delegate { this.VisualState = ButtonState.Hover; }; - label1.MouseLeave += delegate { this.VisualState = ButtonState.Idle; }; - label1.MouseDown += delegate { this.VisualState = ButtonState.Down; }; - label1.MouseUp += delegate { this.VisualState = ButtonState.Idle; }; - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.StyleDefault = new ButtonStyle() - { - BackColour = Color.White, - PenColour = Color.Black, - ForeImage = this.DefaultImage - }; - this.StyleDown = new ButtonStyle() - { - BackColour = Color.FromArgb(60, 53, 148), - PenColour = Color.White, - ForeImage = this.DownImage - }; - this.StyleOver = new ButtonStyle() - { - BackColour = Color.FromArgb(108, 101, 196), - PenColour = Color.White, - ForeImage = this.OverImage - }; - this.StyleSelected = new ButtonStyle() - { - BackColour = Color.FromArgb(51, 51, 51), - PenColour = Color.White, - ForeImage = this.OverImage - }; - - this.VisualState = ButtonState.Idle; - } - - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get => base.Margin; set => base.Margin = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Padding { get => base.Padding; set => base.Padding = value; } - - - protected ButtonState VisualState - { - get { return controlState; } - set - { - switch (value) - { - case ButtonState.Idle: - if (this.VisualState == ButtonState.Down) - { - updateButton(StyleOver); - } - else - { - if (this.IsSelected) - { - updateButton(StyleSelected); - } - else - { - updateButton(StyleDefault); - } - } - - break; - case ButtonState.Hover: - updateButton(StyleOver); - break; - case ButtonState.Down: - updateButton(StyleDown); - break; - default: - if (this.IsSelected) - { - updateButton(StyleSelected); - } - else - { - updateButton(StyleDefault); - } - - break; - } - - controlState = value; - } - } - - protected void updateButton(ButtonStyle style) - { - label1.ForeColor = style.PenColour; - label1.BackColor = style.BackColour; - label1.Image = style.ForeImage; - } - - [Browsable(true)] - [Category("Appearance")] - public string LabelText { get => ThreadControl.GetText(label1); set => ThreadControl.SetText(label1, value); } - - [Browsable(true)] - [Category("Appearance")] - public Image OverImage { get; set; } = null; - - [Browsable(true)] - [Category("Appearance")] - public Image DownImage { get; set; } = null; - - [Browsable(true)] - [Category("Appearance")] - public Image DefaultImage { get; set; } = null; - - public bool IsSelected - { - get => isSelected; - set - { - isSelected = value; - - this.VisualState = this.VisualState; - } - } - - - protected ButtonStyle StyleOver { get; set; } = new ButtonStyle(); - - protected ButtonStyle StyleDown { get; set; } = new ButtonStyle(); - - protected ButtonStyle StyleDefault { get; set; } = new ButtonStyle(); - - protected ButtonStyle StyleSelected { get; set; } = new ButtonStyle(); - - - private void label1_MouseClick(object sender, MouseEventArgs e) => this.OnMouseClick(e); - - private void label1_Click(object sender, EventArgs e) => this.OnClick(e); - - - public void PerformClick() => this.OnClick(null); - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TButton.designer.cs b/RyzStudio/Windows/ThemedForms/TButton.designer.cs deleted file mode 100644 index 687d7a0..0000000 --- a/RyzStudio/Windows/ThemedForms/TButton.designer.cs +++ /dev/null @@ -1,62 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TButton - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.label1 = new System.Windows.Forms.Label(); - this.SuspendLayout(); - // - // label1 - // - this.label1.Dock = System.Windows.Forms.DockStyle.Fill; - this.label1.Location = new System.Drawing.Point(4, 4); - this.label1.Margin = new System.Windows.Forms.Padding(0); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(142, 30); - this.label1.TabIndex = 0; - this.label1.Text = "label1"; - this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // TButton - // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.label1); - this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.Name = "TButton"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(149, 37); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Label label1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/TButton.resx b/RyzStudio/Windows/ThemedForms/TButton.resx deleted file mode 100644 index f298a7b..0000000 --- a/RyzStudio/Windows/ThemedForms/TButton.resx +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs b/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs deleted file mode 100644 index 0133a0e..0000000 --- a/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TDialogForm - { - /// - /// 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() - { - this.SuspendLayout(); - // - // TDialogForm - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(249)))), ((int)(((byte)(250))))); - this.ClientSize = new System.Drawing.Size(340, 600); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.MinimumSize = new System.Drawing.Size(40, 0); - this.Name = "TDialogForm"; - this.ResumeLayout(false); - - } - - #endregion - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TDialogForm.cs b/RyzStudio/Windows/ThemedForms/TDialogForm.cs deleted file mode 100644 index 23d11df..0000000 --- a/RyzStudio/Windows/ThemedForms/TDialogForm.cs +++ /dev/null @@ -1,117 +0,0 @@ -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.ThemedForms -{ - public partial class TDialogForm : Form - { - public TDialogForm() - { - this.InitializeComponent(); - - this.BackColor = Color.FromArgb(254, 254, 254); - this.FormBorderStyle = FormBorderStyle.Sizable; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Padding = new Padding(5, 10, 5, 10); - this.ShowIcon = false; - this.ShowInTaskbar = false; - this.StartPosition = FormStartPosition.WindowsDefaultLocation; - this.TopMost = true; - this.SizeGripStyle = SizeGripStyle.Hide; - this.AutoScaleMode = AutoScaleMode.None; - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color BackColor { get => base.BackColor; set => base.BackColor = value; } - - [Browsable(false)] - public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; } - - [Browsable(false)] - public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; } - - //[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - //public override Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; } - - //[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - //public override Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Padding { get => base.Padding; set => base.Padding = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool ShowIcon { get => base.ShowIcon; set => base.ShowIcon = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool ShowInTaskbar { get => base.ShowInTaskbar; set => base.ShowInTaskbar = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new FormStartPosition StartPosition { get => base.StartPosition; set => base.StartPosition = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool TopMost { get => base.TopMost; set => base.TopMost = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Cursor Cursor { get => base.Cursor; set => base.Cursor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool RightToLeftLayout { get => base.RightToLeftLayout; set => base.RightToLeftLayout = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new AutoSizeMode AutoSizeMode { get => base.AutoSizeMode; set => base.AutoSizeMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool MinimizeBox { get => base.MinimizeBox; set => base.MinimizeBox = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool MaximizeBox { get => base.MaximizeBox; set => base.MaximizeBox = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool ControlBox { get => base.ControlBox; set => base.ControlBox = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool HelpButton { get => base.HelpButton; set => base.HelpButton = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new MenuStrip MainMenuStrip { get => base.MainMenuStrip; set => base.MainMenuStrip = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new SizeGripStyle SizeGripStyle { get => base.SizeGripStyle; set => base.SizeGripStyle = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new AutoScaleMode AutoScaleMode { get => base.AutoScaleMode; set => base.AutoScaleMode = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Point AutoScrollOffset { get => base.AutoScrollOffset; set => base.AutoScrollOffset = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new FormWindowState WindowState { get => base.WindowState; set => base.WindowState = value; } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TDialogForm.resx b/RyzStudio/Windows/ThemedForms/TDialogForm.resx deleted file mode 100644 index f298a7b..0000000 --- a/RyzStudio/Windows/ThemedForms/TDialogForm.resx +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/ThemedForms/TListBox.cs b/RyzStudio/Windows/ThemedForms/TListBox.cs deleted file mode 100644 index 3f84e9c..0000000 --- a/RyzStudio/Windows/ThemedForms/TListBox.cs +++ /dev/null @@ -1,385 +0,0 @@ -using RyzStudio.Drawing; -using System; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; -using UIResource = BookmarkManager.UIResource; - -namespace RyzStudio.Windows.ThemedForms -{ - public partial class TListBox : RyzStudio.Windows.ThemedForms.TUserControl - { - protected readonly Padding textboxPadding = new Padding(6, 2, 4, 2); - - public TListBox() : base() - { - InitializeComponent(); - - this.Font = new Font(this.Font, FontStyle.Regular); - this.Margin = new Padding(10, 4, 10, 4); - - listBox1.Font = this.Font; - listBox1.BorderStyle = BorderStyle.None; - } - - //protected override void OnResize(EventArgs e) - //{ - // base.OnResize(e); - - // //int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - // //this.Height = comboBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom); - //} - - protected override void OnGotFocus(EventArgs e) - { - base.OnGotFocus(e); - - listBox1.Focus(); - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public System.Windows.Forms.ListBox ListBox { get => listBox1; set => listBox1 = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public TButton SubmitButton { get; set; } = null; - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get => base.Margin; set => base.Margin = value; } - - [Browsable(false)] - public event EventHandler OnAdd; - - [Browsable(false)] - public event EventHandler OnEdit; - - protected override void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - /// - /// Add - /// - /// - /// - private void imageBox1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button != MouseButtons.Left) - { - return; - } - - this.OnAdd?.Invoke(sender, e); - } - - /// - /// Edit - /// - /// - /// - private void tImageBox1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button != MouseButtons.Left) - { - return; - } - - editToolStripMenuItem_Click(sender, e); - } - - /// - /// Menu - /// - /// - /// - private void imageBox5_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button != MouseButtons.Left) - { - return; - } - - contextMenuStrip1.Show(Cursor.Position); - } - - /// - /// Move up - /// - /// - /// - private void imageBox3_MouseClick(object sender, MouseEventArgs e) - { - if (e != null) - { - if (e.Button != MouseButtons.Left) - { - return; - } - } - - moveUpToolStripMenuItem_Click(sender, e); - } - - /// - /// Move down - /// - /// - /// - private void imageBox4_MouseClick(object sender, MouseEventArgs e) - { - if (e != null) - { - if (e.Button != MouseButtons.Left) - { - return; - } - } - - moveDownToolStripMenuItem_Click(sender, e); - } - - private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e) - { - editToolStripMenuItem_Click(sender, e); - } - - private void listBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - switch (e.KeyCode) - { - case Keys.Enter: - if (this.SubmitButton != null) - { - this.SubmitButton.PerformClick(); - } - - break; - case Keys.Escape: - close(); - break; - case Keys.Up: - if (e.Alt) - { - imageBox3_MouseClick(sender, null); - } - - break; - case Keys.Down: - if (e.Alt) - { - imageBox4_MouseClick(sender, null); - } - - break; - default: break; - } - } - - #region context menu - - /// - /// Add - /// - /// - /// - private void addItemToolStripMenuItem_Click(object sender, EventArgs e) - { - this.OnAdd?.Invoke(sender, e); - } - - /// - /// Copy - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - if (listBox1.SelectedIndex <= 0) - { - return; - } - - if (listBox1.SelectedItem == null) - { - return; - } - - object item = listBox1.SelectedItem; - - listBox1.Items.Add(item); - listBox1.SelectedIndex = (listBox1.Items.Count- 1); - } - - /// - /// Edit - /// - /// - /// - private void editToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listBox1.SelectedIndex < 0) - { - return; - } - - if (listBox1.SelectedItem == null) - { - return; - } - - this.OnEdit?.Invoke(sender, e); - } - - /// - /// Remove - /// - /// - /// - private void removeToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listBox1.SelectedIndex < 0) - { - return; - } - - int pos = listBox1.SelectedIndex; - - listBox1.Items.RemoveAt(pos); - - if (pos > (listBox1.Items.Count - 1)) - { - pos = (listBox1.Items.Count - 1); - } - - listBox1.SelectedIndex = pos; - } - - /// - /// Remove all - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - listBox1.Items.Clear(); - } - - /// - /// Move to top - /// - /// - /// - private void moveToTopToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listBox1.SelectedIndex <= 0) - { - return; - } - - if (listBox1.SelectedItem == null) - { - return; - } - - object item = listBox1.SelectedItem; - int pos = listBox1.SelectedIndex; - - listBox1.Items.RemoveAt(pos); - listBox1.Items.Insert(0, item); - - listBox1.SelectedIndex = 0; - } - - /// - /// Move up - /// - /// - /// - private void moveUpToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listBox1.SelectedIndex <= 0) - { - return; - } - - if (listBox1.SelectedItem == null) - { - return; - } - - object item = listBox1.SelectedItem; - int pos = listBox1.SelectedIndex; - - listBox1.Items.RemoveAt(pos); - listBox1.Items.Insert((pos - 1), item); - - listBox1.SelectedIndex = (pos - 1); - } - - /// - /// Move down - /// - /// - /// - private void moveDownToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listBox1.SelectedIndex >= (listBox1.Items.Count - 1)) - { - return; - } - - if (listBox1.SelectedItem == null) - { - return; - } - - object item = listBox1.SelectedItem; - int pos = listBox1.SelectedIndex; - - listBox1.Items.RemoveAt(pos); - listBox1.Items.Insert((pos + 1), item); - - listBox1.SelectedIndex = (pos + 1); - } - - /// - /// Move to bottom - /// - /// - /// - private void moveToBottomToolStripMenuItem_Click(object sender, EventArgs e) - { - int n = (listBox1.Items.Count - 1); - - if (listBox1.SelectedIndex >= (listBox1.Items.Count - 1)) - { - return; - } - - if (listBox1.SelectedItem == null) - { - return; - } - - object item = listBox1.SelectedItem; - int pos = listBox1.SelectedIndex; - - listBox1.Items.RemoveAt(pos); - listBox1.Items.Insert(n, item); - - listBox1.SelectedIndex = n; - } - - #endregion - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TListBox.designer.cs b/RyzStudio/Windows/ThemedForms/TListBox.designer.cs deleted file mode 100644 index af75f87..0000000 --- a/RyzStudio/Windows/ThemedForms/TListBox.designer.cs +++ /dev/null @@ -1,358 +0,0 @@ -using System.Drawing; - -namespace RyzStudio.Windows.ThemedForms -{ - partial class TListBox - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.listBox1 = new System.Windows.Forms.ListBox(); - this.imageBox5 = new RyzStudio.Windows.Forms.TImageBox(); - this.imageBox4 = new RyzStudio.Windows.Forms.TImageBox(); - this.imageBox3 = new RyzStudio.Windows.Forms.TImageBox(); - this.imageBox1 = new RyzStudio.Windows.Forms.TImageBox(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.addItemToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.moveToTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.moveUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.moveToBottomToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.tImageBox1 = new RyzStudio.Windows.Forms.TImageBox(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).BeginInit(); - this.contextMenuStrip1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.tImageBox1)).BeginInit(); - this.SuspendLayout(); - // - // listBox1 - // - this.listBox1.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.listBox1.BackColor = System.Drawing.SystemColors.Window; - this.listBox1.FormattingEnabled = true; - this.listBox1.ItemHeight = 15; - this.listBox1.Location = new System.Drawing.Point(4, 4); - this.listBox1.Name = "listBox1"; - this.listBox1.Size = new System.Drawing.Size(98, 214); - this.listBox1.TabIndex = 0; - this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseDoubleClick); - this.listBox1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.listBox1_PreviewKeyDown); - // - // imageBox5 - // - this.imageBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.imageBox5.BackColor = System.Drawing.Color.Transparent; - this.imageBox5.BackColorHover = System.Drawing.Color.Transparent; - this.imageBox5.BackColorNormal = System.Drawing.Color.Transparent; - this.imageBox5.BackColorSelected = System.Drawing.Color.Transparent; - this.imageBox5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox5.ErrorImage = null; - this.imageBox5.HoverImage = global::BookmarkManager.UIResource.circle_menu2; - this.imageBox5.Image = global::BookmarkManager.UIResource.circle_menu; - this.imageBox5.ImageHover = global::BookmarkManager.UIResource.circle_menu2; - this.imageBox5.ImageNormal = global::BookmarkManager.UIResource.circle_menu; - this.imageBox5.ImageSelected = null; - this.imageBox5.InitialImage = null; - this.imageBox5.IsSelected = false; - this.imageBox5.Location = new System.Drawing.Point(106, 48); - this.imageBox5.Name = "imageBox5"; - this.imageBox5.NormalImage = global::BookmarkManager.UIResource.circle_menu; - this.imageBox5.SelectedImage = null; - this.imageBox5.Size = new System.Drawing.Size(18, 18); - this.imageBox5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox5.TabIndex = 6; - this.imageBox5.TabStop = false; - this.toolTip1.SetToolTip(this.imageBox5, "Menu"); - this.imageBox5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox5_MouseClick); - this.imageBox5.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox5_MouseClick); - // - // imageBox4 - // - this.imageBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.imageBox4.BackColor = System.Drawing.Color.Transparent; - this.imageBox4.BackColorHover = System.Drawing.Color.Transparent; - this.imageBox4.BackColorNormal = System.Drawing.Color.Transparent; - this.imageBox4.BackColorSelected = System.Drawing.Color.Transparent; - this.imageBox4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox4.ErrorImage = null; - this.imageBox4.HoverImage = global::BookmarkManager.UIResource.arrow_down2; - this.imageBox4.Image = global::BookmarkManager.UIResource.arrow_down; - this.imageBox4.ImageHover = global::BookmarkManager.UIResource.arrow_down2; - this.imageBox4.ImageNormal = global::BookmarkManager.UIResource.arrow_down; - this.imageBox4.ImageSelected = null; - this.imageBox4.InitialImage = null; - this.imageBox4.IsSelected = false; - this.imageBox4.Location = new System.Drawing.Point(106, 92); - this.imageBox4.Name = "imageBox4"; - this.imageBox4.NormalImage = global::BookmarkManager.UIResource.arrow_down; - this.imageBox4.SelectedImage = null; - this.imageBox4.Size = new System.Drawing.Size(18, 18); - this.imageBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox4.TabIndex = 5; - this.imageBox4.TabStop = false; - this.toolTip1.SetToolTip(this.imageBox4, "Move Down"); - this.imageBox4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox4_MouseClick); - this.imageBox4.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox4_MouseClick); - // - // imageBox3 - // - this.imageBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.imageBox3.BackColor = System.Drawing.Color.Transparent; - this.imageBox3.BackColorHover = System.Drawing.Color.Transparent; - this.imageBox3.BackColorNormal = System.Drawing.Color.Transparent; - this.imageBox3.BackColorSelected = System.Drawing.Color.Transparent; - this.imageBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox3.ErrorImage = null; - this.imageBox3.HoverImage = global::BookmarkManager.UIResource.arrow_up2; - this.imageBox3.Image = global::BookmarkManager.UIResource.arrow_up; - this.imageBox3.ImageHover = global::BookmarkManager.UIResource.arrow_up2; - this.imageBox3.ImageNormal = global::BookmarkManager.UIResource.arrow_up; - this.imageBox3.ImageSelected = null; - this.imageBox3.InitialImage = null; - this.imageBox3.IsSelected = false; - this.imageBox3.Location = new System.Drawing.Point(106, 72); - this.imageBox3.Name = "imageBox3"; - this.imageBox3.NormalImage = global::BookmarkManager.UIResource.arrow_up; - this.imageBox3.SelectedImage = null; - this.imageBox3.Size = new System.Drawing.Size(18, 18); - this.imageBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox3.TabIndex = 4; - this.imageBox3.TabStop = false; - this.toolTip1.SetToolTip(this.imageBox3, "Move Up"); - this.imageBox3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox3_MouseClick); - this.imageBox3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox3_MouseClick); - // - // imageBox1 - // - this.imageBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.imageBox1.BackColor = System.Drawing.Color.Transparent; - this.imageBox1.BackColorHover = System.Drawing.Color.Transparent; - this.imageBox1.BackColorNormal = System.Drawing.Color.Transparent; - this.imageBox1.BackColorSelected = System.Drawing.Color.Transparent; - this.imageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox1.ErrorImage = null; - this.imageBox1.HoverImage = global::BookmarkManager.UIResource.plus2; - this.imageBox1.Image = global::BookmarkManager.UIResource.plus; - this.imageBox1.ImageHover = global::BookmarkManager.UIResource.plus2; - this.imageBox1.ImageNormal = global::BookmarkManager.UIResource.plus; - this.imageBox1.ImageSelected = null; - this.imageBox1.InitialImage = null; - this.imageBox1.IsSelected = false; - this.imageBox1.Location = new System.Drawing.Point(106, 4); - this.imageBox1.Name = "imageBox1"; - this.imageBox1.NormalImage = global::BookmarkManager.UIResource.plus; - this.imageBox1.SelectedImage = null; - this.imageBox1.Size = new System.Drawing.Size(18, 18); - this.imageBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox1.TabIndex = 2; - this.imageBox1.TabStop = false; - this.toolTip1.SetToolTip(this.imageBox1, "Add"); - this.imageBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox1_MouseClick); - this.imageBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox1_MouseClick); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addItemToolStripMenuItem, - this.toolStripMenuItem2, - this.toolStripSeparator3, - this.editToolStripMenuItem, - this.toolStripSeparator2, - this.removeToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripSeparator1, - this.moveToTopToolStripMenuItem, - this.moveUpToolStripMenuItem, - this.moveDownToolStripMenuItem, - this.moveToBottomToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(163, 220); - // - // addItemToolStripMenuItem - // - this.addItemToolStripMenuItem.Name = "addItemToolStripMenuItem"; - this.addItemToolStripMenuItem.Size = new System.Drawing.Size(162, 22); - this.addItemToolStripMenuItem.Text = "&Add"; - this.addItemToolStripMenuItem.Click += new System.EventHandler(this.addItemToolStripMenuItem_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(162, 22); - this.toolStripMenuItem2.Text = "&Copy"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(159, 6); - // - // editToolStripMenuItem - // - this.editToolStripMenuItem.Name = "editToolStripMenuItem"; - this.editToolStripMenuItem.Size = new System.Drawing.Size(162, 22); - this.editToolStripMenuItem.Text = "&Edit"; - this.editToolStripMenuItem.Click += new System.EventHandler(this.editToolStripMenuItem_Click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(159, 6); - // - // removeToolStripMenuItem - // - this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; - this.removeToolStripMenuItem.Size = new System.Drawing.Size(162, 22); - this.removeToolStripMenuItem.Text = "&Remove"; - this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(162, 22); - this.toolStripMenuItem1.Text = "Remove A&ll"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(159, 6); - // - // moveToTopToolStripMenuItem - // - this.moveToTopToolStripMenuItem.Name = "moveToTopToolStripMenuItem"; - this.moveToTopToolStripMenuItem.Size = new System.Drawing.Size(162, 22); - this.moveToTopToolStripMenuItem.Text = "Move To &Top"; - this.moveToTopToolStripMenuItem.Click += new System.EventHandler(this.moveToTopToolStripMenuItem_Click); - // - // moveUpToolStripMenuItem - // - this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem"; - this.moveUpToolStripMenuItem.Size = new System.Drawing.Size(162, 22); - this.moveUpToolStripMenuItem.Text = "Move &Up"; - this.moveUpToolStripMenuItem.Click += new System.EventHandler(this.moveUpToolStripMenuItem_Click); - // - // moveDownToolStripMenuItem - // - this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem"; - this.moveDownToolStripMenuItem.Size = new System.Drawing.Size(162, 22); - this.moveDownToolStripMenuItem.Text = "Move &Down"; - this.moveDownToolStripMenuItem.Click += new System.EventHandler(this.moveDownToolStripMenuItem_Click); - // - // moveToBottomToolStripMenuItem - // - this.moveToBottomToolStripMenuItem.Name = "moveToBottomToolStripMenuItem"; - this.moveToBottomToolStripMenuItem.Size = new System.Drawing.Size(162, 22); - this.moveToBottomToolStripMenuItem.Text = "Move To &Bottom"; - this.moveToBottomToolStripMenuItem.Click += new System.EventHandler(this.moveToBottomToolStripMenuItem_Click); - // - // tImageBox1 - // - this.tImageBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.tImageBox1.BackColor = System.Drawing.Color.Transparent; - this.tImageBox1.BackColorHover = System.Drawing.Color.Transparent; - this.tImageBox1.BackColorNormal = System.Drawing.Color.Transparent; - this.tImageBox1.BackColorSelected = System.Drawing.Color.Transparent; - this.tImageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.tImageBox1.ErrorImage = null; - this.tImageBox1.HoverImage = global::BookmarkManager.UIResource.edit2; - this.tImageBox1.Image = global::BookmarkManager.UIResource.edit; - this.tImageBox1.ImageHover = global::BookmarkManager.UIResource.edit2; - this.tImageBox1.ImageNormal = global::BookmarkManager.UIResource.edit; - this.tImageBox1.ImageSelected = null; - this.tImageBox1.InitialImage = null; - this.tImageBox1.IsSelected = false; - this.tImageBox1.Location = new System.Drawing.Point(106, 24); - this.tImageBox1.Name = "tImageBox1"; - this.tImageBox1.NormalImage = global::BookmarkManager.UIResource.edit; - this.tImageBox1.SelectedImage = null; - this.tImageBox1.Size = new System.Drawing.Size(18, 18); - this.tImageBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.tImageBox1.TabIndex = 7; - this.tImageBox1.TabStop = false; - this.toolTip1.SetToolTip(this.tImageBox1, "Edit"); - this.tImageBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tImageBox1_MouseClick); - this.tImageBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.tImageBox1_MouseClick); - // - // TListBox - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.tImageBox1); - this.Controls.Add(this.imageBox5); - this.Controls.Add(this.imageBox4); - this.Controls.Add(this.imageBox3); - this.Controls.Add(this.imageBox1); - this.Controls.Add(this.listBox1); - this.Name = "TListBox"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(128, 225); - ((System.ComponentModel.ISupportInitialize)(this.imageBox5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).EndInit(); - this.contextMenuStrip1.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.tImageBox1)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.ListBox listBox1; - private Forms.TImageBox imageBox1; - private Forms.TImageBox imageBox3; - private Forms.TImageBox imageBox4; - private Forms.TImageBox imageBox5; - private System.Windows.Forms.ToolTip toolTip1; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; - private System.Windows.Forms.ToolStripMenuItem addItemToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; - private System.Windows.Forms.ToolStripMenuItem moveToTopToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem moveUpToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem moveDownToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem moveToBottomToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; - private Forms.TImageBox tImageBox1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/TListBox.resx b/RyzStudio/Windows/ThemedForms/TListBox.resx deleted file mode 100644 index 34628c2..0000000 --- a/RyzStudio/Windows/ThemedForms/TListBox.resx +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - 17, 17 - - - 17, 17 - - - 114, 17 - - \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TMemoBox.cs b/RyzStudio/Windows/ThemedForms/TMemoBox.cs deleted file mode 100644 index cc2b320..0000000 --- a/RyzStudio/Windows/ThemedForms/TMemoBox.cs +++ /dev/null @@ -1,59 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - using RyzStudio.Drawing; - using System; - using System.ComponentModel; - using System.Drawing; - using System.Windows.Forms; - - public partial class TMemoBox : RyzStudio.Windows.ThemedForms.TUserControl - { - protected readonly Padding textboxPadding = new Padding(6, 6, 0, 6); - - public TMemoBox() : base() - { - InitializeComponent(); - - this.Margin = new Padding(10, 6, 10, 6); - } - - //protected override void OnResize(EventArgs e) - //{ - // base.OnResize(e); - - // int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - // this.Height = textBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom); - //} - - protected override void OnGotFocus(EventArgs e) - { - base.OnGotFocus(e); - - textBox1.Focus(); - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public System.Windows.Forms.TextBox InnerTextBox { get => textBox1; set => textBox1 = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public new string Text { get => textBox1.Text; set => textBox1.Text = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } } - - protected override void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TMemoBox.designer.cs b/RyzStudio/Windows/ThemedForms/TMemoBox.designer.cs deleted file mode 100644 index 52800af..0000000 --- a/RyzStudio/Windows/ThemedForms/TMemoBox.designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TMemoBox - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.textBox1 = new System.Windows.Forms.TextBox(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.AcceptsReturn = true; - this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBox1.HideSelection = false; - this.textBox1.Location = new System.Drawing.Point(4, 4); - this.textBox1.Multiline = true; - this.textBox1.Name = "textBox1"; - this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.textBox1.Size = new System.Drawing.Size(121, 25); - this.textBox1.TabIndex = 0; - // - // MemoBox - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.textBox1); - this.Name = "MemoBox"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(128, 32); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.TextBox textBox1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/TNumericBox.cs b/RyzStudio/Windows/ThemedForms/TNumericBox.cs deleted file mode 100644 index 76a1f7e..0000000 --- a/RyzStudio/Windows/ThemedForms/TNumericBox.cs +++ /dev/null @@ -1,99 +0,0 @@ -using RyzStudio.Drawing; -using System; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.ThemedForms -{ - public partial class TNumericBox : RyzStudio.Windows.ThemedForms.TUserControl - { - protected readonly Padding textboxPadding = new Padding(4, 4, 4, 4); - - - public TNumericBox() : base() - { - InitializeComponent(); - - this.Margin = new Padding(10, 6, 10, 6); - this.Font = new Font(this.Font, FontStyle.Regular); - - numericUpDown1.Font = this.Font; - numericUpDown1.PreviewKeyDown += textBox_PreviewKeyDown; - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Height = numericUpDown1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom); - - this.Invalidate(); - } - - protected override void OnGotFocus(EventArgs e) - { - base.OnGotFocus(e); - - numericUpDown1.Focus(); - } - - protected void textBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - switch (e.KeyCode) - { - case Keys.Enter: - if (this.SubmitButton != null) - { - this.SubmitButton.PerformClick(); - } - - break; - case Keys.Escape: - close(); - break; - default: break; - } - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public System.Windows.Forms.NumericUpDown InnerControl { get => numericUpDown1; set => numericUpDown1 = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public int Value - { - get => (int)numericUpDown1.Value; - set - { - numericUpDown1.Value = value; - } - } - - //[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - //[Category("Appearance")] - //public bool UseSystemPasswordChar { get => textBox1.UseSystemPasswordChar; set => textBox1.UseSystemPasswordChar = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public TButton SubmitButton { get; set; } = null; - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } } - - protected override void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TNumericBox.designer.cs b/RyzStudio/Windows/ThemedForms/TNumericBox.designer.cs deleted file mode 100644 index 799db24..0000000 --- a/RyzStudio/Windows/ThemedForms/TNumericBox.designer.cs +++ /dev/null @@ -1,60 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TNumericBox - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); - this.SuspendLayout(); - // - // numericUpDown1 - // - this.numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.numericUpDown1.Dock = System.Windows.Forms.DockStyle.Fill; - this.numericUpDown1.Location = new System.Drawing.Point(4, 4); - this.numericUpDown1.Name = "numericUpDown1"; - this.numericUpDown1.Size = new System.Drawing.Size(121, 19); - this.numericUpDown1.TabIndex = 0; - // - // TNumericBox - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.numericUpDown1); - this.Name = "TNumericBox"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(128, 32); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.NumericUpDown numericUpDown1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/TNumericBox.resx b/RyzStudio/Windows/ThemedForms/TNumericBox.resx deleted file mode 100644 index f298a7b..0000000 --- a/RyzStudio/Windows/ThemedForms/TNumericBox.resx +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/ThemedForms/TProgressBar.cs b/RyzStudio/Windows/ThemedForms/TProgressBar.cs deleted file mode 100644 index d30a566..0000000 --- a/RyzStudio/Windows/ThemedForms/TProgressBar.cs +++ /dev/null @@ -1,50 +0,0 @@ -using RyzStudio.Drawing; -using System; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.ThemedForms -{ - public partial class TProgressBar : RyzStudio.Windows.ThemedForms.TUserControl - { - protected readonly Padding textboxPadding = new Padding(2, 2, 2, 2); - - - public TProgressBar() : base() - { - InitializeComponent(); - - this.Margin = new Padding(10, 6, 10, 6); - this.Font = new Font(this.Font, FontStyle.Regular); - - customProgressBar1.Font = this.Font; - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - this.Invalidate(); - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public RyzStudio.Windows.Forms.TCustomProgressBar InnerControl { get => customProgressBar1; set => customProgressBar1 = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get => base.Margin; set => base.Margin = value; } - - protected override void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TProgressBar.designer.cs b/RyzStudio/Windows/ThemedForms/TProgressBar.designer.cs deleted file mode 100644 index a1bc39f..0000000 --- a/RyzStudio/Windows/ThemedForms/TProgressBar.designer.cs +++ /dev/null @@ -1,65 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TProgressBar - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.customProgressBar1 = new RyzStudio.Windows.Forms.TCustomProgressBar(); - this.SuspendLayout(); - // - // customProgressBar1 - // - this.customProgressBar1.AutoScrollMargin = new System.Drawing.Size(0, 0); - this.customProgressBar1.AutoScrollMinSize = new System.Drawing.Size(0, 0); - this.customProgressBar1.BarColour = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(225)))), ((int)(((byte)(249))))); - this.customProgressBar1.BarTextColour = System.Drawing.SystemColors.ControlText; - this.customProgressBar1.Dock = System.Windows.Forms.DockStyle.Fill; - this.customProgressBar1.Location = new System.Drawing.Point(4, 4); - this.customProgressBar1.Margin = new System.Windows.Forms.Padding(0); - this.customProgressBar1.Maximum = 100; - this.customProgressBar1.Minimum = 0; - this.customProgressBar1.Name = "customProgressBar1"; - this.customProgressBar1.Size = new System.Drawing.Size(121, 25); - this.customProgressBar1.TabIndex = 0; - this.customProgressBar1.Value = 50; - // - // TProgressBar - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.customProgressBar1); - this.Name = "TProgressBar"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(128, 32); - this.ResumeLayout(false); - - } - - #endregion - - private Forms.TCustomProgressBar customProgressBar1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/TProgressBar.resx b/RyzStudio/Windows/ThemedForms/TProgressBar.resx deleted file mode 100644 index f298a7b..0000000 --- a/RyzStudio/Windows/ThemedForms/TProgressBar.resx +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/ThemedForms/TUserControl.cs b/RyzStudio/Windows/ThemedForms/TUserControl.cs deleted file mode 100644 index 56bea24..0000000 --- a/RyzStudio/Windows/ThemedForms/TUserControl.cs +++ /dev/null @@ -1,106 +0,0 @@ -using System; -using System.Drawing; -using System.Windows.Forms; -using RyzStudio.Drawing; -using System.ComponentModel; - -namespace RyzStudio.Windows.ThemedForms -{ - public partial class TUserControl : System.Windows.Forms.UserControl - { - public class ThemeStyle - { - public int BorderWidth; - public int BorderRadius; - public int BorderPadding; - public Color BorderColour; - public Color BackColour; - public Color ForeColour; - - public ThemeStyle(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour) - { - this.BorderWidth = borderWidth; - this.BorderRadius = borderRadius; - this.BorderPadding = borderPadding; - this.BorderColour = borderColour; - this.BackColour = backColour; - this.ForeColour = Color.Black; - } - - public ThemeStyle(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour, Color foreColour) - { - this.BorderWidth = borderWidth; - this.BorderRadius = borderRadius; - this.BorderPadding = borderPadding; - this.BorderColour = borderColour; - this.BackColour = backColour; - this.ForeColour = foreColour; - } - } - - protected ThemeStyle styleActive = new ThemeStyle(1, 3, 2, Color.FromArgb(212, 212, 212), Color.White); - - public TUserControl() - { - InitializeComponent(); - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.BackColor = Color.Transparent; - } - - protected override void OnPaintBackground(PaintEventArgs e) - { - base.OnPaintBackground(e); - - Graphics g = e.Graphics; - //g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; - //g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; - //g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality; - //g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; - - updateBackground(g, styleActive); - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Padding { get => base.Padding; set => base.Padding = value; } - - protected virtual void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding(b, b, (b - 1), (b - 1)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - protected virtual void close() - { - if (this.Parent == null) - { - return; - } - - if (this.Parent is Form) - { - (this.Parent as Form).Close(); - return; - } - - if (this.Parent.GetType().IsSubclassOf(typeof(System.Windows.Forms.Form))) - { - System.Windows.Forms.Form parentForm = (System.Windows.Forms.Form)this.Parent; - if (parentForm != null) - { - parentForm.Close(); - } - } - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TUserControl.designer.cs b/RyzStudio/Windows/ThemedForms/TUserControl.designer.cs deleted file mode 100644 index 6f57544..0000000 --- a/RyzStudio/Windows/ThemedForms/TUserControl.designer.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TUserControl - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - } - - #endregion - } -} diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.cs b/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.cs deleted file mode 100644 index 2bbab1a..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.cs +++ /dev/null @@ -1,149 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - using RyzStudio.Drawing; - using System; - using System.ComponentModel; - using System.Drawing; - using System.Windows.Forms; - - public partial class TButtonTextBox : RyzStudio.Windows.ThemedForms.TUserControl - { - protected readonly Padding textboxPadding = new Padding(6, 6, 6, 6); - - public TButtonTextBox() : base() - { - InitializeComponent(); - - //this.Margin = new Padding(10, 6, 10, 6); - this.Margin = new Padding(10, 3, 3, 3); - this.Font = new Font(this.Font, FontStyle.Regular); - - textBox1.Font = this.Font; - textBox1.Left = this.Margin.Left; - textBox1.PreviewKeyDown += textBox_PreviewKeyDown; - - imageBox1.MouseClick += imageBox1_MouseClick; - - OnResize(null); - } - - protected virtual void imageBox1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - OnButtonClick?.Invoke(sender, e); - } - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Height = textBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom); - - imageBox1.Width = 18; - imageBox1.Height = textBox1.Height + textboxPadding.Top + textboxPadding.Bottom; - imageBox1.Left = this.Width - (this.Margin.Right + b + imageBox1.Width); - - textBox1.Left = this.Margin.Left; - textBox1.Width = imageBox1.Left - textBox1.Left - 3; - textBox1.Top = (int)Math.Ceiling(decimal.Divide((this.Height - textBox1.Height), 2)); - } - - protected override void OnGotFocus(EventArgs e) - { - base.OnGotFocus(e); - - textBox1.Focus(); - } - - protected void textBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - switch (e.KeyCode) - { - case Keys.Enter: - if (this.SubmitButton != null) - { - this.SubmitButton.PerformClick(); - } - - break; - case Keys.Escape: - close(); - break; - default: break; - } - } - - [Category("Action")] - [Browsable(true)] - public event EventHandler OnButtonClick; - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public Forms.TImageBox InnerImageBox { get => imageBox1; set => imageBox1 = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public System.Windows.Forms.TextBox InnerTextBox { get => textBox1; set => textBox1 = value; } - - [Category("Appearance"), Browsable(true)] - public Image NormalImage { get => imageBox1.ImageNormal; set => imageBox1.ImageNormal = value; } - - [Category("Appearance"), Browsable(true)] - public Image HighlightImage { get => imageBox1.ImageHover; set => imageBox1.ImageHover = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public new string Text - { - get => textBox1.Text; - set - { - if (textBox1.InvokeRequired) - { - textBox1.Invoke(new MethodInvoker(() => { - textBox1.Text = value; - textBox1.SelectionStart = textBox1.Text.Length; - })); - } - else - { - textBox1.Text = value; - textBox1.SelectionStart = textBox1.Text.Length; - } - } - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public bool UseSystemPasswordChar { get => textBox1.UseSystemPasswordChar; set => textBox1.UseSystemPasswordChar = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public TButton SubmitButton { get; set; } = null; - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get => base.Margin; set => base.Margin = value; } - - - public void SetTooltipText(ToolTip toolTip, string text) - { - toolTip.SetToolTip(imageBox1, text); - } - - protected override void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.designer.cs b/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.designer.cs deleted file mode 100644 index 6a37b71..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.designer.cs +++ /dev/null @@ -1,81 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TButtonTextBox - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.textBox1 = new System.Windows.Forms.TextBox(); - this.imageBox1 = new RyzStudio.Windows.Forms.TImageBox(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).BeginInit(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.BackColor = System.Drawing.SystemColors.Window; - this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.textBox1.HideSelection = false; - this.textBox1.Location = new System.Drawing.Point(7, 7); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(68, 13); - this.textBox1.TabIndex = 0; - // - // imageBox1 - // - this.imageBox1.BackColor = System.Drawing.Color.Transparent; - this.imageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox1.ErrorImage = null; - this.imageBox1.ImageHover = null; - this.imageBox1.Image = null; - this.imageBox1.InitialImage = null; - this.imageBox1.Location = new System.Drawing.Point(107, 4); - this.imageBox1.Name = "imageBox1"; - this.imageBox1.ImageNormal = null; - this.imageBox1.Size = new System.Drawing.Size(18, 25); - this.imageBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox1.TabIndex = 1; - this.imageBox1.TabStop = false; - // - // TextBox2 - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.imageBox1); - this.Controls.Add(this.textBox1); - this.Name = "TextBox2"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(128, 32); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.TextBox textBox1; - private Forms.TImageBox imageBox1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.resx b/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.resx deleted file mode 100644 index 1af7de1..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TButtonTextBox.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.cs b/RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.cs deleted file mode 100644 index dbf3830..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System.IO; -using System.Windows.Forms; -using UIResources = BookmarkManager.UIResource; - -namespace RyzStudio.Windows.ThemedForms -{ - public class TFolderTextBox : TButtonTextBox - { - public TFolderTextBox() : base() - { - this.NormalImage = UIResources.folder; - this.HighlightImage = UIResources.folder2; - this.Text = string.Empty; - } - - public FolderBrowserDialog FolderDialog { get; set; } = null; - - protected override void imageBox1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button != MouseButtons.Left) - { - return; - } - - if (this.FolderDialog == null) - { - this.FolderDialog = new FolderBrowserDialog(); - this.FolderDialog.Description = "Choose a directory"; - } - - if (!string.IsNullOrWhiteSpace(this.Text)) - { - if (Directory.Exists(this.Text)) - { - this.FolderDialog.SelectedPath = this.Text; - } - } - - if (this.FolderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) - { - this.Text = this.FolderDialog.SelectedPath; - } - } - - } -} diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.resx b/RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.resx deleted file mode 100644 index 1af7de1..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TFolderTextBox.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TKeyCodeTextBox.cs b/RyzStudio/Windows/ThemedForms/TextBox/TKeyCodeTextBox.cs deleted file mode 100644 index aae9cbb..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TKeyCodeTextBox.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System.Text; -using System.Windows.Forms; -using UIResources = BookmarkManager.UIResource; - -namespace RyzStudio.Windows.ThemedForms -{ - public class TKeyCodeTextBox : TButtonTextBox - { - public class Results - { - public bool IsCtrl { get; set; } = false; - public bool IsAlt { get; set; } = false; - public bool IsShift { get; set; } = false; - public Keys Key { get; set; } = Keys.None; - - public int ModifierCode => ((this.IsAlt ? 1 : 0) + (this.IsCtrl ? 2 : 0) + (this.IsShift ? 4 : 0)); - - public int KeyCode => (int)this.Key; - - public string DisplayText - { - get - { - StringBuilder sb = new StringBuilder(); - - if (this.IsCtrl) sb.Append("Ctrl+"); - if (this.IsShift) sb.Append("Shift+"); - if (this.IsAlt) sb.Append("Alt+"); - - sb.Append(this.Key.ToString()); - - return sb.ToString(); - } - } - - public void Clear() - { - this.IsCtrl = false; - this.IsAlt = false; - this.IsShift = false; - this.Key = Keys.None; - } - } - - - public Results KeyCodeResults { get; set; } = new Results(); - - - public TKeyCodeTextBox() : base() - { - this.NormalImage = UIResources.trash; - this.HighlightImage = UIResources.trash2; - this.Text = string.Empty; - - this.InnerTextBox.ReadOnly = true; - this.InnerTextBox.PreviewKeyDown += textBox1_PreviewKeyDown; - } - - private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - if (e.KeyCode == Keys.ControlKey) return; - if (e.KeyCode == Keys.ShiftKey) return; - if (e.KeyCode == Keys.Menu) return; - - this.KeyCodeResults.IsCtrl = e.Control; - this.KeyCodeResults.IsAlt = e.Alt; - this.KeyCodeResults.IsShift = e.Shift; - this.KeyCodeResults.Key = e.KeyCode; - - this.Text = this.KeyCodeResults.DisplayText; - } - - protected override void imageBox1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button != MouseButtons.Left) - { - return; - } - - this.KeyCodeResults.Clear(); - - this.Text = this.KeyCodeResults.DisplayText; - } - - public void UpdateKeyCode(bool isCtrl, bool isAlt, bool isShift, Keys key) - { - this.KeyCodeResults.IsCtrl = isCtrl; - this.KeyCodeResults.IsAlt = isAlt; - this.KeyCodeResults.IsShift = isShift; - this.KeyCodeResults.Key = key; - - this.Text = this.KeyCodeResults.DisplayText; - } - - } -} diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TOpenFileTextBox.cs b/RyzStudio/Windows/ThemedForms/TextBox/TOpenFileTextBox.cs deleted file mode 100644 index 832228b..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TOpenFileTextBox.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.IO; -using System.Windows.Forms; -using UIResources = VideoPreview.UIResource; - -namespace RyzStudio.Windows.ThemedForms -{ - public class TOpenFileTextBox : TButtonTextBox - { - public TOpenFileTextBox() : base() - { - this.NormalImage = UIResources.file; - this.HighlightImage = UIResources.file2; - this.Text = string.Empty; - } - - public OpenFileDialog FileDialog { get; set; } = null; - - protected override void imageBox1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button != MouseButtons.Left) - { - return; - } - - if (this.FileDialog == null) - { - this.FileDialog = new OpenFileDialog(); - this.FileDialog.Title = "Choose a file"; - this.FileDialog.Filter = "All files|*"; - } - - if (!string.IsNullOrWhiteSpace(this.Text)) - { - if (File.Exists(this.Text)) - { - this.FileDialog.InitialDirectory = Path.GetDirectoryName(this.Text); - } - } - - if (this.FileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) - { - this.Text = this.FileDialog.FileName; - } - } - - } -} diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.cs b/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.cs deleted file mode 100644 index be72ccd..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.cs +++ /dev/null @@ -1,100 +0,0 @@ -using RyzStudio.Drawing; -using System; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace RyzStudio.Windows.ThemedForms -{ - public partial class TTextBox : RyzStudio.Windows.ThemedForms.TUserControl - { - protected readonly Padding textboxPadding = new Padding(6, 6, 6, 6); - - - public TTextBox() : base() - { - InitializeComponent(); - - this.Margin = new Padding(10, 6, 10, 6); - this.Font = new Font(this.Font, FontStyle.Regular); - - textBox1.Font = this.Font; - textBox1.PreviewKeyDown += textBox_PreviewKeyDown; - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Height = textBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom); - - this.Invalidate(); - } - - protected override void OnGotFocus(EventArgs e) - { - base.OnGotFocus(e); - - textBox1.Focus(); - } - - protected void textBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - switch (e.KeyCode) - { - case Keys.Enter: - if (this.SubmitButton != null) - { - this.SubmitButton.PerformClick(); - } - - break; - case Keys.Escape: - close(); - break; - default: break; - } - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public System.Windows.Forms.TextBox InnerTextBox { get => textBox1; set => textBox1 = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public new string Text - { - get => textBox1.Text; - set - { - textBox1.Text = value; - textBox1.SelectionStart = textBox1.Text.Length; - } - } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public bool UseSystemPasswordChar { get => textBox1.UseSystemPasswordChar; set => textBox1.UseSystemPasswordChar = value; } - - [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)] - [Category("Appearance")] - public TButton SubmitButton { get; set; } = null; - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } } - - protected override void updateBackground(Graphics g, ThemeStyle style) - { - int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; - - this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom)); - - Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth); - g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath()); - g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); - } - - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.designer.cs b/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.designer.cs deleted file mode 100644 index 752557d..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.designer.cs +++ /dev/null @@ -1,60 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TTextBox - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.textBox1 = new System.Windows.Forms.TextBox(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBox1.HideSelection = false; - this.textBox1.Location = new System.Drawing.Point(4, 4); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(121, 13); - this.textBox1.TabIndex = 0; - // - // TextBox - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.textBox1); - this.Name = "TextBox"; - this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - this.Size = new System.Drawing.Size(128, 32); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.TextBox textBox1; - } -} diff --git a/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.resx b/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.resx deleted file mode 100644 index 1af7de1..0000000 --- a/RyzStudio/Windows/ThemedForms/TextBox/TTextBox.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 diff --git a/UIResource.Designer.cs b/UIResource.Designer.cs deleted file mode 100644 index ed1d975..0000000 --- a/UIResource.Designer.cs +++ /dev/null @@ -1,143 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace VideoPreview { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class UIResource { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal UIResource() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VideoPreview.UIResource", typeof(UIResource).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap arrow_right { - get { - object obj = ResourceManager.GetObject("arrow_right", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap arrow_right2 { - get { - object obj = ResourceManager.GetObject("arrow_right2", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap cog { - get { - object obj = ResourceManager.GetObject("cog", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap cog2 { - get { - object obj = ResourceManager.GetObject("cog2", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap file { - get { - object obj = ResourceManager.GetObject("file", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap file2 { - get { - object obj = ResourceManager.GetObject("file2", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap refresh { - get { - object obj = ResourceManager.GetObject("refresh", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap refresh2 { - get { - object obj = ResourceManager.GetObject("refresh2", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - } -} diff --git a/UIResource.resx b/UIResource.resx deleted file mode 100644 index 9281e5c..0000000 --- a/UIResource.resx +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Resources\UI\arrow_right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\UI\arrow_right2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\UI\cog.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\UI\cog2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\UI\file.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\UI\file2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\UI\refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\UI\refresh2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - \ No newline at end of file diff --git a/VideoPreview.csproj b/VideoPreview.csproj index a12acfc..55cda34 100644 --- a/VideoPreview.csproj +++ b/VideoPreview.csproj @@ -20,58 +20,27 @@
- - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + - - - - - - + - - - - - UserControl - - - - - - + @@ -84,11 +53,6 @@ True AppResource.resx - - True - True - UIResource.resx - @@ -96,10 +60,16 @@ ResXFileCodeGenerator AppResource.Designer.cs - - ResXFileCodeGenerator - UIResource.Designer.cs - + + + + + + + + + References\RyzStudio3.dll + \ No newline at end of file diff --git a/VideoPreview.sln b/skye.sln similarity index 100% rename from VideoPreview.sln rename to skye.sln From 51bb943576a222e1fd596660ae4978b703c3c307 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Nov 2021 15:34:55 +0000 Subject: [PATCH 5/6] Added: shortcut keys --- AppResource.Designer.cs | 9 ++ AppResource.resx | 3 + MainForm.Designer.cs | 118 ++++++++++++++++++ MainForm.cs | 82 ++++++++++++ MainForm.resx | 110 ++++++++-------- .../PublishProfiles/Release x64.pubxml.user | 2 +- .../PublishProfiles/Release x86.pubxml.user | 2 +- 7 files changed, 269 insertions(+), 57 deletions(-) diff --git a/AppResource.Designer.cs b/AppResource.Designer.cs index f905447..21f75cf 100644 --- a/AppResource.Designer.cs +++ b/AppResource.Designer.cs @@ -60,6 +60,15 @@ namespace VideoPreview { } } + /// + /// Looks up a localized string similar to https://www.hiimray.co.uk/software-video-preview. + /// + internal static string AppHelpURL { + get { + return ResourceManager.GetString("AppHelpURL", resourceCulture); + } + } + /// /// Looks up a localized string similar to Video Preview. /// diff --git a/AppResource.resx b/AppResource.resx index d8cb101..aa703d5 100644 --- a/AppResource.resx +++ b/AppResource.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + https://www.hiimray.co.uk/software-video-preview + Video Preview diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index bbc7370..4181be3 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -48,7 +48,19 @@ namespace VideoPreview this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.loadNextFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.viewHelpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.menuStrip1.SuspendLayout(); this.SuspendLayout(); // // label1 @@ -274,6 +286,97 @@ namespace VideoPreview this.label7.Text = "-"; this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.editToolStripMenuItem, + this.toolStripMenuItem2, + this.helpToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(464, 24); + this.menuStrip1.TabIndex = 25; + this.menuStrip1.Text = "menuStrip1"; + this.menuStrip1.Visible = false; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "&File"; + // + // editToolStripMenuItem + // + this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.refreshToolStripMenuItem, + this.loadNextFileToolStripMenuItem}); + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); + this.editToolStripMenuItem.Text = "&Edit"; + // + // refreshToolStripMenuItem + // + this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem"; + this.refreshToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F5; + this.refreshToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.refreshToolStripMenuItem.Text = "&Refresh"; + this.refreshToolStripMenuItem.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click); + // + // loadNextFileToolStripMenuItem + // + this.loadNextFileToolStripMenuItem.Name = "loadNextFileToolStripMenuItem"; + this.loadNextFileToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F3; + this.loadNextFileToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.loadNextFileToolStripMenuItem.Text = "&Load Next File"; + this.loadNextFileToolStripMenuItem.Click += new System.EventHandler(this.loadNextFileToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.viewHelpToolStripMenuItem, + this.toolStripMenuItem1, + this.aboutToolStripMenuItem}); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "&Help"; + // + // viewHelpToolStripMenuItem + // + this.viewHelpToolStripMenuItem.Name = "viewHelpToolStripMenuItem"; + this.viewHelpToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F1; + this.viewHelpToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.viewHelpToolStripMenuItem.Text = "&View Help"; + this.viewHelpToolStripMenuItem.Click += new System.EventHandler(this.viewHelpToolStripMenuItem_Click); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(177, 6); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.aboutToolStripMenuItem.Text = "&About"; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.optionsToolStripMenuItem}); + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(46, 20); + this.toolStripMenuItem2.Text = "&Tools"; + // + // optionsToolStripMenuItem + // + this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; + this.optionsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12))); + this.optionsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.optionsToolStripMenuItem.Text = "&Options"; + this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click); + // // MainForm // this.AllowDrop = true; @@ -297,12 +400,16 @@ namespace VideoPreview this.Controls.Add(this.button1); this.Controls.Add(this.label2); this.Controls.Add(this.label1); + this.Controls.Add(this.menuStrip1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MainMenuStrip = this.menuStrip1; this.Name = "MainForm"; this.Text = "Video Preview"; this.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop); this.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -326,6 +433,17 @@ namespace VideoPreview private System.Windows.Forms.Label label7; private RyzStudio.Windows.ThemedForms.TButton button3; private RyzStudio.Windows.ThemedForms.TButton button4; + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem loadNextFileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem viewHelpToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; } } diff --git a/MainForm.cs b/MainForm.cs index 97e3755..c0f9323 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -4,6 +4,7 @@ using MediaToolkit.Options; using RyzStudio.IO; using RyzStudio.Windows.Forms; using System; +using System.Diagnostics; using System.Drawing; using System.IO; using System.Threading.Tasks; @@ -33,6 +34,14 @@ namespace VideoPreview textBox1.InnerTextBox.TextChanged += textBox1_TextChanged; } + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + + textBox1_TextChanged(null, null); + } + + protected override void OnFormClosing(FormClosingEventArgs e) { if (this.IsBusy) @@ -56,6 +65,8 @@ namespace VideoPreview ThreadControl.SetEnable(textBox1, !isBusy); ThreadControl.SetEnable(button1, !isBusy); ThreadControl.SetEnable(button2, !isBusy); + ThreadControl.SetEnable(button3, !isBusy); + ThreadControl.SetEnable(button4, !isBusy); } } @@ -83,6 +94,15 @@ namespace VideoPreview private async void textBox1_TextChanged(object sender, EventArgs e) { + bool isValidPath = !string.IsNullOrWhiteSpace(textBox1.Text); + if (!isValidPath) + { + ThreadControl.SetEnable(button3, isValidPath); + ThreadControl.SetEnable(button4, isValidPath); + + return; + } + await ReadVideoFile(textBox1.Text); } @@ -90,6 +110,62 @@ namespace VideoPreview public AppSession CurrentSession { get; set; } = new AppSession(); +#region main menu + + /// + /// Refresh + /// + /// + /// + private void refreshToolStripMenuItem_Click(object sender, EventArgs e) => button3_MouseClick(null, null); + + /// + /// Load next file + /// + /// + /// + private void loadNextFileToolStripMenuItem_Click(object sender, EventArgs e) => button4_MouseClick(null, null); + + /// + /// Options + /// + /// + /// + private void optionsToolStripMenuItem_Click(object sender, EventArgs e) => button2_MouseClick(null, null); + + /// + /// View help + /// + /// + /// + private void viewHelpToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + System.Diagnostics.Process.Start(new ProcessStartInfo() + { + FileName = AppResource.AppHelpURL, + UseShellExecute = true + }); + } + catch + { + // do nothing + } + } + + /// + /// About + /// + /// + /// + private void aboutToolStripMenuItem_Click(object sender, EventArgs e) + { + MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + +#endregion + /// /// Refresh /// @@ -279,6 +355,12 @@ namespace VideoPreview } } + if (inputFile.Metadata == null) + { + this.IsBusy = false; + return; + } + videoFilename = filename; videoDuration = inputFile.Metadata.Duration; diff --git a/MainForm.resx b/MainForm.resx index 53734f9..8ed59e9 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -76,48 +76,45 @@ gLP5qyYLAhmmA4SGyeeEoPkSq3EWydsoB4gRDEqBVU/p15ajstHKCgAAAABJRU5ErkJggg== - - 17, 17 - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa - AAABX0lEQVQ4T4WTuy5FURCGNzVqRykatxOFRCeho8M74AEOIlQ8AAo6idKt4Al4AbdGSUKic2vQCN+3 - 9lo7diT7/MmXzMxeM+sys7MKTcJjRLupWqAH2oOXJ+5HHgygLhgC15Zk4Bh+4A02oj0Cw9Heg69oH0FJ - VvXDFKzAJayBhaUB5zALM+DabihUA6vPBa9aq/AKbcH7o104y82gQdiKDBiI8nResdA43MI3LBlAdfgE - F19FOxVZB69QdOceTmAU0uu6q4mtkWvYBKXv4xbdeQJfuFcnygImpQI3kAq4iZ05gFDAV30Bj7VsAHlc - j20Rkz+gH9QCuNbkCQPKXXbgIni5LOKukpKV7fTEJXXAOzgDzWSrbXln8KIc4TRI8+Aui5Ae1avZEWcg - DZKdKsnx9IPVnQnbamf6wPg2OObah5CKFzJg1XQ0Z+MUvO8z+E7+aKURrtIY3IFtnjbwX1n2CxDSV2Di - 8/KLAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vwAADr8BOAVTJAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFfSURBVDhPhZO7 + LkVREIY3NWpHKRq3E4VEJ6GjwzvgAQ4iVDwACjqJ0q3gCXgBt0ZJQqJza9AI37f2Wjt2JPv8yZfMzF4z + 6zKzswpNwmNEu6laoAfag5cn7kceDKAuGALXlmTgGH7gDTaiPQLD0d6Dr2gfQUlW9cMUrMAlrIGFpQHn + MAsz4NpuKFQDq88Fr1qr8AptwfujXTjLzaBB2IoMGIjydF6x0DjcwjcsGUB1+AQXX0U7FVkHr1B05x5O + YBTS67qria2Ra9gEpe/jFt15Al+4VyfKAialAjeQCriJnTmAUMBXfQGPtWwAeVyPbRGTP6Af1AK41uQJ + A8pdduAieLks4q6SkpXt9MQldcA7OAPNZKtteWfwohzhNEjz4C6LkB7Vq9kRZyANkp0qyfH0g9WdCdtq + Z/rA+DY45tqHkIoXMmDVdDRn4xS87zP4Tv5opRGu0hjcgW2eNvBfWfYLENJXYOLz8osAAAAASUVORK5C + YII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa - AAABsUlEQVQ4T32TvUoDQRSFV2u1VktJ41+wCKQTtNNOfQfjA/hDiJU+QGKhnZBSjYU+gXkBTczPEggo - REjnX6Npwvqd2bshCuuFs3vumXPvzM7MenHh+/56o9F4EcRNjo8gCEaazWai1WqNK1ch+YUA70hjbJp8 - SV7lg5CA6RoEGD54542n6/V6ShwUQc94yUrDUFcNYN4AOfgDOFJjAW0XTxlso2/JW6vVZqzcfe8UYg9D - xqTYwHcI3vGOmRQGwjkDd5Z6zLCIdiIwwYLJaqDV5S11hasIPuiDA2ksOQn/BjJXxKMm8GOgfQhPB/IM - bkiWo93VrGgV8lEBXkUraEw5PA3C0+HRBUVmnZVBYQ2qQw0ehxpoU1PgMmqgXX0DOrasTFouuT6hClT8 - BeY1RuGevKCDtiYtWtYZg/dOINQErWBwxQp4meKipWG02+0JxE8a5EyKDRpk8OrIJ01yYkLLooEu0o7N - sq/vtfEsuU5Ed8BdJHxJVxwFYkkDQN11J/o6Gfic6adwXXPxq6j5IGx3k5jc0jDpbtwC/QOv2if9aL+u - 8H9B0QrNnnh3abxp8p/wvB/JAvqX1FARdgAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vwAADr8BOAVTJAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGxSURBVDhPfZO9 + SgNBFIVXa7VWS0njX7AIpBO00059B+MD+EOIlT5AYqGdkFKNhT6BeQFNzM8SCChESOdfo2nC+p3ZuyEK + 64Wze+6Zc+/Mzsx6ceH7/nqj0XgRxE2OjyAIRprNZqLVao0rVyH5hQDvSGNsmnxJXuWDkIDpGgQYPnjn + jafr9XpKHBRBz3jJSsNQVw1g3gA5+AM4UmMBbRdPGWyjb8lbq9VmrNx97xRiD0PGpNjAdwje8Y6ZFAbC + OQN3lnrMsIh2IjDBgslqoNXlLXWFqwg+6IMDaSw5Cf8GMlfEoybwY6B9CE8H8gxuSJaj3dWsaBXyUQFe + RStoTDk8DcLT4dEFRWadlUFhDapDDR6HGmhTU+AyaqBdfQM6tqxMWi65PqEKVPwF5jVG4Z68oIO2Ji1a + 1hmD904g1AStYHDFCniZ4qKlYbTb7QnETxrkTIoNGmTw6sgnTXJiQsuigS7Sjs2yr++18Sy5TkR3wF0k + fElXHAViSQNA3XUn+joZ+Jzpp3Bdc/GrqPkgbHeTmNzSMOlu3AL9A6/aJ/1ov67wf0HRCs2eeHdpvGny + n/C8H8kC+pfUUBF2AAAAAElFTkSuQmCC - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa - AAABsUlEQVQ4T32TvUoDQRSFV2u1VktJ41+wCKQTtNNOfQfjA/hDiJU+QGKhnZBSjYU+gXkBTczPEggo - REjnX6Npwvqd2bshCuuFs3vumXPvzM7MenHh+/56o9F4EcRNjo8gCEaazWai1WqNK1ch+YUA70hjbJp8 - SV7lg5CA6RoEGD54542n6/V6ShwUQc94yUrDUFcNYN4AOfgDOFJjAW0XTxlso2/JW6vVZqzcfe8UYg9D - xqTYwHcI3vGOmRQGwjkDd5Z6zLCIdiIwwYLJaqDV5S11hasIPuiDA2ksOQn/BjJXxKMm8GOgfQhPB/IM - bkiWo93VrGgV8lEBXkUraEw5PA3C0+HRBUVmnZVBYQ2qQw0ehxpoU1PgMmqgXX0DOrasTFouuT6hClT8 - BeY1RuGevKCDtiYtWtYZg/dOINQErWBwxQp4meKipWG02+0JxE8a5EyKDRpk8OrIJ01yYkLLooEu0o7N - sq/vtfEsuU5Ed8BdJHxJVxwFYkkDQN11J/o6Gfic6adwXXPxq6j5IGx3k5jc0jDpbtwC/QOv2if9aL+u - 8H9B0QrNnnh3abxp8p/wvB/JAvqX1FARdgAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vwAADr8BOAVTJAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGxSURBVDhPfZO9 + SgNBFIVXa7VWS0njX7AIpBO00059B+MD+EOIlT5AYqGdkFKNhT6BeQFNzM8SCChESOdfo2nC+p3ZuyEK + 64Wze+6Zc+/Mzsx6ceH7/nqj0XgRxE2OjyAIRprNZqLVao0rVyH5hQDvSGNsmnxJXuWDkIDpGgQYPnjn + jafr9XpKHBRBz3jJSsNQVw1g3gA5+AM4UmMBbRdPGWyjb8lbq9VmrNx97xRiD0PGpNjAdwje8Y6ZFAbC + OQN3lnrMsIh2IjDBgslqoNXlLXWFqwg+6IMDaSw5Cf8GMlfEoybwY6B9CE8H8gxuSJaj3dWsaBXyUQFe + RStoTDk8DcLT4dEFRWadlUFhDapDDR6HGmhTU+AyaqBdfQM6tqxMWi65PqEKVPwF5jVG4Z68oIO2Ji1a + 1hmD904g1AStYHDFCniZ4qKlYbTb7QnETxrkTIoNGmTw6sgnTXJiQsuigS7Sjs2yr++18Sy5TkR3wF0k + fElXHAViSQNA3XUn+joZ+Jzpp3Bdc/GrqPkgbHeTmNzSMOlu3AL9A6/aJ/1ov67wf0HRCs2eeHdpvGny + n/C8H8kC+pfUUBF2AAAAAElFTkSuQmCC @@ -125,40 +122,40 @@ - iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAAC80AAAvNATcVCdYAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa - AAAAxUlEQVQoU53ROQoCMQCF4eAVRAuXQi9gLajoLURtLLyHd1DsBO3FM7mULoViIQj6vywDmlQ++CCZ - mYSXjPlJFQsc8cIBc+i5kkPfDV3auGLpx/qwhRVO6KGIN2wKOGNkZ3EGuGGIbNEUGzeMokp1TPBAtqiB - shtGaUK15Y4n/otWaoewm3ZORU3UyEYd1VWd1V1nSGULnd1Gi3Qr4XZSGUPXnrczokW6/y70Yo0Oav6Z - 5hd81dYfDpUqmGEHnXXv5yX4GPMBN1wraYadbeMAAAAASUVORK5CYII= + iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + ygAAC8oBZVGvqQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADFSURBVChTndE5 + CgIxAIXh4BVEC5dCL2AtqOgtRG0svId3UOwE7cUzuZQuhWIhCPq/LAOaVD74IJmZhJeM+UkVCxzxwgFz + 6LmSQ98NXdq4YunH+rCFFU7ooYg3bAo4Y2RncQa4YYhs0RQbN4yiSnVM8EC2qIGyG0ZpQrXljif+i1Zq + h7Cbdk5FTdTIRh3VVZ3VXWdIZQud3UaLdCvhdlIZQ9eetzOiRbr/LvRijQ5q/pnmF3zV1h8OlSqYYQed + de/nJfgY8wE3XCtphp1t4wAAAABJRU5ErkJggg== - iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAAC80AAAvNATcVCdYAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa - AAABAklEQVQoU5WQPU5CQRSFX9yCwUKhkA1QmyiBXRCwoWAf7gFjZyK9cSkv7/+9UqFEKTAUJCbjd25G - ItNxkpOZe849N3cm+o88zztlWT4VRbHi/OFcwkfp8p1zZ9QjaxZoukPYcD7r7gfcor3ANRymaXrB6SwQ - x3GL4pPGexMCEB7jb7MsmxxCND9QvFoRQCvR3MWf0bc7hLj0kiS5siIAgRv8jUjom3PvrROhpJ9g0zTZ - W0fQJvg9K7g4v+tMu+sNZgTgM970disU8r+yxZiYGAB9ir+u6/rcBIX0/0wZyICLqqr6aNdeW8Cvo7UR - Rn8r0dimnsN3uIcfqpumubRmQxT9AnbC+MLcW5PEAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + ygAAC8oBZVGvqQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAECSURBVChTlZA9 + TkJBFIVf3ILBQqGQDVCbKIFdELChYB/uAWNnIr1xKS/v/71SoUQpMBQkJuN3bkYi03GSk5l7zj03dyb6 + jzzPO2VZPhVFseL84VzCR+nynXNn1CNrFmi6Q9hwPuvuB9yivcA1HKZpesHpLBDHcYvik8Z7EwIQHuNv + syybHEI0P1C8WhFAK9HcxZ/RtzuEuPSSJLmyIgCBG/yNSOibc++tE6Gkn2DTNNlbR9Am+D0ruDi/60y7 + 6w1mBOAz3vR2KxTyv7LFmJgYAH2Kv67r+twEhfT/TBnIgIuqqvpo115bwK+jtRFGfyvR2Kaew3e4hx+q + m6a5tGZDFP0CdsL4wtxbk8QAAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAAC80AAAvNATcVCdYAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa - AAABAklEQVQoU5WQPU5CQRSFX9yCwUKhkA1QmyiBXRCwoWAf7gFjZyK9cSkv7/+9UqFEKTAUJCbjd25G - ItNxkpOZe849N3cm+o88zztlWT4VRbHi/OFcwkfp8p1zZ9QjaxZoukPYcD7r7gfcor3ANRymaXrB6SwQ - x3GL4pPGexMCEB7jb7MsmxxCND9QvFoRQCvR3MWf0bc7hLj0kiS5siIAgRv8jUjom3PvrROhpJ9g0zTZ - W0fQJvg9K7g4v+tMu+sNZgTgM970disU8r+yxZiYGAB9ir+u6/rcBIX0/0wZyICLqqr6aNdeW8Cvo7UR - Rn8r0dimnsN3uIcfqpumubRmQxT9AnbC+MLcW5PEAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + ygAAC8oBZVGvqQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAECSURBVChTlZA9 + TkJBFIVf3ILBQqGQDVCbKIFdELChYB/uAWNnIr1xKS/v/71SoUQpMBQkJuN3bkYi03GSk5l7zj03dyb6 + jzzPO2VZPhVFseL84VzCR+nynXNn1CNrFmi6Q9hwPuvuB9yivcA1HKZpesHpLBDHcYvik8Z7EwIQHuNv + syybHEI0P1C8WhFAK9HcxZ/RtzuEuPSSJLmyIgCBG/yNSOibc++tE6Gkn2DTNNlbR9Am+D0ruDi/60y7 + 6w1mBOAz3vR2KxTyv7LFmJgYAH2Kv67r+twEhfT/TBnIgIuqqvpo115bwK+jtRFGfyvR2Kaew3e4hx+q + m6a5tGZDFP0CdsL4wtxbk8QAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wQAADsEBuJFr7QAAASBJREFUOE+dkzFOAzEQRS0KisBJIFeBih6ukAsgQAolIBJKWhKOABKnAG6QOpGA + vgAADr4B6kKxwAAAASBJREFUOE+dkzFOAzEQRS0KisBJIFeBih6ukAsgQAolIBJKWhKOABKnAG6QOpGA LkHwnrMO641ZCb70JI93xhp/z4aCduACnuGt4gUuYRd+1SZcwwJmMILTinG15zdzzM3kxhOYYMEWNLUN Z2COudkhA/DDfozaZU7qJMp7uXESo1wHcLhcZrJLa/QrmjOFUtt9+IJejH5krp5YGx2+c1HQBtxC6ZB7 8KXCB9Tbt+2HGo8wAQ8ZQpI11v7pAM1OsubdxSv85wrORrzCFWhix6Chc2gz0YkNXfiEY4OGvM7Rcpkp @@ -169,7 +166,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wQAADsEBuJFr7QAAAVBJREFUOE+Vk0FOwlAYhBsXLNSTgFfRFXu9ghcgYKJLagSWbhGPoIk36KZpywlc + vgAADr4B6kKxwAAAAVBJREFUOE+Vk0FOwlAYhBsXLNSTgFfRFXu9ghcgYKJLagSWbhGPoIk36KZpywlc 10TcqanflGktFkyYZNL3Zub/8/f1NfiLLMu6aZqOE8Dz3RRCvJ5jbWB2qLnj+UX4DT7AkYi2kCbPmY7L 1pBA4MXFoziOj2zVwDvGu3JG2d8mCBMZ8MzSTiijrCaphJ6FYSk0gN6n+bm3NTSlamBXmxDmO8a+xivg paUSyqLpnEI1EOb2NlAUxQFN7vFbTZj4ESZq8NEc32M/VWT/DF9ZF8vlcuqYGgxVu1cDOHGsarBSgwzu @@ -181,7 +178,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wQAADsEBuJFr7QAAAVBJREFUOE+Vk0FOwlAYhBsXLNSTgFfRFXu9ghcgYKJLagSWbhGPoIk36KZpywlc + vgAADr4B6kKxwAAAAVBJREFUOE+Vk0FOwlAYhBsXLNSTgFfRFXu9ghcgYKJLagSWbhGPoIk36KZpywlc 10TcqanflGktFkyYZNL3Zub/8/f1NfiLLMu6aZqOE8Dz3RRCvJ5jbWB2qLnj+UX4DT7AkYi2kCbPmY7L 1pBA4MXFoziOj2zVwDvGu3JG2d8mCBMZ8MzSTiijrCaphJ6FYSk0gN6n+bm3NTSlamBXmxDmO8a+xivg paUSyqLpnEI1EOb2NlAUxQFN7vFbTZj4ESZq8NEc32M/VWT/DF9ZF8vlcuqYGgxVu1cDOHGsarBSgwzu @@ -190,6 +187,9 @@ AABJRU5ErkJggg== + + 114, 17 + AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA diff --git a/Properties/PublishProfiles/Release x64.pubxml.user b/Properties/PublishProfiles/Release x64.pubxml.user index 6d0135d..d67470e 100644 --- a/Properties/PublishProfiles/Release x64.pubxml.user +++ b/Properties/PublishProfiles/Release x64.pubxml.user @@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. --> - True|2021-11-07T14:03:05.4305557Z;True|2021-10-06T13:32:12.5390909+01:00;True|2021-10-06T13:30:08.6918628+01:00;True|2021-10-06T13:28:10.3646719+01:00;True|2021-10-01T18:02:02.2972982+01:00;True|2021-10-01T17:57:27.4210560+01:00;True|2021-09-30T23:50:34.3900006+01:00;True|2021-09-30T23:10:36.4950540+01:00;True|2021-09-30T22:28:18.0305937+01:00;True|2021-09-30T22:26:57.4795225+01:00;True|2021-09-30T22:26:51.0761308+01:00;True|2021-09-29T16:48:49.3245150+01:00;True|2021-08-01T16:05:00.3313835+01:00;True|2021-07-30T01:25:32.1475388+01:00;True|2021-07-29T21:13:51.3291891+01:00;True|2021-07-28T20:38:29.8079041+01:00;True|2021-07-24T23:38:58.3796268+01:00;True|2021-07-24T23:38:24.4797205+01:00;True|2021-07-23T14:41:56.7940005+01:00;True|2021-07-23T02:31:59.0312077+01:00;True|2021-07-23T02:19:40.8556685+01:00;True|2021-07-23T01:58:59.4046567+01:00; + True|2021-11-07T15:16:11.2197941Z;True|2021-11-07T14:03:05.4305557+00:00;True|2021-10-06T13:32:12.5390909+01:00;True|2021-10-06T13:30:08.6918628+01:00;True|2021-10-06T13:28:10.3646719+01:00;True|2021-10-01T18:02:02.2972982+01:00;True|2021-10-01T17:57:27.4210560+01:00;True|2021-09-30T23:50:34.3900006+01:00;True|2021-09-30T23:10:36.4950540+01:00;True|2021-09-30T22:28:18.0305937+01:00;True|2021-09-30T22:26:57.4795225+01:00;True|2021-09-30T22:26:51.0761308+01:00;True|2021-09-29T16:48:49.3245150+01:00;True|2021-08-01T16:05:00.3313835+01:00;True|2021-07-30T01:25:32.1475388+01:00;True|2021-07-29T21:13:51.3291891+01:00;True|2021-07-28T20:38:29.8079041+01:00;True|2021-07-24T23:38:58.3796268+01:00;True|2021-07-24T23:38:24.4797205+01:00;True|2021-07-23T14:41:56.7940005+01:00;True|2021-07-23T02:31:59.0312077+01:00;True|2021-07-23T02:19:40.8556685+01:00;True|2021-07-23T01:58:59.4046567+01:00; \ No newline at end of file diff --git a/Properties/PublishProfiles/Release x86.pubxml.user b/Properties/PublishProfiles/Release x86.pubxml.user index dbecc65..8bfc73b 100644 --- a/Properties/PublishProfiles/Release x86.pubxml.user +++ b/Properties/PublishProfiles/Release x86.pubxml.user @@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. --> - True|2021-10-06T12:32:22.7470429Z;True|2021-10-06T13:29:45.4760050+01:00;True|2021-10-06T13:28:25.0201462+01:00;True|2021-10-01T18:02:09.2920602+01:00;True|2021-10-01T17:57:18.1873089+01:00;True|2021-09-30T23:50:40.8367434+01:00;True|2021-09-30T23:10:30.4040443+01:00;True|2021-09-30T22:47:08.4211966+01:00;True|2021-09-30T22:28:26.7158743+01:00;True|2021-09-29T16:48:41.7620238+01:00;True|2021-09-29T16:38:28.4957933+01:00;True|2021-08-01T16:04:53.2636911+01:00;True|2021-07-30T01:25:39.0492334+01:00;True|2021-07-29T21:13:44.7782083+01:00;True|2021-07-28T20:38:42.2031426+01:00;True|2021-07-24T23:38:32.5655914+01:00;True|2021-07-23T14:42:04.4191320+01:00;True|2021-07-23T02:31:50.6815123+01:00;True|2021-07-23T02:19:19.4345874+01:00;True|2021-07-23T01:59:33.9680448+01:00;True|2021-07-23T01:52:28.5639205+01:00;True|2021-07-23T01:49:36.9865426+01:00;True|2021-07-23T01:48:31.0435665+01:00; + True|2021-11-07T15:16:22.3738942Z;True|2021-10-06T13:32:22.7470429+01:00;True|2021-10-06T13:29:45.4760050+01:00;True|2021-10-06T13:28:25.0201462+01:00;True|2021-10-01T18:02:09.2920602+01:00;True|2021-10-01T17:57:18.1873089+01:00;True|2021-09-30T23:50:40.8367434+01:00;True|2021-09-30T23:10:30.4040443+01:00;True|2021-09-30T22:47:08.4211966+01:00;True|2021-09-30T22:28:26.7158743+01:00;True|2021-09-29T16:48:41.7620238+01:00;True|2021-09-29T16:38:28.4957933+01:00;True|2021-08-01T16:04:53.2636911+01:00;True|2021-07-30T01:25:39.0492334+01:00;True|2021-07-29T21:13:44.7782083+01:00;True|2021-07-28T20:38:42.2031426+01:00;True|2021-07-24T23:38:32.5655914+01:00;True|2021-07-23T14:42:04.4191320+01:00;True|2021-07-23T02:31:50.6815123+01:00;True|2021-07-23T02:19:19.4345874+01:00;True|2021-07-23T01:59:33.9680448+01:00;True|2021-07-23T01:52:28.5639205+01:00;True|2021-07-23T01:49:36.9865426+01:00;True|2021-07-23T01:48:31.0435665+01:00; \ No newline at end of file From e162abda1963499aeeba227e33d7d363c2d9a2d3 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Nov 2021 15:48:48 +0000 Subject: [PATCH 6/6] CHanged: ignore .user files --- .gitignore | 2 ++ Properties/PublishProfiles/Release x64.pubxml.user | 9 --------- Properties/PublishProfiles/Release x86.pubxml.user | 9 --------- 3 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 Properties/PublishProfiles/Release x64.pubxml.user delete mode 100644 Properties/PublishProfiles/Release x86.pubxml.user diff --git a/.gitignore b/.gitignore index ffcc608..d51cdc4 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ /bin /obj /*.user +/Properties/PublishProfiles/Release x64.pubxml.user +/Properties/PublishProfiles/Release x86.pubxml.user diff --git a/Properties/PublishProfiles/Release x64.pubxml.user b/Properties/PublishProfiles/Release x64.pubxml.user deleted file mode 100644 index d67470e..0000000 --- a/Properties/PublishProfiles/Release x64.pubxml.user +++ /dev/null @@ -1,9 +0,0 @@ - - - - - True|2021-11-07T15:16:11.2197941Z;True|2021-11-07T14:03:05.4305557+00:00;True|2021-10-06T13:32:12.5390909+01:00;True|2021-10-06T13:30:08.6918628+01:00;True|2021-10-06T13:28:10.3646719+01:00;True|2021-10-01T18:02:02.2972982+01:00;True|2021-10-01T17:57:27.4210560+01:00;True|2021-09-30T23:50:34.3900006+01:00;True|2021-09-30T23:10:36.4950540+01:00;True|2021-09-30T22:28:18.0305937+01:00;True|2021-09-30T22:26:57.4795225+01:00;True|2021-09-30T22:26:51.0761308+01:00;True|2021-09-29T16:48:49.3245150+01:00;True|2021-08-01T16:05:00.3313835+01:00;True|2021-07-30T01:25:32.1475388+01:00;True|2021-07-29T21:13:51.3291891+01:00;True|2021-07-28T20:38:29.8079041+01:00;True|2021-07-24T23:38:58.3796268+01:00;True|2021-07-24T23:38:24.4797205+01:00;True|2021-07-23T14:41:56.7940005+01:00;True|2021-07-23T02:31:59.0312077+01:00;True|2021-07-23T02:19:40.8556685+01:00;True|2021-07-23T01:58:59.4046567+01:00; - - \ No newline at end of file diff --git a/Properties/PublishProfiles/Release x86.pubxml.user b/Properties/PublishProfiles/Release x86.pubxml.user deleted file mode 100644 index 8bfc73b..0000000 --- a/Properties/PublishProfiles/Release x86.pubxml.user +++ /dev/null @@ -1,9 +0,0 @@ - - - - - True|2021-11-07T15:16:22.3738942Z;True|2021-10-06T13:32:22.7470429+01:00;True|2021-10-06T13:29:45.4760050+01:00;True|2021-10-06T13:28:25.0201462+01:00;True|2021-10-01T18:02:09.2920602+01:00;True|2021-10-01T17:57:18.1873089+01:00;True|2021-09-30T23:50:40.8367434+01:00;True|2021-09-30T23:10:30.4040443+01:00;True|2021-09-30T22:47:08.4211966+01:00;True|2021-09-30T22:28:26.7158743+01:00;True|2021-09-29T16:48:41.7620238+01:00;True|2021-09-29T16:38:28.4957933+01:00;True|2021-08-01T16:04:53.2636911+01:00;True|2021-07-30T01:25:39.0492334+01:00;True|2021-07-29T21:13:44.7782083+01:00;True|2021-07-28T20:38:42.2031426+01:00;True|2021-07-24T23:38:32.5655914+01:00;True|2021-07-23T14:42:04.4191320+01:00;True|2021-07-23T02:31:50.6815123+01:00;True|2021-07-23T02:19:19.4345874+01:00;True|2021-07-23T01:59:33.9680448+01:00;True|2021-07-23T01:52:28.5639205+01:00;True|2021-07-23T01:49:36.9865426+01:00;True|2021-07-23T01:48:31.0435665+01:00; - - \ No newline at end of file