summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelprofile.cpp
diff options
context:
space:
mode:
authorrichard <none@none>2009-12-17 09:57:43 -0800
committerrichard <none@none>2009-12-17 09:57:43 -0800
commitcf63ce4dc1176d9df4fe852821e4a6d32332f7c6 (patch)
tree8e77e822118f4979759caab99df48975f79994c7 /indra/newview/llpanelprofile.cpp
parentf452c01915be011814d92dcc1a398f450b6ce9c2 (diff)
parent4dd37a10633c95a9806b608b4db4d0a2d3141a21 (diff)
merge
Diffstat (limited to 'indra/newview/llpanelprofile.cpp')
-rw-r--r--indra/newview/llpanelprofile.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp
index 3274820174..c73ade53c8 100644
--- a/indra/newview/llpanelprofile.cpp
+++ b/indra/newview/llpanelprofile.cpp
@@ -144,6 +144,7 @@ BOOL LLPanelProfile::postBuild()
void LLPanelProfile::onOpen(const LLSD& key)
{
+ // open the desired panel
if (key.has("open_tab_name"))
{
getTabContainer()[PANEL_PICKS]->onClosePanel();
@@ -155,6 +156,33 @@ void LLPanelProfile::onOpen(const LLSD& key)
{
getTabCtrl()->getCurrentPanel()->onOpen(getAvatarId());
}
+
+ // support commands to open further pieces of UI
+ if (key.has("show_tab_panel"))
+ {
+ std::string panel = key["show_tab_panel"].asString();
+ if (panel == "create_classified")
+ {
+ LLPanelPicks* picks = dynamic_cast<LLPanelPicks *>(getTabContainer()[PANEL_PICKS]);
+ if (picks)
+ {
+ picks->createNewClassified();
+ }
+ }
+ else if (panel == "classified_details")
+ {
+ LLUUID classified_id = key["classified_id"].asUUID();
+ LLUUID avatar_id = key["classified_avatar_id"].asUUID();
+ LLUUID snapshot_id = key["classified_snapshot_id"].asUUID();
+ std::string name = key["classified_name"].asString();
+ std::string desc = key["classified_desc"].asString();
+ LLPanelPicks* picks = dynamic_cast<LLPanelPicks *>(getTabContainer()[PANEL_PICKS]);
+ if (picks)
+ {
+ picks->openClassifiedInfo(classified_id, avatar_id, snapshot_id, name, desc);
+ }
+ }
+ }
}
//*TODO redo panel toggling