diff options
Diffstat (limited to 'indra/newview/llfloaterworldmap.cpp')
-rwxr-xr-x | indra/newview/llfloaterworldmap.cpp | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index 137b5446cf..1b1c24b19a 100755 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -63,6 +63,7 @@ #include "llviewerregion.h" #include "llviewerstats.h" #include "llviewertexture.h" +#include "llviewerwindow.h" #include "llworldmap.h" #include "llworldmapmessage.h" #include "llworldmapview.h" @@ -570,9 +571,9 @@ void LLFloaterWorldMap::trackLandmark( const LLUUID& landmark_item_id ) buildLandmarkIDLists(); BOOL found = FALSE; S32 idx; - for (idx = 0; idx < mLandmarkItemIDList.count(); idx++) + for (idx = 0; idx < mLandmarkItemIDList.size(); idx++) { - if ( mLandmarkItemIDList.get(idx) == landmark_item_id) + if ( mLandmarkItemIDList.at(idx) == landmark_item_id) { found = TRUE; break; @@ -581,13 +582,13 @@ void LLFloaterWorldMap::trackLandmark( const LLUUID& landmark_item_id ) if (found && iface->setCurrentByID( landmark_item_id ) ) { - LLUUID asset_id = mLandmarkAssetIDList.get( idx ); + LLUUID asset_id = mLandmarkAssetIDList.at( idx ); std::string name; LLComboBox* combo = getChild<LLComboBox>( "landmark combo"); if (combo) name = combo->getSimple(); mTrackedStatus = LLTracker::TRACKING_LANDMARK; - LLTracker::trackLandmark(mLandmarkAssetIDList.get( idx ), // assetID - mLandmarkItemIDList.get( idx ), // itemID + LLTracker::trackLandmark(mLandmarkAssetIDList.at( idx ), // assetID + mLandmarkItemIDList.at( idx ), // itemID name); // name if( asset_id != sHomeID ) @@ -627,8 +628,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 +644,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 @@ -659,14 +660,14 @@ void LLFloaterWorldMap::trackLocation(const LLVector3d& pos_global) F32 region_y = (F32)fmod( pos_global.mdV[VY], (F64)REGION_WIDTH_METERS ); std::string full_name = llformat("%s (%d, %d, %d)", sim_name.c_str(), - llround(region_x), - llround(region_y), - llround((F32)pos_global.mdV[VZ])); + ll_round(region_x), + ll_round(region_y), + ll_round((F32)pos_global.mdV[VZ])); 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 ); @@ -890,7 +891,7 @@ void LLFloaterWorldMap::buildAvatarIDList() end = collector.mMappable.end(); for( ; it != end; ++it) { - list->addSimpleElement((*it).first, ADD_BOTTOM, (*it).second); + list->addSimpleElement((*it).second, ADD_BOTTOM, (*it).first); } list->setCurrentByID( LLAvatarTracker::instance().getAvatarID() ); @@ -911,15 +912,15 @@ void LLFloaterWorldMap::buildLandmarkIDLists() list->operateOnSelection(LLCtrlListInterface::OP_DELETE); } - mLandmarkItemIDList.reset(); - mLandmarkAssetIDList.reset(); + mLandmarkItemIDList.clear(); + mLandmarkAssetIDList.clear(); // Get all of the current landmarks - mLandmarkAssetIDList.put( LLUUID::null ); - mLandmarkItemIDList.put( LLUUID::null ); + mLandmarkAssetIDList.push_back( LLUUID::null ); + mLandmarkItemIDList.push_back( LLUUID::null ); - mLandmarkAssetIDList.put( sHomeID ); - mLandmarkItemIDList.put( sHomeID ); + mLandmarkAssetIDList.push_back( sHomeID ); + mLandmarkItemIDList.push_back( sHomeID ); LLInventoryModel::cat_array_t cats; LLInventoryModel::item_array_t items; @@ -932,15 +933,18 @@ void LLFloaterWorldMap::buildLandmarkIDLists() std::sort(items.begin(), items.end(), LLViewerInventoryItem::comparePointers()); - S32 count = items.count(); + mLandmarkAssetIDList.reserve(mLandmarkAssetIDList.size() + items.size()); + mLandmarkItemIDList.reserve(mLandmarkItemIDList.size() + items.size()); + + S32 count = items.size(); for(S32 i = 0; i < count; ++i) { - LLInventoryItem* item = items.get(i); + LLInventoryItem* item = items.at(i); list->addSimpleElement(item->getName(), ADD_BOTTOM, item->getUUID()); - mLandmarkAssetIDList.put( item->getAssetUUID() ); - mLandmarkItemIDList.put( item->getUUID() ); + mLandmarkAssetIDList.push_back( item->getAssetUUID() ); + mLandmarkItemIDList.push_back( item->getUUID() ); } list->selectFirstItem(); @@ -1631,3 +1635,10 @@ void LLFloaterWorldMap::onChangeMaturity() gSavedSettings.setBOOL("ShowAdultEvents", FALSE); } } + +void LLFloaterWorldMap::onFocusLost() +{ + gViewerWindow->showCursor(); + LLWorldMapView* map_panel = (LLWorldMapView*)gFloaterWorldMap->mPanel; + map_panel->mPanning = FALSE; +} |