If news unread start animation

This commit is contained in:
Jaex 2017-06-14 15:21:37 +03:00
parent ac40d70195
commit 2509b14223
3 changed files with 33 additions and 1 deletions

View file

@ -68,6 +68,12 @@ public void StopAnimation()
timer.Stop();
}
public void ResetAnimation()
{
StopAnimation();
ForeColor = FromColor;
}
private void timer_Tick(object sender, EventArgs e)
{
progress += direction * speed;

View file

@ -40,6 +40,8 @@ public partial class NewsListControl : UserControl
{
public NewsManager NewsManager { get; private set; }
public event EventHandler NewsLoaded;
private ToolTip tooltip;
public NewsListControl()
@ -54,7 +56,10 @@ public NewsListControl()
tlpMain.CellPaint += TlpMain_CellPaint;
tlpMain.Layout += TlpMain_Layout;
}
public void Start()
{
TaskEx.Run(() =>
{
NewsManager = new NewsManager();
@ -73,10 +78,20 @@ public NewsListControl()
AddNewsItem(item);
}
}
OnNewsLoaded();
}
});
}
protected void OnNewsLoaded()
{
if (NewsLoaded != null)
{
NewsLoaded(this, EventArgs.Empty);
}
}
public void MarkRead()
{
if (NewsManager != null && NewsManager.NewsItems != null && NewsManager.NewsItems.Count > 0)

View file

@ -181,6 +181,12 @@ private void InitializeControls()
ExportImportControl.UploadRequested += json => UploadManager.UploadText(json);
ucNews.NewsLoaded += (sender, e) =>
{
if (ucNews.NewsManager.IsUnread && Visible) tsbNews.StartAnimation();
};
ucNews.Start();
HandleCreated += MainForm_HandleCreated;
#if WindowsStore
@ -1030,7 +1036,11 @@ private void MainForm_VisibleChanged(object sender, EventArgs e)
#if DEBUG
if (Visible)
{
tsbNews.StartAnimation();
if (ucNews.NewsManager.IsUnread)
{
tsbNews.StartAnimation();
}
tsbDonate.StartAnimation();
}
else
@ -1562,6 +1572,7 @@ private void tsbNews_Click(object sender, EventArgs e)
if (!pNews.Visible)
{
pNews.Visible = true;
tsbNews.ResetAnimation();
}
else
{