private void ChatInput_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != 13 || string.IsNullOrWhiteSpace(ChatInput.Text))
{
return;
}
string[] parts = ChatInput.Text.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var selectedTab = (ChatWindow)ChannelTabs.SelectedTab;
if (parts[0].StartsWith("/"))
{
if (!HandleCommand(parts[0], selectedTab))
{
return;
}
}
else
{
if (selectedTab == null)
{
WriteMessage(new ChatMessage(MessageType.System, CommandType.None, null, "No channel Selected."));
return;
}
if (selectedTab.IsSystemtab)
{
ChatInput.Clear();
return;
}
if (selectedTab.IsPrivate)
{
WriteMessage(new ChatMessage(MessageType.PrivateMessage, CommandType.None, Program.UserInfo, selectedTab.Name, ChatInput.Text));
Program.ChatServer.SendMessage(MessageType.PrivateMessage, CommandType.None, selectedTab.Name, ChatInput.Text);
}
else
{
var isTeam = selectedTab.Name == MessageType.Team.ToString();
Program.ChatServer.SendMessage(isTeam ? MessageType.Team : MessageType.Message, CommandType.None, selectedTab.Name, ChatInput.Text);
}
}
ChatInput.Clear();
e.Handled = true;
}