diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 1d2da46..d13f475 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml @@ -4719,6 +4719,17 @@ Value 1 + MiniMapTeleport + + Comment + Teleport on Mini-Map double click + Persist + 1 + Type + Boolean + Value + 0 + MiniMapScale Comment diff --git a/linden/indra/newview/llnetmap.cpp b/linden/indra/newview/llnetmap.cpp index 768c925..bd90387 100644 --- a/linden/indra/newview/llnetmap.cpp +++ b/linden/indra/newview/llnetmap.cpp @@ -603,10 +603,11 @@ BOOL LLNetMap::handleToolTip( S32 x, S32 y, std::string& msg, LLRect* sticky_rec #endif // *TODO: // - put this under the control of XUI so it can be translated. - // - give user choice about behaviour - // - // old: msg.append("\n(Double-click to open Map)"); - msg.append("\n(Double-click to teleport)"); + + if ( gSavedSettings.getBOOL( "MiniMapTeleport" )) + msg.append("\n(Double-click to teleport)"); + else + msg.append("\n(Double-click to open Map)"); S32 SLOP = 4; localPointToScreen( @@ -767,9 +768,11 @@ void LLNetMap::createObjectImage() BOOL LLNetMap::handleDoubleClick( S32 x, S32 y, MASK mask ) { - // TODO: give user choice about behaviour - // old: LLFloaterWorldMap::show(NULL, FALSE); - gAgent.teleportViaLocation( viewPosToGlobal(x,y) ); + if (gSavedSettings.getBOOL( "MiniMapTeleport" )) + gAgent.teleportViaLocation( viewPosToGlobal(x,y) ); + else + LLFloaterWorldMap::show(NULL, FALSE); + return TRUE; } diff --git a/linden/indra/newview/llpanelgeneral.cpp b/linden/indra/newview/llpanelgeneral.cpp index 256f02a..47bc60e 100644 --- a/linden/indra/newview/llpanelgeneral.cpp +++ b/linden/indra/newview/llpanelgeneral.cpp @@ -199,6 +199,7 @@ void LLPanelGeneral::refresh() mChatOnlineNotification = gSavedSettings.getBOOL("ChatOnlineNotification"); mAFKTimeout = gSavedSettings.getF32("AFKTimeout"); mMiniMapRotate = gSavedSettings.getBOOL("MiniMapRotate"); + mMiniMapTeleport = gSavedSettings.getBOOL("MiniMapTeleport"); mNotifyMoney = gSavedSettings.getBOOL("NotifyMoneyChange"); mUseDefaultColor = gSavedSettings.getBOOL("UseDefaultColorPicker"); mEffectColor = gSavedSettings.getColor4("EffectColor"); @@ -223,6 +224,7 @@ void LLPanelGeneral::cancel() gSavedSettings.setBOOL("ChatOnlineNotification", mChatOnlineNotification ); gSavedSettings.setF32("AFKTimeout", mAFKTimeout ); gSavedSettings.setBOOL("MiniMapRotate", mMiniMapRotate ); + gSavedSettings.setBOOL("MiniMapTeleport", mMiniMapTeleport); gSavedSettings.setBOOL("NotifyMoneyChange", mNotifyMoney ); gSavedSettings.setBOOL("UseDefaultColorPicker", mUseDefaultColor ); gSavedSettings.setBOOL("ShowSearchBar", mShowSearch); diff --git a/linden/indra/newview/llpanelgeneral.h b/linden/indra/newview/llpanelgeneral.h index a7b526d..95a95f8 100644 --- a/linden/indra/newview/llpanelgeneral.h +++ b/linden/indra/newview/llpanelgeneral.h @@ -71,6 +71,7 @@ protected: F32 mUIScaleFactor; BOOL mUIAutoScale; BOOL mMiniMapRotate; + BOOL mMiniMapTeleport; S32 mOldCrashBehavior; std::string mLoginLocation; std::string mLanguage; diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml index 67d3307..092daab 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml @@ -76,6 +76,10 @@ font="SansSerifSmall" height="16" initial_value="false" label="Rotate Mini-Map" left="151" mouse_opaque="true" name="rotate_mini_map_checkbox" radio_style="false" width="256" /> +