diff --git a/mRemoteV1/CREDITS.md b/mRemoteV1/CREDITS.md index 690b7b3e..1c303ca1 100644 --- a/mRemoteV1/CREDITS.md +++ b/mRemoteV1/CREDITS.md @@ -1,37 +1,37 @@ # Contributors ## Current mRemoteNG dev team -David Sparer (github.com/sparerd) -Sean Kaim (github.com/kmscode) -Faryan Rezagholi (github.com/farosch) +[David Sparer](https://www.github.com/sparerd) +[Sean Kaim](https://www.github.com/kmscode) +[Faryan Rezagholi](https://www.github.com/farosch) -Thanks for the awesome new website! -Bennett Blodinger (github.com/benwa) +**Thanks for the awesome new website!** +[Bennett Blodinger](https://www.github.com/benwa) -Joe Cefoli (github.com/jcefoli) -countchappy (github.com/countchappy) +[Joe Cefoli](https://www.github.com/jcefoli) +[countchappy](https://www.github.com/countchappy) Tony Lambert -Julien Roncaglia (github.com/vbfox) -github.com/peterchenadded -Brandon Wulf (github.com/mrwulf) -Pedro Rodrigues (github.com/pedro2555) -github.com/dekelMP -Bruce (github.com/brucetp) -Camilo Alvarez (github.com/jotatsu) -github.com/DamianBis -github.com/pfjason -github.com/sirLoaf -github.com/Fyers -Vladimir Semenov (github.com/sli-pro) -Stephan (github.com/st-schuler) -Aleksey Reytsman (github.com/areytsman) -Cristian Abelleira (github.com/CrAbelleira) -github.com/MitchellBot +[Julien Roncaglia](https://www.github.com/vbfox) +[peterchenadded](https://www.github.com/peterchenadded) +[Brandon Wulf](https://www.github.com/mrwulf) +[Pedro Rodrigues](https://www.github.com/pedro2555) +[dekelMP](https://www.github.com/dekelMP) +[Bruce](https://www.github.com/brucetp) +[Camilo Alvarez](https://www.github.com/jotatsu) +[DamianBis](https://www.github.com/DamianBis) +[pfjason](https://www.github.com/pfjason) +[sirLoaf](https://www.github.com/sirLoaf) +[Fyers](https://www.github.com/Fyers) +[Vladimir Semenov](https://www.github.com/sli-pro) +[Stephan](https://www.github.com/st-schuler) +[Aleksey Reytsman](https://www.github.com/areytsman) +[Cristian Abelleira](https://www.github.com/CrAbelleira) +[MitchellBot ](https://www.github.com/MitchellBot) ## Past Contributors Felix Deimel - mRemote original developer Riley McArdle - mRemoteNG original developer -Hayato Iriumi (github.com/hiriumi) +[Hayato Iriumi](https://www.github.com/hiriumi) Jason Barbier Wiktor Beryt Lionel Caignec @@ -40,98 +40,86 @@ Holger Henke Tom Hiller Apisitt Rattana Andreas Rehm -David Vidmar -github.com/Brandhor -Dimitrij (github.com/Kvarkas) +[David Vidmar](https://www.github.com/Brandhor) +[Dimitrij](https://www.github.com/Kvarkas) ## Translators -Eugenio "Ryo567" Martínez +Eugenio *"Ryo567"* Martínez Mathieu Pape Emanuel Silva Robert Siwiec Hayato Iriumi -Sebastien Thieury (github.com/SebThieu) +[Sebastien Thieury](https://www.github.com/SebThieu) Riza Emet -Lukas Plachy (github.com/rheingold) +[Lukas Plachy](https://www.github.com/rheingold) Gyuha Shin -Stefan (github.com/polluks) -github.com/emazv72 -Vladimir Semenov (github.com/sli-pro) -Marco Sousa (github.com/marcomsousa) -github.com/wwj402 -github.com/Fyers -github.com/pablomh +[Stefan](https://www.github.com/polluks) +[emazv72](https://www.github.com/emazv72) +[Vladimir Semenov](https://www.github.com/sli-pro) +[Marco Sousa](https://www.github.com/marcomsousa) +[wwj402](https://www.github.com/wwj402) +[Fyers](https://www.github.com/Fyers) +[pablomh](https://www.github.com/pablomh) ## Included Source Code -Command Line Arguments Parser +[**Command Line Arguments Parser**](http://www.codeproject.com/KB/recipes/command_line.aspx) Copyright © 2002 Richard Lopes MIT License -http://www.codeproject.com/KB/recipes/command_line.aspx -FilteredPropertyGrid +[**FilteredPropertyGrid**](http://www.codeproject.com/KB/cs/FilteredPropertyGrid.aspx) Copyright © 2006 Azuria -http://www.codeproject.com/KB/cs/FilteredPropertyGrid.aspx -InputBox +[**InputBox**](http://www.csharp-examples.net/inputbox/) Copyright © 2016 Jan Slama -http://www.csharp-examples.net/inputbox/ -IP TextBox +[**IP TextBox**](http://www.codeproject.com/Articles/11576/IP-TextBox) Copyright © 2005 mawnkay -http://www.codeproject.com/Articles/11576/IP-TextBox -PortableSettingsProvider +[**PortableSettingsProvider**](https://https://www.github.com/crdx/PortableSettingsProvider) Copyright © 2014 crdx -https://github.com/crdx/PortableSettingsProvider - ## Included Components -ADTree +[**ADTree**](http://www.codeproject.com/KB/selection/ADPickerCtrl.aspx) Copyright © 2004 Marc Merritt Copyright © 2008 Felix Deimel -http://www.codeproject.com/KB/selection/ADPickerCtrl.aspx -DockPanel Suite +[**DockPanel Suite**](https://https://www.github.com/dockpanelsuite/dockpanelsuite) Copyright © 2018 @roken and @lextm (formerly Weifen Luo) MIT License -https://github.com/dockpanelsuite/dockpanelsuite -GeckoFX +[**GeckoFX**](https://bitbucket.org/geckofx/) Copyright © 2016 Tom Hindle Mozilla Public License -https://bitbucket.org/geckofx/ -log4net +[**log4net**](http://logging.apache.org/log4net/) Copyright © 2001-2015 The Apache Software Foundation Apache License Version 2.0 -http://logging.apache.org/log4net/ -Magic Library +[**Magic Library**](http://www.dotnetmagic.com/magic_download.html) Copyright © 2002-2003 Crownwood Consulting, Ltd. Freely redistributable with attribution -http://www.dotnetmagic.com/magic_download.html -PuTTY +[**PuTTY**](http://www.chiark.greenend.org.uk/~sgtatham/putty/) Copyright © 1997-2017 Simon Tatham MIT License -http://www.chiark.greenend.org.uk/~sgtatham/putty/ -Silk Icon Set +[**Silk Icon Set**](http://www.famfamfam.com/) Copyright © 2005-2008 FAMFAMFAM Creative Commons Attribution 2.5 License -http://www.famfamfam.com/ -SSH.NET +[**SSH.NET**](https://https://www.github.com/sshnet/SSH.NET) Copyright © 2016 MIT License -https://github.com/sshnet/SSH.NET -VncSharp +[**VncSharp**](https://https://www.github.com/humphd/VncSharp) Copyright © 2004-2009 David Humphrey GNU General Public License (GPL) Version 2 -https://github.com/humphd/VncSharp -ObjectListView +[**ObjectListView**](https://sourceforge.net/projects/objectlistview/) Copyright © 2006-2016 Phillip Piper GNU General Public License (GPL) Version 3 -https://sourceforge.net/projects/objectlistview/ + +[**Markdig**](https://https://www.github.com/lunet-io/markdig) +Copyright © 2016-2019 Alexandre Mutel +BSD 2-Clause "Simplified" + diff --git a/mRemoteV1/UI/Window/AboutWindow.Designer.cs b/mRemoteV1/UI/Window/AboutWindow.Designer.cs new file mode 100644 index 00000000..31ffbfae --- /dev/null +++ b/mRemoteV1/UI/Window/AboutWindow.Designer.cs @@ -0,0 +1,202 @@ +namespace mRemoteNG.UI.Window +{ + public partial class AboutWindow : BaseWindow + { + #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; + // + // 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; + // + // 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.Load += new System.EventHandler(this.About_Load); + 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 index 75503c35..980387af 100644 --- a/mRemoteV1/UI/Window/AboutWindow.cs +++ b/mRemoteV1/UI/Window/AboutWindow.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Windows.Forms; using WeifenLuo.WinFormsUI.Docking; using System.IO; @@ -6,206 +6,23 @@ using System.Text; using mRemoteNG.App; using mRemoteNG.App.Info; using mRemoteNG.Themes; +using Markdig; +using System.Diagnostics; +using System.Drawing; +using Gecko; namespace mRemoteNG.UI.Window { - public class AboutWindow : BaseWindow + public partial class AboutWindow : BaseWindow { - #region Form Init - - internal Controls.Base.NGLabel lblCopyright; - internal Controls.Base.NGLabel lblTitle; - internal Controls.Base.NGLabel lblVersion; - internal Controls.Base.NGLabel lblLicense; - internal Controls.Base.NGTextBox txtChangeLog; - internal Panel pnlBottom; - internal PictureBox pbLogo; - internal Controls.Base.NGTextBox txtCredits; - internal Panel pnlTop; - - 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.txtCredits = new mRemoteNG.UI.Controls.Base.NGTextBox(); - this.txtChangeLog = new mRemoteNG.UI.Controls.Base.NGTextBox(); - 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.pnlTop.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); - this.pnlBottom.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.Top; - this.pnlTop.ForeColor = System.Drawing.Color.White; - this.pnlTop.Location = new System.Drawing.Point(0, 0); - this.pnlTop.Name = "pnlTop"; - this.pnlTop.Size = new System.Drawing.Size(1117, 122); - 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.txtCredits); - this.pnlBottom.Controls.Add(this.txtChangeLog); - 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, 122); - this.pnlBottom.Name = "pnlBottom"; - this.pnlBottom.Size = new System.Drawing.Size(1117, 583); - this.pnlBottom.TabIndex = 1; - // - // txtCredits - // - this.txtCredits.Anchor = - ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | - System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); - this.txtCredits.BackColor = System.Drawing.SystemColors.Control; - this.txtCredits.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.txtCredits.Cursor = System.Windows.Forms.Cursors.Default; - this.txtCredits.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, - System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txtCredits.ForeColor = System.Drawing.SystemColors.ControlText; - this.txtCredits.Location = new System.Drawing.Point(8, 131); - this.txtCredits.MinimumSize = new System.Drawing.Size(370, 260); - this.txtCredits.Multiline = true; - this.txtCredits.Name = "txtCredits"; - this.txtCredits.ReadOnly = true; - this.txtCredits.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtCredits.Size = new System.Drawing.Size(400, 449); - this.txtCredits.TabIndex = 7; - this.txtCredits.TabStop = false; - // - // txtChangeLog - // - this.txtChangeLog.Anchor = - ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | - System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.txtChangeLog.BackColor = System.Drawing.SystemColors.Control; - this.txtChangeLog.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.txtChangeLog.Cursor = System.Windows.Forms.Cursors.Default; - this.txtChangeLog.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, - System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txtChangeLog.ForeColor = System.Drawing.SystemColors.ControlText; - this.txtChangeLog.Location = new System.Drawing.Point(414, 131); - this.txtChangeLog.MinimumSize = new System.Drawing.Size(370, 260); - this.txtChangeLog.Multiline = true; - this.txtChangeLog.Name = "txtChangeLog"; - this.txtChangeLog.ReadOnly = true; - this.txtChangeLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtChangeLog.Size = new System.Drawing.Size(696, 449); - this.txtChangeLog.TabIndex = 10; - this.txtChangeLog.TabStop = false; - // - // 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; - // - // 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.pnlBottom); - this.Controls.Add(this.pnlTop); - 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.Load += new System.EventHandler(this.About_Load); - this.pnlTop.ResumeLayout(false); - this.pnlTop.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).EndInit(); - this.pnlBottom.ResumeLayout(false); - this.pnlBottom.PerformLayout(); - this.ResumeLayout(false); - } - - #endregion - #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; @@ -233,6 +50,14 @@ namespace mRemoteNG.UI.Window 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"); + + //gwbCredits.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point, 0); + //gwbCredits.BackColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); ; + //gwbCredits.ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); ; + + //gwbCHangelog.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point, 0); + //gwbCHangelog.BackColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); ; + //gwbCHangelog.ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); ; } private void ApplyEditions() @@ -277,9 +102,10 @@ namespace mRemoteNG.UI.Window try { lblCopyright.Text = GeneralAppInfo.Copyright; - lblVersion.Text = $@"Version {GeneralAppInfo.ApplicationVersion}"; + var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build(); + // AppVeyor seems to pull text files in UNIX format... This messes up the display on the about screen... // // This would be MUCH faster: @@ -293,38 +119,42 @@ namespace mRemoteNG.UI.Window if (File.Exists(GeneralAppInfo.HomePath + "\\CHANGELOG.md")) { + var changelog = ""; + using (var sR = new StreamReader(GeneralAppInfo.HomePath + "\\CHANGELOG.md", Encoding.UTF8, true)) { string line; var i = 0; - while ((line = sR.ReadLine()) != null && i < 128) + while ((line = sR.ReadLine()) != null) { - txtChangeLog.Text += line + Environment.NewLine; + changelog += line + Environment.NewLine; i++; - } - - if (i == 128) - { - txtChangeLog.Text += - $"{Environment.NewLine}****************************************{Environment.NewLine}See CHANGELOG.md for full History...{Environment.NewLine}****************************************{Environment.NewLine}"; + if (i > 128 && line == string.Empty) + { + changelog += $"{Environment.NewLine}***See CHANGELOG.md for full History...***{Environment.NewLine}"; + break; + } } } + + var result = Markdown.ToHtml(changelog, pipeline); + var color = ColorTranslator.ToHtml(ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background")); + result = "" + result + ""; + gwbChangeLog.LoadHtml(result); } if (File.Exists(GeneralAppInfo.HomePath + "\\CREDITS.md")) { - using (var sR = new StreamReader(GeneralAppInfo.HomePath + "\\CREDITS.md", Encoding.UTF8, true)) - { - string line; - while ((line = sR.ReadLine()) != null) - txtCredits.Text += line + Environment.NewLine; - } + var changelog = new StreamReader(GeneralAppInfo.HomePath + "\\CREDITS.md", Encoding.UTF8, true).ReadToEnd(); + var result = Markdown.ToHtml(changelog, pipeline); + var color = ColorTranslator.ToHtml(ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background")); + result = "" + result + ""; + gwbCredits.LoadHtml(result); } } catch (Exception ex) { - Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, - "Loading About failed" + Environment.NewLine + ex.Message, true); + Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Loading About failed" + Environment.NewLine + ex.Message, true); } } diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index d1d5df9f..9d16c5e1 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -62,6 +62,9 @@ ..\packages\log4net.2.0.8\lib\net45-full\log4net.dll + + ..\packages\Markdig.0.16.0\lib\net40\Markdig.dll + @@ -744,6 +747,9 @@ Form + + AboutWindow.cs + ActiveDirectoryImportWindow.cs