10
namespace Tomboy.Tasks
12
public class TasksApplicationAddin : ApplicationAddin
14
static TaskManager manager;
15
static object locker = new object ();
17
static Gtk.ActionGroup action_group;
18
static uint tray_icon_ui = 0;
19
static uint tools_menu_ui = 0;
21
static TaskListWindow task_list_window = null;
25
public static TaskManager DefaultTaskManager
27
get { return manager; }
30
public TasksApplicationAddin ()
35
public override void Initialize ()
37
Logger.Debug ("TasksApplicationAddin.Initialize ()");
39
if (manager == null) {
41
if (manager == null) {
42
manager = new TaskManager (
43
Path.Combine (Tomboy.DefaultNoteManager.NoteDirectoryPath, "Tasks"));
48
/// Add a "To Do List" to Tomboy's Tray Icon Menu
50
action_group = new Gtk.ActionGroup ("Tasks");
51
action_group.Add (new Gtk.ActionEntry [] {
52
new Gtk.ActionEntry ("ToolsMenuAction", null,
53
Catalog.GetString ("_Tools"), null, null, null),
54
new Gtk.ActionEntry ("OpenToDoListAction", null,
55
Catalog.GetString ("To Do List"), null, null,
56
delegate { OnOpenToDoListAction (); })
59
tray_icon_ui = Tomboy.ActionManager.UI.AddUiFromString (@"
61
<popup name='TrayIconMenu' action='TrayIconMenuAction'>
62
<menuitem name='OpenToDoList' action='OpenToDoListAction' />
67
tools_menu_ui = Tomboy.ActionManager.UI.AddUiFromString (@"
69
<menubar name='MainWindowMenubar'>
70
<placeholder name='MainWindowMenuPlaceholder'>
71
<menu name='ToolsMenu' action='ToolsMenuAction'>
72
<menuitem name='OpenToDoList' action='OpenToDoListAction' />
79
Tomboy.ActionManager.UI.InsertActionGroup (action_group, 0);
85
public override void Shutdown ()
87
Logger.Debug ("TasksApplicationAddin.Shutdown ()");
92
Tomboy.ActionManager.UI.RemoveActionGroup (action_group);
95
Tomboy.ActionManager.UI.RemoveUi (tray_icon_ui);
96
Tomboy.ActionManager.UI.RemoveUi (tools_menu_ui);
102
private void OnOpenToDoListAction ()
104
TaskListWindow task_list_window = TaskListWindow.GetInstance (manager);
105
if (task_list_window != null)
106
task_list_window.Present ();
109
public override bool Initialized
111
get { return initialized; }