private void UserList_MouseUp(object sender, MouseEventArgs e)
{
ListBox list = (ListBox)sender;
if (e.Button == MouseButtons.Right)
{
int index = list.IndexFromPoint(e.Location);
if (index == -1)
{
return;
}
list.SelectedIndex = index;
if (list.SelectedItem == null)
{
return;
}
ContextMenuStrip mnu = new ContextMenuStrip();
ToolStripMenuItem mnuprofile = new ToolStripMenuItem(Program.LanguageManager.Translation.chatViewProfile);
ToolStripMenuItem mnuduel = new ToolStripMenuItem(Program.LanguageManager.Translation.chatRequestDuel);
ToolStripMenuItem mnufriend = new ToolStripMenuItem(Program.LanguageManager.Translation.chatAddFriend);
ToolStripMenuItem mnuignore = new ToolStripMenuItem(Program.LanguageManager.Translation.chatIgnoreUser);
ToolStripMenuItem mnukick = new ToolStripMenuItem(Program.LanguageManager.Translation.chatKick);
ToolStripMenuItem mnmute = new ToolStripMenuItem(Program.LanguageManager.Translation.chatMute);
ToolStripMenuItem mnuban = new ToolStripMenuItem(Program.LanguageManager.Translation.chatBan);
ToolStripMenuItem mnuremovefriend = new ToolStripMenuItem(Program.LanguageManager.Translation.chatRemoveFriend);
ToolStripMenuItem mnuremoveteam = new ToolStripMenuItem(Program.LanguageManager.Translation.chatTeamRemove);
ToolStripMenuItem mnuspectateuser = new ToolStripMenuItem(Program.LanguageManager.Translation.chatSpectate);
mnukick.Click += KickUser;
mnmute.Click += MuteUser;
mnuban.Click += BanUser;
mnuprofile.Click += ViewProfile;
mnuduel.Click += RequestDuel;
mnufriend.Click += AddFriend;
mnuignore.Click += IgnoreUser;
mnuremovefriend.Click += RemoveFriend;
mnuremoveteam.Click += RemoveFromTeam;
mnuspectateuser.Click += SpectateUser;
if (!m_onlineMode)
{
mnu.Items.AddRange(new ToolStripItem[] { mnuprofile, mnuduel, mnuspectateuser, mnufriend, mnuignore });
if (Program.UserInfo.rank > 1)
mnu.Items.Add(mnukick);
if (Program.UserInfo.rank > 3)
mnu.Items.Add(mnuban);
if (Program.UserInfo.rank > 1)
mnu.Items.Add(mnmute);
}
else
{
UserData user = (UserData)list.SelectedItem;
mnu.Items.Add(mnuprofile);
if (user.Online)
{
mnu.Items.AddRange(new ToolStripItem[] { mnuduel, mnuspectateuser });
}
if (m_friendMode)
mnu.Items.Add(mnuremovefriend);
else
{
if (Program.UserInfo.teamRank > 0)
mnu.Items.Add(mnuremoveteam);
}
}
mnu.Show(list, e.Location);
}
}