summaryrefslogtreecommitdiff
path: root/indra/newview/llmenucommands.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
committerJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
commit420b91db29485df39fd6e724e782c449158811cb (patch)
treeb471a94563af914d3ed3edd3e856d21cb1b69945 /indra/newview/llmenucommands.cpp
Print done when done.
Diffstat (limited to 'indra/newview/llmenucommands.cpp')
-rw-r--r--indra/newview/llmenucommands.cpp135
1 files changed, 135 insertions, 0 deletions
diff --git a/indra/newview/llmenucommands.cpp b/indra/newview/llmenucommands.cpp
new file mode 100644
index 0000000000..a3e0ab93b0
--- /dev/null
+++ b/indra/newview/llmenucommands.cpp
@@ -0,0 +1,135 @@
+/**
+ * @file llmenucommands.cpp
+ * @brief Implementations of menu commands.
+ *
+ * Copyright (c) 2003-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llmenucommands.h"
+
+#include "imageids.h"
+#include "llfontgl.h"
+#include "llrect.h"
+#include "llerror.h"
+#include "llstring.h"
+#include "message.h"
+
+#include "llagent.h"
+#include "llcallbacklist.h"
+#include "llcallingcard.h"
+#include "llchatbar.h"
+#include "llviewercontrol.h"
+#include "llfirstuse.h"
+#include "llfloaterchat.h"
+#include "llfloaterclothing.h"
+#include "llfloaterdirectory.h"
+#include "llfloatermap.h"
+#include "llfloaterworldmap.h"
+#include "llgivemoney.h"
+#include "llinventoryview.h"
+#include "llnotify.h"
+#include "llstatusbar.h"
+#include "llimview.h"
+#include "lltextbox.h"
+#include "llui.h"
+#include "llviewergesture.h" // for triggering gestures
+#include "llviewermessage.h"
+#include "llviewerparceloverlay.h"
+#include "llviewerregion.h"
+#include "llviewerstats.h"
+#include "llvieweruictrlfactory.h"
+#include "llviewerwindow.h"
+#include "llworld.h"
+#include "llworldmap.h"
+#include "viewer.h"
+#include "llfocusmgr.h"
+
+void handle_track_avatar(const LLUUID& agent_id, const std::string& name)
+{
+ LLAvatarTracker::instance().track(agent_id, name);
+
+ LLFloaterDirectory::hide(NULL);
+ LLFloaterWorldMap::show(NULL, TRUE);
+}
+
+void handle_pay_by_id(const LLUUID& agent_id)
+{
+ const BOOL is_group = FALSE;
+ LLFloaterPay::payDirectly(&give_money, agent_id, is_group);
+}
+
+void handle_mouselook(void*)
+{
+ gAgent.changeCameraToMouselook();
+}
+
+
+void handle_map(void*)
+{
+ LLFloaterWorldMap::toggle(NULL);
+}
+
+void handle_mini_map(void*)
+{
+ LLFloaterMap::toggle(NULL);
+}
+
+
+void handle_find(void*)
+{
+ LLFloaterDirectory::toggleFind(NULL);
+}
+
+
+void handle_events(void*)
+{
+ LLFloaterDirectory::toggleEvents(NULL);
+}
+
+
+void handle_inventory(void*)
+{
+ // We're using the inventory, possibly for the
+ // first time.
+ LLFirstUse::useInventory();
+
+ LLInventoryView::toggleVisibility(NULL);
+}
+
+
+void handle_clothing(void*)
+{
+ LLFloaterClothing::toggleVisibility();
+}
+
+
+void handle_chat(void*)
+{
+ // give focus to chatbar if it's open but not focused
+ if (gSavedSettings.getBOOL("ChatVisible") && gFocusMgr.childHasKeyboardFocus(gChatBar))
+ {
+ LLChatBar::stopChat();
+ }
+ else
+ {
+ LLChatBar::startChat(NULL);
+ }
+}
+
+void handle_slash_key(void*)
+{
+ // LLChatBar::startChat("/");
+ //
+ // Don't do this, it results in a double-slash in the input field.
+ // Another "/" will be automatically typed for us, because the WM_KEYDOWN event
+ // that generated the menu accelerator call (and hence puts focus in
+ // the chat edtior) will be followed by a "/" WM_CHAR character message,
+ // which will type the slash. Yes, it's weird. It only matters for
+ // menu accelerators that put input focus into a field. And Mac works
+ // the same way. JC
+
+ LLChatBar::startChat(NULL);
+}