From f5212d88f3038d6ee9a4509bcbe3251efde81abc Mon Sep 17 00:00:00 2001
From: chylex <info@chylex.com>
Date: Sun, 8 May 2016 20:53:08 +0200
Subject: [PATCH] Redesign the About screen

---
 Core/Other/FormAbout.Designer.cs | 121 ++++++++++++---
 Core/Other/FormAbout.cs          |  36 ++---
 Core/Other/FormAbout.resx        | 246 +++++++++++++++++++++++++++++++
 Resources/about.png              | Bin 0 -> 7556 bytes
 TweetDck.csproj                  |   3 +
 5 files changed, 362 insertions(+), 44 deletions(-)
 create mode 100644 Core/Other/FormAbout.resx
 create mode 100644 Resources/about.png

diff --git a/Core/Other/FormAbout.Designer.cs b/Core/Other/FormAbout.Designer.cs
index b5c47f59..8c7fec77 100644
--- a/Core/Other/FormAbout.Designer.cs
+++ b/Core/Other/FormAbout.Designer.cs
@@ -25,44 +25,131 @@ protected override void Dispose(bool disposing) {
         /// the contents of this method with the code editor.
         /// </summary>
         private void InitializeComponent() {
-            this.labelAbout = new TweetDck.Core.Controls.RichTextLabel();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout));
+            this.pictureLogo = new System.Windows.Forms.PictureBox();
+            this.labelDescription = new System.Windows.Forms.Label();
+            this.labelSourceCode = new System.Windows.Forms.LinkLabel();
+            this.labelWebsite = new System.Windows.Forms.LinkLabel();
+            this.tablePanelLinks = new System.Windows.Forms.TableLayoutPanel();
+            this.labelIssues = new System.Windows.Forms.LinkLabel();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureLogo)).BeginInit();
+            this.tablePanelLinks.SuspendLayout();
             this.SuspendLayout();
             // 
-            // labelAbout
+            // pictureLogo
             // 
