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(); }
private void OnAwayMessageSelected(object sender, EventArgs args) { StatusMenuItem item = sender as StatusMenuItem; Presence = new Presence(PresenceType.Away, item.Message); }
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 (); }