3
using System.Collections;
4
using System.Runtime.InteropServices;
10
namespace Tomboy.NoteOfTheDay
12
public class NoteOfTheDayApplicationAddin : ApplicationAddin
14
bool initialized = false;
16
static InterruptableTimeout timeout;
19
// Called only by instance with timeout_owner set.
20
void CheckNewDay (object sender, EventArgs args)
22
Note notd = NoteOfTheDay.GetNoteByDate (manager, DateTime.Today);
24
NoteOfTheDay.CleanupOld (manager);
26
// Create a new NotD if the day has changed
27
NoteOfTheDay.Create (manager, DateTime.Now);
30
// Re-run every minute
31
timeout.Reset (1000 * 60);
34
public override void Initialize ()
36
if (timeout == null) {
37
timeout = new InterruptableTimeout ();
38
timeout.Timeout += CheckNewDay;
42
manager = Tomboy.DefaultNoteManager;
46
public override void Shutdown ()
49
NoteOfTheDay.CleanupOld (manager);
50
timeout.Timeout -= CheckNewDay;
58
public override bool Initialized
60
get { return initialized; }