-            this.labelAbout.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            this.pictureLogo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
+            this.pictureLogo.ErrorImage = null;
+            this.pictureLogo.Image = ((System.Drawing.Image)(resources.GetObject("pictureLogo.Image")));
+            this.pictureLogo.InitialImage = null;
+            this.pictureLogo.Location = new System.Drawing.Point(12, 12);
+            this.pictureLogo.Name = "pictureLogo";
+            this.pictureLogo.Size = new System.Drawing.Size(96, 96);
+            this.pictureLogo.TabIndex = 0;
+            this.pictureLogo.TabStop = false;
+            // 
+            // labelDescription
+            // 
+            this.labelDescription.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.labelAbout.BackColor = System.Drawing.Color.White;
-            this.labelAbout.BorderStyle = System.Windows.Forms.BorderStyle.None;
-            this.labelAbout.Location = new System.Drawing.Point(12, 12);
-            this.labelAbout.Name = "labelAbout";
-            this.labelAbout.ReadOnly = true;
-            this.labelAbout.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None;
-            this.labelAbout.Size = new System.Drawing.Size(360, 126);
-            this.labelAbout.TabIndex = 0;
-            this.labelAbout.TabStop = false;
-            this.labelAbout.Text = "";
-            this.labelAbout.Click += new System.EventHandler(this.labelAbout_Click);
+            this.labelDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+            this.labelDescription.Location = new System.Drawing.Point(114, 12);
+            this.labelDescription.Name = "labelDescription";
+            this.labelDescription.Size = new System.Drawing.Size(232, 109);
+            this.labelDescription.TabIndex = 1;
+            // 
+            // labelSourceCode
+            // 
+            this.labelSourceCode.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.labelSourceCode.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+            this.labelSourceCode.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
+            this.labelSourceCode.Location = new System.Drawing.Point(117, 0);
+            this.labelSourceCode.Margin = new System.Windows.Forms.Padding(0);
+            this.labelSourceCode.Name = "labelSourceCode";
+            this.labelSourceCode.Size = new System.Drawing.Size(99, 16);
+            this.labelSourceCode.TabIndex = 3;
+            this.labelSourceCode.Text = "Source Code";
+            this.labelSourceCode.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            this.labelSourceCode.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.OnLinkClicked);
+            // 
+            // labelWebsite
+            // 
+            this.labelWebsite.AutoSize = true;
+            this.labelWebsite.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.labelWebsite.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+            this.labelWebsite.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
+            this.labelWebsite.Location = new System.Drawing.Point(0, 0);
+            this.labelWebsite.Margin = new System.Windows.Forms.Padding(0);
+            this.labelWebsite.Name = "labelWebsite";
+            this.labelWebsite.Size = new System.Drawing.Size(117, 16);
+            this.labelWebsite.TabIndex = 2;
+            this.labelWebsite.Text = "Official Website";
+            this.labelWebsite.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            this.labelWebsite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.OnLinkClicked);
+            // 
+            // tablePanelLinks
+            // 
+            this.tablePanelLinks.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.tablePanelLinks.ColumnCount = 3;
+            this.tablePanelLinks.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 35.16F));
+            this.tablePanelLinks.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 29.7F));
+            this.tablePanelLinks.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 35.14F));
+            this.tablePanelLinks.Controls.Add(this.labelIssues, 2, 0);
+            this.tablePanelLinks.Controls.Add(this.labelWebsite, 0, 0);
+            this.tablePanelLinks.Controls.Add(this.labelSourceCode, 1, 0);
+            this.tablePanelLinks.Location = new System.Drawing.Point(12, 124);
+            this.tablePanelLinks.Name = "tablePanelLinks";
+            this.tablePanelLinks.RowCount = 1;
+            this.tablePanelLinks.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tablePanelLinks.Size = new System.Drawing.Size(334, 16);
+            this.tablePanelLinks.TabIndex = 4;
+            // 
+            // labelIssues
+            // 
+            this.labelIssues.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.labelIssues.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+            this.labelIssues.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
+            this.labelIssues.Location = new System.Drawing.Point(216, 0);
+            this.labelIssues.Margin = new System.Windows.Forms.Padding(0);
+            this.labelIssues.Name = "labelIssues";
+            this.labelIssues.Size = new System.Drawing.Size(118, 16);
+            this.labelIssues.TabIndex = 4;
+            this.labelIssues.Text = "Report an Issue";
+            this.labelIssues.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+            this.labelIssues.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.OnLinkClicked);
             // 
             // FormAbout
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.BackColor = System.Drawing.Color.White;
-            this.ClientSize = new System.Drawing.Size(384, 150);
-            this.Controls.Add(this.labelAbout);
+            this.ClientSize = new System.Drawing.Size(358, 152);
+            this.Controls.Add(this.tablePanelLinks);
+            this.Controls.Add(this.labelDescription);
+            this.Controls.Add(this.pictureLogo);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
             this.MaximizeBox = false;
             this.MinimizeBox = false;
             this.Name = "FormAbout";
+            this.ShowIcon = false;
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+            ((System.ComponentModel.ISupportInitialize)(this.pictureLogo)).EndInit();
+            this.tablePanelLinks.ResumeLayout(false);
+            this.tablePanelLinks.PerformLayout();
             this.ResumeLayout(false);
 
         }
 
         #endregion
 
-        private Controls.RichTextLabel labelAbout;
+        private System.Windows.Forms.PictureBox pictureLogo;
+        private System.Windows.Forms.Label labelDescription;
+        private System.Windows.Forms.LinkLabel labelSourceCode;
+        private System.Windows.Forms.LinkLabel labelWebsite;
+        private System.Windows.Forms.TableLayoutPanel tablePanelLinks;
+        private System.Windows.Forms.LinkLabel labelIssues;
+
     }
 }
