summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commandhandler.cpp22
-rw-r--r--src/commandhandler.h5
-rw-r--r--src/net/ea/gui/partytab.cpp10
-rw-r--r--src/net/ea/partyhandler.cpp12
4 files changed, 39 insertions, 10 deletions
diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp
index 18844d74..3b527a37 100644
--- a/src/commandhandler.cpp
+++ b/src/commandhandler.cpp
@@ -98,6 +98,10 @@ void CommandHandler::handleCommand(const std::string &command, ChatTab *tab)
{
handleClear(args, tab);
}
+ else if (type == "createparty")
+ {
+ handleCreateParty(args, tab);
+ }
else if (type == "party")
{
handleParty(args, tab);
@@ -170,6 +174,7 @@ void CommandHandler::handleHelp(const std::string &args, ChatTab *tab)
tab->chatLog(_("/list > Display all public channels"));
tab->chatLog(_("/join > Join or create a channel"));
+ tab->chatLog(_("/createparty > Create a new party"));
tab->chatLog(_("/party > Invite a user to party"));
tab->chatLog(_("/record > Start recording the chat to an external file"));
@@ -243,6 +248,11 @@ void CommandHandler::handleHelp(const std::string &args, ChatTab *tab)
tab->chatLog(_("This command tries to make a tab for whispers between"
"you and <nick>."));
}
+ else if (args == "createparty")
+ {
+ tab->chatLog(_("Command: /createparty <name>"));
+ tab->chatLog(_("This command creates a new party called <name>."));
+ }
else if (args == "party")
{
tab->chatLog(_("Command: /party <nick>"));
@@ -393,6 +403,18 @@ void CommandHandler::handleListChannels(const std::string &args, ChatTab *tab)
Net::getChatHandler()->channelList();
}
+void CommandHandler::handleCreateParty(const std::string &args, ChatTab *tab)
+{
+ if (args.empty())
+ {
+ tab->chatLog(_("Party name is missing."), BY_SERVER);
+ }
+ else
+ {
+ Net::getPartyHandler()->create(args);
+ }
+}
+
void CommandHandler::handleParty(const std::string &args, ChatTab *tab)
{
if (args != "")
diff --git a/src/commandhandler.h b/src/commandhandler.h
index 4c108816..0ad513ea 100644
--- a/src/commandhandler.h
+++ b/src/commandhandler.h
@@ -104,6 +104,11 @@ class CommandHandler
void handleClear(const std::string &args, ChatTab *tab);
/**
+ * Handle a createparty command.
+ */
+ void handleCreateParty(const std::string &args, ChatTab *tab);
+
+ /**
* Handle a party command.
*/
void handleParty(const std::string &args, ChatTab *tab);
diff --git a/src/net/ea/gui/partytab.cpp b/src/net/ea/gui/partytab.cpp
index e6526a3a..bcb449ab 100644
--- a/src/net/ea/gui/partytab.cpp
+++ b/src/net/ea/gui/partytab.cpp
@@ -55,8 +55,6 @@ void PartyTab::handleInput(const std::string &msg)
void PartyTab::showHelp()
{
chatLog(_("/help > Display this help."));
- chatLog(_("/create > Create a new party"));
- chatLog(_("/new > Alias of create"));
chatLog(_("/invite > Invite a player to your party"));
chatLog(_("/leave > Leave the party you are in"));
chatLog(_("/kick > Kick some one from the party you are in"));
@@ -68,13 +66,7 @@ bool PartyTab::handleCommand(const std::string &type, const std::string &args)
{
if (type == "help")
{
- if (args == "create" || args == "new")
- {
- chatLog(_("Command: /new <party-name>"));
- chatLog(_("Command: /create <party-name>"));
- chatLog(_("These commands create a new party called <party-name>."));
- }
- else if (args == "invite")
+ if (args == "invite")
{
chatLog(_("Command: /invite <nick>"));
chatLog(_("This command invites <nick> to party with you."));
diff --git a/src/net/ea/partyhandler.cpp b/src/net/ea/partyhandler.cpp
index 030914b4..ddbe567f 100644
--- a/src/net/ea/partyhandler.cpp
+++ b/src/net/ea/partyhandler.cpp
@@ -320,7 +320,17 @@ void PartyHandler::invite(Player *player)
void PartyHandler::invite(const std::string &name)
{
- partyTab->chatLog(_("Inviting like this isn't supported at the moment."), BY_SERVER);
+ if (partyTab)
+ {
+ partyTab->chatLog(_("Inviting like this isn't supported at the moment."),
+ BY_SERVER);
+ }
+ else
+ {
+ localChatTab->chatLog(_("You can only inivte when you are in a party!"),
+ BY_SERVER);
+ }
+
// TODO?
}