コード例 #1
0
ファイル: StatusEntry.cs プロジェクト: isabella232/banter
        private void OnStatusDownButtonClicked(object sender, EventArgs args)
        {
            Menu           popupMenu = new Menu();
            StatusMenuItem item;

            // Available messages
            string availMsg = Catalog.GetString("Available");

            AddCustomAvailableMessage(availMsg);

            // Make sure the Available message is shown first
            item            = new StatusMenuItem(new Presence(PresenceType.Available, availMsg));
            item.Activated += OnAvailableMessageSelected;
            popupMenu.Add(item);

            foreach (string customMessage in customAvailableMessages.Keys)
            {
                if (string.Compare(customMessage, availMsg) == 0)
                {
                    continue;                     // skip the available item since it's already at the top of the list
                }
                item            = new StatusMenuItem(new Presence(PresenceType.Available, customMessage));
                item.Activated += OnAvailableMessageSelected;
                popupMenu.Add(item);
            }

            item = new StatusMenuItem(
                new Presence(PresenceType.Available,
                             Catalog.GetString("Custom message...")));
            item.Activated += OnCustomAvailableMessageSelected;
            popupMenu.Add(item);

            popupMenu.Add(new SeparatorMenuItem());

            // Busy messages
            string busyMsg = Catalog.GetString("Busy");

            AddCustomBusyMessage(busyMsg);

            // Make sure the Busy message is shown first
            item            = new StatusMenuItem(new Presence(PresenceType.Busy, busyMsg));
            item.Activated += OnBusyMessageSelected;
            popupMenu.Add(item);

            foreach (string customMessage in customBusyMessages.Keys)
            {
                if (string.Compare(customMessage, busyMsg) == 0)
                {
                    continue;                     // skip the busy item since it's already at the top of the list
                }
                item            = new StatusMenuItem(new Presence(PresenceType.Busy, customMessage));
                item.Activated += OnBusyMessageSelected;
                popupMenu.Add(item);
            }

            item = new StatusMenuItem(
                new Presence(
                    PresenceType.Busy,
                    Catalog.GetString("Custom message...")));
            item.Activated += OnCustomBusyMessageSelected;
            popupMenu.Add(item);

            popupMenu.Add(new SeparatorMenuItem());

            // Away messages
            string awayMsg = Catalog.GetString("Away");

            AddCustomAwayMessage(awayMsg);

            // Make sure the Away message is shown first
            item            = new StatusMenuItem(new Presence(PresenceType.Away, awayMsg));
            item.Activated += OnAwayMessageSelected;
            popupMenu.Add(item);

            foreach (string customMessage in customAwayMessages.Keys)
            {
                if (string.Compare(customMessage, awayMsg) == 0)
                {
                    continue;                     // skip the away item since it's already at the top of the list
                }
                item            = new StatusMenuItem(new Presence(PresenceType.Away, customMessage));
                item.Activated += OnAwayMessageSelected;
                popupMenu.Add(item);
            }

            item = new StatusMenuItem(
                new Presence(
                    PresenceType.Away,
                    Catalog.GetString("Custom message...")));
            item.Activated += OnCustomAwayMessageSelected;
            popupMenu.Add(item);

            popupMenu.Add(new SeparatorMenuItem());

            // Sign on/off of chat
//			Logger.Debug ("FIXME: Make this changed based on online/offline status");
//			item = new StatusMenuItem (new Presence (PresenceType.Offline, Catalog.GetString ("Sign out of chat")));
//			item.Activated += OnSignOnOffChatSelected;
//			popupMenu.Add (item);

            // Clear custom messages
            item = new StatusMenuItem(
                new Presence(
                    PresenceType.Offline,
                    Catalog.GetString("Clear custom messages")));
            item.Activated += OnClearCustomMessagesSelected;
            popupMenu.Add(item);

            popupMenu.ShowAll();
            popupMenu.Popup();
        }
