Adroit.Gui.UIHandlers.ViewUIHandler.AddViewActions C# (CSharp) Method

AddViewActions() private method

private AddViewActions ( Gtk.ActionGroup actionGroup ) : void
actionGroup Gtk.ActionGroup
return void
        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);
        }