protected override void OnPersonMenuShown(object sender, EventArgs e) { Trace.Call(sender, e); foreach (var child in PersonMenu.Children) { PersonMenu.Remove(child); } base.OnPersonMenuShown(sender, e); Gtk.MenuItem item; if (Frontend.EngineProtocolVersion >= new Version(0, 7)) { item = new Gtk.ImageMenuItem(_("Direct Message")); item.Activated += OnUserListMenuDirectMessageActivated; PersonMenu.Append(item); PersonMenu.Append(new Gtk.SeparatorMenuItem()); } if (Frontend.EngineProtocolVersion >= new Version(0, 10)) { item = new Gtk.ImageMenuItem(_("Timeline")); item.Activated += OnUserListMenuTimelineActivated; PersonMenu.Append(item); if (ID == TwitterChatType.FriendsTimeline.ToString()) { item = new Gtk.ImageMenuItem(_("Unfollow")); item.Activated += OnUserListMenuUnfollowActivated; PersonMenu.Append(item); } else { item = new Gtk.ImageMenuItem(_("Follow")); item.Activated += OnUserListMenuFollowActivated; PersonMenu.Append(item); } } PersonMenu.ShowAll(); }
protected override void OnPersonMenuShown(object sender, EventArgs e) { Trace.Call(sender, e); foreach (var child in PersonMenu.Children) { PersonMenu.Remove(child); } base.OnPersonMenuShown(sender, e); Gtk.ImageMenuItem query_item = new Gtk.ImageMenuItem(_("Query")); query_item.Activated += OnUserListMenuQueryActivated; PersonMenu.Append(query_item); PersonMenu.Append(new Gtk.SeparatorMenuItem()); Gtk.ImageMenuItem op_item = new Gtk.ImageMenuItem(_("Op")); op_item.Activated += OnUserListMenuOpActivated; PersonMenu.Append(op_item); Gtk.ImageMenuItem deop_item = new Gtk.ImageMenuItem(_("Deop")); deop_item.Activated += OnUserListMenuDeopActivated; PersonMenu.Append(deop_item); Gtk.ImageMenuItem voice_item = new Gtk.ImageMenuItem(_("Voice")); voice_item.Activated += OnUserListMenuVoiceActivated; PersonMenu.Append(voice_item); Gtk.ImageMenuItem devoice_item = new Gtk.ImageMenuItem(_("Devoice")); devoice_item.Activated += OnUserListMenuDevoiceActivated; PersonMenu.Append(devoice_item); Gtk.ImageMenuItem kick_item = new Gtk.ImageMenuItem(_("Kick")); kick_item.Activated += OnUserListMenuKickActivated; PersonMenu.Append(kick_item); Gtk.ImageMenuItem kickban_item = new Gtk.ImageMenuItem(_("Kick + Ban")); kickban_item.Activated += OnUserListMenuKickBanActivated; PersonMenu.Append(kickban_item); Gtk.ImageMenuItem ban_item = new Gtk.ImageMenuItem(_("Ban")); ban_item.Activated += OnUserListMenuBanActivated; PersonMenu.Append(ban_item); Gtk.ImageMenuItem unban_item = new Gtk.ImageMenuItem(_("Unban")); unban_item.Activated += OnUserListMenuUnbanActivated; PersonMenu.Append(unban_item); PersonMenu.Append(new Gtk.SeparatorMenuItem()); Gtk.ImageMenuItem whois_item = new Gtk.ImageMenuItem(_("Whois")); whois_item.Activated += OnUserListMenuWhoisActivated; PersonMenu.Append(whois_item); Gtk.MenuItem ctcp_item = new Gtk.MenuItem(_("CTCP")); Gtk.Menu ctcp_menu = new CtcpMenu( IrcProtocolManager, Frontend.MainWindow.ChatViewManager, GetSelectedPersons() ); ctcp_item.Submenu = ctcp_menu; PersonMenu.Append(ctcp_item); Gtk.MenuItem invite_to_item = new Gtk.MenuItem(_("Invite to")); Gtk.Menu invite_to_menu_item = new InviteToMenu( IrcProtocolManager, Frontend.MainWindow.ChatViewManager, GetSelectedPersons() ); invite_to_item.Submenu = invite_to_menu_item; PersonMenu.Append(invite_to_item); PersonMenu.ShowAll(); }
protected override void OnPersonMenuShown(object sender, EventArgs e) { Trace.Call(sender, e); foreach (var child in PersonMenu.Children) { PersonMenu.Remove(child); } base.OnPersonMenuShown(sender, e); // minimum version of any command below if (Frontend.EngineProtocolVersion < new Version(0, 8, 9)) { return; } if (Frontend.EngineProtocolVersion >= new Version(0, 8, 9)) { Gtk.ImageMenuItem query_item = new Gtk.ImageMenuItem(_("Query")); query_item.Activated += _OnUserListMenuQueryActivated; PersonMenu.Append(query_item); } PersonMenu.Append(new Gtk.SeparatorMenuItem()); if (Frontend.EngineProtocolVersion >= new Version(0, 8, 12)) { Gtk.ImageMenuItem whois_item = new Gtk.ImageMenuItem(_("Whois")); whois_item.Activated += _OnUserListMenuWhoisActivated; PersonMenu.Append(whois_item); } if (!IsContactList && Frontend.EngineProtocolVersion >= new Version(0, 8, 11)) { var add_to_contacts_item = new Gtk.ImageMenuItem(_("Add To Contacts")); add_to_contacts_item.Activated += _OnMenuAddToContactsItemActivated; PersonMenu.Append(add_to_contacts_item); } if (Frontend.EngineProtocolVersion >= new Version(0, 8, 12)) { Gtk.MenuItem invite_to_item = new Gtk.MenuItem(_("Invite to")); Gtk.Menu invite_to_menu_item = new InviteToMenu( XmppProtocolManager, Frontend.MainWindow.ChatViewManager, GetSelectedPersons() ); invite_to_item.Submenu = invite_to_menu_item; PersonMenu.Append(invite_to_item); } if (IsContactList && Frontend.EngineProtocolVersion >= new Version(0, 8, 11)) { // cleanup old handlers IdentityNameCellRenderer.EditingStarted -= OnPersonRenameEditingStarted; IdentityNameCellRenderer.Edited -= OnPersonRenameEdited; IdentityNameCellRenderer.EditingStarted += OnPersonRenameEditingStarted; IdentityNameCellRenderer.Edited += OnPersonRenameEdited; var rename_item = new Gtk.ImageMenuItem(_("Rename")); rename_item.Activated += (o, args) => { var paths = PersonTreeView.Selection.GetSelectedRows(); if (paths == null || paths.Length == 0) { return; } var path = paths[0]; IdentityNameCellRenderer.Editable = true; PersonTreeView.SetCursor(path, IdentityNameColumn, true); }; PersonMenu.Append(rename_item); Gtk.ImageMenuItem remove_item = new Gtk.ImageMenuItem(_("Remove")); remove_item.Activated += OnUserListMenuRemoveActivated; PersonMenu.Append(remove_item); } PersonMenu.ShowAll(); }