merge changes for storm-1986
commit
a57bcc2790
|
|
@ -675,6 +675,7 @@ Jonathan Yap
|
|||
STORM-1953
|
||||
STORM-1957
|
||||
OPEN-113
|
||||
STORM-1986
|
||||
STORM-1981
|
||||
Kadah Coba
|
||||
STORM-1060
|
||||
|
|
|
|||
|
|
@ -627,8 +627,8 @@ void LLFloaterWorldMap::trackLocation(const LLVector3d& pos_global)
|
|||
if (!sim_info)
|
||||
{
|
||||
// We haven't found a region for that point yet, leave the tracking to the world map
|
||||
LLWorldMap::getInstance()->setTracking(pos_global);
|
||||
LLTracker::stopTracking(NULL);
|
||||
LLWorldMap::getInstance()->setTracking(pos_global);
|
||||
S32 world_x = S32(pos_global.mdV[0] / 256);
|
||||
S32 world_y = S32(pos_global.mdV[1] / 256);
|
||||
LLWorldMapMessage::getInstance()->sendMapBlockRequest(world_x, world_y, world_x, world_y, true);
|
||||
|
|
@ -643,9 +643,9 @@ void LLFloaterWorldMap::trackLocation(const LLVector3d& pos_global)
|
|||
{
|
||||
// Down region. Show the blue circle of death!
|
||||
// i.e. let the world map that this and tell it it's invalid
|
||||
LLTracker::stopTracking(NULL);
|
||||
LLWorldMap::getInstance()->setTracking(pos_global);
|
||||
LLWorldMap::getInstance()->setTrackingInvalid();
|
||||
LLTracker::stopTracking(NULL);
|
||||
setDefaultBtn("");
|
||||
|
||||
// clicked on a down region - turn off coord display
|
||||
|
|
@ -665,8 +665,8 @@ void LLFloaterWorldMap::trackLocation(const LLVector3d& pos_global)
|
|||
|
||||
std::string tooltip("");
|
||||
mTrackedStatus = LLTracker::TRACKING_LOCATION;
|
||||
LLTracker::trackLocation(pos_global, full_name, tooltip);
|
||||
LLWorldMap::getInstance()->cancelTracking(); // The floater is taking over the tracking
|
||||
LLTracker::trackLocation(pos_global, full_name, tooltip);
|
||||
|
||||
LLVector3d coord_pos = LLTracker::getTrackedPositionGlobal();
|
||||
updateTeleportCoordsDisplay( coord_pos );
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@
|
|||
#include "llvoavatarself.h"
|
||||
#include "llwearablelist.h"
|
||||
#include "lllandmarkactions.h"
|
||||
#include "llpanellandmarks.h"
|
||||
|
||||
void copy_slurl_to_clipboard_callback_inv(const std::string& slurl);
|
||||
|
||||
|
|
@ -1449,6 +1450,38 @@ void LLItemBridge::performAction(LLInventoryModel* model, std::string action)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if ("show_on_map" == action)
|
||||
{
|
||||
doActionOnCurSelectedLandmark(boost::bind(&LLItemBridge::doShowOnMap, this, _1));
|
||||
}
|
||||
}
|
||||
|
||||
void LLItemBridge::doActionOnCurSelectedLandmark(LLLandmarkList::loaded_callback_t cb)
|
||||
{
|
||||
LLViewerInventoryItem* cur_item = getItem();
|
||||
if(cur_item && cur_item->getInventoryType() == LLInventoryType::IT_LANDMARK)
|
||||
{
|
||||
LLLandmark* landmark = LLLandmarkActions::getLandmark(cur_item->getUUID(), cb);
|
||||
if (landmark)
|
||||
{
|
||||
cb(landmark);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LLItemBridge::doShowOnMap(LLLandmark* landmark)
|
||||
{
|
||||
LLVector3d landmark_global_pos;
|
||||
// landmark has already been tested for NULL by calling routine
|
||||
if (landmark->getGlobalPos(landmark_global_pos))
|
||||
{
|
||||
LLFloaterWorldMap* worldmap_instance = LLFloaterWorldMap::getInstance();
|
||||
if (!landmark_global_pos.isExactlyZero() && worldmap_instance)
|
||||
{
|
||||
worldmap_instance->trackLocation(landmark_global_pos);
|
||||
LLFloaterReg::showInstance("world_map", "center");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void copy_slurl_to_clipboard_callback_inv(const std::string& slurl)
|
||||
|
|
@ -4580,6 +4613,7 @@ void LLLandmarkBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
|
|||
items.push_back(std::string("Landmark Separator"));
|
||||
items.push_back(std::string("url_copy"));
|
||||
items.push_back(std::string("About Landmark"));
|
||||
items.push_back(std::string("show_on_map"));
|
||||
}
|
||||
|
||||
// Disable "About Landmark" menu item for
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
#include "llviewercontrol.h"
|
||||
#include "llviewerwearable.h"
|
||||
#include "lltooldraganddrop.h"
|
||||
#include "lllandmarklist.h"
|
||||
|
||||
class LLInventoryFilter;
|
||||
class LLInventoryPanel;
|
||||
|
|
@ -239,7 +240,10 @@ protected:
|
|||
BOOL confirmRemoveItem(const LLSD& notification, const LLSD& response);
|
||||
virtual BOOL isItemPermissive() const;
|
||||
virtual void buildDisplayName() const;
|
||||
void doActionOnCurSelectedLandmark(LLLandmarkList::loaded_callback_t cb);
|
||||
|
||||
private:
|
||||
void doShowOnMap(LLLandmark* landmark);
|
||||
};
|
||||
|
||||
class LLFolderBridge : public LLInvFVBridge
|
||||
|
|
|
|||
|
|
@ -552,6 +552,14 @@
|
|||
function="Inventory.DoToSelected"
|
||||
parameter="about" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Show on Map"
|
||||
layout="topleft"
|
||||
name="show_on_map">
|
||||
<menu_item_call.on_click
|
||||
function="Inventory.DoToSelected"
|
||||
parameter="show_on_map" />
|
||||
</menu_item_call>
|
||||
<menu_item_separator
|
||||
layout="topleft"
|
||||
name="Animation Separator" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue