summaryrefslogtreecommitdiff
path: root/indra/newview/llpanellandmarks.cpp
diff options
context:
space:
mode:
authorangela <angela@lindenlab.com>2009-11-04 11:44:32 +0800
committerangela <angela@lindenlab.com>2009-11-04 11:44:32 +0800
commit1190b5d9eb6f1e1d698430957b99872abd354f81 (patch)
tree82915d4b684aaa4cae2d61ebc46a678fcf018c48 /indra/newview/llpanellandmarks.cpp
parentb4af6c3da8e5ef3e897cedfb2e1d677a3f37abe9 (diff)
parent3e3ef5c53d2e73c0836ef6056d222c4c35b8ac2d (diff)
merge
Diffstat (limited to 'indra/newview/llpanellandmarks.cpp')
-rw-r--r--indra/newview/llpanellandmarks.cpp34
1 files changed, 21 insertions, 13 deletions
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index c9598a2576..6d6fd38cce 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -47,6 +47,7 @@
#include "lldndbutton.h"
#include "llfloaterworldmap.h"
#include "llfolderviewitem.h"
+#include "llinventorypanel.h"
#include "llinventorysubtreepanel.h"
#include "lllandmarkactions.h"
#include "llplacesinventorybridge.h"
@@ -552,14 +553,16 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const
std::string command_name = userdata.asString();
if("add_landmark" == command_name)
{
- if(LLLandmarkActions::landmarkAlreadyExists())
+ LLViewerInventoryItem* landmark = LLLandmarkActions::findLandmarkForAgentPos();
+ if(landmark)
+ {
+ LLSideTray::getInstance()->showPanel("panel_places",
+ LLSD().insert("type", "landmark").insert("id",landmark->getUUID()));
+ }
+ else
{
- std::string location;
- LLAgentUI::buildLocationString(location, LLAgentUI::LOCATION_FORMAT_FULL);
- llwarns<<" Landmark already exists at location: "<< location<<llendl;
- return;
+ LLSideTray::getInstance()->showPanel("panel_places", LLSD().insert("type", "create_landmark"));
}
- LLSideTray::getInstance()->showPanel("panel_places", LLSD().insert("type", "create_landmark"));
}
else if ("category" == command_name)
{
@@ -583,7 +586,7 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const
menu_create_inventory_item(mCurrentSelectedList->getRootFolder(),
dynamic_cast<LLFolderBridge*> (folder_bridge), LLSD(
"category"), gInventory.findCategoryUUIDForType(
- LLAssetType::AT_LANDMARK));
+ LLFolderType::FT_LANDMARK));
}
}
}
@@ -615,19 +618,21 @@ void LLLandmarksPanel::onClipboardAction(const LLSD& userdata) const
void LLLandmarksPanel::onFoldingAction(const LLSD& userdata)
{
- if(!mCurrentSelectedList) return;
-
- LLFolderView* root_folder = mCurrentSelectedList->getRootFolder();
+ LLFolderView* landmarks_folder = mLandmarksInventoryPanel->getRootFolder();
+ LLFolderView* fav_folder = mFavoritesInventoryPanel->getRootFolder();
std::string command_name = userdata.asString();
if ("expand_all" == command_name)
{
- root_folder->setOpenArrangeRecursively(TRUE, LLFolderViewFolder::RECURSE_DOWN);
- root_folder->arrangeAll();
+ landmarks_folder->setOpenArrangeRecursively(TRUE, LLFolderViewFolder::RECURSE_DOWN);
+ fav_folder->setOpenArrangeRecursively(TRUE, LLFolderViewFolder::RECURSE_DOWN);
+ landmarks_folder->arrangeAll();
+ fav_folder->arrangeAll();
}
else if ("collapse_all" == command_name)
{
- root_folder->closeAllFolders();
+ landmarks_folder->closeAllFolders();
+ fav_folder->closeAllFolders();
}
else if ( "sort_by_date" == command_name)
{
@@ -638,6 +643,9 @@ void LLLandmarksPanel::onFoldingAction(const LLSD& userdata)
}
else
{
+ if(!mCurrentSelectedList) return;
+
+ LLFolderView* root_folder = mCurrentSelectedList->getRootFolder();
root_folder->doToSelected(&gInventory, userdata);
}
}