From a4b5f2bed41b49bf4cfb9bd4626cbdd421308d32 Mon Sep 17 00:00:00 2001 From: Peter Wagner Date: Sun, 4 Dec 2022 18:51:55 +0000 Subject: [PATCH 1/2] * Rearrange UI --- Source/Krypton Explorer/Form1.Designer.cs | 176 ++++++++++++------ Source/Krypton Explorer/Form1.cs | 99 +++++++++- Source/Krypton Explorer/Form1.resx | 6 + .../Krypton Explorer 2022.csproj | 1 + 4 files changed, 219 insertions(+), 63 deletions(-) diff --git a/Source/Krypton Explorer/Form1.Designer.cs b/Source/Krypton Explorer/Form1.Designer.cs index 37b0f0d7..fea8a7c8 100644 --- a/Source/Krypton Explorer/Form1.Designer.cs +++ b/Source/Krypton Explorer/Form1.Designer.cs @@ -170,12 +170,13 @@ private void InitializeComponent() this.kryptonLabel5 = new Krypton.Toolkit.KryptonLabel(); this.kryptonLabel4 = new Krypton.Toolkit.KryptonLabel(); this.kryptonPageReleases = new Krypton.Navigator.KryptonPage(); + this.kbtnKryptonToolkitPackage = new Krypton.Toolkit.KryptonButton(); + this.kryptonLabel6 = new Krypton.Toolkit.KryptonLabel(); + this.kpChangeLog = new Krypton.Navigator.KryptonPage(); this.kbtnViewLatestNightlyReleaseNotes = new Krypton.Toolkit.KryptonButton(); this.kbtnViewLatestCanaryReleaseNotes = new Krypton.Toolkit.KryptonButton(); this.kbtnViewLatestReleaseNotes = new Krypton.Toolkit.KryptonButton(); - this.kbtnKryptonExtendedToolkitPackage = new Krypton.Toolkit.KryptonButton(); - this.kbtnKryptonToolkitPackage = new Krypton.Toolkit.KryptonButton(); - this.kryptonLabel6 = new Krypton.Toolkit.KryptonLabel(); + this.kryptonLabel8 = new Krypton.Toolkit.KryptonLabel(); this.kryptonButtonClose = new Krypton.Toolkit.KryptonButton(); this.kryptonPanelTop = new Krypton.Toolkit.KryptonPanel(); this.labelKryptonExplorer = new Krypton.Toolkit.KryptonLabel(); @@ -186,6 +187,10 @@ private void InitializeComponent() this.tsslBuildDate = new System.Windows.Forms.ToolStripStatusLabel(); this.tslVersion = new System.Windows.Forms.ToolStripStatusLabel(); this.kryptonManager1 = new Krypton.Toolkit.KryptonManager(this.components); + this.kbtnDownloadLatestDocumentation = new Krypton.Toolkit.KryptonButton(); + this.tsslDownloadStatus = new System.Windows.Forms.ToolStripStatusLabel(); + this.tspbDownloadStatus = new System.Windows.Forms.ToolStripProgressBar(); + this.bgwDownloadDocumentation = new System.ComponentModel.BackgroundWorker(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPanelFill)).BeginInit(); this.kryptonPanelFill.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.kryptonNavigator)).BeginInit(); @@ -215,6 +220,8 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.kcmbTheme)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPageReleases)).BeginInit(); this.kryptonPageReleases.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.kpChangeLog)).BeginInit(); + this.kpChangeLog.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPanelTop)).BeginInit(); this.kryptonPanelTop.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxRight)).BeginInit(); @@ -274,9 +281,10 @@ private void InitializeComponent() this.kryptonPageRibbon, this.kryptonPageApplicatons, this.kryptonPageSettings, - this.kryptonPageReleases}); + this.kryptonPageReleases, + this.kpChangeLog}); this.kryptonNavigator.Panel.PanelBackStyle = Krypton.Toolkit.PaletteBackStyle.PanelAlternate; - this.kryptonNavigator.SelectedIndex = 7; + this.kryptonNavigator.SelectedIndex = 8; this.kryptonNavigator.Size = new System.Drawing.Size(683, 405); this.kryptonNavigator.StateCommon.Bar.BarPaddingInside = new System.Windows.Forms.Padding(-1); this.kryptonNavigator.StateCommon.Bar.BarPaddingOnly = new System.Windows.Forms.Padding(-1); @@ -1801,6 +1809,7 @@ private void InitializeComponent() // kcmbTheme // this.kcmbTheme.CornerRoundingRadius = -1F; + this.kcmbTheme.CueHint.Padding = new System.Windows.Forms.Padding(0); this.kcmbTheme.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.kcmbTheme.DropDownWidth = 363; this.kcmbTheme.IntegralHeight = false; @@ -1861,10 +1870,7 @@ private void InitializeComponent() // kryptonPageReleases // this.kryptonPageReleases.AutoHiddenSlideSize = new System.Drawing.Size(200, 200); - this.kryptonPageReleases.Controls.Add(this.kbtnViewLatestNightlyReleaseNotes); - this.kryptonPageReleases.Controls.Add(this.kbtnViewLatestCanaryReleaseNotes); - this.kryptonPageReleases.Controls.Add(this.kbtnViewLatestReleaseNotes); - this.kryptonPageReleases.Controls.Add(this.kbtnKryptonExtendedToolkitPackage); + this.kryptonPageReleases.Controls.Add(this.kbtnDownloadLatestDocumentation); this.kryptonPageReleases.Controls.Add(this.kbtnKryptonToolkitPackage); this.kryptonPageReleases.Controls.Add(this.kryptonLabel6); this.kryptonPageReleases.Flags = 65534; @@ -1878,83 +1884,93 @@ private void InitializeComponent() this.kryptonPageReleases.ToolTipTitle = "Page ToolTip"; this.kryptonPageReleases.UniqueName = "36f7a05b89394cc5922db2b6b1367bd8"; // + // kbtnKryptonToolkitPackage + // + this.kbtnKryptonToolkitPackage.AutoSize = true; + this.kbtnKryptonToolkitPackage.CornerRoundingRadius = -1F; + this.kbtnKryptonToolkitPackage.Location = new System.Drawing.Point(31, 52); + this.kbtnKryptonToolkitPackage.Name = "kbtnKryptonToolkitPackage"; + this.kbtnKryptonToolkitPackage.Size = new System.Drawing.Size(264, 33); + this.kbtnKryptonToolkitPackage.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnKryptonToolkitPackage.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnKryptonToolkitPackage.TabIndex = 6; + this.kbtnKryptonToolkitPackage.ToolTipValues.Description = "Get the latest toolkit binaries for your application"; + this.kbtnKryptonToolkitPackage.ToolTipValues.Image = global::KryptonExplorer.Properties.Resources.Square_Design_32_x_32_Green; + this.kbtnKryptonToolkitPackage.Values.Text = "Krypton Toolkit Packages"; + this.kbtnKryptonToolkitPackage.Click += new System.EventHandler(this.kbtnKryptonToolkitPackage_Click); + // + // kryptonLabel6 + // + this.kryptonLabel6.Location = new System.Drawing.Point(18, 12); + this.kryptonLabel6.Name = "kryptonLabel6"; + this.kryptonLabel6.Size = new System.Drawing.Size(285, 28); + this.kryptonLabel6.StateCommon.ShortText.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kryptonLabel6.StateCommon.ShortText.Hint = Krypton.Toolkit.PaletteTextHint.AntiAlias; + this.kryptonLabel6.TabIndex = 3; + this.kryptonLabel6.Values.Text = "Krypton NuGet Packages"; + // + // kpChangeLog + // + this.kpChangeLog.AutoHiddenSlideSize = new System.Drawing.Size(200, 200); + this.kpChangeLog.Controls.Add(this.kbtnViewLatestNightlyReleaseNotes); + this.kpChangeLog.Controls.Add(this.kbtnViewLatestCanaryReleaseNotes); + this.kpChangeLog.Controls.Add(this.kbtnViewLatestReleaseNotes); + this.kpChangeLog.Controls.Add(this.kryptonLabel8); + this.kpChangeLog.Flags = 65534; + this.kpChangeLog.LastVisibleSet = true; + this.kpChangeLog.MinimumSize = new System.Drawing.Size(150, 50); + this.kpChangeLog.Name = "kpChangeLog"; + this.kpChangeLog.Size = new System.Drawing.Size(568, 403); + this.kpChangeLog.Text = "ChangeLog"; + this.kpChangeLog.TextTitle = ""; + this.kpChangeLog.ToolTipTitle = "Page ToolTip"; + this.kpChangeLog.UniqueName = "394aa587ef994979a37ee24e986c16a9"; + // // kbtnViewLatestNightlyReleaseNotes // this.kbtnViewLatestNightlyReleaseNotes.AutoSize = true; this.kbtnViewLatestNightlyReleaseNotes.CornerRoundingRadius = -1F; - this.kbtnViewLatestNightlyReleaseNotes.Location = new System.Drawing.Point(32, 277); + this.kbtnViewLatestNightlyReleaseNotes.Location = new System.Drawing.Point(31, 198); this.kbtnViewLatestNightlyReleaseNotes.Name = "kbtnViewLatestNightlyReleaseNotes"; this.kbtnViewLatestNightlyReleaseNotes.Size = new System.Drawing.Size(350, 33); this.kbtnViewLatestNightlyReleaseNotes.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.kbtnViewLatestNightlyReleaseNotes.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnViewLatestNightlyReleaseNotes.TabIndex = 11; + this.kbtnViewLatestNightlyReleaseNotes.TabIndex = 15; this.kbtnViewLatestNightlyReleaseNotes.Values.Text = "View Latest Ni&ghtly Release Notes"; - this.kbtnViewLatestNightlyReleaseNotes.Click += new System.EventHandler(this.kbtnViewLatestNightlyReleaseNotes_Click); // // kbtnViewLatestCanaryReleaseNotes // this.kbtnViewLatestCanaryReleaseNotes.AutoSize = true; this.kbtnViewLatestCanaryReleaseNotes.CornerRoundingRadius = -1F; - this.kbtnViewLatestCanaryReleaseNotes.Location = new System.Drawing.Point(32, 202); + this.kbtnViewLatestCanaryReleaseNotes.Location = new System.Drawing.Point(31, 123); this.kbtnViewLatestCanaryReleaseNotes.Name = "kbtnViewLatestCanaryReleaseNotes"; this.kbtnViewLatestCanaryReleaseNotes.Size = new System.Drawing.Size(350, 33); this.kbtnViewLatestCanaryReleaseNotes.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.kbtnViewLatestCanaryReleaseNotes.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnViewLatestCanaryReleaseNotes.TabIndex = 10; + this.kbtnViewLatestCanaryReleaseNotes.TabIndex = 14; this.kbtnViewLatestCanaryReleaseNotes.Values.Text = "View Latest &Canary Release Notes"; - this.kbtnViewLatestCanaryReleaseNotes.Click += new System.EventHandler(this.kbtnViewLatestCanaryReleaseNotes_Click); // // kbtnViewLatestReleaseNotes // this.kbtnViewLatestReleaseNotes.AutoSize = true; this.kbtnViewLatestReleaseNotes.CornerRoundingRadius = -1F; - this.kbtnViewLatestReleaseNotes.Location = new System.Drawing.Point(32, 127); + this.kbtnViewLatestReleaseNotes.Location = new System.Drawing.Point(31, 48); this.kbtnViewLatestReleaseNotes.Name = "kbtnViewLatestReleaseNotes"; this.kbtnViewLatestReleaseNotes.Size = new System.Drawing.Size(350, 33); this.kbtnViewLatestReleaseNotes.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.kbtnViewLatestReleaseNotes.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnViewLatestReleaseNotes.TabIndex = 9; + this.kbtnViewLatestReleaseNotes.TabIndex = 13; this.kbtnViewLatestReleaseNotes.Values.Text = "View Latest &Stable/Signed Release Notes"; - this.kbtnViewLatestReleaseNotes.Click += new System.EventHandler(this.kbtnViewLatestReleaseNotes_Click); - // - // kbtnKryptonExtendedToolkitPackage - // - this.kbtnKryptonExtendedToolkitPackage.AutoSize = true; - this.kbtnKryptonExtendedToolkitPackage.CornerRoundingRadius = -1F; - this.kbtnKryptonExtendedToolkitPackage.Location = new System.Drawing.Point(31, 138); - this.kbtnKryptonExtendedToolkitPackage.Name = "kbtnKryptonExtendedToolkitPackage"; - this.kbtnKryptonExtendedToolkitPackage.Size = new System.Drawing.Size(368, 33); - this.kbtnKryptonExtendedToolkitPackage.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnKryptonExtendedToolkitPackage.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnKryptonExtendedToolkitPackage.TabIndex = 8; - this.kbtnKryptonExtendedToolkitPackage.Values.Text = "Krypton Extended Toolkit Package"; - this.kbtnKryptonExtendedToolkitPackage.Visible = false; - this.kbtnKryptonExtendedToolkitPackage.Click += new System.EventHandler(this.KbtnKryptonExtendedToolkitPackage_Click); // - // kbtnKryptonToolkitPackage + // kryptonLabel8 // - this.kbtnKryptonToolkitPackage.AutoSize = true; - this.kbtnKryptonToolkitPackage.CornerRoundingRadius = -1F; - this.kbtnKryptonToolkitPackage.Location = new System.Drawing.Point(31, 52); - this.kbtnKryptonToolkitPackage.Name = "kbtnKryptonToolkitPackage"; - this.kbtnKryptonToolkitPackage.Size = new System.Drawing.Size(264, 33); - this.kbtnKryptonToolkitPackage.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnKryptonToolkitPackage.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnKryptonToolkitPackage.TabIndex = 6; - this.kbtnKryptonToolkitPackage.ToolTipValues.Description = "Get the latest toolkit binaries for your application"; - this.kbtnKryptonToolkitPackage.ToolTipValues.Image = global::KryptonExplorer.Properties.Resources.Square_Design_32_x_32_Green; - this.kbtnKryptonToolkitPackage.Values.Text = "Krypton Toolkit Packages"; - this.kbtnKryptonToolkitPackage.Click += new System.EventHandler(this.kbtnKryptonToolkitPackage_Click); - // - // kryptonLabel6 - // - this.kryptonLabel6.Location = new System.Drawing.Point(18, 12); - this.kryptonLabel6.Name = "kryptonLabel6"; - this.kryptonLabel6.Size = new System.Drawing.Size(285, 28); - this.kryptonLabel6.StateCommon.ShortText.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kryptonLabel6.StateCommon.ShortText.Hint = Krypton.Toolkit.PaletteTextHint.AntiAlias; - this.kryptonLabel6.TabIndex = 3; - this.kryptonLabel6.Values.Text = "Krypton NuGet Packages"; + this.kryptonLabel8.Location = new System.Drawing.Point(18, 12); + this.kryptonLabel8.Name = "kryptonLabel8"; + this.kryptonLabel8.Size = new System.Drawing.Size(263, 28); + this.kryptonLabel8.StateCommon.ShortText.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kryptonLabel8.StateCommon.ShortText.Hint = Krypton.Toolkit.PaletteTextHint.AntiAlias; + this.kryptonLabel8.TabIndex = 4; + this.kryptonLabel8.Values.Text = "Krypton Release Notes"; // // kryptonButtonClose // @@ -2029,6 +2045,8 @@ private void InitializeComponent() this.ss.ImageScalingSize = new System.Drawing.Size(20, 20); this.ss.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsslBuildDate, + this.tsslDownloadStatus, + this.tspbDownloadStatus, this.tslVersion}); this.ss.Location = new System.Drawing.Point(0, 43); this.ss.Name = "ss"; @@ -2056,6 +2074,40 @@ private void InitializeComponent() // this.kryptonManager1.GlobalPaletteMode = Krypton.Toolkit.PaletteModeManager.Microsoft365Black; // + // kbtnDownloadLatestDocumentation + // + this.kbtnDownloadLatestDocumentation.AutoSize = true; + this.kbtnDownloadLatestDocumentation.CornerRoundingRadius = -1F; + this.kbtnDownloadLatestDocumentation.Location = new System.Drawing.Point(31, 106); + this.kbtnDownloadLatestDocumentation.Name = "kbtnDownloadLatestDocumentation"; + this.kbtnDownloadLatestDocumentation.Size = new System.Drawing.Size(279, 33); + this.kbtnDownloadLatestDocumentation.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnDownloadLatestDocumentation.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnDownloadLatestDocumentation.TabIndex = 7; + this.kbtnDownloadLatestDocumentation.ToolTipValues.Description = "Get the latest toolkit binaries for your application"; + this.kbtnDownloadLatestDocumentation.ToolTipValues.Image = global::KryptonExplorer.Properties.Resources.Square_Design_32_x_32_Green; + this.kbtnDownloadLatestDocumentation.Values.Text = "Download Latest Documentation"; + this.kbtnDownloadLatestDocumentation.Click += new System.EventHandler(this.kbtnDownloadLatestDocumentation_Click); + // + // tsslDownloadStatus + // + this.tsslDownloadStatus.Name = "tsslDownloadStatus"; + this.tsslDownloadStatus.Size = new System.Drawing.Size(0, 17); + // + // tspbDownloadStatus + // + this.tspbDownloadStatus.Name = "tspbDownloadStatus"; + this.tspbDownloadStatus.Size = new System.Drawing.Size(100, 16); + this.tspbDownloadStatus.Visible = false; + // + // bgwDownloadDocumentation + // + this.bgwDownloadDocumentation.WorkerReportsProgress = true; + this.bgwDownloadDocumentation.WorkerSupportsCancellation = true; + this.bgwDownloadDocumentation.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwDownloadDocumentation_DoWork); + this.bgwDownloadDocumentation.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgwDownloadDocumentation_ProgressChanged); + this.bgwDownloadDocumentation.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bgwDownloadDocumentation_RunWorkerCompleted); + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -2113,6 +2165,9 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.kryptonPageReleases)).EndInit(); this.kryptonPageReleases.ResumeLayout(false); this.kryptonPageReleases.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.kpChangeLog)).EndInit(); + this.kpChangeLog.ResumeLayout(false); + this.kpChangeLog.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPanelTop)).EndInit(); this.kryptonPanelTop.ResumeLayout(false); this.kryptonPanelTop.PerformLayout(); @@ -2270,7 +2325,6 @@ private void InitializeComponent() private Krypton.Toolkit.KryptonButton kbtnOpenApplicationPath; private Krypton.Navigator.KryptonPage kryptonPageReleases; private Krypton.Toolkit.KryptonLabel kryptonLabel6; - private Krypton.Toolkit.KryptonButton kbtnKryptonExtendedToolkitPackage; private Krypton.Toolkit.KryptonButton kbtnKryptonToolkitPackage; private Krypton.Navigator.KryptonPage kryptonPageDialogs; private Krypton.Toolkit.KryptonLinkLabel kllColourDialog; @@ -2281,10 +2335,16 @@ private void InitializeComponent() private Krypton.Toolkit.KryptonLinkLabel kllKryptonHelpIcon; private Krypton.Toolkit.KryptonLinkLabel kllKryptonScrollBars; private Krypton.Toolkit.KryptonThemeComboBox kcmbTheme; - private Krypton.Toolkit.KryptonButton kbtnViewLatestReleaseNotes; + private System.Windows.Forms.ToolStripStatusLabel tsslBuildDate; + private Krypton.Navigator.KryptonPage kpChangeLog; private Krypton.Toolkit.KryptonButton kbtnViewLatestNightlyReleaseNotes; private Krypton.Toolkit.KryptonButton kbtnViewLatestCanaryReleaseNotes; - private System.Windows.Forms.ToolStripStatusLabel tsslBuildDate; + private Krypton.Toolkit.KryptonButton kbtnViewLatestReleaseNotes; + private Krypton.Toolkit.KryptonLabel kryptonLabel8; + private Krypton.Toolkit.KryptonButton kbtnDownloadLatestDocumentation; + private System.Windows.Forms.ToolStripStatusLabel tsslDownloadStatus; + private System.Windows.Forms.ToolStripProgressBar tspbDownloadStatus; + private System.ComponentModel.BackgroundWorker bgwDownloadDocumentation; } } diff --git a/Source/Krypton Explorer/Form1.cs b/Source/Krypton Explorer/Form1.cs index ba9b84fe..1ccef17d 100644 --- a/Source/Krypton Explorer/Form1.cs +++ b/Source/Krypton Explorer/Form1.cs @@ -11,9 +11,11 @@ #endregion using System; +using System.ComponentModel; using System.Diagnostics; using System.IO; -using System.Reflection; +using System.Net; +//using System.Net.Http; using System.Windows.Forms; using Krypton.Toolkit; @@ -26,9 +28,12 @@ public partial class Form1 : KryptonForm { #region Variables - private Version _currentVersion = new Version(80, int.Parse(DateTime.Now.ToString("yy")), 11, 326); + private Version _currentVersion = new Version(80, int.Parse(DateTime.Now.ToString("yy")), 12, 339); + + private Settings _settings = new(); + + private string _documentationDownladLocation; - private Settings _settings = new Settings(); #endregion public Form1() @@ -334,8 +339,6 @@ private void Form1_Load(object sender, EventArgs e) private void kbtnOpenApplicationPath_Click(object sender, EventArgs e) => Process.Start(@"explorer.exe", @"\{Application.ExecutablePath}"); - private void KbtnKryptonExtendedToolkitPackage_Click(object sender, EventArgs e) => Process.Start(@"https://github.com/Krypton-Suite/Extended-Toolkit/commits/alpha"); - private void kllKryptonScrollBars_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Scrollbar Examples"); private void kllKryptonWebBrowser_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton WebBrowser Example"); @@ -442,5 +445,91 @@ private void kbtnRestoreTheme_Click(object sender, EventArgs e) private void kbtnViewLatestCanaryReleaseNotes_Click(object sender, EventArgs e) => Process.Start(@"https://github.com/Krypton-Suite/Standard-Toolkit/blob/canary/Documents/Help/Changelog.md"); private void kbtnViewLatestNightlyReleaseNotes_Click(object sender, EventArgs e) => Process.Start(@"https://github.com/Krypton-Suite/Standard-Toolkit/blob/nightly/Documents/Help/Changelog.md"); + + private void kbtnDownloadLatestDocumentation_Click(object sender, EventArgs e) + { + SaveFileDialog sfd = new() + { + Title = @"Download documentation installer to:", + Filter = @"Windows Executables|*.exe", + FileName = @"Standard Toolkit Documentation Installer" + }; + + if (sfd.ShowDialog() == DialogResult.OK) + { + WebClient client = new(); + + _documentationDownladLocation = Path.GetFullPath(sfd.FileName); + + tspbDownloadStatus.Visible = true; + + client.DownloadFile(@"https://tinyurl.com/mvksw89c", _documentationDownladLocation); + + tspbDownloadStatus.Text = $@"Downloading: {Path.GetFileName(_documentationDownladLocation)}"; + + client.DownloadProgressChanged += DownloadProgressChanged; + + client.DownloadFileCompleted += DownloadFileCompleted; + } + } + + private void DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) + { + try + { + DialogResult result = KryptonMessageBox.Show(@"Download completed. Install now?", @"Download Successful", + MessageBoxButtons.YesNo, KryptonMessageBoxIcon.Information); + + if (result == DialogResult.Yes) + { + Process.Start(_documentationDownladLocation); + } + } + catch (Exception exception) + { + KryptonMessageBox.Show($"Error: {exception}"); + } + } + + private void DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) + { + tspbDownloadStatus.Maximum = (int)e.TotalBytesToReceive / 100; + + tspbDownloadStatus.Value = (int)e.BytesReceived / 100; + } + + private async void bgwDownloadDocumentation_DoWork(object sender, DoWorkEventArgs e) + { + //HttpClient client = new(); + + WebClient client = new(); + + tspbDownloadStatus.Text = $@"Downloading: {Path.GetFileName(_documentationDownladLocation)}"; + + if (!string.IsNullOrEmpty(_documentationDownladLocation)) + { + //var downladContent = await client.GetStreamAsync(@"https://tinyurl.com/mvksw89c"); + + //using (var fs = File.Create(_documentationDownladLocation)) + //{ + // downladContent.CopyTo(fs); + //} + + client.DownloadFile(@"https://tinyurl.com/mvksw89c", _documentationDownladLocation); + } + } + + private void bgwDownloadDocumentation_ProgressChanged(object sender, ProgressChangedEventArgs e) => tspbDownloadStatus.Value = e.ProgressPercentage; + + private void bgwDownloadDocumentation_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + DialogResult result = KryptonMessageBox.Show(@"Download completed. Install now?", @"Download Successful", + MessageBoxButtons.YesNo, KryptonMessageBoxIcon.Information); + + if (result == DialogResult.Yes) + { + Process.Start(_documentationDownladLocation); + } + } } } \ No newline at end of file diff --git a/Source/Krypton Explorer/Form1.resx b/Source/Krypton Explorer/Form1.resx index b2f17efc..5537951f 100644 --- a/Source/Krypton Explorer/Form1.resx +++ b/Source/Krypton Explorer/Form1.resx @@ -823,9 +823,15 @@ 166, 17 + + 166, 17 + 17, 17 + + 228, 17 + AAABAAUAMDAAAAEAIACoJQAAVgAAACAgAAABACAAqBAAAP4lAAAgIAAAAQAIAKgIAACmNgAAEBAAAAEA diff --git a/Source/Krypton Explorer/Krypton Explorer 2022.csproj b/Source/Krypton Explorer/Krypton Explorer 2022.csproj index f8431c8b..25ad0f28 100644 --- a/Source/Krypton Explorer/Krypton Explorer 2022.csproj +++ b/Source/Krypton Explorer/Krypton Explorer 2022.csproj @@ -9,6 +9,7 @@ false true AnyCPU + latest From 842f00c522f456013b7de915de13652ab164d61b Mon Sep 17 00:00:00 2001 From: Peter Wagner Date: Fri, 9 Dec 2022 11:49:01 +0000 Subject: [PATCH 2/2] * The help file can now be launched via the `KryptonExplorer` --- Documents/Help/Changelog.md | 1 + Source/Krypton Explorer/Form1.Designer.cs | 83 ++-- Source/Krypton Explorer/Form1.cs | 272 +++++++---- .../HelpFileLocator.Designer.cs | 156 +++++++ Source/Krypton Explorer/HelpFileLocator.cs | 49 ++ Source/Krypton Explorer/HelpFileLocator.resx | 440 ++++++++++++++++++ .../Properties/Settings.Designer.cs | 12 + .../Properties/Settings.settings | 3 + Source/Krypton Explorer/app.config | 6 +- 9 files changed, 907 insertions(+), 115 deletions(-) create mode 100644 Source/Krypton Explorer/HelpFileLocator.Designer.cs create mode 100644 Source/Krypton Explorer/HelpFileLocator.cs create mode 100644 Source/Krypton Explorer/HelpFileLocator.resx diff --git a/Documents/Help/Changelog.md b/Documents/Help/Changelog.md index 6d25b7bd..a93a5d8a 100644 --- a/Documents/Help/Changelog.md +++ b/Documents/Help/Changelog.md @@ -1,6 +1,7 @@ # Standard Toolkit Demos - ChangeLog ## 2022-12-xx - Build 2212 - December 2022 +* The help file can now be launched via the `KryptonExplorer` (if installed) * Resolves [#112](https://github.com/Krypton-Suite/Standard-Toolkit-Demos/issues/112), Alpha Branch does not build against "Alpha" of the Toolkit * Fixed theme bug for `KryptonExplorer` diff --git a/Source/Krypton Explorer/Form1.Designer.cs b/Source/Krypton Explorer/Form1.Designer.cs index fea8a7c8..ec44f348 100644 --- a/Source/Krypton Explorer/Form1.Designer.cs +++ b/Source/Krypton Explorer/Form1.Designer.cs @@ -170,6 +170,8 @@ private void InitializeComponent() this.kryptonLabel5 = new Krypton.Toolkit.KryptonLabel(); this.kryptonLabel4 = new Krypton.Toolkit.KryptonLabel(); this.kryptonPageReleases = new Krypton.Navigator.KryptonPage(); + this.kbtnLaunchHelp = new Krypton.Toolkit.KryptonButton(); + this.kbtnDownloadLatestDocumentation = new Krypton.Toolkit.KryptonButton(); this.kbtnKryptonToolkitPackage = new Krypton.Toolkit.KryptonButton(); this.kryptonLabel6 = new Krypton.Toolkit.KryptonLabel(); this.kpChangeLog = new Krypton.Navigator.KryptonPage(); @@ -185,11 +187,10 @@ private void InitializeComponent() this.kryptonPanelBottom = new Krypton.Toolkit.KryptonPanel(); this.ss = new System.Windows.Forms.StatusStrip(); this.tsslBuildDate = new System.Windows.Forms.ToolStripStatusLabel(); - this.tslVersion = new System.Windows.Forms.ToolStripStatusLabel(); - this.kryptonManager1 = new Krypton.Toolkit.KryptonManager(this.components); - this.kbtnDownloadLatestDocumentation = new Krypton.Toolkit.KryptonButton(); this.tsslDownloadStatus = new System.Windows.Forms.ToolStripStatusLabel(); this.tspbDownloadStatus = new System.Windows.Forms.ToolStripProgressBar(); + this.tslVersion = new System.Windows.Forms.ToolStripStatusLabel(); + this.kryptonManager1 = new Krypton.Toolkit.KryptonManager(this.components); this.bgwDownloadDocumentation = new System.ComponentModel.BackgroundWorker(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPanelFill)).BeginInit(); this.kryptonPanelFill.SuspendLayout(); @@ -284,7 +285,7 @@ private void InitializeComponent() this.kryptonPageReleases, this.kpChangeLog}); this.kryptonNavigator.Panel.PanelBackStyle = Krypton.Toolkit.PaletteBackStyle.PanelAlternate; - this.kryptonNavigator.SelectedIndex = 8; + this.kryptonNavigator.SelectedIndex = 9; this.kryptonNavigator.Size = new System.Drawing.Size(683, 405); this.kryptonNavigator.StateCommon.Bar.BarPaddingInside = new System.Windows.Forms.Padding(-1); this.kryptonNavigator.StateCommon.Bar.BarPaddingOnly = new System.Windows.Forms.Padding(-1); @@ -1870,6 +1871,7 @@ private void InitializeComponent() // kryptonPageReleases // this.kryptonPageReleases.AutoHiddenSlideSize = new System.Drawing.Size(200, 200); + this.kryptonPageReleases.Controls.Add(this.kbtnLaunchHelp); this.kryptonPageReleases.Controls.Add(this.kbtnDownloadLatestDocumentation); this.kryptonPageReleases.Controls.Add(this.kbtnKryptonToolkitPackage); this.kryptonPageReleases.Controls.Add(this.kryptonLabel6); @@ -1884,6 +1886,36 @@ private void InitializeComponent() this.kryptonPageReleases.ToolTipTitle = "Page ToolTip"; this.kryptonPageReleases.UniqueName = "36f7a05b89394cc5922db2b6b1367bd8"; // + // kbtnLaunchHelp + // + this.kbtnLaunchHelp.AutoSize = true; + this.kbtnLaunchHelp.CornerRoundingRadius = -1F; + this.kbtnLaunchHelp.Location = new System.Drawing.Point(31, 159); + this.kbtnLaunchHelp.Name = "kbtnLaunchHelp"; + this.kbtnLaunchHelp.Size = new System.Drawing.Size(279, 33); + this.kbtnLaunchHelp.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnLaunchHelp.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnLaunchHelp.TabIndex = 8; + this.kbtnLaunchHelp.ToolTipValues.Description = "Get the latest toolkit binaries for your application"; + this.kbtnLaunchHelp.ToolTipValues.Image = global::KryptonExplorer.Properties.Resources.Square_Design_32_x_32_Green; + this.kbtnLaunchHelp.Values.Text = "Launch &Help"; + this.kbtnLaunchHelp.Click += new System.EventHandler(this.kbtnLaunchHelp_Click); + // + // kbtnDownloadLatestDocumentation + // + this.kbtnDownloadLatestDocumentation.AutoSize = true; + this.kbtnDownloadLatestDocumentation.CornerRoundingRadius = -1F; + this.kbtnDownloadLatestDocumentation.Location = new System.Drawing.Point(31, 106); + this.kbtnDownloadLatestDocumentation.Name = "kbtnDownloadLatestDocumentation"; + this.kbtnDownloadLatestDocumentation.Size = new System.Drawing.Size(279, 33); + this.kbtnDownloadLatestDocumentation.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnDownloadLatestDocumentation.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.kbtnDownloadLatestDocumentation.TabIndex = 7; + this.kbtnDownloadLatestDocumentation.ToolTipValues.Description = "Get the latest toolkit binaries for your application"; + this.kbtnDownloadLatestDocumentation.ToolTipValues.Image = global::KryptonExplorer.Properties.Resources.Square_Design_32_x_32_Green; + this.kbtnDownloadLatestDocumentation.Values.Text = "Download Latest Documentation"; + this.kbtnDownloadLatestDocumentation.Click += new System.EventHandler(this.kbtnDownloadLatestDocumentation_Click); + // // kbtnKryptonToolkitPackage // this.kbtnKryptonToolkitPackage.AutoSize = true; @@ -1921,7 +1953,7 @@ private void InitializeComponent() this.kpChangeLog.MinimumSize = new System.Drawing.Size(150, 50); this.kpChangeLog.Name = "kpChangeLog"; this.kpChangeLog.Size = new System.Drawing.Size(568, 403); - this.kpChangeLog.Text = "ChangeLog"; + this.kpChangeLog.Text = "Changelog"; this.kpChangeLog.TextTitle = ""; this.kpChangeLog.ToolTipTitle = "Page ToolTip"; this.kpChangeLog.UniqueName = "394aa587ef994979a37ee24e986c16a9"; @@ -1937,6 +1969,7 @@ private void InitializeComponent() this.kbtnViewLatestNightlyReleaseNotes.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.kbtnViewLatestNightlyReleaseNotes.TabIndex = 15; this.kbtnViewLatestNightlyReleaseNotes.Values.Text = "View Latest Ni&ghtly Release Notes"; + this.kbtnViewLatestNightlyReleaseNotes.Click += new System.EventHandler(this.kbtnViewLatestNightlyReleaseNotes_Click); // // kbtnViewLatestCanaryReleaseNotes // @@ -1949,6 +1982,7 @@ private void InitializeComponent() this.kbtnViewLatestCanaryReleaseNotes.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.kbtnViewLatestCanaryReleaseNotes.TabIndex = 14; this.kbtnViewLatestCanaryReleaseNotes.Values.Text = "View Latest &Canary Release Notes"; + this.kbtnViewLatestCanaryReleaseNotes.Click += new System.EventHandler(this.kbtnViewLatestCanaryReleaseNotes_Click); // // kbtnViewLatestReleaseNotes // @@ -1961,6 +1995,7 @@ private void InitializeComponent() this.kbtnViewLatestReleaseNotes.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.kbtnViewLatestReleaseNotes.TabIndex = 13; this.kbtnViewLatestReleaseNotes.Values.Text = "View Latest &Stable/Signed Release Notes"; + this.kbtnViewLatestReleaseNotes.Click += new System.EventHandler(this.kbtnViewLatestReleaseNotes_Click); // // kryptonLabel8 // @@ -2062,6 +2097,17 @@ private void InitializeComponent() this.tsslBuildDate.Size = new System.Drawing.Size(81, 17); this.tsslBuildDate.Text = "Build Date: {0}"; // + // tsslDownloadStatus + // + this.tsslDownloadStatus.Name = "tsslDownloadStatus"; + this.tsslDownloadStatus.Size = new System.Drawing.Size(0, 17); + // + // tspbDownloadStatus + // + this.tspbDownloadStatus.Name = "tspbDownloadStatus"; + this.tspbDownloadStatus.Size = new System.Drawing.Size(100, 16); + this.tspbDownloadStatus.Visible = false; + // // tslVersion // this.tslVersion.Name = "tslVersion"; @@ -2074,32 +2120,6 @@ private void InitializeComponent() // this.kryptonManager1.GlobalPaletteMode = Krypton.Toolkit.PaletteModeManager.Microsoft365Black; // - // kbtnDownloadLatestDocumentation - // - this.kbtnDownloadLatestDocumentation.AutoSize = true; - this.kbtnDownloadLatestDocumentation.CornerRoundingRadius = -1F; - this.kbtnDownloadLatestDocumentation.Location = new System.Drawing.Point(31, 106); - this.kbtnDownloadLatestDocumentation.Name = "kbtnDownloadLatestDocumentation"; - this.kbtnDownloadLatestDocumentation.Size = new System.Drawing.Size(279, 33); - this.kbtnDownloadLatestDocumentation.StateCommon.Content.LongText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnDownloadLatestDocumentation.StateCommon.Content.ShortText.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.kbtnDownloadLatestDocumentation.TabIndex = 7; - this.kbtnDownloadLatestDocumentation.ToolTipValues.Description = "Get the latest toolkit binaries for your application"; - this.kbtnDownloadLatestDocumentation.ToolTipValues.Image = global::KryptonExplorer.Properties.Resources.Square_Design_32_x_32_Green; - this.kbtnDownloadLatestDocumentation.Values.Text = "Download Latest Documentation"; - this.kbtnDownloadLatestDocumentation.Click += new System.EventHandler(this.kbtnDownloadLatestDocumentation_Click); - // - // tsslDownloadStatus - // - this.tsslDownloadStatus.Name = "tsslDownloadStatus"; - this.tsslDownloadStatus.Size = new System.Drawing.Size(0, 17); - // - // tspbDownloadStatus - // - this.tspbDownloadStatus.Name = "tspbDownloadStatus"; - this.tspbDownloadStatus.Size = new System.Drawing.Size(100, 16); - this.tspbDownloadStatus.Visible = false; - // // bgwDownloadDocumentation // this.bgwDownloadDocumentation.WorkerReportsProgress = true; @@ -2345,6 +2365,7 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripStatusLabel tsslDownloadStatus; private System.Windows.Forms.ToolStripProgressBar tspbDownloadStatus; private System.ComponentModel.BackgroundWorker bgwDownloadDocumentation; + private Krypton.Toolkit.KryptonButton kbtnLaunchHelp; } } diff --git a/Source/Krypton Explorer/Form1.cs b/Source/Krypton Explorer/Form1.cs index 1ccef17d..0ed979ec 100644 --- a/Source/Krypton Explorer/Form1.cs +++ b/Source/Krypton Explorer/Form1.cs @@ -45,73 +45,108 @@ public Form1() } #region Links - private void linkKryptonBorderEdge_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Border Edge Examples"); - private void linkKryptonButton_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Button Examples"); + private void linkKryptonBorderEdge_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Border Edge Examples"); - private void linkKryptonCheckBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton CheckBox Examples"); + private void linkKryptonButton_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Button Examples"); - private void linkKryptonCheckButton_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton CheckButton Examples"); + private void linkKryptonCheckBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton CheckBox Examples"); - private void linkKryptonDropButton_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton DropButton Examples"); + private void linkKryptonCheckButton_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton CheckButton Examples"); - private void linkKryptonColorButton_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton ColorButton Examples"); + private void linkKryptonDropButton_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton DropButton Examples"); - private void linkKryptonCheckSet_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton CheckSet Examples"); + private void linkKryptonColorButton_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton ColorButton Examples"); - private void linkKryptonContextMenu_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Context Menu Examples"); + private void linkKryptonCheckSet_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton CheckSet Examples"); - private void linkKryptonDataGridView_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Data GridView Examples"); + private void linkKryptonContextMenu_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Context Menu Examples"); - private void linkKryptonForm_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Form Examples"); + private void linkKryptonDataGridView_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Data GridView Examples"); - private void linkKryptonGroup_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Group Examples"); + private void linkKryptonForm_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Form Examples"); - private void linkKryptonGroupBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton GroupBox Examples"); + private void linkKryptonGroup_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Group Examples"); - private void linkKryptonHeader_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Header Examples"); + private void linkKryptonGroupBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton GroupBox Examples"); - private void linkKryptonHeaderGroup_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Header Group Examples"); + private void linkKryptonHeader_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Header Examples"); - private void linkKryptonLabel_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Label Examples"); + private void linkKryptonHeaderGroup_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Header Group Examples"); - private void linkKryptonWrapLabel_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Wrap Label Examples"); + private void linkKryptonLabel_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Label Examples"); - private void linkKryptonCommand_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Command Examples"); + private void linkKryptonWrapLabel_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Wrap Label Examples"); - private void linkKryptonLinkLabel_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Link Label Examples"); + private void linkKryptonCommand_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Command Examples"); - private void linkKryptonListBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton ListBox Examples"); + private void linkKryptonLinkLabel_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Link Label Examples"); - private void linkKryptonCheckedListBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Checked ListBox Examples"); + private void linkKryptonListBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton ListBox Examples"); - private void linkKryptonMaskedTextBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Masked TextBox Examples"); + private void linkKryptonCheckedListBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Checked ListBox Examples"); - private void linkKryptonPalette_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Palette Examples"); + private void linkKryptonMaskedTextBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Masked TextBox Examples"); - private void linkKryptonPanel_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Panel Examples"); + private void linkKryptonPalette_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Palette Examples"); - private void linkKryptonSeparator_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Separator Examples"); + private void linkKryptonPanel_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Panel Examples"); - private void linkKryptonRadioButton_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton RadioButton Examples"); + private void linkKryptonSeparator_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Separator Examples"); - private void linkKryptonTrackBar_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton TrackBar Examples"); + private void linkKryptonRadioButton_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton RadioButton Examples"); - private void linkKryptonSplitContainer_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Split Container Examples"); + private void linkKryptonTrackBar_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton TrackBar Examples"); - private void linkKryptonComboBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton ComboBox Examples"); + private void linkKryptonSplitContainer_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Split Container Examples"); - private void linkKryptonTextBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton TextBox Examples"); + private void linkKryptonComboBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton ComboBox Examples"); - private void linkKryptonRichTextBox_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Rich TextBox Examples"); + private void linkKryptonTextBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton TextBox Examples"); - private void linkKryptonNumericUpDown_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Numeric UpDown Examples"); + private void linkKryptonRichTextBox_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Rich TextBox Examples"); - private void linkKryptonDomainUpDown_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Domain UpDown Examples"); + private void linkKryptonNumericUpDown_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Numeric UpDown Examples"); - private void linkKryptonBreadCrumb_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Bread Crumb Examples"); + private void linkKryptonDomainUpDown_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Domain UpDown Examples"); - private void linkKryptonDateTimePicker_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton DateTimePicker Examples"); + private void linkKryptonBreadCrumb_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Bread Crumb Examples"); + + private void linkKryptonDateTimePicker_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton DateTimePicker Examples"); private void linkKryptonMonthCalendar_LinkClicked(object sender, EventArgs e) { @@ -253,99 +288,133 @@ private void linkKeyTipsTabs_LinkClicked(object sender, EventArgs e) LaunchApplication(@"Key Tips And Keyboard Access"); } - private void labelAutoShrinkingGroups_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Auto Shrinking Groups"); + private void labelAutoShrinkingGroups_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Auto Shrinking Groups"); - private void labelQuickAccessToolbar_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Quick Access Toolbar"); + private void labelQuickAccessToolbar_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Quick Access Toolbar"); private void linkRibbonGallery_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Ribbon Gallery"); - private void linkRibbonToolTips_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Ribbon Tool Tips"); + private void linkRibbonToolTips_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Ribbon Tool Tips"); - private void linkRibbonControls_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Ribbon Controls"); + private void linkRibbonControls_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Ribbon Controls"); - private void linkKryptonGallery_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Gallery Examples"); + private void linkKryptonGallery_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Gallery Examples"); - private void linkApplicationMenu_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Application Menu"); + private void linkApplicationMenu_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Application Menu"); - private void linkOutlookMailClone_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Outlook Mail Clone"); + private void linkOutlookMailClone_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Outlook Mail Clone"); - private void linkRibbonAndNavigator_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Ribbon And Navigator And Workspace"); + private void linkRibbonAndNavigator_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Ribbon And Navigator And Workspace"); private void linkMDIRibbon_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"MDI Ribbon"); - private void linkExpandingPages_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Expanding Pages"); + private void linkExpandingPages_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Expanding Pages"); - private void linkNavigatorBasicEvents_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Basic Events"); + private void linkNavigatorBasicEvents_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Basic Events"); - private void linkNavigatorUserPageCreation_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"User Page Creation"); + private void linkNavigatorUserPageCreation_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"User Page Creation"); - private void linkNavigatorOneNoteTabs_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"OneNote Tabs"); + private void linkNavigatorOneNoteTabs_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"OneNote Tabs"); - private void linkNavigatorOutlookMockup_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Outlook Mockup"); + private void linkNavigatorOutlookMockup_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Outlook Mockup"); - private void linkWorkspaceCellModes_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Workspace Cell Modes"); + private void linkWorkspaceCellModes_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Workspace Cell Modes"); - private void linkWorkspaceCellLayout_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Workspace Cell Layout"); + private void linkWorkspaceCellLayout_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Workspace Cell Layout"); - private void linkWorkspacePersistence_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"WorkspacePersistence"); + private void linkWorkspacePersistence_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"WorkspacePersistence"); - private void linkCellMaximizeAndRestore_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Cell Maximize And Restore"); + private void linkCellMaximizeAndRestore_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Cell Maximize And Restore"); - private void linkBasicPageDragAndDrop_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Basic Page Drag And Drop"); + private void linkBasicPageDragAndDrop_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Basic Page Drag And Drop"); - private void linkAdvancedPageDragAndDrop_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Advanced Page Drag And Drop"); + private void linkAdvancedPageDragAndDrop_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Advanced Page Drag And Drop"); private void memoEditor_Clicked(object sender, EventArgs e) => LaunchApplication(@"Memo Editor"); - private void linkStandardDocking_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Standard Docking"); + private void linkStandardDocking_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Standard Docking"); - private void linkMultiControlDocking_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Multi Control Docking"); + private void linkMultiControlDocking_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Multi Control Docking"); - private void linkExternalDragToDocking_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"External Drag To Docking"); + private void linkExternalDragToDocking_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"External Drag To Docking"); - private void linkNavigatorAndFloatingWindows_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Navigator And Floating Windows"); + private void linkNavigatorAndFloatingWindows_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Navigator And Floating Windows"); - private void linkDockingPersistence_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Docking Persistence"); + private void linkDockingPersistence_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Docking Persistence"); private void linkDockingFlags_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Docking Flags"); - private void linkDockingCustomized_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Docking Customized"); + private void linkDockingCustomized_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Docking Customized"); private void linkPaletteDesigner_LinkClicked(object sender, EventArgs e) => LaunchPaletteDesignerApplication(); - private void linkPaletteUpgradeTool_LinkClicked(object sender, EventArgs e) => LaunchPaletteUpgradeToolApplication(); + private void linkPaletteUpgradeTool_LinkClicked(object sender, EventArgs e) => + LaunchPaletteUpgradeToolApplication(); + #endregion private void kryptonButtonClose_Click(object sender, EventArgs e) => Close(); private void Form1_Load(object sender, EventArgs e) { - FileVersionInfo fvi = FileVersionInfo.GetVersionInfo($@"{Path.GetDirectoryName(Application.ExecutablePath)}\Krypton.Toolkit.dll"); + FileVersionInfo fvi = + FileVersionInfo.GetVersionInfo( + $@"{Path.GetDirectoryName(Application.ExecutablePath)}\Krypton.Toolkit.dll"); kryptonManager1.GlobalPaletteMode = _settings.Theme; kcmbTheme.SelectedIndex = _settings.ThemeSelectedIndex; - + kcmbTheme.Text = ThemeManager.ReturnPaletteModeManagerAsString(_settings.Theme); //tsslBuildDate.Text = $"Build Date: {GeneralToolkitUtilities.GetLinkerTimestampUtc(Assembly.GetExecutingAssembly())} "; tsslBuildDate.Text = $@"Build Date: {_settings.BuildDate.ToShortDateString()}"; - tslVersion.Text = $@"Krypton Explorer Version: { _currentVersion } - Toolkit Version: { fvi.FileVersion }"; + tslVersion.Text = $@"Krypton Explorer Version: {_currentVersion} - Toolkit Version: {fvi.FileVersion}"; } - private void kbtnOpenApplicationPath_Click(object sender, EventArgs e) => Process.Start(@"explorer.exe", @"\{Application.ExecutablePath}"); - - private void kllKryptonScrollBars_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Scrollbar Examples"); + private void kbtnOpenApplicationPath_Click(object sender, EventArgs e) => + Process.Start(Application.ExecutablePath); //@"explorer.exe", @"\{Application.ExecutablePath}"); - private void kllKryptonWebBrowser_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton WebBrowser Example"); + private void kllKryptonScrollBars_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Scrollbar Examples"); - private void kllKryptonHelpIcon_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Help Icon Examples"); + private void kllKryptonWebBrowser_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton WebBrowser Example"); - private void kllColourDialog_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Color Dialog Example"); + private void kllKryptonHelpIcon_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Help Icon Examples"); + + private void kllColourDialog_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Color Dialog Example"); private void LaunchApplication(string exampleName) { @@ -356,7 +425,8 @@ private void LaunchApplication(string exampleName) } catch (Exception ex) { - KryptonMessageBox.Show(this, ex.Message, @"Explorer", MessageBoxButtons.OK, KryptonMessageBoxIcon.Error); + KryptonMessageBox.Show(this, ex.Message, @"Explorer", MessageBoxButtons.OK, + KryptonMessageBoxIcon.Error); } finally { @@ -377,7 +447,8 @@ private void LaunchPaletteDesignerApplication() else { KryptonMessageBox.Show( - "The Palette Designer is not currently installed. Please download the latest installation package from:\nhttps://github.com/Krypton-Suite/Theme-Palettes/releases", @"Application Not Installed", MessageBoxButtons.OK, KryptonMessageBoxIcon.Information); + "The Palette Designer is not currently installed. Please download the latest installation package from:\nhttps://github.com/Krypton-Suite/Theme-Palettes/releases", + @"Application Not Installed", MessageBoxButtons.OK, KryptonMessageBoxIcon.Information); } } catch (Exception e) @@ -403,7 +474,8 @@ private void LaunchPaletteUpgradeToolApplication() else { KryptonMessageBox.Show( - "The Palette Upgrade Tool is not currently installed. Please download the latest installation package from:\nhttps://github.com/Krypton-Suite/Theme-Palettes/releases", @"Application Not Installed", MessageBoxButtons.OK, KryptonMessageBoxIcon.Information); + "The Palette Upgrade Tool is not currently installed. Please download the latest installation package from:\nhttps://github.com/Krypton-Suite/Theme-Palettes/releases", + @"Application Not Installed", MessageBoxButtons.OK, KryptonMessageBoxIcon.Information); } } catch (Exception e) @@ -416,8 +488,9 @@ private void LaunchPaletteUpgradeToolApplication() } } - private void kllFontDialog_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Font Dialog Example"); - + private void kllFontDialog_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Font Dialog Example"); + private void kcmbTheme_SelectedIndexChanged(object sender, EventArgs e) { _settings.ThemeSelectedIndex = kcmbTheme.SelectedIndex; @@ -429,22 +502,26 @@ private void kcmbTheme_SelectedIndexChanged(object sender, EventArgs e) private void kbtnRestoreTheme_Click(object sender, EventArgs e) { - kcmbTheme.SelectedIndex = 22; + kcmbTheme.SelectedIndex = 25; _settings.Theme = PaletteModeManager.Microsoft365Blue; + _settings.HelpFileLocation = @""; + _settings.Save(); } - - private void klblPrintDialog_LinkClicked(object sender, EventArgs e) => LaunchApplication(@"Krypton Print Dialog Example"); - private void kbtnKryptonToolkitPackage_Click(object sender, EventArgs e) => Process.Start(@"https://www.nuget.org/profiles/Krypton_Suite"); + private void klblPrintDialog_LinkClicked(object sender, EventArgs e) => + LaunchApplication(@"Krypton Print Dialog Example"); + + private void kbtnKryptonToolkitPackage_Click(object sender, EventArgs e) => + Process.Start(@"https://www.nuget.org/profiles/Krypton_Suite"); private void kbtnViewLatestReleaseNotes_Click(object sender, EventArgs e) => Process.Start(@"https://github.com/Krypton-Suite/Standard-Toolkit/blob/master/Documents/Help/Changelog.md"); private void kbtnViewLatestCanaryReleaseNotes_Click(object sender, EventArgs e) => Process.Start(@"https://github.com/Krypton-Suite/Standard-Toolkit/blob/canary/Documents/Help/Changelog.md"); - private void kbtnViewLatestNightlyReleaseNotes_Click(object sender, EventArgs e) => Process.Start(@"https://github.com/Krypton-Suite/Standard-Toolkit/blob/nightly/Documents/Help/Changelog.md"); + private void kbtnViewLatestNightlyReleaseNotes_Click(object sender, EventArgs e) => Process.Start(@"https://github.com/Krypton-Suite/Standard-Toolkit/blob/alpha/Documents/Help/Changelog.md"); private void kbtnDownloadLatestDocumentation_Click(object sender, EventArgs e) { @@ -477,7 +554,8 @@ private void DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) { try { - DialogResult result = KryptonMessageBox.Show(@"Download completed. Install now?", @"Download Successful", + DialogResult result = KryptonMessageBox.Show(@"Download completed. Install now?", + @"Download Successful", MessageBoxButtons.YesNo, KryptonMessageBoxIcon.Information); if (result == DialogResult.Yes) @@ -519,7 +597,8 @@ private async void bgwDownloadDocumentation_DoWork(object sender, DoWorkEventArg } } - private void bgwDownloadDocumentation_ProgressChanged(object sender, ProgressChangedEventArgs e) => tspbDownloadStatus.Value = e.ProgressPercentage; + private void bgwDownloadDocumentation_ProgressChanged(object sender, ProgressChangedEventArgs e) => + tspbDownloadStatus.Value = e.ProgressPercentage; private void bgwDownloadDocumentation_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { @@ -531,5 +610,36 @@ private void bgwDownloadDocumentation_RunWorkerCompleted(object sender, RunWorke Process.Start(_documentationDownladLocation); } } + + private void kbtnLaunchHelp_Click(object sender, EventArgs e) + { + try + { + if (!string.IsNullOrEmpty(_settings.HelpFileLocation)) + { + if (File.Exists(_settings.HelpFileLocation)) + { + Process.Start(_settings.HelpFileLocation); + } + else + { + HelpFileLocator locator = new HelpFileLocator(); + + locator.Show(); + } + } + else + { + HelpFileLocator locator = new HelpFileLocator(); + + locator.Show(); + } + } + catch (Exception exc) + { + KryptonMessageBox.Show($@"Error: {exc}", @"Unexpected Error", MessageBoxButtons.OK, + KryptonMessageBoxIcon.Error); + } + } } } \ No newline at end of file diff --git a/Source/Krypton Explorer/HelpFileLocator.Designer.cs b/Source/Krypton Explorer/HelpFileLocator.Designer.cs new file mode 100644 index 00000000..4c1f7b3f --- /dev/null +++ b/Source/Krypton Explorer/HelpFileLocator.Designer.cs @@ -0,0 +1,156 @@ +namespace KryptonExplorer +{ + partial class HelpFileLocator + { + /// + /// 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() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HelpFileLocator)); + this.kryptonPanel1 = new Krypton.Toolkit.KryptonPanel(); + this.kryptonPanel2 = new Krypton.Toolkit.KryptonPanel(); + this.kryptonBorderEdge1 = new Krypton.Toolkit.KryptonBorderEdge(); + this.kbtnOk = new Krypton.Toolkit.KryptonButton(); + this.kryptonLabel1 = new Krypton.Toolkit.KryptonLabel(); + this.ktxtHelpFilePath = new Krypton.Toolkit.KryptonTextBox(); + this.bsaBrowse = new Krypton.Toolkit.ButtonSpecAny(); + this.kcmdBrowseForFile = new Krypton.Toolkit.KryptonCommand(); + ((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).BeginInit(); + this.kryptonPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.kryptonPanel2)).BeginInit(); + this.kryptonPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // kryptonPanel1 + // + this.kryptonPanel1.Controls.Add(this.kbtnOk); + this.kryptonPanel1.Controls.Add(this.kryptonBorderEdge1); + this.kryptonPanel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.kryptonPanel1.Location = new System.Drawing.Point(0, 49); + this.kryptonPanel1.Name = "kryptonPanel1"; + this.kryptonPanel1.PanelBackStyle = Krypton.Toolkit.PaletteBackStyle.PanelAlternate; + this.kryptonPanel1.Size = new System.Drawing.Size(463, 50); + this.kryptonPanel1.TabIndex = 0; + // + // kryptonPanel2 + // + this.kryptonPanel2.Controls.Add(this.ktxtHelpFilePath); + this.kryptonPanel2.Controls.Add(this.kryptonLabel1); + this.kryptonPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.kryptonPanel2.Location = new System.Drawing.Point(0, 0); + this.kryptonPanel2.Name = "kryptonPanel2"; + this.kryptonPanel2.Size = new System.Drawing.Size(463, 49); + this.kryptonPanel2.TabIndex = 1; + // + // kryptonBorderEdge1 + // + this.kryptonBorderEdge1.BorderStyle = Krypton.Toolkit.PaletteBorderStyle.HeaderSecondary; + this.kryptonBorderEdge1.Dock = System.Windows.Forms.DockStyle.Top; + this.kryptonBorderEdge1.Location = new System.Drawing.Point(0, 0); + this.kryptonBorderEdge1.Name = "kryptonBorderEdge1"; + this.kryptonBorderEdge1.Size = new System.Drawing.Size(463, 1); + this.kryptonBorderEdge1.Text = "kryptonBorderEdge1"; + // + // kbtnOk + // + this.kbtnOk.AutoSize = true; + this.kbtnOk.CornerRoundingRadius = -1F; + this.kbtnOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.kbtnOk.Location = new System.Drawing.Point(361, 13); + this.kbtnOk.Name = "kbtnOk"; + this.kbtnOk.Size = new System.Drawing.Size(90, 25); + this.kbtnOk.TabIndex = 1; + this.kbtnOk.Values.Text = "O&k"; + this.kbtnOk.Click += new System.EventHandler(this.kbtnOk_Click); + // + // kryptonLabel1 + // + this.kryptonLabel1.LabelStyle = Krypton.Toolkit.LabelStyle.BoldControl; + this.kryptonLabel1.Location = new System.Drawing.Point(13, 13); + this.kryptonLabel1.Name = "kryptonLabel1"; + this.kryptonLabel1.Size = new System.Drawing.Size(87, 20); + this.kryptonLabel1.TabIndex = 0; + this.kryptonLabel1.Values.Text = "File Location:"; + // + // ktxtHelpFilePath + // + this.ktxtHelpFilePath.ButtonSpecs.AddRange(new Krypton.Toolkit.ButtonSpecAny[] { + this.bsaBrowse}); + this.ktxtHelpFilePath.CueHint.Padding = new System.Windows.Forms.Padding(0); + this.ktxtHelpFilePath.Location = new System.Drawing.Point(107, 13); + this.ktxtHelpFilePath.Name = "ktxtHelpFilePath"; + this.ktxtHelpFilePath.Size = new System.Drawing.Size(344, 24); + this.ktxtHelpFilePath.TabIndex = 1; + // + // bsaBrowse + // + this.bsaBrowse.Enabled = Krypton.Toolkit.ButtonEnabled.True; + this.bsaBrowse.KryptonCommand = this.kcmdBrowseForFile; + this.bsaBrowse.Text = "..."; + this.bsaBrowse.UniqueName = "91ee54154bd24d56975a4c3695ed31c4"; + // + // kcmdBrowseForFile + // + this.kcmdBrowseForFile.Text = "..."; + this.kcmdBrowseForFile.Execute += new System.EventHandler(this.kcmdBrowseForFile_Execute); + // + // HelpFileLocator + // + this.AcceptButton = this.kbtnOk; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(463, 99); + this.Controls.Add(this.kryptonPanel2); + this.Controls.Add(this.kryptonPanel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "HelpFileLocator"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Locate Help File"; + ((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).EndInit(); + this.kryptonPanel1.ResumeLayout(false); + this.kryptonPanel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.kryptonPanel2)).EndInit(); + this.kryptonPanel2.ResumeLayout(false); + this.kryptonPanel2.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private Krypton.Toolkit.KryptonPanel kryptonPanel1; + private Krypton.Toolkit.KryptonPanel kryptonPanel2; + private Krypton.Toolkit.KryptonBorderEdge kryptonBorderEdge1; + private Krypton.Toolkit.KryptonButton kbtnOk; + private Krypton.Toolkit.KryptonLabel kryptonLabel1; + private Krypton.Toolkit.KryptonTextBox ktxtHelpFilePath; + private Krypton.Toolkit.ButtonSpecAny bsaBrowse; + private Krypton.Toolkit.KryptonCommand kcmdBrowseForFile; + } +} \ No newline at end of file diff --git a/Source/Krypton Explorer/HelpFileLocator.cs b/Source/Krypton Explorer/HelpFileLocator.cs new file mode 100644 index 00000000..afc5ca07 --- /dev/null +++ b/Source/Krypton Explorer/HelpFileLocator.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +using Krypton.Toolkit; + +namespace KryptonExplorer +{ + public partial class HelpFileLocator : KryptonForm + { + private Properties.Settings _settings = new(); + + public HelpFileLocator() + { + InitializeComponent(); + } + + private void kcmdBrowseForFile_Execute(object sender, EventArgs e) + { + OpenFileDialog ofd = new OpenFileDialog() + { + Title = @"Browse for Help File:", + Filter = @"Compiled HTML Help Files|*.chm" + }; + + if (ofd.ShowDialog() == DialogResult.OK) + { + ktxtHelpFilePath.Text = Path.GetFullPath(ofd.FileName); + } + } + + private void kbtnOk_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(ktxtHelpFilePath.Text)) + { + _settings.HelpFileLocation = ktxtHelpFilePath.Text; + + _settings.Save(); + } + } + } +} diff --git a/Source/Krypton Explorer/HelpFileLocator.resx b/Source/Krypton Explorer/HelpFileLocator.resx new file mode 100644 index 00000000..4a309982 --- /dev/null +++ b/Source/Krypton Explorer/HelpFileLocator.resx @@ -0,0 +1,440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAUAMDAAAAEAIACoJQAAVgAAACAgAAABACAAqBAAAP4lAAAgIAAAAQAIAKgIAACmNgAAEBAAAAEA + IABoBAAATj8AABAQAAABAAgAaAUAALZDAAAoAAAAMAAAAGAAAAABACAAAAAAAABIAAAAAAAAAAAAAAAA + AAAAAAAAAAAAADMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMz + MwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMz + MwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMzMwozMzMKMzMzCjMz + MwozMzMKMzMzCioqKgYAAAAAs+SwWJHMj/+Qy47/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47I + jP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47I + jP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47I + jP+OyIz/jsiM/47IjP+OyIz/kMuO/36xfO4qVSoG2P7WcKjspv93xXf/aL5p/2i+af9ovmn/aL5p/2i+ + af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+ + af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+ + af9ovmn/aL5p/2i+af9ovmn/aL5p/2i+af9ovmn/b7Vv/5XRk/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + eP+R5Jr/dt13/3zff/+F4Yv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/bspv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/943nr/huGM/4fh + jf+O45f/luWg/3feeP+m6bT/sOzA/4zjlP+x7cH/heGL/3bdd/+N45X/heGL/4Hghf+L4pP/fN9//4Lg + h/+I4Y//dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/+A4IT/uvDM/7/x0/+X5aL/vfHQ/3bdd/+v7L//wfLU/4zjlP+98dD/w/PX/4nij/++8dH/i+KS/8Dy + 1P++8dH/n+is/6bptP+578v/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/+A4IT/xfPa/7zwzv+a5qX/w/PY/7Ltw/+78M7/q+u6/5/nq//B8tX/w/PX/6fq + tf++8dH/jOKT/8Dx0//C8tb/neep/8Dy0/++8dH/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/9/34P/q+u6/7DswP+C4If/geCG/3/fg/+B4Ib/e95+/4Df + hP+D4Ij/ft+B/5Tlnv+p6rj/ft+C/3reff+B4IX/et58/4PgiP9833//dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/d954/3jeef943nn/eN55/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3fe + eP943nn/eN55/3jeef933nj/dt13/3feeP943nn/eN55/3jeef943nn/eN55/3jeef943nn/eN55/3je + ef943nn/eN55/3feeP923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/8/35f/h/fv/4f37/+H9+/+m6bT/dt13/6nquP/h/fv/4f37/+H9+//h/fv/4f37/+H9 + +//h/fv/4f37/+H9+//h/fv/4f37/8Pz1/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/n+er/+H9+//h/fv/4f37/9L46v933nj/dt13/6nquP/h/fv/4f37/+H9 + +//h/fv/4f37/+H9+//h/fv/4f37/+H9+//h/fv/4f37/8Pz1/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/933nj/0fjo/+H9+//h/fv/4f37/5/nq/923Xf/dt13/6Tp + sf/Y+vD/2Prw/9j68P/b+/T/4f37/+H9+//h/fv/2vvz/9j68P/Y+vD/2Prw/7vwzv923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9 + +//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+j6bD/4f37/+H9+//h/fv/zvbk/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//h/fv/l+Wi/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3jeev/U+ez/4f37/+H9 + +//h/fv/mOWj/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//h/fv/l+Wi/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/6fq + tf/h/fv/4f37/+H9+//J9d7/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9 + +//h/fv/l+Wi/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bd + d/923Xf/et58/9f57//h/fv/4f37/+H9+/+R5Jr/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/+p6rj/4f37/+H9+//h/fv/l+Wi/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/2vvy/5jl + o/+A4IT/dt13/3bdd/923Xf/q+u7/+H9+//h/fv/4f37/8Pz2P923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//h/fv/l+Wi/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9 + +//h/fv/4f37/+H9+//h/fv/0vjp/7Ltwv+F4Yr/2frx/+H9+//h/fv/3/35/4rikv923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//h/fv/mual/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/ue/M/+H9+//h/fv/4f37/+H9+//h/fv/4f37/+H9+//g/fn/4f37/+H9+//h/fv/vvHR/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//h/fv/ouiv/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/4f37/+H9+//h/fv/4f37/+H9+//h/fv/4f37/+H9 + +//e/Pf/heGL/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9 + +//h/fv/sOzA/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1/rv/47jlv+n6rX/yPTd/+H9 + +//h/fv/4f37/+H9+//W+e7/f9+D/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/+p6rj/4f37/+H9+//h/fv/xfPZ/3bdd/923Xf/dt13/3bdd/923Xf/dt13/6LosP+s67z/rOu8/6Po + sf923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bd + d/923Xf/dt13/5Tknf/U+Ov/4f37/+H9+//h/fv/yvXf/3feeP923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//h/fv/3fz2/33fgP923Xf/dt13/3bdd/923Xf/dt13/9P4 + 6v/h/fv/4f37/9D35v923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9 + +//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/9934H/zPbi/+H9+//h/fv/4f37/7Htwf923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//h/fv/yfXe/7fuyP923Xf/dt13/3bd + d/923Xf/e95+/978+P/h/fv/4f37/8j03f923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/ft+C/9T57P/h/fv/4f37/978 + 9/+H4Y3/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+p6rj/4f37/+H9+//g/fr/o+mw/+D9 + +v+w7cH/ed57/3bdd/923Xf/te7G/+H9+//h/fv/4f37/7jvyv923Xf/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/5Xl + n//h/fv/4f37/+H9+/+/8dL/dt13/3bdd/923Xf/dt13/3bdd//F89r/3fz3/9389//f/fn/4f37/+H9 + +//Y+vD/geCF/9/9+f/h/fv/3Pv1/8/35v/W+e7/4f37/+H9+//h/fv/4f37/5flof923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd//E89n/4f37/+H9+//f/Pj/geCG/3bdd/923Xf/dt13/3bdd//I9N7/4f37/+H9 + +//h/fv/4f37/+H9+//N9uP/dt13/7nvy//h/fv/4f37/+H9+//h/fv/4f37/+H9+//h/fv/yvXg/3bd + d/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+U5Z7/4f37/+H9+//h/fv/reu8/3bdd/923Xf/dt13/3bd + d//I9N3/4f37/+H9+//h/fv/4f37/+H9+//B8tT/dt13/3jeev+78M3/4P36/+H9+//h/fv/4f37/+H9 + +//E89n/f9+D/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9 + +//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/1vnt/+H9+//h/fv/yvXg/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/guCH/57n + qv+l6bT/n+es/4Xhi/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/vfHQ/+H9 + +//h/fv/3vz3/3jeef923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/p+q1/+H9+//h/fv/4f37/5Djmf923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/lOSd/+H9+//h/fv/4f37/6LosP923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9+//h/fv/1vnu/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/heGK/+H9+//h/fv/4f37/63svf923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/ue/M/+H9 + +//h/fv/1vnu/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/ft+B/+H9+//h/fv/4f37/7Lt + w/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/dt13/3bd + d/923Xf/fN9+/4Dghf+A4IX/f9+D/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt14/4Dg + hf+A4IX/gOCF/3vefv923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/b8pv/5HM + j/8zTDMK2P7WcK7urP963nv/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/et58/37fgv933nj/g+CI/3feeP923Xf/e95+/3bd + d/973n7/et58/3neev97337/dt13/3feeP+B4IX/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/eN55/4Pg + iP923Xf/eN55/3/fg/923Xf/b8pv/5HMj/8zTDMK2P7WcK7urP963nv/w/PX/8Dy1P+Y5qP/reu8/7rw + zf923Xf/quu5/3bdd/+L4pL/rOu8/4Pgh/+478r/ouiw/7rwzP+378j/o+mw/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/kOSZ/6/sv/+y7cP/vPDP/7zwz/+V5Z//b8pv/5HMj/8zTDMK2P7WcK7urP963nv/uvDM/8Ly + 1v9834D/qeu4/6zru/923Xf/dt13/3jeev+B4Ib/u/DN/6Dorf+378n/vvHS/63svf/B8tT/keSa/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/7fvyP+e56r/w/PX/7zwz/+P45j/b8pv/5HMj/8zTDMK2P7WcK7u + rP963nv/vvHR/8Tz2P+N45T/uO/J/7fvyf923Xf/dt13/4PgiP/J9N//zfbj/6fqtv+78M7/su3C/7Pt + xP+/8dL/mOWi/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/kuSb/7jvyv+t673/pemz/7nvy/963n3/b8pv/5HM + j/8zTDMK2P7WcK/urf+M4oz/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/gdeB/5TQkv8zTDMK5f7lb6vuqf+177P/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fv + tv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fv + tv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fv + tv+377b/t++2/7fvtv+377b/re6r/5rZmP9MZkwK////EPj++G/1/vVw9f71cPX+9XD1/vVw9f71cPX+ + 9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+ + 9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+ + 9XD1/vVw9f71cPX+9XD1/vVw9f71cPX+9XD1/vVw9f71cOf85FYAAAAA////////AACAAAAAAAEAAIAA + AAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAAB + AACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAA + AAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAAB + AACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAA + AAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAAB + AACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAP// + /////wAAKAAAACAAAABAAAAAAQAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAJrQmiGEuoRHhLeBR4S3 + gUeEt4FHhLeBR4S3gUeEt4FHhLeBR4S3gUeEt4FHhLeBR4S3gUeEt4FHhLeBR4S3gUeEt4FHhLeBR4S3 + gUeEt4FHhLeBR4S3gUeEt4FHhLeBR4S3gUeEt4FHhLeBR4S3gUeEt4FHhLeBR4G1fUVvn28QvPC6jobN + hf9xwHH/ccBx/3HAcf9xwHH/ccBx/3HAcf9xwHH/ccBx/3HAcf9xwHH/ccBx/3HAcf9xwHH/ccBx/3HA + cf9xwHH/ccBx/3HAcf9xwHH/ccBx/3HAcf9xwHH/ccBx/3HAcf9xwHH/ccBx/3HAcf9xwHH/e756/YW8 + gUXF+MSTh+KH/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/et58/3vefv983n7/juOW/4Pg + iP+L4pP/eN16/3refP953Xv/et59/3fdef963Xz/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/92ynf/hL6ER8X4xJOH4of/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3vefv+t7Lz/m+an/6Pp + sP+e56v/sOzA/63svv+n6rX/peqz/5Pkm/+w7cD/l+Wi/6jpt/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3fKd/+EvoRHxfjEk4fih/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/fN6A/7zw + 0P+c5qj/ruy+/6rruf+d56j/quu5/63svP+y7cP/kuOa/7DswP+a5qb/rey9/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/d8p3/4S+hEfF+MSTh+KH/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/933Xn/g+CI/3vefv943Xr/eN16/3fdef953Xv/ed17/4Hfhf933Xn/eN16/3fdef933Xn/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/93ynf/hL6ER8X4xJOH4of/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3fKd/+EvoRHxfjEk4fih/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/d8p3/4S+hEfF+MSTh+KH/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/93ynf/hL6ER8X4 + xJOH4of/dt13/3bdd/+w7b//xvXa/6zsuv923Xf/dt13/3bdd/923Xf/dt13/4bhi//C89X/xvXa/6Tq + sf9/34P/vPHN/8b12v/G9dr/xvXa/8b12v/G9dr/xvXa/8Dz0/+E4In/dt13/3bdd/923Xf/dt13/3fK + d/+EvoRHxfjEk4fih/923Xf/dt13/8Py1//h/fv/vvLQ/3bdd/923Xf/dt13/3bdd/923Xf/uO/K/+H9 + +//Z+vL/ieKQ/4Hghv/R9+f/3vz4/9/8+f/h/fv/4f37/9/8+P/e/Pj/1vnv/4jhjv923Xf/dt13/3bd + d/923Xf/d8p3/4S+hEfF+MSTh+KH/3bdd/923Xf/w/LX/+H9+/++8tD/dt13/3bdd/923Xf/dt13/47j + lv/e/Pf/4f37/77xz/943Xr/eN16/4vjkf+O5JX/q+u6/+H9+//h/fv/oOit/47klf+M45P/et58/3bd + d/923Xf/dt13/3bdd/93ynf/hL6ER8X4xJOH4of/dt13/3bdd//D8tf/4f37/77y0P923Xf/dt13/3bd + d/953Xr/wvPV/+H9+//c+/X/iOGP/3bdd/923Xf/dt13/3bdd/+c5qf/4f37/+H9+/+O45f/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3fKd/+EvoRHxfjEk4fih/923Xf/dt13/8Py1//h/fv/vvLQ/3bd + d/923Xf/dt13/43jk//b+/T/4f37/6/tvv923Xf/dt13/3bdd/923Xf/dt13/5zmp//h/fv/4f37/47j + l/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/d8p3/4S+hEfF+MSTh+KH/3bdd/923Xf/w/LX/+H9 + +//P9+X/nOin/4vjkf983n//wPHV/+H9+//V+e3/heGK/3bdd/923Xf/dt13/3bdd/923Xf/nOan/+H9 + +//h/fv/juOX/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/93ynf/hL6ER8X4xJOH4of/dt13/3bd + d//D8tf/4f37/+H9+//h/fv/2/v0/8z24P/f/Pn/4f37/7Puw/933Xj/dt13/3bdd/923Xf/dt13/3bd + d/+c5qf/4f37/+H9+/+V5J//dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3fKd/+EvoRHxfjEk4fi + h/923Xf/dt13/8Py1//h/fv/2fry/9D35//c+/X/4f37/+H9+//c+/b/f9+E/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/5zmp//h/fv/4f37/6Xpsf923Xf/dt13/3bdd/943Xr/guCH/4Lgh/943Xr/d8p3/4S+ + hEfF+MSTh+KH/3bdd/923Xf/w/LX/+H9+/+/8tL/gN+E/5Hkmf/L9eD/4f37/978+P+m6rP/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/nOan/+H9+//h/fv/wPLS/3bdeP923Xf/dt13/4rij//Q9ub/z/bm/4ni + jv93ynf/hL6ER8X4xJOH4of/dt13/3bdd//D8tf/4f37/77y0P923Xf/dt13/3ndfP/B8tX/4Pz6/9f5 + 7/+K4pD/dt13/3bdd/923Xf/dt13/3bdd/+c5qf/4f37/+D9+v+/8dL/k+Wc/3bdd/923Xf/nuip/+D8 + +v/Z+fH/ieGO/3fKd/+EvoRHxfjEk4fih/923Xf/dt13/8Py1//h/fv/vvLQ/3bdd/923Xf/dt13/4Lg + h//R+Oj/4Pz6/7zwzv923Xf/dt13/3bdd/+i6a7/w/TX/8324//h/fv/2/r0/57oqv/X+u//wPLT/7zx + zv/Y+vH/4f37/9D35v+A34P/d8p3/4S+hEfF+MSTh+KH/3bdd/923Xf/w/LX/+H9+/++8tD/dt13/3bd + d/923Xf/dt13/6fqtf/h/fv/3/z4/4bhjP923Xf/dt13/7Puw//h/fv/4f37/+H9+//P9ub/guCG/8v1 + 4f/g/fr/4f37/+H9+//b+/T/puqz/3bdd/93ynf/hL6ER8X4xJOH4of/dt13/3bdd//D8tf/4f37/77y + 0P923Xf/dt13/3bdd/923Xf/e95+/9r68v/h/fv/r+2+/3bdd/923Xf/heGK/5DlmP+Q5Zj/kOWY/4ri + kP923Xf/g+CH/57oqf+y7cP/quu5/43jlf933Xn/dt13/3fKd/+EvoRHxfjEk4fih/923Xf/dt13/8Py + 1//h/fv/vvLQ/3bdd/923Xf/dt13/3bdd/923Xf/wfLV/+H9+//G9Nn/d915/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/d8p3/4S+hEfF+MSTh+KH/3bd + d/923Xf/w/LX/+H9+/++8tD/dt13/3bdd/923Xf/dt13/3bdd/+q67j/4f37/8/25v9/3oP/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/93ynf/hL6ER8X4 + xJOH4of/dt13/3bdd//D8tf/4f37/77y0P923Xf/dt13/3bdd/923Xf/dt13/5rnpP/h/fv/1Pjr/4Pg + iP923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3fK + d/+EvoRHxfjEk4fih/923Xf/dt13/47jlf+Y56L/jOOU/3bdd/923Xf/dt13/3bdd/923Xf/f9+E/5jn + ov+T5Z3/et58/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/d8p3/4S+hEfF+MSTh+KH/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/93ynf/hL6ER8X4xJOH4of/ed17/3fdef993oD/dt13/3jdev943Xr/eN16/3nd + e/923Xf/fN5+/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/ed16/3jdev943Xr/d915/3fKd/+EvoRHxfjEk4fih//A8dT/nOeo/67rvv+G4Iv/k+Sb/4Pf + if+l6bP/q+u7/6zrvP+478r/k+Wd/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/+S5Jz/reu9/73w0P+d5qn/d8p3/4S+hEfF+MSTh+KH/77w0f+W5qH/s+7E/4Xg + iv943Xr/qOu3/7/x0v+07cb/s+3E/7zwzv+N4pX/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/5Xkn/+s67z/r+zA/43jlf93ynf/hL6ER8f2xZOb55v/huGG/4bh + hv+G4Yb/huGG/4bhhv+G4Yb/huGG/4bhhv+G4Yb/huGG/4bhhv+G4Yb/huGG/4bhhv+G4Yb/huGG/4bh + hv+G4Yb/huGG/4bhhv+G4Yb/huGG/4bhhv+G4Yb/huGG/4bhhv+G4Yb/huGG/43Zjf+IwYhH4PfgQtj2 + 2JPa+NqT2vjak9r42pPa+NqT2vjak9r42pPa+NqT2vjak9r42pPa+NqT2vjak9r42pPa+NqT2vjak9r4 + 2pPa+NqT2vjak9r42pPa+NqT2vjak9r42pPa+NqT2vjak9r42pPa+NqT2vjak9r42pPa+NqT0vTQjrnn + uSH/////AAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAA + AAEAAAABgAAAASgAAAAgAAAAQAAAAAEACAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAB1wXX/est6/3bd + d/923Xj/d914/3jdef943Xr/eN56/3nee/953nz/et58/3veff97333/e95+/3zef/9833//fd+A/33f + gf9+34H/f9+D/4rQif+S25H/gOCE/4Hghv+C4If/g+CH/4ThiP+F4Yr/heGL/4bhiv+G4ov/huGM/4fh + jP+H4Y3/h+KM/4vji/+I4o7/ieKP/4zjjP+J4pD/iuOQ/4rjkf+L4pL/i+OS/4zilP+N45T/jeOV/47j + lf+P5Jb/j+SX/4/ll/+Q5Jf/kOSY/5HlmP+R5Zn/kuSa/5Lkm/+S5Zv/k+Wa/5Plm/+T5pz/lOWd/5Tl + nv+V5Z//luaf/5fnn/+W5aD/l+ag/5jmov+Z5qP/meej/5rmpf+a56X/m+el/5vnpv+c56j/muij/53o + qP+e6Kj/n+iq/5/oq/+f6av/n+is/6Dpn/+g6av/oOmt/6Horf+h6a3/oOqs/6HqrP+i6q7/pOmx/6Tp + sv+l6bL/pOqw/6Xqs/+m6rP/puuz/6jrtf+o67b/qeu3/6jstf+p7Lf/qeu4/6rruP+q67n/q+y5/63r + vf+s7Lr/rOy7/63su/+t7L3/ru29/6/sv/+v7b//sO6//7DtwP+x7sH/s+3D/7Luwv+z7sT/tO7F/7Tv + xf+378n/tvDG/7fwx/+38Mj/uPDJ/7nwyv+58Mv/ufHK/7rxy/+78M3/u/LM/7zwzv+98tD/vvHQ/77x + 0f+/8dL/vvPQ/7/z0f+/8tL/wPLT/8Dz0//A8tT/xPPY/8T02P/H9dv/xvTc/8f03P/H9dz/yvXf/8v1 + 4P/L9uD/y/bh/8z24f/M9uL/zvfj/8/35f/Q9+f/0ffo/9D45//U+ez/1vnt/9b57v/X+e//1/rv/9j6 + 8f/b+/P/2/v0/9z79f/d/Pb/3fz3/9789//e/Pj/3/z4/9/8+f/g/fn/4P36/+H9+/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/FRQAFBQA + FBQAFBQAFAAUFAAUFAAUFAAUFAAUABQUAABqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFH0j + AgICAgICAgMJEhItIC8IDQsOCg4CAgICAgICBQAUfSMCBAICAgICDGhOTUdsbFRPP2xDWwICAgICAgIC + ARR9IwICAgICAgIMhk9kXUVeYnU6akxiAgICAgICAgYAFH0jAgICAgICAgUmEgoKBQoLGgUIBwgCAgIC + AgICAgEUfSMCAgICAgICAgICAgICAgICAgICAgICAgICAgIFABR9IwICAgICAgICAgICAgICAgICAgIC + AgICAgICAgIBFH0jAgICBQICAgICAgIEBQICBwQEBQUCAgQCAgICBgAUfSMCAm6LWQICAgICKoOIXhdz + iIiLiIuLfSMCAgIEARR9IwICk7N9AgICAgKMs6MwI5uvr7OzsaujMAICAgUAFH0jAgKTsX0CAgICKK2z + gAsLNUFus7NgQTwSAgICAgEUfSMEApOzfAICBAuIs6oaAgICBESzsysCAgICAgIFABR9IwICk7F9AgIC + OqizgAICAgICQ7OzLwICAgICAgIBFH0jBAKTs51hOhaVs54mAgICAgREs7EVAgICAgICBQAUfSMCApOx + s7Olk7GzcwoCAgICAkOxszoFAgICAgQCARR9IwIEla+imKizs68SAgICAgICRbOzWQICBAsgIxIAFH0j + AgKTsYUjU5ixsVMFBQICAgJTsbN9BQUFFZuYMwEUfSMCBJOxfAICBY+xozoCAgICAlOxsYxTAgVosaU6 + ABR9IwICk7F9AgICJp2xiAICAlOFk7GxZaN8faOxmyMAFH0jAgSTsX0CBAIFWbGxIwICbLGxsZ0jk7Gx + r6hOBQAUfSMCApOxfQICAgIMqLFiBQQjU1NTFQUjXn1zUwICARR9IwIFk7F8AgICAgWTsYUFAgIEAgIC + AgQCAgIEAgUAFH0jAgKTsX0EAgICAnOxmyMCAgICAgICAgICAgICAgEUfSMCApOxfAICAgIEXrOdJgUC + AgICAgICAgICAgQFABR9IwQCU1M1AgICAgIjU1MSAgICAgICAgQCAgICAgIBFH0jBAICBAQEAgQCAgIC + AgICAgICAgICAgICBAIFBQAUfSYMBRIFBQwMCwULAgUCAgICAgICAgICAgIFBQUFARR9JpFTdiYVI1Ni + c4UVAgICAgICBAICAgICAlNuhlYAFH0mjFN8JgVTjHx8hRUCBAQFAgQFAgQFAgUCU258UwEUhVMmJiYm + JiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmFRSdk5OZk5Obk5Obk5Obk5Obk5Obk5Obk5Obk5Obk5OMaP// + //8AAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAA + AAGAAAABKAAAABAAAAAgAAAAAQAgAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAJHMj/+OyIz/jsiM/47I + jP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/47IjP+OyIz/jsiM/36wfO6u7qz/dt13/3bd + d/923Xf/dt13/4fhjf933nj/jOOU/3bdd/+B4IX/guCH/3bdd/923Xf/dt13/3bdd/+RzI//ru6s/3bd + d/923Xf/dt13/3bdd/+w7MD/f9+D/4DfhP+U5Z7/et59/4PgiP923Xf/dt13/3bdd/923Xf/kcyP/67u + rP923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/5HM + j/+u7qz/dt13/3jeef923Xf/dt13/3bdd/933nj/eN55/3feeP943nn/eN55/3jeef933nj/dt13/3bd + d/+RzI//ru6s/3bdd//h/fv/dt13/3bdd/923Xf/4f37/5/nq/+k6bH/2Prw/+H9+//Y+vD/u/DO/3bd + d/923Xf/kcyP/67urP923Xf/4f37/3bdd/923Xf/p+q1/+H9+/923Xf/dt13/3bdd//h/fv/dt13/3bd + d/923Xf/dt13/5HMj/+u7qz/dt13/+H9+//h/fv/su3C/+H9+/+K4pL/dt13/3bdd/923Xf/4f37/3bd + d/923Xf/dt13/3bdd/+RzI//ru6s/3bdd//h/fv/juOW/+H9+//h/fv/dt13/3bdd/923Xf/dt13/+H9 + +/923Xf/dt13/6LosP+j6LH/kcyP/67urP923Xf/4f37/3bdd/923Xf/1Pns/9789/923Xf/dt13/3bd + d//h/fv/4P36/3bdd//h/fv/uO/K/5HMj/+u7qz/dt13/+H9+/923Xf/dt13/3bdd//h/fv/dt13/3bd + d//h/fv/4f37/3jeev/h/fv/4f37/3bdd/+RzI//ru6s/3bdd//h/fv/dt13/3bdd/923Xf/4f37/5Dj + mf923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/kcyP/67urP923Xf/4f37/3bdd/923Xf/dt13/+H9 + +/+y7cP/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/5HMj/+u7qz/dt13/3bdd/923Xf/dt13/3bd + d/923Xf/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/3bdd/+RzI//ru6s/8Ly1v+s67v/eN56/6Do + rf+t7L3/dt13/3bdd/923Xf/dt13/3bdd/923Xf/dt13/7fvyP+88M//kcyP/6vuqf+377b/t++2/7fv + tv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/7fvtv+377b/t++2/5rZmP8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABAA + AAAgAAAAAQAIAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAHbdd/933Xj/d915/3jdef943nr/et58/3ve + ff9/34L/gOCE/4HghP+B4IX/guCG/4Pgh/+H4Y3/h+KM/4jijf+I4o7/iuKR/4vjkf+L45L/jOOS/4zj + k/+N45T/juOV/4zkkv+Q5Jj/kOSZ/5Hlmf+U5pz/luae/5bmn/+X5qD/mOeh/5jmov+a56X/muik/5zo + p/+d6Kf/nuip/6DprP+h6q3/oumv/6TqsP+m67P/qey2/6nruP+q7bj/rO26/67tvP+u7b7/r+2//7bu + x/+28Mf/t/DI/7jwyP+98s//vvLQ/8Dz0//C89X/yPXd/8334//O9+T/0Pjn/9T46//V+e3/2Prw/9r7 + 8//f/Pn/4Pz5/+D9+v/h/fv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8XAwMDAwMDAwMDAwMDAwMGIwAAAAMb + FyUUFxQDAAAAAyMAAAEDIBkUHRQUAAADAwMjAAAAAAAAAAAAAAADAwMDIwAdCQABGB0PIyUhDQMDAyMA + Px0ABkErIDpEOCUDAQMjAD8dACxAAwAPRAcAAwMDIwA/PS9CKAEBD0QMAwAAAyMAPzY7RAkAAA9EGQMf + IQMjAD8dATg6AAcqRDYdPzAGJQA/HQAJRA8PNzYXOzgHBiMAPx0AAD0oAAABAAAAAAMjADYYAQAsJQAA + AAAAAwMDIwMDAwMDAAAAAAAAAAMABiMwJRIwNgkAAAAAAAAqLQM0KCooKigqKCooKigqKColAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/Source/Krypton Explorer/Properties/Settings.Designer.cs b/Source/Krypton Explorer/Properties/Settings.Designer.cs index 5e041e7a..54ec1f67 100644 --- a/Source/Krypton Explorer/Properties/Settings.Designer.cs +++ b/Source/Krypton Explorer/Properties/Settings.Designer.cs @@ -58,5 +58,17 @@ public int ThemeSelectedIndex { this["BuildDate"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string HelpFileLocation { + get { + return ((string)(this["HelpFileLocation"])); + } + set { + this["HelpFileLocation"] = value; + } + } } } diff --git a/Source/Krypton Explorer/Properties/Settings.settings b/Source/Krypton Explorer/Properties/Settings.settings index 71c1d53b..dd7ead6e 100644 --- a/Source/Krypton Explorer/Properties/Settings.settings +++ b/Source/Krypton Explorer/Properties/Settings.settings @@ -11,5 +11,8 @@ 2022-11-21 + + + \ No newline at end of file diff --git a/Source/Krypton Explorer/app.config b/Source/Krypton Explorer/app.config index da77f258..a7a4ee1c 100644 --- a/Source/Krypton Explorer/app.config +++ b/Source/Krypton Explorer/app.config @@ -16,12 +16,12 @@ 22 - - Microsoft 365 - Blue - 2022-11-21 + + +