mirror of
https://github.com/ckaczor/FeedCenter.git
synced 2026-01-13 17:22:48 -05:00
- Add support for filtering by category
- Break up main window into partials instead of using regions
This commit is contained in:
59
Application/MainWindow/Timer.cs
Normal file
59
Application/MainWindow/Timer.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using FeedCenter.Properties;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FeedCenter
|
||||
{
|
||||
public partial class MainWindow
|
||||
{
|
||||
private Timer _mainTimer;
|
||||
private DateTime _lastFeedRead;
|
||||
private DateTime _lastFeedDisplay;
|
||||
|
||||
private void InitializeTimer()
|
||||
{
|
||||
_mainTimer = new Timer { Interval = 1000 };
|
||||
_mainTimer.Tick += HandleMainTimerTick;
|
||||
}
|
||||
|
||||
private void TerminateTimer()
|
||||
{
|
||||
StopTimer();
|
||||
|
||||
_mainTimer.Dispose();
|
||||
}
|
||||
|
||||
private void StartTimer()
|
||||
{
|
||||
_mainTimer.Start();
|
||||
}
|
||||
|
||||
private void StopTimer()
|
||||
{
|
||||
_mainTimer.Stop();
|
||||
}
|
||||
|
||||
private void HandleMainTimerTick(object sender, EventArgs e)
|
||||
{
|
||||
// If the background worker is busy then don't do anything
|
||||
if (_feedReadWorker.IsBusy)
|
||||
return;
|
||||
|
||||
// Stop the timer for now
|
||||
StopTimer();
|
||||
|
||||
// Move to the next feed if the scroll interval has expired and the mouse isn't hovering
|
||||
if (LinkTextList.IsMouseOver)
|
||||
_lastFeedDisplay = DateTime.Now;
|
||||
else if (DateTime.Now - _lastFeedDisplay >= Settings.Default.FeedScrollInterval)
|
||||
NextFeed();
|
||||
|
||||
// Check to see if we should try to read the feeds
|
||||
if (DateTime.Now - _lastFeedRead >= Settings.Default.FeedCheckInterval)
|
||||
ReadFeeds();
|
||||
|
||||
// Get the timer going again
|
||||
StartTimer();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user