コード例 #2
0
ファイル: StatusEntry.cs プロジェクト: isabella232/banter
        private void OnAwayMessageSelected(object sender, EventArgs args)
        {
            StatusMenuItem item = sender as StatusMenuItem;

            Presence = new Presence(PresenceType.Away, item.Message);
        }
コード例 #3
0
ファイル: StatusEntry.cs プロジェクト: GNOME/banter
        private void OnStatusDownButtonClicked(object sender, EventArgs args)
        {
            Menu popupMenu = new Menu ();
            StatusMenuItem item;

            // Available messages
            string availMsg = Catalog.GetString ("Available");
            AddCustomAvailableMessage (availMsg);

            // Make sure the Available message is shown first
            item = new StatusMenuItem (new Presence (PresenceType.Available, availMsg));
            item.Activated += OnAvailableMessageSelected;
            popupMenu.Add (item);

            foreach (string customMessage in customAvailableMessages.Keys) {
                if (string.Compare (customMessage, availMsg) == 0)
                    continue; // skip the available item since it's already at the top of the list
                item = new StatusMenuItem (new Presence (PresenceType.Available, customMessage));
                item.Activated += OnAvailableMessageSelected;
                popupMenu.Add (item);
            }

            item = new StatusMenuItem (
                    new Presence (PresenceType.Available,
                            Catalog.GetString ("Custom message...")));
            item.Activated += OnCustomAvailableMessageSelected;
            popupMenu.Add (item);

            popupMenu.Add (new SeparatorMenuItem ());

            // Busy messages
            string busyMsg = Catalog.GetString ("Busy");
            AddCustomBusyMessage (busyMsg);

            // Make sure the Busy message is shown first
            item = new StatusMenuItem (new Presence (PresenceType.Busy, busyMsg));
            item.Activated += OnBusyMessageSelected;
            popupMenu.Add (item);

            foreach (string customMessage in customBusyMessages.Keys) {
                if (string.Compare (customMessage, busyMsg) == 0)
                    continue; // skip the busy item since it's already at the top of the list
                item = new StatusMenuItem (new Presence (PresenceType.Busy, customMessage));
                item.Activated += OnBusyMessageSelected;
                popupMenu.Add (item);
            }

            item = new StatusMenuItem (
                    new Presence (
                        PresenceType.Busy,
                        Catalog.GetString ("Custom message...")));
            item.Activated += OnCustomBusyMessageSelected;
            popupMenu.Add (item);

            popupMenu.Add (new SeparatorMenuItem ());

            // Away messages
            string awayMsg = Catalog.GetString ("Away");
            AddCustomAwayMessage (awayMsg);

            // Make sure the Away message is shown first
            item = new StatusMenuItem (new Presence (PresenceType.Away, awayMsg));
            item.Activated += OnAwayMessageSelected;
            popupMenu.Add (item);

            foreach (string customMessage in customAwayMessages.Keys) {
                if (string.Compare (customMessage, awayMsg) == 0)
                    continue; // skip the away item since it's already at the top of the list
                item = new StatusMenuItem (new Presence (PresenceType.Away, customMessage));
                item.Activated += OnAwayMessageSelected;
                popupMenu.Add (item);
            }

            item = new StatusMenuItem (
                    new Presence (
                        PresenceType.Away,
                        Catalog.GetString ("Custom message...")));
            item.Activated += OnCustomAwayMessageSelected;
            popupMenu.Add (item);

            popupMenu.Add (new SeparatorMenuItem ());

            // Sign on/off of chat
            //			Logger.Debug ("FIXME: Make this changed based on online/offline status");
            //			item = new StatusMenuItem (new Presence (PresenceType.Offline, Catalog.GetString ("Sign out of chat")));
            //			item.Activated += OnSignOnOffChatSelected;
            //			popupMenu.Add (item);

            // Clear custom messages
            item = new StatusMenuItem (
                    new Presence (
                        PresenceType.Offline,
                        Catalog.GetString ("Clear custom messages")));
            item.Activated += OnClearCustomMessagesSelected;
            popupMenu.Add (item);

            popupMenu.ShowAll();
            popupMenu.Popup ();
        }