\ No newline at end of file
diff --git a/Core/Other/FormAbout.cs b/Core/Other/FormAbout.cs
index c4b1e3d9..0b83eb15 100644
--- a/Core/Other/FormAbout.cs
+++ b/Core/Other/FormAbout.cs
@@ -1,43 +1,25 @@
-using System;
-using System.Text;
-using System.Windows.Forms;
-using TweetDck.Core.Controls;
+using System.Windows.Forms;
 using TweetDck.Core.Utils;
 
 namespace TweetDck.Core.Other{
     sealed partial class FormAbout : Form{
         private const string GitHubLink = "https://github.com/chylex/TweetDuck";
+        private const string IssuesLink = "https://github.com/chylex/TweetDuck/issues";
 
         public FormAbout(){
             InitializeComponent();
 
             Text = "About "+Program.BrandName+" "+Program.VersionTag;
 
-            StringBuilder build = new StringBuilder();
-            build.Append(@"\fs22").Append(Program.BrandName).Append(@" was created by chylex as a replacement to the discontinued TweetDeck client for Windows, and is released under the MIT license.\par ");
-            build.Append(@"Official Website: ").Append(RichTextLabel.AddLink(Program.Website)).Append(@"\line ");
-            build.Append(@"Source Code: ").Append(RichTextLabel.AddLink(GitHubLink));
-
-            labelAbout.Rtf = RichTextLabel.Wrap(build.ToString());
+            labelDescription.Text = Program.BrandName+" was created by chylex as a replacement to the discontinued official TweetDeck client for Windows.\n\nThe program is available for free under the open source MIT license.";
+            
+            labelWebsite.Links.Add(new LinkLabel.Link(0,labelWebsite.Text.Length,Program.Website));
+            labelSourceCode.Links.Add(new LinkLabel.Link(0,labelSourceCode.Text.Length,GitHubLink));
+            labelIssues.Links.Add(new LinkLabel.Link(0,labelIssues.Text.Length,IssuesLink));
         }
 
-        private void labelAbout_Click(object sender, EventArgs e){ // LinkClicked isn't working so fuck that
-            if (Cursor.Current != Cursors.Hand)return;
-
-            // I don't even give a fuck, someone else PR a proper fix please
-            int index = labelAbout.GetCharIndexFromPosition(((MouseEventArgs)e).Location);
-
-            if (IsClickingOn(index,Program.Website)){
-                BrowserUtils.OpenExternalBrowser(Program.Website);
-            }
-            else if (IsClickingOn(index,GitHubLink)){
-                BrowserUtils.OpenExternalBrowser(GitHubLink);
-            }
-        }
-
-        private bool IsClickingOn(int index, string substringSearch){
-            int substringIndex = labelAbout.Text.IndexOf(substringSearch,StringComparison.Ordinal);
-            return index >= substringIndex && index <= substringIndex+substringSearch.Length;
+        private void OnLinkClicked(object sender, LinkLabelLinkClickedEventArgs e){
+            BrowserUtils.OpenExternalBrowser(e.Link.LinkData as string);
         }
     }
 }
diff --git a/Core/Other/FormAbout.resx b/Core/Other/FormAbout.resx
new file mode 100644
index 00000000..5e671b5c
--- /dev/null
+++ b/Core/Other/FormAbout.resx
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureLogo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        AElFTkSuQmCC
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Resources/about.png b/Resources/about.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6a6b534dd3ad75675488b95f5e1471f5b084eb6
GIT binary patch
literal 7556
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
a{{sMu)PFFdhNNx)0000<MNUMnLSTZyp>UP}

literal 0
HcmV?d00001

diff --git a/TweetDck.csproj b/TweetDck.csproj
index 7ee86a37..0cd55f2f 100644
--- a/TweetDck.csproj
+++ b/TweetDck.csproj
@@ -211,6 +211,9 @@
     <EmbeddedResource Include="Core\FormBrowser.resx">
       <DependentUpon>FormBrowser.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="Core\Other\FormAbout.resx">
+      <DependentUpon>FormAbout.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Core\Other\FormSettings.resx">
       <DependentUpon>FormSettings.cs</DependentUpon>
     </EmbeddedResource>