From f534883d62fb4fa8b66dc92e1e8aae2fa9524b8d Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Tue, 26 May 2020 09:36:12 +0200 Subject: [PATCH] revised about screen --- CREDITS.md | 5 - mRemoteNG.Specs/mRemoteNG.Specs.csproj | 4 +- mRemoteNG.Specs/packages.config | 16 +- mRemoteNGTests/packages.config | 16 +- mRemoteV1/App/Windows.cs | 6 - mRemoteV1/Console.ico | Bin 0 -> 32591 bytes .../Resources/Language/Language.Designer.cs | 102 ++++----- mRemoteV1/Resources/Language/Language.de.resx | 3 + mRemoteV1/Resources/Language/Language.fr.resx | 13 +- mRemoteV1/Resources/Language/Language.resx | 9 + mRemoteV1/UI/Forms/FrmAbout.Designer.cs | 174 +++++++++++++++ mRemoteV1/UI/Forms/FrmAbout.cs | 62 ++++++ .../AboutWindow.resx => Forms/FrmAbout.resx} | 0 mRemoteV1/UI/Menu/HelpMenu.cs | 3 +- mRemoteV1/UI/Window/AboutWindow.Designer.cs | 203 ------------------ mRemoteV1/UI/Window/AboutWindow.cs | 132 ------------ mRemoteV1/UI/WindowType.cs | 3 +- mRemoteV1/mRemoteV1.csproj | 16 +- mRemoteV1/packages.config | 17 +- 19 files changed, 337 insertions(+), 447 deletions(-) create mode 100644 mRemoteV1/Console.ico create mode 100644 mRemoteV1/UI/Forms/FrmAbout.Designer.cs create mode 100644 mRemoteV1/UI/Forms/FrmAbout.cs rename mRemoteV1/UI/{Window/AboutWindow.resx => Forms/FrmAbout.resx} (100%) delete mode 100644 mRemoteV1/UI/Window/AboutWindow.Designer.cs delete mode 100644 mRemoteV1/UI/Window/AboutWindow.cs diff --git a/CREDITS.md b/CREDITS.md index dfc75b7c..04b91554 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -139,11 +139,6 @@ Copyright © 2006-2016 Phillip Piper GNU General Public License (GPL) Version 3 https://sourceforge.net/projects/objectlistview/ -Markdig -Copyright © 2016-2019 Alexandre Mutel -BSD 2-Clause "Simplified" -https://github.com/lunet-io/markdig - ConsoleControl Copyright © 2015 Dave Kerr MIT License diff --git a/mRemoteNG.Specs/mRemoteNG.Specs.csproj b/mRemoteNG.Specs/mRemoteNG.Specs.csproj index 77e89717..6ed9287d 100644 --- a/mRemoteNG.Specs/mRemoteNG.Specs.csproj +++ b/mRemoteNG.Specs/mRemoteNG.Specs.csproj @@ -110,7 +110,7 @@ ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll - ..\packages\System.ValueTuple.4.5.0\lib\netstandard1.0\System.ValueTuple.dll + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll @@ -124,7 +124,7 @@ ..\packages\SpecFlow.NUnit.3.1.97\lib\net45\TechTalk.SpecFlow.NUnit.SpecFlowPlugin.dll - ..\packages\Utf8Json.1.3.7\lib\net45\Utf8Json.dll + ..\packages\Utf8Json.1.3.7\lib\net47\Utf8Json.dll diff --git a/mRemoteNG.Specs/packages.config b/mRemoteNG.Specs/packages.config index 16fa5e37..d1804d23 100644 --- a/mRemoteNG.Specs/packages.config +++ b/mRemoteNG.Specs/packages.config @@ -1,18 +1,18 @@  - + - + - + - + - + - + @@ -32,6 +32,6 @@ - - + + \ No newline at end of file diff --git a/mRemoteNGTests/packages.config b/mRemoteNGTests/packages.config index d22ef96c..7038a532 100644 --- a/mRemoteNGTests/packages.config +++ b/mRemoteNGTests/packages.config @@ -2,20 +2,20 @@ - - + + - + - + - + - + - - + + diff --git a/mRemoteV1/App/Windows.cs b/mRemoteV1/App/Windows.cs index d4ec8c9a..9a2ec643 100644 --- a/mRemoteV1/App/Windows.cs +++ b/mRemoteV1/App/Windows.cs @@ -8,7 +8,6 @@ namespace mRemoteNG.App { public static class Windows { - private static AboutWindow _aboutForm; private static ActiveDirectoryImportWindow _adimportForm; private static HelpWindow _helpForm; private static ExternalToolsWindow _externalappsForm; @@ -39,11 +38,6 @@ namespace mRemoteNG.App // ReSharper disable once SwitchStatementMissingSomeCases switch (windowType) { - case WindowType.About: - if (_aboutForm == null || _aboutForm.IsDisposed) - _aboutForm = new AboutWindow(); - _aboutForm.Show(dockPanel); - break; case WindowType.ActiveDirectoryImport: if (_adimportForm == null || _adimportForm.IsDisposed) _adimportForm = new ActiveDirectoryImportWindow(); diff --git a/mRemoteV1/Console.ico b/mRemoteV1/Console.ico new file mode 100644 index 0000000000000000000000000000000000000000..6800624b9fccaaeda43ddd7ac4696492640f2780 GIT binary patch literal 32591 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 U|0aZb`dfi!)xSdmR1V?)0m^j7jsO4v literal 0 HcmV?d00001 diff --git a/mRemoteV1/Resources/Language/Language.Designer.cs b/mRemoteV1/Resources/Language/Language.Designer.cs index 71330447..427371dd 100644 --- a/mRemoteV1/Resources/Language/Language.Designer.cs +++ b/mRemoteV1/Resources/Language/Language.Designer.cs @@ -126,14 +126,12 @@ namespace mRemoteNG { /// /// Looks up a localized string similar to Connection failed!. /// - internal static string ConnectionFailed - { - get - { + internal static string ConnectionFailed { + get { return ResourceManager.GetString("ConnectionFailed", resourceCulture); } } - + /// /// Looks up a localized string similar to The connection file could not be found.. /// @@ -1085,6 +1083,15 @@ namespace mRemoteNG { } } + /// + /// Looks up a localized string similar to Changelog. + /// + internal static string strChangelog { + get { + return ResourceManager.GetString("strChangelog", resourceCulture); + } + } + /// /// Looks up a localized string similar to Automatically try to reconnect when disconnected from server (RDP && ICA only). /// @@ -1259,14 +1266,12 @@ namespace mRemoteNG { /// /// Looks up a localized string similar to Close to notification area. /// - internal static string strCloseToSysTray - { - get - { + internal static string strCloseToSysTray { + get { return ResourceManager.GetString("strCloseToSysTray", resourceCulture); } } - + /// /// Looks up a localized string similar to Collapse all folders. /// @@ -1619,15 +1624,6 @@ namespace mRemoteNG { } } - /// - /// Looks up a localized string similar to Connection failed!. - /// - internal static string strConnectionEventConnectionFailed { - get { - return ResourceManager.GetString("strConnectionEventConnectionFailed", resourceCulture); - } - } - /// /// Looks up a localized string similar to A connection protocol error occurred. Host: "{1}"; Error code: "{2}"; Error Description: "{0}". /// @@ -1876,6 +1872,15 @@ namespace mRemoteNG { } } + /// + /// Looks up a localized string similar to Credits. + /// + internal static string strCredits { + get { + return ResourceManager.GetString("strCredits", resourceCulture); + } + } + /// /// Looks up a localized string similar to Installed version. /// @@ -2897,15 +2902,6 @@ namespace mRemoteNG { } } - /// - /// Looks up a localized string similar to Connection failed!. - /// - internal static string strIntAppConnectionFailed { - get { - return ResourceManager.GetString("strIntAppConnectionFailed", resourceCulture); - } - } - /// /// Looks up a localized string similar to Dispose of Int App process failed!. /// @@ -3257,6 +3253,15 @@ namespace mRemoteNG { } } + /// + /// Looks up a localized string similar to License. + /// + internal static string strLicense { + get { + return ResourceManager.GetString("strLicense", resourceCulture); + } + } + /// /// Looks up a localized string similar to Use UTF8 encoding for RDP "Load Balance Info" property. /// @@ -4692,14 +4697,12 @@ namespace mRemoteNG { /// /// Looks up a localized string similar to PowerShell. /// - internal static string strPowerShell - { - get - { + internal static string strPowerShell { + get { return ResourceManager.GetString("strPowerShell", resourceCulture); } } - + /// /// Looks up a localized string similar to (These properties will only be saved if you select mRemote/mRemoteNG XML as output file format!). /// @@ -5009,14 +5012,12 @@ namespace mRemoteNG { /// /// Looks up a localized string similar to Specifies the password of the Remote Desktop Gateway server.. /// - internal static string strPropertyDescriptionRDGatewayPassword - { - get - { + internal static string strPropertyDescriptionRDGatewayPassword { + get { return ResourceManager.GetString("strPropertyDescriptionRDGatewayPassword", resourceCulture); } } - + /// /// Looks up a localized string similar to Specifies when to use a Remote Desktop Gateway (RD Gateway) server.. /// @@ -5110,14 +5111,12 @@ namespace mRemoteNG { /// /// Looks up a localized string similar to Select whether microphones should be shared.. /// - internal static string strPropertyDescriptionRedirectMicrophones - { - get - { + internal static string strPropertyDescriptionRedirectMicrophones { + get { return ResourceManager.GetString("strPropertyDescriptionRedirectMicrophones", resourceCulture); } } - + /// /// Looks up a localized string similar to Select whether local ports (ie. com, parallel) should be shown on the remote host.. /// @@ -5965,15 +5964,6 @@ namespace mRemoteNG { } } - /// - /// Looks up a localized string similar to Connection failed!. - /// - internal static string strPuttyConnectionFailed { - get { - return ResourceManager.GetString("strPuttyConnectionFailed", resourceCulture); - } - } - /// /// Looks up a localized string similar to Dispose of Putty process failed!. /// @@ -8194,14 +8184,12 @@ namespace mRemoteNG { /// /// Looks up a localized string similar to Windows. /// - internal static string strWindows - { - get - { + internal static string strWindows { + get { return ResourceManager.GetString("strWindows", resourceCulture); } } - + /// /// Looks up a localized string similar to Working directory. /// diff --git a/mRemoteV1/Resources/Language/Language.de.resx b/mRemoteV1/Resources/Language/Language.de.resx index ecbeff0c..9ceb34aa 100644 --- a/mRemoteV1/Resources/Language/Language.de.resx +++ b/mRemoteV1/Resources/Language/Language.de.resx @@ -2711,4 +2711,7 @@ Development umfasst Alphas, Betas und Release Candidates. In den System Tray schließen + + Lizenz + \ No newline at end of file diff --git a/mRemoteV1/Resources/Language/Language.fr.resx b/mRemoteV1/Resources/Language/Language.fr.resx index 27e81f70..c778bcd2 100644 --- a/mRemoteV1/Resources/Language/Language.fr.resx +++ b/mRemoteV1/Resources/Language/Language.fr.resx @@ -59,7 +59,7 @@ : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> - + @@ -105,15 +105,15 @@ - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 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 @@ -2147,4 +2147,7 @@ Message: Oui - + + Crédits + + \ No newline at end of file diff --git a/mRemoteV1/Resources/Language/Language.resx b/mRemoteV1/Resources/Language/Language.resx index d24399d1..014fdfe2 100644 --- a/mRemoteV1/Resources/Language/Language.resx +++ b/mRemoteV1/Resources/Language/Language.resx @@ -2870,4 +2870,13 @@ Development Channel includes Alphas, Betas & Release Candidates. PowerShell + + Changelog + + + Credits + + + License + \ No newline at end of file diff --git a/mRemoteV1/UI/Forms/FrmAbout.Designer.cs b/mRemoteV1/UI/Forms/FrmAbout.Designer.cs new file mode 100644 index 00000000..1e6c0715 --- /dev/null +++ b/mRemoteV1/UI/Forms/FrmAbout.Designer.cs @@ -0,0 +1,174 @@ +namespace mRemoteNG.UI.Window +{ + public partial class FrmAbout + { + #region Windows Form Designer generated code + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAbout)); + this.pbLogo = new System.Windows.Forms.PictureBox(); + this.pnlBottom = new System.Windows.Forms.Panel(); + this.llCredits = new System.Windows.Forms.LinkLabel(); + this.llChangelog = new System.Windows.Forms.LinkLabel(); + this.llLicense = new System.Windows.Forms.LinkLabel(); + this.lblTitle = new mRemoteNG.UI.Controls.Base.NGLabel(); + this.lblVersion = new mRemoteNG.UI.Controls.Base.NGLabel(); + this.lblLicense = new mRemoteNG.UI.Controls.Base.NGLabel(); + this.lblCopyright = new mRemoteNG.UI.Controls.Base.NGLabel(); + ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); + this.pnlBottom.SuspendLayout(); + this.SuspendLayout(); + // + // pbLogo + // + this.pbLogo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(52)))), ((int)(((byte)(58)))), ((int)(((byte)(64))))); + this.pbLogo.BackgroundImage = global::mRemoteNG.Resources.Header_dark; + this.pbLogo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.pbLogo.Dock = System.Windows.Forms.DockStyle.Top; + this.pbLogo.Location = new System.Drawing.Point(0, 0); + this.pbLogo.Name = "pbLogo"; + this.pbLogo.Size = new System.Drawing.Size(584, 120); + this.pbLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pbLogo.TabIndex = 1; + this.pbLogo.TabStop = false; + // + // pnlBottom + // + this.pnlBottom.BackColor = System.Drawing.SystemColors.Control; + this.pnlBottom.Controls.Add(this.llCredits); + this.pnlBottom.Controls.Add(this.llChangelog); + this.pnlBottom.Controls.Add(this.llLicense); + this.pnlBottom.Controls.Add(this.lblTitle); + this.pnlBottom.Controls.Add(this.lblVersion); + this.pnlBottom.Controls.Add(this.lblLicense); + this.pnlBottom.Controls.Add(this.lblCopyright); + this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlBottom.ForeColor = System.Drawing.SystemColors.ControlText; + this.pnlBottom.Location = new System.Drawing.Point(0, 120); + this.pnlBottom.Name = "pnlBottom"; + this.pnlBottom.Size = new System.Drawing.Size(584, 161); + this.pnlBottom.TabIndex = 1; + // + // llCredits + // + this.llCredits.AutoSize = true; + this.llCredits.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.llCredits.Location = new System.Drawing.Point(5, 134); + this.llCredits.Name = "llCredits"; + this.llCredits.Size = new System.Drawing.Size(49, 17); + this.llCredits.TabIndex = 10; + this.llCredits.TabStop = true; + this.llCredits.Text = "Credits"; + this.llCredits.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llCredits_LinkClicked); + // + // llChangelog + // + this.llChangelog.AutoSize = true; + this.llChangelog.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.llChangelog.Location = new System.Drawing.Point(5, 117); + this.llChangelog.Name = "llChangelog"; + this.llChangelog.Size = new System.Drawing.Size(71, 17); + this.llChangelog.TabIndex = 9; + this.llChangelog.TabStop = true; + this.llChangelog.Text = "Changelog"; + this.llChangelog.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llChangelog_LinkClicked); + // + // llLicense + // + this.llLicense.AutoSize = true; + this.llLicense.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.llLicense.Location = new System.Drawing.Point(5, 100); + this.llLicense.Name = "llLicense"; + this.llLicense.Size = new System.Drawing.Size(50, 17); + this.llLicense.TabIndex = 8; + this.llLicense.TabStop = true; + this.llLicense.Text = "License"; + this.llLicense.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llLicense_LinkClicked); + // + // lblTitle + // + this.lblTitle.AutoSize = true; + this.lblTitle.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblTitle.ForeColor = System.Drawing.SystemColors.ControlText; + this.lblTitle.Location = new System.Drawing.Point(6, 3); + this.lblTitle.Name = "lblTitle"; + this.lblTitle.Size = new System.Drawing.Size(106, 27); + this.lblTitle.TabIndex = 0; + this.lblTitle.Text = "mRemoteNG"; + this.lblTitle.UseCompatibleTextRendering = true; + // + // lblVersion + // + this.lblVersion.AutoSize = true; + this.lblVersion.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblVersion.ForeColor = System.Drawing.SystemColors.ControlText; + this.lblVersion.Location = new System.Drawing.Point(6, 30); + this.lblVersion.Name = "lblVersion"; + this.lblVersion.Size = new System.Drawing.Size(49, 22); + this.lblVersion.TabIndex = 1; + this.lblVersion.Text = "Version"; + this.lblVersion.UseCompatibleTextRendering = true; + // + // lblLicense + // + this.lblLicense.AutoSize = true; + this.lblLicense.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblLicense.ForeColor = System.Drawing.SystemColors.ControlText; + this.lblLicense.Location = new System.Drawing.Point(6, 74); + this.lblLicense.Name = "lblLicense"; + this.lblLicense.Size = new System.Drawing.Size(48, 22); + this.lblLicense.TabIndex = 5; + this.lblLicense.Text = "License"; + this.lblLicense.UseCompatibleTextRendering = true; + // + // lblCopyright + // + this.lblCopyright.AutoSize = true; + this.lblCopyright.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblCopyright.ForeColor = System.Drawing.SystemColors.ControlText; + this.lblCopyright.Location = new System.Drawing.Point(6, 52); + this.lblCopyright.Name = "lblCopyright"; + this.lblCopyright.Size = new System.Drawing.Size(63, 22); + this.lblCopyright.TabIndex = 2; + this.lblCopyright.Text = "Copyright"; + this.lblCopyright.UseCompatibleTextRendering = true; + // + // FrmAbout + // + this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(584, 281); + this.Controls.Add(this.pnlBottom); + this.Controls.Add(this.pbLogo); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ForeColor = System.Drawing.SystemColors.ControlText; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(20000, 10000); + this.MinimizeBox = false; + this.Name = "FrmAbout"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "About"; + this.TopMost = true; + ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).EndInit(); + this.pnlBottom.ResumeLayout(false); + this.pnlBottom.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + internal Controls.Base.NGLabel lblCopyright; + internal Controls.Base.NGLabel lblTitle; + internal Controls.Base.NGLabel lblVersion; + internal Controls.Base.NGLabel lblLicense; + internal System.Windows.Forms.Panel pnlBottom; + internal System.Windows.Forms.PictureBox pbLogo; + private System.Windows.Forms.LinkLabel llCredits; + private System.Windows.Forms.LinkLabel llChangelog; + private System.Windows.Forms.LinkLabel llLicense; + } +} diff --git a/mRemoteV1/UI/Forms/FrmAbout.cs b/mRemoteV1/UI/Forms/FrmAbout.cs new file mode 100644 index 00000000..b526a32c --- /dev/null +++ b/mRemoteV1/UI/Forms/FrmAbout.cs @@ -0,0 +1,62 @@ +using mRemoteNG.App.Info; +using mRemoteNG.Themes; +using System.Windows.Forms; +using System.Diagnostics; +using mRemoteNG.UI.Forms; + +namespace mRemoteNG.UI.Window +{ + public partial class FrmAbout : Form + { + public static FrmAbout Instance { get; set; } = new FrmAbout(); + + private FrmAbout() + { + InitializeComponent(); + ThemeManager.getInstance().ThemeChanged += ApplyTheme; + ApplyLanguage(); + ApplyTheme(); + } + + private void ApplyLanguage() + { + lblLicense.Text = Language.strLabelReleasedUnderGPL; + base.Text = Language.strAbout; + llChangelog.Text = Language.strChangelog; + llCredits.Text = Language.strCredits; + llLicense.Text = Language.strLicense; + lblCopyright.Text = GeneralAppInfo.Copyright; + lblVersion.Text = $@"Version {GeneralAppInfo.ApplicationVersion}"; + AddPortableString(); + } + + [Conditional("PORTABLE")] + private void AddPortableString() => lblTitle.Text += $@" {Language.strLabelPortableEdition}"; + + private void ApplyTheme() + { + if (!ThemeManager.getInstance().ThemingActive) return; + if (!ThemeManager.getInstance().ActiveAndExtended) return; + pnlBottom.BackColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); + pnlBottom.ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); + } + + private void llLicense_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Process.Start("https://github.com/mRemoteNG/mRemoteNG/blob/develop/COPYING.TXT"); + Close(); + } + + private void llChangelog_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Process.Start("https://github.com/mRemoteNG/mRemoteNG/blob/develop/CHANGELOG.md"); + Close(); + } + + private void llCredits_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Process.Start("https://github.com/mRemoteNG/mRemoteNG/blob/develop/CREDITS.md"); + Close(); + } + } +} \ No newline at end of file diff --git a/mRemoteV1/UI/Window/AboutWindow.resx b/mRemoteV1/UI/Forms/FrmAbout.resx similarity index 100% rename from mRemoteV1/UI/Window/AboutWindow.resx rename to mRemoteV1/UI/Forms/FrmAbout.resx diff --git a/mRemoteV1/UI/Menu/HelpMenu.cs b/mRemoteV1/UI/Menu/HelpMenu.cs index ec4eb70b..f7819f0f 100644 --- a/mRemoteV1/UI/Menu/HelpMenu.cs +++ b/mRemoteV1/UI/Menu/HelpMenu.cs @@ -3,6 +3,7 @@ using System.Diagnostics; using System.Windows.Forms; using mRemoteNG.App; using mRemoteNG.App.Info; +using mRemoteNG.UI.Window; namespace mRemoteNG.UI.Menu { @@ -157,7 +158,7 @@ namespace mRemoteNG.UI.Menu private void mMenInfoDonate_Click(object sender, EventArgs e) => Process.Start(GeneralAppInfo.UrlDonate); - private void mMenInfoAbout_Click(object sender, EventArgs e) => Windows.Show(WindowType.About); + private void mMenInfoAbout_Click(object sender, EventArgs e) => FrmAbout.Instance.Show(); #endregion } diff --git a/mRemoteV1/UI/Window/AboutWindow.Designer.cs b/mRemoteV1/UI/Window/AboutWindow.Designer.cs deleted file mode 100644 index a1c9910f..00000000 --- a/mRemoteV1/UI/Window/AboutWindow.Designer.cs +++ /dev/null @@ -1,203 +0,0 @@ -namespace mRemoteNG.UI.Window -{ - public partial class AboutWindow - { - #region Windows Form Designer generated code - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutWindow)); - this.pnlTop = new System.Windows.Forms.Panel(); - this.pbLogo = new System.Windows.Forms.PictureBox(); - this.pnlBottom = new System.Windows.Forms.Panel(); - this.lblTitle = new mRemoteNG.UI.Controls.Base.NGLabel(); - this.lblVersion = new mRemoteNG.UI.Controls.Base.NGLabel(); - this.lblLicense = new mRemoteNG.UI.Controls.Base.NGLabel(); - this.lblCopyright = new mRemoteNG.UI.Controls.Base.NGLabel(); - this.tlpBottom = new System.Windows.Forms.TableLayoutPanel(); - this.gwbCredits = new Gecko.GeckoWebBrowser(); - this.gwbChangeLog = new Gecko.GeckoWebBrowser(); - this.tlpTop = new System.Windows.Forms.TableLayoutPanel(); - this.pnlTop.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); - this.pnlBottom.SuspendLayout(); - this.tlpBottom.SuspendLayout(); - this.tlpTop.SuspendLayout(); - this.SuspendLayout(); - // - // pnlTop - // - this.pnlTop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(52)))), ((int)(((byte)(58)))), ((int)(((byte)(64))))); - this.pnlTop.Controls.Add(this.pbLogo); - this.pnlTop.Dock = System.Windows.Forms.DockStyle.Fill; - this.pnlTop.ForeColor = System.Drawing.Color.White; - this.pnlTop.Location = new System.Drawing.Point(3, 3); - this.pnlTop.Name = "pnlTop"; - this.pnlTop.Size = new System.Drawing.Size(1111, 116); - this.pnlTop.TabIndex = 0; - // - // pbLogo - // - this.pbLogo.Image = global::mRemoteNG.Resources.Header_dark; - this.pbLogo.Location = new System.Drawing.Point(0, 0); - this.pbLogo.Name = "pbLogo"; - this.pbLogo.Size = new System.Drawing.Size(450, 120); - this.pbLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.pbLogo.TabIndex = 1; - this.pbLogo.TabStop = false; - // - // pnlBottom - // - this.pnlBottom.BackColor = System.Drawing.SystemColors.Control; - this.pnlBottom.Controls.Add(this.lblTitle); - this.pnlBottom.Controls.Add(this.lblVersion); - this.pnlBottom.Controls.Add(this.lblLicense); - this.pnlBottom.Controls.Add(this.lblCopyright); - this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Fill; - this.pnlBottom.ForeColor = System.Drawing.SystemColors.ControlText; - this.pnlBottom.Location = new System.Drawing.Point(3, 125); - this.pnlBottom.Name = "pnlBottom"; - this.pnlBottom.Size = new System.Drawing.Size(1111, 194); - this.pnlBottom.TabIndex = 1; - // - // lblTitle - // - this.lblTitle.AutoSize = true; - this.lblTitle.Font = new System.Drawing.Font("Segoe UI", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblTitle.ForeColor = System.Drawing.SystemColors.ControlText; - this.lblTitle.Location = new System.Drawing.Point(3, 3); - this.lblTitle.Name = "lblTitle"; - this.lblTitle.Size = new System.Drawing.Size(126, 31); - this.lblTitle.TabIndex = 0; - this.lblTitle.Text = "mRemoteNG"; - this.lblTitle.UseCompatibleTextRendering = true; - // - // lblVersion - // - this.lblVersion.AutoSize = true; - this.lblVersion.Font = new System.Drawing.Font("Segoe UI", 11F); - this.lblVersion.ForeColor = System.Drawing.SystemColors.ControlText; - this.lblVersion.Location = new System.Drawing.Point(3, 34); - this.lblVersion.Name = "lblVersion"; - this.lblVersion.Size = new System.Drawing.Size(55, 25); - this.lblVersion.TabIndex = 1; - this.lblVersion.Text = "Version"; - this.lblVersion.UseCompatibleTextRendering = true; - // - // lblLicense - // - this.lblLicense.AutoSize = true; - this.lblLicense.Font = new System.Drawing.Font("Segoe UI", 11F); - this.lblLicense.ForeColor = System.Drawing.SystemColors.ControlText; - this.lblLicense.Location = new System.Drawing.Point(3, 84); - this.lblLicense.Name = "lblLicense"; - this.lblLicense.Size = new System.Drawing.Size(54, 25); - this.lblLicense.TabIndex = 5; - this.lblLicense.Text = "License"; - this.lblLicense.UseCompatibleTextRendering = true; - // - // lblCopyright - // - this.lblCopyright.AutoSize = true; - this.lblCopyright.Font = new System.Drawing.Font("Segoe UI", 11F); - this.lblCopyright.ForeColor = System.Drawing.SystemColors.ControlText; - this.lblCopyright.Location = new System.Drawing.Point(3, 59); - this.lblCopyright.Name = "lblCopyright"; - this.lblCopyright.Size = new System.Drawing.Size(71, 25); - this.lblCopyright.TabIndex = 2; - this.lblCopyright.Text = "Copyright"; - this.lblCopyright.UseCompatibleTextRendering = true; - // - // tlpBottom - // - this.tlpBottom.ColumnCount = 2; - this.tlpBottom.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tlpBottom.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tlpBottom.Controls.Add(this.gwbCredits, 0, 0); - this.tlpBottom.Controls.Add(this.gwbChangeLog, 1, 0); - this.tlpBottom.Dock = System.Windows.Forms.DockStyle.Fill; - this.tlpBottom.Location = new System.Drawing.Point(0, 235); - this.tlpBottom.Name = "tlpBottom"; - this.tlpBottom.RowCount = 1; - this.tlpBottom.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tlpBottom.Size = new System.Drawing.Size(1117, 470); - this.tlpBottom.TabIndex = 13; - // - // gwbCredits - // - this.gwbCredits.Dock = System.Windows.Forms.DockStyle.Fill; - this.gwbCredits.FrameEventsPropagateToMainWindow = false; - this.gwbCredits.Location = new System.Drawing.Point(3, 3); - this.gwbCredits.Name = "gwbCredits"; - this.gwbCredits.NoDefaultContextMenu = true; - this.gwbCredits.Size = new System.Drawing.Size(552, 464); - this.gwbCredits.TabIndex = 12; - this.gwbCredits.UseHttpActivityObserver = false; - this.gwbCredits.DomClick += new System.EventHandler(this.LinkClicked); - // - // gwbChangeLog - // - this.gwbChangeLog.Dock = System.Windows.Forms.DockStyle.Fill; - this.gwbChangeLog.FrameEventsPropagateToMainWindow = false; - this.gwbChangeLog.Location = new System.Drawing.Point(561, 3); - this.gwbChangeLog.Name = "gwbChangeLog"; - this.gwbChangeLog.NoDefaultContextMenu = true; - this.gwbChangeLog.Size = new System.Drawing.Size(553, 464); - this.gwbChangeLog.TabIndex = 13; - this.gwbChangeLog.UseHttpActivityObserver = false; - this.gwbChangeLog.DomClick += new System.EventHandler(this.LinkClicked); - // - // tlpTop - // - this.tlpTop.ColumnCount = 1; - this.tlpTop.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tlpTop.Controls.Add(this.pnlTop, 0, 0); - this.tlpTop.Controls.Add(this.pnlBottom, 0, 1); - this.tlpTop.Dock = System.Windows.Forms.DockStyle.Top; - this.tlpTop.Location = new System.Drawing.Point(0, 0); - this.tlpTop.Name = "tlpTop"; - this.tlpTop.RowCount = 2; - this.tlpTop.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 122F)); - this.tlpTop.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 200F)); - this.tlpTop.Size = new System.Drawing.Size(1117, 235); - this.tlpTop.TabIndex = 14; - // - // AboutWindow - // - this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; - this.BackColor = System.Drawing.SystemColors.Control; - this.ClientSize = new System.Drawing.Size(1117, 705); - this.Controls.Add(this.tlpBottom); - this.Controls.Add(this.tlpTop); - this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.ForeColor = System.Drawing.SystemColors.ControlText; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximumSize = new System.Drawing.Size(20000, 10000); - this.Name = "AboutWindow"; - this.TabText = "About"; - this.Text = "About"; - this.pnlTop.ResumeLayout(false); - this.pnlTop.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).EndInit(); - this.pnlBottom.ResumeLayout(false); - this.pnlBottom.PerformLayout(); - this.tlpBottom.ResumeLayout(false); - this.tlpTop.ResumeLayout(false); - this.ResumeLayout(false); - - } - #endregion - - internal Controls.Base.NGLabel lblCopyright; - internal Controls.Base.NGLabel lblTitle; - internal Controls.Base.NGLabel lblVersion; - internal Controls.Base.NGLabel lblLicense; - internal System.Windows.Forms.Panel pnlBottom; - internal System.Windows.Forms.PictureBox pbLogo; - private System.Windows.Forms.TableLayoutPanel tlpBottom; - private System.Windows.Forms.TableLayoutPanel tlpTop; - internal System.Windows.Forms.Panel pnlTop; - private Gecko.GeckoWebBrowser gwbCredits; - private Gecko.GeckoWebBrowser gwbChangeLog; - } -} diff --git a/mRemoteV1/UI/Window/AboutWindow.cs b/mRemoteV1/UI/Window/AboutWindow.cs deleted file mode 100644 index 16317bb7..00000000 --- a/mRemoteV1/UI/Window/AboutWindow.cs +++ /dev/null @@ -1,132 +0,0 @@ -using System; -using System.Diagnostics; -using System.Drawing; -using System.IO; -using System.Text; -using Gecko; -using mRemoteNG.App; -using mRemoteNG.App.Info; -using mRemoteNG.Messages; -using mRemoteNG.Themes; -using Markdig; -using WeifenLuo.WinFormsUI.Docking; - -namespace mRemoteNG.UI.Window -{ - public partial class AboutWindow : BaseWindow - { - #region Public Methods - - public AboutWindow() - { - WindowType = WindowType.About; - DockPnl = new DockContent(); - if (!Xpcom.IsInitialized) - Xpcom.Initialize("Firefox"); - InitializeComponent(); - FontOverrider.FontOverride(this); - ThemeManager.getInstance().ThemeChanged += ApplyTheme; - ApplyLanguage(); - ApplyTheme(); - LoadDocuments(); - } - - #endregion Public Methods - - #region Private Methods - - private void ApplyLanguage() - { - lblLicense.Text = Language.strLabelReleasedUnderGPL; - TabText = Language.strAbout; - Text = Language.strAbout; - lblCopyright.Text = GeneralAppInfo.Copyright; - lblVersion.Text = $@"Version {GeneralAppInfo.ApplicationVersion}"; -#if PORTABLE - lblTitle.Text += $@" {Language.strLabelPortableEdition}"; -#endif - } - - private new void ApplyTheme() - { - if (!ThemeManager.getInstance().ThemingActive) return; - base.ApplyTheme(); - if (!ThemeManager.getInstance().ActiveAndExtended) return; - BackColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); - ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); - pnlBottom.BackColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); - pnlBottom.ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); - pnlTop.ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); - pnlTop.ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); - } - - #endregion Private Methods - - #region Form Stuff - - private void LoadDocuments() - { - try - { - // AppVeyor seems to pull text files in UNIX format... This messes up the display on the about screen... - // - // This would be MUCH faster: - //var UnxEndRx = new Regex(@"(?"; - - var changelog = ""; - using (var sR = new StreamReader(GeneralAppInfo.HomePath + @"\CHANGELOG.md", Encoding.UTF8, true)) - { - string line; - var i = 0; - while ((line = sR.ReadLine()) != null) - { - changelog += line + Environment.NewLine; - i++; - if (i <= 128 || line != string.Empty) continue; - changelog += - $"{Environment.NewLine}***See [CHANGELOG.md](https://github.com/mRemoteNG/mRemoteNG/blob/develop/CHANGELOG.md) for full History...***{Environment.NewLine}"; - break; - } - } - var changelogHtml = Markdown.ToHtml(changelog, pipeline); - changelogHtml = css + $"{changelogHtml}"; - - var credits = new StreamReader(GeneralAppInfo.HomePath + @"\CREDITS.md", Encoding.UTF8, true).ReadToEnd(); - var creditsHtml = Markdown.ToHtml(credits, pipeline); - creditsHtml = css + $"{creditsHtml}"; - - gwbChangeLog.LoadHtml(changelogHtml.Replace("©", "©")); - gwbCredits.LoadHtml(creditsHtml.Replace("©", "©")); - } - catch (Exception ex) - { - Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, - "Loading About failed" + Environment.NewLine + ex.Message, true); - } - } - - private void LinkClicked(object sender, DomMouseEventArgs e) - { - var url = ((GeckoWebBrowser)sender).StatusText; - if (!string.IsNullOrEmpty(url)) - Process.Start(url); - e.Handled = true; - } - - #endregion Form Stuff - } -} \ No newline at end of file diff --git a/mRemoteV1/UI/WindowType.cs b/mRemoteV1/UI/WindowType.cs index 4921365d..afb18aca 100644 --- a/mRemoteV1/UI/WindowType.cs +++ b/mRemoteV1/UI/WindowType.cs @@ -1,4 +1,4 @@ -namespace mRemoteNG.UI +namespace mRemoteNG.UI { public enum WindowType { @@ -8,7 +8,6 @@ namespace mRemoteNG.UI ErrorsAndInfos = 4, ScreenshotManager = 5, Options = 6, - About = 8, Update = 9, SSHTransfer = 10, ActiveDirectoryImport = 11, diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index 80380c73..7730a120 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -81,9 +81,6 @@ ..\packages\log4net.2.0.8\lib\net45-full\log4net.dll - - ..\packages\Markdig.0.20.0\lib\netstandard2.0\Markdig.dll - @@ -800,11 +797,11 @@ frmTaskDialog.cs - + Form - - AboutWindow.cs + + FrmAbout.cs ActiveDirectoryImportWindow.cs @@ -1100,8 +1097,8 @@ frmTaskDialog.cs - - AboutWindow.cs + + FrmAbout.cs Designer @@ -1192,9 +1189,9 @@ + - @@ -1226,6 +1223,7 @@ + diff --git a/mRemoteV1/packages.config b/mRemoteV1/packages.config index c0506e05..7820f1da 100644 --- a/mRemoteV1/packages.config +++ b/mRemoteV1/packages.config @@ -3,22 +3,21 @@ - - - - - + + + + + - - + - - + +