From 10229812ad2538583d54d3f99bab1b7592263b18 Mon Sep 17 00:00:00 2001 From: Jaex Date: Thu, 1 Jun 2017 18:25:52 +0300 Subject: [PATCH] Added unread indicator --- ShareX/Controls/NewsListControl.cs | 20 +++++++++++--------- ShareX/Forms/MainForm.resx | 4 ++-- ShareX/NewsItem.cs | 1 + 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/ShareX/Controls/NewsListControl.cs b/ShareX/Controls/NewsListControl.cs index ceb245fd3..2f25d170b 100644 --- a/ShareX/Controls/NewsListControl.cs +++ b/ShareX/Controls/NewsListControl.cs @@ -32,6 +32,7 @@ using System.Text; using System.Windows.Forms; using ShareX.HelpersLib; +using System.Drawing.Drawing2D; namespace ShareX { @@ -45,8 +46,8 @@ public NewsListControl() tlpMain.CellPaint += TlpMain_CellPaint; - AddNewsItem(new NewsItem() { DateTimeUTC = DateTime.Now, Text = "ShareX released on Windows Store!" }); - AddNewsItem(new NewsItem() { DateTimeUTC = DateTime.Now, Text = "ShareX 1.8.0 released." }); + AddNewsItem(new NewsItem() { DateTimeUTC = DateTime.Now, Text = "ShareX released on Windows Store!\nMulti line test.", IsUnread = true }); + AddNewsItem(new NewsItem() { DateTimeUTC = DateTime.Now, Text = "ShareX 1.8.0 released.", IsUnread = true }); AddNewsItem(new NewsItem() { DateTimeUTC = DateTime.Now, Text = "We now have a Discord server!" }); AddNewsItem(new NewsItem() { DateTimeUTC = DateTime.Now, Text = "ShareX 1.7.0 released." }); AddNewsItem(new NewsItem() { DateTimeUTC = DateTime.Now, Text = "ShareX 1.6.0 released." }); @@ -62,17 +63,13 @@ private void TlpMain_CellPaint(object sender, TableLayoutCellPaintEventArgs e) { Color color; - if (e.Row == 1) - { - color = Color.FromArgb(240, 255, 240); - } - else if (e.Row.IsEvenNumber()) + if (e.Row.IsEvenNumber()) { color = Color.FromArgb(250, 250, 250); } else { - color = Color.FromArgb(245, 245, 245); + color = Color.FromArgb(246, 246, 246); } using (Brush brush = new SolidBrush(color)) @@ -80,6 +77,11 @@ private void TlpMain_CellPaint(object sender, TableLayoutCellPaintEventArgs e) e.Graphics.FillRectangle(brush, e.CellBounds); } + if (NewsItems.IsValidIndex(e.Row) && NewsItems[e.Row].IsUnread && e.Column == 0) + { + e.Graphics.FillRectangle(Brushes.LimeGreen, new Rectangle(e.CellBounds.X, e.CellBounds.Y, 5, e.CellBounds.Height)); + } + e.Graphics.DrawLine(Pens.LightGray, new Point(e.CellBounds.X, e.CellBounds.Bottom - 1), new Point(e.CellBounds.Right - 1, e.CellBounds.Bottom - 1)); } @@ -98,7 +100,7 @@ public void AddNewsItem(NewsItem item) BackColor = Color.Transparent, Font = new Font("Arial", 10), Margin = new Padding(0), - Padding = new Padding(5, 8, 5, 8), + Padding = new Padding(10, 8, 5, 8), Text = item.DateTimeUTC.ToLocalTime().ToShortDateString() }; tlpMain.Controls.Add(lblDateTime, 0, index); diff --git a/ShareX/Forms/MainForm.resx b/ShareX/Forms/MainForm.resx index 5a2d5baf6..76638ac90 100644 --- a/ShareX/Forms/MainForm.resx +++ b/ShareX/Forms/MainForm.resx @@ -1741,13 +1741,13 @@ Top, Bottom, Left, Right - 320, 8 + 280, 8 0, 0, 0, 0 - 504, 384 + 544, 392 4 diff --git a/ShareX/NewsItem.cs b/ShareX/NewsItem.cs index 74928098a..732ebfbee 100644 --- a/ShareX/NewsItem.cs +++ b/ShareX/NewsItem.cs @@ -35,5 +35,6 @@ public class NewsItem public DateTime DateTimeUTC { get; set; } public string Text { get; set; } public string URL { get; set; } + public bool IsUnread { get; set; } } } \ No newline at end of file