void AddViewActions(ActionGroup actionGroup)
{
var guiService = ServiceManager.Get<GuiService> ();
var view = new Gtk.Action ("view", Catalog.GetString ("_View"));
actionGroup.Add (view);
var planning = new Gtk.RadioAction ("planning", Catalog.GetString ("Planning"), Catalog.GetString ("Select the Planning mode"), null, 0);
var context = new Gtk.RadioAction ("context", Catalog.GetString ("Context"), Catalog.GetString ("Select the Context mode"), null, 1);
var calendar = new Gtk.RadioAction ("calendar", Catalog.GetString ("Calendar"), Catalog.GetString ("Select the Calendar mode"), null, 2);
context.Group = planning.Group;
calendar.Group = planning.Group;
planning.CurrentValue = 0;
guiService.Window.ModeChanged += delegate {
if (!m_inModeUpdate) {
m_inModeUpdate = true;
planning.CurrentValue = guiService.Window.Mode;
m_inModeUpdate = false;
}
};
planning.Activated += delegate {
if (!m_inModeUpdate) {
m_inModeUpdate = true;
guiService.Window.Mode = 0;
m_inModeUpdate = false;
}
};
context.Activated += delegate {
if (!m_inModeUpdate) {
m_inModeUpdate = true;
guiService.Window.Mode = 1;
m_inModeUpdate = false;
}
};
calendar.Activated += delegate {
if (!m_inModeUpdate) {
m_inModeUpdate = true;
guiService.Window.Mode = 2;
m_inModeUpdate = false;
}
};
actionGroup.Add (planning, "<Alt>1");
actionGroup.Add (context, "<Alt>2");
actionGroup.Add (calendar, "<Alt>3");
var attachments = new Gtk.ToggleAction ("attachments", Catalog.GetString ("Show _Attachments"), Catalog.GetString ("Show attachments"), null);
attachments.Active = true;
attachments.Activated += delegate {
if (attachments.Active)
guiService.Window.ShowAttachments ();
else
guiService.Window.HideAttachments ();
};
actionGroup.Add (attachments);
var sidebar = new Gtk.ToggleAction ("sidebar", Catalog.GetString ("Show _Sidebar"), Catalog.GetString ("Show the sidebar"), null);
sidebar.Active = true;
sidebar.Activated += delegate {
if (sidebar.Active)
guiService.Window.ShowSidebar ();
else
guiService.Window.HideSidebar ();
};
actionGroup.Add (sidebar, "F9");
var fullscreen = new Gtk.Action ("fullscreen", null, null, Gtk.Stock.Fullscreen);
actionGroup.Add (fullscreen, "F11");
var compact = new Gtk.ToggleAction ("compact", Catalog.GetString ("Compact Mode"), Catalog.GetString ("Enable compact mode"), null);
compact.Active = guiService.Window.Planning.CompactMode;
compact.Activated += delegate {
guiService.Window.Planning.CompactMode = compact.Active;
};
actionGroup.Add (compact);
}