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>