diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dbb92c1e3e3f90dc633a41a4510462be6011a72b..c5979863bb4b88cdc76af9233a288218e49c428c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -208,6 +208,7 @@ coverity_scan: extends: .mac_build variables: AUTOBUILD_ADDRSIZE: 64 + USE_SENTRY: "FALSE" cache: key: prefix: darwin64 diff --git a/autobuild.xml b/autobuild.xml index a566e8cf64706370bc931ce3ca07e724172576a1..84e0fd03263b1cd2da739cdc5bd194271001b850 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -696,11 +696,11 @@ <key>archive</key> <map> <key>hash</key> - <string>540c22da6b191c63b9488296034b429948d87f693ba37a8b13080ad9229136808bcd63653bb58d49b733cf2296fb3aca2cd52a1f582f37da763d50537c23486b</string> + <string>d8e58016074727c9b4fffb8623035adac7dda2933f61e03998cac1d75e80a2da4ece61f9222bdc589e3be10154e80beda4eb7d4ff8a3b2aab4736350d27098e0</string> <key>hash_algorithm</key> <string>blake2b</string> <key>url</key> - <string>https://git.alchemyviewer.org/api/v4/projects/169/packages/generic/fonts/76a6399.2390/fonts-76a6399-common-2390.tar.zst</string> + <string>https://git.alchemyviewer.org/api/v4/projects/169/packages/generic/fonts/427d30e.2397/fonts-427d30e-common-2397.tar.zst</string> </map> <key>name</key> <string>common</string> @@ -713,7 +713,7 @@ <key>copyright</key> <string>Various Licenses</string> <key>version</key> - <string>76a6399</string> + <string>427d30e</string> <key>name</key> <string>fonts</string> <key>canonical_repo</key> diff --git a/indra/cmake/Sentry.cmake b/indra/cmake/Sentry.cmake index 24c1ffb9db0f5b8cc31369c83d6141fd08e0e869..adf3403840cedb1ba8eef7c3adb7d8d450eb20f1 100644 --- a/indra/cmake/Sentry.cmake +++ b/indra/cmake/Sentry.cmake @@ -7,7 +7,7 @@ include(OpenSSL) include(ZLIBNG) include_guard() -if (DEFINED ENV{USE_SENTRY}) +if (DEFINED ENV{USE_SENTRY} AND NOT DARWIN) set(USE_SENTRY $ENV{USE_SENTRY} CACHE BOOL "" FORCE) endif() @@ -17,7 +17,7 @@ else() set(SENTRY_DSN "" CACHE STRING "Sentry DSN") endif() -if (INSTALL_PROPRIETARY AND NOT SENTRY_DSN STREQUAL "") +if (INSTALL_PROPRIETARY AND NOT SENTRY_DSN STREQUAL "" AND NOT DARWIN) set(USE_SENTRY ON CACHE BOOL "Use the Sentry crash reporting system") endif () diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml index c6ba14575ecd0399fd046ad62e2f58bc90feb3b4..27e7738dd3e923918f0e5f0c3f288c25a0712f70 100644 --- a/indra/newview/app_settings/settings_alchemy.xml +++ b/indra/newview/app_settings/settings_alchemy.xml @@ -2,6 +2,17 @@ <llsd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="llsd.xsd"> <map> + <key>AlchemyAppearanceShowHints</key> + <map> + <key>Comment</key> + <string>Show visual param hints in appearance editors.</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>0</integer> + </map> <key>AlchemyLinuxVoiceVariant</key> <map> <key>Comment</key> @@ -332,6 +343,17 @@ <key>Value</key> <integer>1</integer> </map> + <key>AlchemyGlobalLightScale</key> + <map> + <key>Comment</key> + <string>Curve White Point</string> + <key>Persist</key> + <integer>0</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>1.0</real> + </map> <key>AlchemyHudTextFadeDistance</key> <map> <key>Comment</key> @@ -1489,6 +1511,17 @@ <key>Value</key> <integer>0</integer> </map> + <key>StreamList</key> + <map> + <key>Comment</key> + <string>Saved list of parcel audio streams</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>LLSD</string> + <key>Value</key> + <string /> + </map> <key>VoiceMultiInstance</key> <map> <key>Comment</key> diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl index f4c59c538873638f9a886672be16cd67547b028e..e95885ca401934947a4e7b2531b7ae24e507e21b 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl @@ -78,6 +78,8 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen); float getAmbientClamp(); +float calcLegacyDistanceAttenuation(float distance, float falloff); + void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear); @@ -126,7 +128,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 diffuse, vec3 v, vec3 n, vec lv = normalize(lv); //distance attenuation - float dist_atten = clamp(1.0-(dist-1.0*(1.0-fa))/fa, 0.0, 1.0); + float dist_atten = calcLegacyDistanceAttenuation(dist, fa); dist_atten *= dist_atten; dist_atten *= 2.0f; diff --git a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl index 35d98f0a8c2e6d8de904e86d413720b313faa47e..566798724a7081d9844033a511afe49e67e0db8f 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl @@ -53,6 +53,8 @@ out vec4 frag_color; float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen); #endif +float calcLegacyDistanceAttenuation(float distance, float falloff); + void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear); void applyGlossEnv(inout vec3 color, vec3 glossenv, vec4 spec, vec3 pos, vec3 norm); @@ -111,7 +113,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 npos, vec3 diffuse, vec4 spe lv = normalize(lv); //distance attenuation - float dist_atten = clamp(1.0 - (dist - 1.0*(1.0 - fa)) / fa, 0.0, 1.0); + float dist_atten = calcLegacyDistanceAttenuation(dist, fa); dist_atten *= dist_atten; dist_atten *= 2.0f; diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp index 37d0d430975073a320af5e974c091500f1ab78ae..7567b5cb934cca1cefa48c7529235af638e8f921 100644 --- a/indra/newview/llfloatermap.cpp +++ b/indra/newview/llfloatermap.cpp @@ -33,6 +33,7 @@ #include "llfloaterreg.h" #include "llfontgl.h" #include "llglheaders.h" +#include "lltrans.h" // Viewer includes #include "llagentcamera.h" @@ -82,14 +83,14 @@ LLFloaterMap::~LLFloaterMap() BOOL LLFloaterMap::postBuild() { mMap = getChild<LLNetMap>("Net Map"); - mMap->setToolTipMsg(getString("ToolTipMsg")); - mMap->setParcelNameMsg(getString("ParcelNameMsg")); - mMap->setParcelSalePriceMsg(getString("ParcelSalePriceMsg")); - mMap->setParcelSaleAreaMsg(getString("ParcelSaleAreaMsg")); - mMap->setParcelOwnerMsg(getString("ParcelOwnerMsg")); - mMap->setRegionNameMsg(getString("RegionNameMsg")); - mMap->setToolTipHintMsg(getString("ToolTipHintMsg")); - mMap->setAltToolTipHintMsg(getString("AltToolTipHintMsg")); + mMap->setToolTipMsg(LLTrans::getString("MinimapToolTipMsg")); + mMap->setParcelNameMsg(LLTrans::getString("MinimapParcelNameMsg")); + mMap->setParcelSalePriceMsg(LLTrans::getString("MinimapParcelSalePriceMsg")); + mMap->setParcelSaleAreaMsg(LLTrans::getString("MinimapParcelSaleAreaMsg")); + mMap->setParcelOwnerMsg(LLTrans::getString("MinimapParcelOwnerMsg")); + mMap->setRegionNameMsg(LLTrans::getString("MinimapRegionNameMsg")); + mMap->setToolTipHintMsg(LLTrans::getString("MinimapToolTipHintMsg")); + mMap->setAltToolTipHintMsg(LLTrans::getString("MinimapAltToolTipHintMsg")); sendChildToBack(mMap); mTextBoxNorth = getChild<LLTextBox>("floater_map_north"); diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 280e41c3480da1bff95b012e52a674539e7813a4..6d431d64a405cdea7838f3cc5b1da7f95f519e4f 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -1518,6 +1518,7 @@ void LLPanelEditWearable::getSortedParams(value_map_t &sorted_params, const std: void LLPanelEditWearable::buildParamList(LLScrollingPanelList *panel_list, value_map_t &sorted_params, LLAccordionCtrlTab *tab, LLJoint* jointp) { + BOOL show_hints = gSavedSettings.getBOOL("AlchemyAppearanceShowHints"); // sorted_params is sorted according to magnitude of effect from // least to greatest. Adding to the front of the child list // reverses that order. @@ -1531,7 +1532,7 @@ void LLPanelEditWearable::buildParamList(LLScrollingPanelList *panel_list, value p.name("LLScrollingPanelParam"); LLViewerWearable *wearable = this->getWearable(); LLScrollingPanelParamBase *panel_param = NULL; - if (wearable && wearable->getType() == LLWearableType::WT_PHYSICS) // Hack to show a different panel for physics. Should generalize this later. + if (!show_hints || (wearable && wearable->getType() == LLWearableType::WT_PHYSICS)) // Hack to show a different panel for physics. Should generalize this later. { panel_param = new LLScrollingPanelParamBase( p, NULL, (*it).second, TRUE, this->getWearable(), jointp); } diff --git a/indra/newview/llpanellandaudio.cpp b/indra/newview/llpanellandaudio.cpp index 9e3fc544773ab2c27285b870b4f18072c8b14318..09f28315974ea4cde260bc88b3aefaf9680cdd85 100644 --- a/indra/newview/llpanellandaudio.cpp +++ b/indra/newview/llpanellandaudio.cpp @@ -34,6 +34,7 @@ #include "llviewerparcelmgr.h" #include "llviewerregion.h" #include "lluictrlfactory.h" +#include "llviewercontrol.h" // library includes #include "llcheckboxctrl.h" @@ -88,8 +89,8 @@ BOOL LLPanelLandAudio::postBuild() mCheckParcelVoiceLocal = getChild<LLCheckBoxCtrl>("parcel_enable_voice_channel_local"); childSetCommitCallback("parcel_enable_voice_channel_local", onCommitAny, this); - mMusicURLEdit = getChild<LLLineEditor>("music_url"); - childSetCommitCallback("music_url", onCommitAny, this); + mMusicURLEdit = getChild<LLComboBox>("music_url"); + mMusicURLEdit->setCommitCallback(boost::bind(&LLPanelLandAudio::onCommitMusicUrl, this)); mCheckAVSoundAny = getChild<LLCheckBoxCtrl>("all av sound check"); childSetCommitCallback("all av sound check", onCommitAny, this); @@ -151,8 +152,18 @@ void LLPanelLandAudio::refresh() mCheckParcelEnableVoice->set(allow_voice); mCheckParcelVoiceLocal->set(!parcel->getParcelFlagUseEstateVoiceChannel()); - mMusicURLEdit->setText(parcel->getMusicURL()); - mMusicURLEdit->setEnabled( can_change_media ); + const std::string& current_url = parcel->getMusicURL(); + mMusicURLEdit->clearRows(); + LLSD stream_list = gSavedSettings.getLLSD("StreamList"); + const LLSD streams = stream_list["audio"]; + for (LLSD::array_const_iterator s_itr = streams.beginArray(), s_end = streams.endArray(); s_itr != s_end; ++s_itr) + { + mMusicURLEdit->add(LLSD(*s_itr)); + } + mMusicURLEdit->addSeparator(ADD_TOP); + mMusicURLEdit->add(LLSD(current_url), ADD_TOP); + mMusicURLEdit->selectByValue(current_url); + mMusicURLEdit->setEnabled(can_change_media); BOOL can_change_av_sounds = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_OPTIONS) && parcel->getHaveNewParcelLimitData(); mCheckAVSoundAny->set(parcel->getAllowAnyAVSounds()); @@ -178,7 +189,7 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata) // Extract data from UI BOOL sound_local = self->mCheckSoundLocal->get(); - std::string music_url = self->mMusicURLEdit->getText(); + std::string music_url = self->mMusicURLEdit->getSimple(); BOOL voice_enabled = self->mCheckParcelEnableVoice->get(); BOOL voice_estate_chan = !self->mCheckParcelVoiceLocal->get(); @@ -210,3 +221,25 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata) // Might have changed properties, so let's redraw! self->refresh(); } + +void LLPanelLandAudio::onCommitMusicUrl() +{ + std::string music_url = mMusicURLEdit->getSimple(); + LLStringUtil::trim(music_url); + if (!music_url.empty()) + { + LLSD stream_list = gSavedSettings.getLLSD("StreamList"); + const LLSD streams = stream_list["audio"]; + bool found = false; + for (LLSD::array_const_iterator s_itr = streams.beginArray(), s_end = streams.endArray(); s_itr != s_end; ++s_itr) + { + if (LLStringUtil::compareInsensitive((LLSD(*s_itr)).asString(), music_url) == 0) + found = true; + } + if (!found) + stream_list["audio"].append(music_url); + gSavedSettings.setLLSD("StreamList", stream_list); + } + + onCommitAny(mMusicURLEdit, this); +} diff --git a/indra/newview/llpanellandaudio.h b/indra/newview/llpanellandaudio.h index b54fe62179a9f294af384e0daa3c5a02e9926f07..d1024d89fdf2cdc853319f23a86a16296af763c0 100644 --- a/indra/newview/llpanellandaudio.h +++ b/indra/newview/llpanellandaudio.h @@ -28,11 +28,12 @@ #ifndef LLPANELLANDAUDIO_H #define LLPANELLANDAUDIO_H -#include "lllineeditor.h" #include "llpanel.h" #include "llparcelselection.h" #include "lluifwd.h" // widget pointer types +class LLComboBox; + class LLPanelLandAudio : public LLPanel { @@ -44,13 +45,14 @@ class LLPanelLandAudio private: static void onCommitAny(LLUICtrl* ctrl, void *userdata); + void onCommitMusicUrl(); private: LLCheckBoxCtrl* mCheckSoundLocal; LLCheckBoxCtrl* mCheckParcelEnableVoice; LLCheckBoxCtrl* mCheckEstateDisabledVoice; LLCheckBoxCtrl* mCheckParcelVoiceLocal; - LLLineEditor* mMusicURLEdit; + LLComboBox* mMusicURLEdit; LLCheckBoxCtrl* mCheckAVSoundAny; LLCheckBoxCtrl* mCheckAVSoundGroup; LLCheckBoxCtrl* mCheckObscureMOAP; diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 419a5919bde7b1761b181a8371de908c32ce8fc8..4254796f32c5b9627b70d8ad3f098d5d5bc236ba 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -415,16 +415,6 @@ LLPanelOutfitEdit::LLPanelOutfitEdit() mSavedFolderState = new LLSaveFolderState(); mSavedFolderState->setApply(FALSE); - - LLOutfitObserver& observer = LLOutfitObserver::instance(); - observer.addBOFReplacedCallback(boost::bind(&LLPanelOutfitEdit::updateCurrentOutfitName, this)); - observer.addBOFChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this)); - observer.addOutfitLockChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this)); - observer.addCOFChangedCallback(boost::bind(&LLPanelOutfitEdit::onCOFChanged, this)); - - gAgentWearables.addLoadingStartedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, true)); - gAgentWearables.addLoadedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, false)); - mFolderViewItemTypes.reserve(NUM_FOLDER_VIEW_ITEM_TYPES); for (U32 i = 0; i < NUM_FOLDER_VIEW_ITEM_TYPES; i++) { @@ -578,8 +568,21 @@ BOOL LLPanelOutfitEdit::postBuild() mAvatarComplexityLabel = getChild<LLTextBox>("avatar_complexity_label"); mAvatarComplexityAddingLabel = getChild<LLTextBox>("avatar_complexity_adding_label"); + mLoadingIndicator = getChild<LLLoadingIndicator>("edit_outfit_loading_indicator"); + mOutfitNameStatusPanel = getChild<LLPanel>("outfit_name_and_status"); + onOutfitChanging(gAgentWearables.isCOFChangeInProgress()); - return TRUE; + + LLOutfitObserver& observer = LLOutfitObserver::instance(); + observer.addBOFReplacedCallback(boost::bind(&LLPanelOutfitEdit::updateCurrentOutfitName, this)); + observer.addBOFChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this)); + observer.addOutfitLockChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this)); + observer.addCOFChangedCallback(boost::bind(&LLPanelOutfitEdit::onCOFChanged, this)); + + gAgentWearables.addLoadingStartedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, true)); + gAgentWearables.addLoadedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, false)); + + return LLPanel::postBuild(); } // virtual @@ -1325,19 +1328,17 @@ static void update_status_widget_rect(LLView * widget, S32 right_border) void LLPanelOutfitEdit::onOutfitChanging(bool started) { - static LLLoadingIndicator* indicator = getChild<LLLoadingIndicator>("edit_outfit_loading_indicator"); - static LLView* status_panel = getChild<LLView>("outfit_name_and_status"); - static S32 indicator_delta = status_panel->getRect().getWidth() - indicator->getRect().mLeft; + S32 indicator_delta = mOutfitNameStatusPanel->getRect().getWidth() - mLoadingIndicator->getRect().mLeft; S32 delta = started ? indicator_delta : 0; - S32 right_border = status_panel->getRect().getWidth() - delta; + S32 right_border = mOutfitNameStatusPanel->getRect().getWidth() - delta; if (mCurrentOutfitName) update_status_widget_rect(mCurrentOutfitName, right_border); if (mStatus) update_status_widget_rect(mStatus, right_border); - indicator->setVisible(started); + mLoadingIndicator->setVisible(started); } void LLPanelOutfitEdit::getCurrentItemUUID(LLUUID& selected_id) diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 107f798802a75a7ff22954bd07d7e3408bbb8c11..f536571558fe0c64d1157c0d250c34fd85bb2495 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -59,6 +59,7 @@ class LLMenuGL; class LLFindNonLinksByMask; class LLFindWearablesOfType; class LLWearableItemTypeNameComparator; +class LLLoadingIndicator; class LLPanelOutfitEdit : public LLPanel { @@ -243,6 +244,8 @@ class LLPanelOutfitEdit : public LLPanel bool mInitialized; LLMenuButton* mWearablesGearMenuBtn; LLMenuButton* mGearMenuBtn; + LLLoadingIndicator* mLoadingIndicator = nullptr; + LLPanel* mOutfitNameStatusPanel = nullptr; }; diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index eebf8d9ae2b3f38102245abaddbf4138158648f1..945a4a400c2f665f182d231ba4835848df72b5fa 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -661,6 +661,8 @@ BOOL LLPanelPeople::postBuild() LLPanel* nearby_tab = getChild<LLPanel>(NEARBY_TAB_NAME); nearby_tab->setVisibleCallback(boost::bind(&Updater::setActive, mNearbyListUpdater, _2)); + mNearbyCountText = nearby_tab->getChild<LLTextBox>("nearbycount"); + mNearbyList = nearby_tab->getChild<LLAvatarList>("avatar_list"); mNearbyList->setNoItemsCommentText(getString("no_one_near")); mNearbyList->setNoItemsMsg(getString("no_one_near")); @@ -671,8 +673,15 @@ BOOL LLPanelPeople::postBuild() mNearbyList->setRlvCheckShowNames(true); // [/RLVa:KB] mMiniMap = nearby_tab->getChild<LLNetMap>("Net Map", true); - mMiniMap->setToolTipMsg(gSavedSettings.getBOOL("DoubleClickTeleport") ? - getString("AltMiniMapToolTipMsg") : getString("MiniMapToolTipMsg")); + mMiniMap->setToolTipMsg(LLTrans::getString("MinimapToolTipMsg")); + mMiniMap->setParcelNameMsg(LLTrans::getString("MinimapParcelNameMsg")); + mMiniMap->setParcelSalePriceMsg(LLTrans::getString("MinimapParcelSalePriceMsg")); + mMiniMap->setParcelSaleAreaMsg(LLTrans::getString("MinimapParcelSaleAreaMsg")); + mMiniMap->setParcelOwnerMsg(LLTrans::getString("MinimapParcelOwnerMsg")); + mMiniMap->setRegionNameMsg(LLTrans::getString("MinimapRegionNameMsg")); + mMiniMap->setToolTipHintMsg(LLTrans::getString("MinimapToolTipHintMsg")); + mMiniMap->setAltToolTipHintMsg(LLTrans::getString("MinimapAltToolTipHintMsg")); + mNearbyGearBtn = nearby_tab->getChild<LLButton>("gear_btn"); mNearbyAddFriendBtn = nearby_tab->getChild<LLButton>("add_friend_btn"); @@ -768,6 +777,34 @@ void LLPanelPeople::onChange(EStatusType status, const std::string &channelURI, updateButtons(); } +void LLPanelPeople::updateAccordionTabTitles() +{ + // For now, only using according lists for the friends tab. + // who knows if this changes for any other UI imrprovesments. -- FLN + if (FRIENDS_TAB_NAME == getActiveTabName()) + { + if (mOnlineFriendList) + { + mOnlineFriendList->setDirty(true, !mOnlineFriendList->filterHasMatches()); + LLStringUtil::format_map_t args_online; + args_online["[COUNT]"] = llformat("%d", mOnlineFriendList->size()); + std::string online_title = getString("online_friends_count", args_online); + + mAccordionOnlineTab->setTitle(online_title); + } + + if (mAllFriendList) + { + mAllFriendList->setDirty(true, !mAllFriendList->filterHasMatches()); + LLStringUtil::format_map_t args_all; + args_all["[COUNT]"] = llformat("%d", mAllFriendList->size()); + std::string all_title = getString("all_friends_count", args_all); + + mAccordionAllTab->setTitle(all_title); + } + } +} + void LLPanelPeople::updateFriendListHelpText() { // show special help text for just created account to help finding friends. EXT-4836 @@ -787,6 +824,12 @@ void LLPanelPeople::updateFriendListHelpText() args["[SEARCH_TERM]"] = LLURI::escape(filter); no_friends_text->setText(getString(message_name, args)); } + else + { + // No point in updating if you're hiding them due to no friends. -- FLN + updateAccordionTabTitles(); + } + } void LLPanelPeople::updateFriendList() @@ -834,6 +877,7 @@ void LLPanelPeople::updateFriendList() mAllFriendList->setDirty(true, !mAllFriendList->filterHasMatches()); //update trash and other buttons according to a selected item updateButtons(); + updateAccordionTabTitles(); showFriendsAccordionsIfNeeded(); } @@ -849,6 +893,14 @@ void LLPanelPeople::updateNearbyList() { // [/RLVa:KB] LLWorld::getInstance()->getAvatars(&mNearbyList->getIDs(), &positions, gAgent.getPositionGlobal(), ALControlCache::NearMeRange); + + LLViewerRegion* cur_region = gAgent.getRegion(); + mNearbyCountText->setTextArg("[COUNT]", llformat("%d", mNearbyList->size())); + + if (cur_region) + { + mNearbyCountText->setTextArg("[REGION]", llformat("%s", cur_region->getName())); + } // [RLVa:KB] - Checked: RLVa-2.0.3 } else diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h index 7988fa5ab98e99ffef00904e8bb81b15f7ea1316..296e2361ac3a09d66a7780ff201d9ee9ebafd974 100644 --- a/indra/newview/llpanelpeople.h +++ b/indra/newview/llpanelpeople.h @@ -92,6 +92,7 @@ class LLPanelPeople // methods indirectly called by the updaters void updateFriendListHelpText(); void updateFriendList(); + void updateAccordionTabTitles(); // void updateNearbyList(); void updateRecentList(); @@ -169,6 +170,7 @@ class LLPanelPeople LLUICtrl* mFriendsDelFriendBtn = nullptr; LLTextBox* mGroupCountText = nullptr; + LLTextBox* mNearbyCountText = nullptr; std::vector<std::string> mSavedOriginalFilters; std::vector<std::string> mSavedFilters; diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index d6b27acc0bd7197b070474b71bc4858171b36217..c840776f37d0c32ea6f7cc16c4cf7eced2ac5811 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -721,11 +721,11 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force) LLSettingsSky::ptr_t psky = LLEnvironment::instance().getCurrentSky(); // TODO -- make these getters return vec3s - LLVector3 sunDiffuse = LLVector3(psky->getSunlightColor().mV); - LLVector3 moonDiffuse = LLVector3(psky->getMoonlightColor().mV); + LLVector3 sun_light_color = LLVector3(psky->getSunlightColor().mV); + LLVector3 moon_light_color = LLVector3(psky->getMoonlightColor().mV); - shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sunDiffuse); - shader->uniform3fv(LLShaderMgr::MOONLIGHT_COLOR, moonDiffuse); + shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sun_light_color); + shader->uniform3fv(LLShaderMgr::MOONLIGHT_COLOR, moon_light_color); shader->uniform3fv(LLShaderMgr::CLOUD_COLOR, LLVector3(psky->getCloudColor().mV)); @@ -768,9 +768,9 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force) shader->uniform1f(LLShaderMgr::SKY_HDR_SCALE, auto_adjust_hdr_scale); LLColor3 blue_horizon = getBlueHorizon() * auto_adjust_blue_horizon_scale; LLColor3 blue_density = getBlueDensity() * auto_adjust_blue_density_scale; - LLColor3 sun_diffuse = getSunDiffuse() * auto_adjust_sun_color_scale; + sun_light_color = sun_light_color * auto_adjust_sun_color_scale; - shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sun_diffuse.mV); + shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sun_light_color.mV); shader->uniform3fv(LLShaderMgr::BLUE_DENSITY, blue_density.mV); shader->uniform3fv(LLShaderMgr::BLUE_HORIZON, blue_horizon.mV); diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h index 5210df1fd9301f50d6a7a231bf88afb0a72cdc30..44c92c169223886988f0ab765c1d43c9f7ec916e 100644 --- a/indra/newview/llviewerprecompiledheaders.h +++ b/indra/newview/llviewerprecompiledheaders.h @@ -114,5 +114,7 @@ // Library includes from llui project #include "llui.h" #include "lluictrl.h" +#include "llpanel.h" +#include "llfloater.h" #endif diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 0a5b657633a824602a7af8625070d0d09b669946..749cba775e3d32845b817e3b24fc8ba5f2703414 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -5555,6 +5555,11 @@ void LLPipeline::setupHWLights() { //darken local lights when probe ambiance is above 1 light_scale = mReflectionMapManager.mLightScale; } + else + { + static LLCachedControl<F32> alchemy_light_scale(gSavedSettings, "AlchemyGlobalLightScale", 1.f); + light_scale = alchemy_light_scale; + } LLEnvironment& environment = LLEnvironment::instance(); @@ -7873,6 +7878,11 @@ void LLPipeline::renderDeferredLighting() { //darken local lights when probe ambiance is above 1 light_scale = mReflectionMapManager.mLightScale; } + else + { + static LLCachedControl<F32> alchemy_light_scale(gSavedSettings, "AlchemyGlobalLightScale", 1.f); + light_scale = alchemy_light_scale; + } LLRenderTarget *screen_target = &mRT->screen; LLRenderTarget* deferred_light_target = &mRT->deferredLight; diff --git a/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml b/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml index 9f9ae71beb40fc5620a90c255b2d3ab94f3c3ffd..fa1316b99890492f0433f6abfc275985bda92f57 100644 --- a/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml @@ -27,8 +27,8 @@ button_panel.bg_opaque_image="transparent.j2c" name="toolbar_top" height="30" - left="40" - right="-40" + left="0" + right="-1" top="1" side="top" follows="left|right|top" @@ -70,8 +70,8 @@ name="toolbar_left" width="30" left="0" - top="10" - bottom="-10" + top="0" + bottom="-1" side="left" button_display_mode="icons_only"> <icon layout="topleft" @@ -137,8 +137,8 @@ name="toolbar_right" width="30" left="0" - top="10" - bottom="-10" + top="0" + bottom="-1" side="right" button_display_mode="icons_only"> <icon layout="topleft" @@ -164,8 +164,8 @@ button_panel.bg_opaque_image="transparent.j2c" name="toolbar_bottom" height="30" - left="40" - right="-40" + left="0" + right="-1" top="0" side="bottom" follows="left|right|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 120f27ffb181e2ae5ad64d8706a58a6fe0b04bd0..eb5c1623fbca2d0a67c596fa63c580e31806a835 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1842,12 +1842,14 @@ Only large parcels can be listed in search. width="364"> Music URL: </text> - <line_editor + <combo_box + allow_text_entry="true" + allow_new_values="true" follows="left|top|right" height="23" layout="topleft" left="100" - max_length_bytes="255" + max_chars="255" name="music_url" top_delta="0" right="-15" diff --git a/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml b/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml index 03b6d7546a6f4f5c20e72576c5a62289b58bc6a4..2b08624be32b4e7dee48751311265ec26ca1e7c7 100644 --- a/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml @@ -1118,6 +1118,41 @@ increment="8" name="local_light_spinner" control_name="RenderLocalLightCount" /> + <!--Global Light Scale--> + <text + follows="left|top" + height="15" + left="10" + top_pad="12" + width="120" + layout="topleft" + value="Light Intensity Scale:" /> + <slider_bar + top_pad="-18" + height="20" + increment=".1" + follows="left|top|right" + layout="topleft" + max_val="10" + min_val="0" + left="130" + right="-55" + name="global_light_inten_slider_bar" + control_name="AlchemyGlobalLightScale" /> + <spinner + top_pad="-20" + height="15" + label_width="0" + right="-2" + decimal_digits="2" + follows="top|right" + layout="topleft" + max_val="10" + min_val="0" + width="55" + increment=".1" + name="global_light_inten_spinner" + control_name="AlchemyGlobalLightScale" /> </panel> <!--Shadows/SSAO Panel--> <panel diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index 201563290eb204ad0f221dbe16e68950136465f6..4b6cdef041641644684dccc81a80285c18b25f18 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -17,38 +17,6 @@ save_visibility="true" width="200"> <!-- RLVa shows the anonymized name on the regular tooltip when @shownames=n restricted (rather than show the avatar inspector) --> - <floater.string - name="ToolTipMsg"> - [PARCEL_NAME_MSG][PARCEL_SALE_PRICE_MSG][PARCEL_SALE_AREA_MSG][PARCEL_OWNER_MSG][REGION_NAME_MSG][TOOL_TIP_HINT_MSG] - </floater.string> - <floater.string - name="ParcelNameMsg"> - [PARCEL_NAME] - </floater.string> - <floater.string - name="ParcelSalePriceMsg"> - Price: L$[PRICE] (L$[PRICE_PER_SQM]/m²) - </floater.string> - <floater.string - name="ParcelSaleAreaMsg"> - Area: [AREA]m² - </floater.string> - <floater.string - name="ParcelOwnerMsg"> - Owner: [PARCEL_OWNER] - </floater.string> - <floater.string - name="RegionNameMsg"> - Region: [REGION_NAME] - </floater.string> - <floater.string - name="ToolTipHintMsg"> - Double-click to open map - </floater.string> - <floater.string - name="AltToolTipHintMsg"> - Double-click to teleport - </floater.string> <floater.string name="mini_map_caption"> Mini-map </floater.string> diff --git a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml index f3109080ff3a92b48db75551a2f13c849280d0f5..a81e0793ef64d69d95eb0d9f9c18bb29efb33147 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml @@ -5,7 +5,6 @@ name="prefs_graphics_advanced" help_topic="Preferences_Graphics_Advanced" single_instance="true" - reuse_instance="false" save_rect="true" title="ADVANCED GRAPHICS PREFERENCES" width="800"> @@ -83,7 +82,7 @@ layout="topleft" left="30" min_val="8" - max_val="10" + max_val="9" name="RenderPostProcess" show_text="false" top_delta="16" diff --git a/indra/newview/skins/default/xui/en/font_main_ibmplex.xml b/indra/newview/skins/default/xui/en/font_main_ibmplex.xml index ff8ddc82e3ec1b0a10c38d777068d9b1385d9f21..fb1ccd8f7fedb04f147c8f4f4bfb0220d39ad996 100644 --- a/indra/newview/skins/default/xui/en/font_main_ibmplex.xml +++ b/indra/newview/skins/default/xui/en/font_main_ibmplex.xml @@ -1,45 +1,45 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <fonts> <font name="default"> - <file>IBMPlexSans-Regular.ttf</file> - <file>IBMPlexSansJP-Regular.ttf</file> - <file>IBMPlexSansKR-Regular.ttf</file> - <file>IBMPlexSansThai-Regular.ttf</file> - <file>IBMPlexSansHebrew-Regular.ttf</file> - <file>IBMPlexSansDevanagari-Regular.ttf</file> - <file>IBMPlexSansArabic-Regular.ttf</file> + <file>IBMPlexSans-Regular.otf</file> + <file>IBMPlexSansJP-Regular.otf</file> + <file>IBMPlexSansKR-Regular.otf</file> + <file>IBMPlexSansThai-Regular.otf</file> + <file>IBMPlexSansHebrew-Regular.otf</file> + <file>IBMPlexSansDevanagari-Regular.otf</file> + <file>IBMPlexSansArabic-Regular.otf</file> </font> <font name="SansSerif"> - <file>IBMPlexSans-Regular.ttf</file> - <file>IBMPlexSansJP-Regular.ttf</file> - <file>IBMPlexSansKR-Regular.ttf</file> - <file>IBMPlexSansThai-Regular.ttf</file> - <file>IBMPlexSansHebrew-Regular.ttf</file> - <file>IBMPlexSansDevanagari-Regular.ttf</file> - <file>IBMPlexSansArabic-Regular.ttf</file> + <file>IBMPlexSans-Regular.otf</file> + <file>IBMPlexSansJP-Regular.otf</file> + <file>IBMPlexSansKR-Regular.otf</file> + <file>IBMPlexSansThai-Regular.otf</file> + <file>IBMPlexSansHebrew-Regular.otf</file> + <file>IBMPlexSansDevanagari-Regular.otf</file> + <file>IBMPlexSansArabic-Regular.otf</file> </font> <font name="SansSerif" font_style="BOLD"> - <file>IBMPlexSans-Bold.ttf</file> - <file>IBMPlexSansJP-Bold.ttf</file> - <file>IBMPlexSansKR-Bold.ttf</file> - <file>IBMPlexSansThai-Bold.ttf</file> - <file>IBMPlexSansHebrew-Bold.ttf</file> - <file>IBMPlexSansDevanagari-Bold.ttf</file> - <file>IBMPlexSansArabic-Bold.ttf</file> + <file>IBMPlexSans-Bold.otf</file> + <file>IBMPlexSansJP-Bold.otf</file> + <file>IBMPlexSansKR-Bold.otf</file> + <file>IBMPlexSansThai-Bold.otf</file> + <file>IBMPlexSansHebrew-Bold.otf</file> + <file>IBMPlexSansDevanagari-Bold.otf</file> + <file>IBMPlexSansArabic-Bold.otf</file> </font> <font name="SansSerif" font_style="ITALIC"> - <file>IBMPlexSans-Italic.ttf</file> + <file>IBMPlexSans-Italic.otf</file> </font> <font name="SansSerif" font_style="BOLD|ITALIC"> - <file>IBMPlexSans-BoldItalic.ttf</file> + <file>IBMPlexSans-BoldItalic.otf</file> </font> <font name="OverrideTest"> - <file>IBMPlexSans-Regular.ttf</file> + <file>IBMPlexSans-Regular.otf</file> </font> <font_size name="Huge" size="16.0" /> diff --git a/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml b/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml index c4a5808a5dd3b3169ab9e3615998abe9b5b360a2..072192158d07e66a0588bc49cd0488e5b996b4be 100644 --- a/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml +++ b/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml @@ -1,45 +1,45 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <fonts> <font name="default"> - <file>IBMPlexMono-Regular.ttf</file> - <file>IBMPlexSansJP-Regular.ttf</file> - <file>IBMPlexSansKR-Regular.ttf</file> - <file>IBMPlexSansThai-Regular.ttf</file> - <file>IBMPlexSansHebrew-Regular.ttf</file> - <file>IBMPlexSansDevanagari-Regular.ttf</file> - <file>IBMPlexSansArabic-Regular.ttf</file> + <file>IBMPlexMono-Regular.otf</file> + <file>IBMPlexSansJP-Regular.otf</file> + <file>IBMPlexSansKR-Regular.otf</file> + <file>IBMPlexSansThai-Regular.otf</file> + <file>IBMPlexSansHebrew-Regular.otf</file> + <file>IBMPlexSansDevanagari-Regular.otf</file> + <file>IBMPlexSansArabic-Regular.otf</file> </font> <font name="SansSerif"> - <file>IBMPlexMono-Regular.ttf</file> - <file>IBMPlexSansJP-Regular.ttf</file> - <file>IBMPlexSansKR-Regular.ttf</file> - <file>IBMPlexSansThai-Regular.ttf</file> - <file>IBMPlexSansHebrew-Regular.ttf</file> - <file>IBMPlexSansDevanagari-Regular.ttf</file> - <file>IBMPlexSansArabic-Regular.ttf</file> + <file>IBMPlexMono-Regular.otf</file> + <file>IBMPlexSansJP-Regular.otf</file> + <file>IBMPlexSansKR-Regular.otf</file> + <file>IBMPlexSansThai-Regular.otf</file> + <file>IBMPlexSansHebrew-Regular.otf</file> + <file>IBMPlexSansDevanagari-Regular.otf</file> + <file>IBMPlexSansArabic-Regular.otf</file> </font> <font name="SansSerif" font_style="BOLD"> - <file>IBMPlexMono-Bold.ttf</file> - <file>IBMPlexSansJP-Bold.ttf</file> - <file>IBMPlexSansKR-Bold.ttf</file> - <file>IBMPlexSansThai-Bold.ttf</file> - <file>IBMPlexSansHebrew-Bold.ttf</file> - <file>IBMPlexSansDevanagari-Bold.ttf</file> - <file>IBMPlexSansArabic-Bold.ttf</file> + <file>IBMPlexMono-Bold.otf</file> + <file>IBMPlexSansJP-Bold.otf</file> + <file>IBMPlexSansKR-Bold.otf</file> + <file>IBMPlexSansThai-Bold.otf</file> + <file>IBMPlexSansHebrew-Bold.otf</file> + <file>IBMPlexSansDevanagari-Bold.otf</file> + <file>IBMPlexSansArabic-Bold.otf</file> </font> <font name="SansSerif" font_style="ITALIC"> - <file>IBMPlexMono-Italic.ttf</file> + <file>IBMPlexMono-Italic.otf</file> </font> <font name="SansSerif" font_style="BOLD|ITALIC"> - <file>IBMPlexMono-BoldItalic.ttf</file> + <file>IBMPlexMono-BoldItalic.otf</file> </font> <font name="OverrideTest"> - <file>IBMPlexMono-Regular.ttf</file> + <file>IBMPlexMono-Regular.otf</file> </font> <font_size name="Huge" size="16.0" /> diff --git a/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml b/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml index f820c441f778dbf8e55d3daa88ffd05b432c01e8..91231058135b1b8bcda402be4fc3ea986579fb2a 100644 --- a/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml +++ b/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml @@ -1,19 +1,19 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <fonts> <font name="Monospace"> - <file>SourceCodePro-Regular.ttf</file> + <file>SourceCodePro-Regular.otf</file> </font> <font name="Monospace" font_style="BOLD"> - <file>SourceCodePro-Bold.ttf</file> + <file>SourceCodePro-Bold.otf</file> </font> <font name="Monospace" font_style="ITALIC"> - <file>SourceCodePro-It.ttf</file> + <file>SourceCodePro-It.otf</file> </font> <font name="Monospace" font_style="BOLD|ITALIC"> - <file>SourceCodePro-BoldIt.ttf</file> + <file>SourceCodePro-BoldIt.otf</file> </font> <font_size name="Monospace" size="8.0" /> diff --git a/indra/newview/skins/default/xui/en/fonts.xml b/indra/newview/skins/default/xui/en/fonts.xml index f298128b13ef7723d74f595e4ce9e34f49f544a2..dfc1c8adda75e71a1cafbbfdd72ad7f9f3eab2b0 100644 --- a/indra/newview/skins/default/xui/en/fonts.xml +++ b/indra/newview/skins/default/xui/en/fonts.xml @@ -221,31 +221,31 @@ <!--IBM Plex--> <font name="IBMPlex"> - <file>IBMPlexSans-Regular.ttf</file> - <file>IBMPlexSansJP-Regular.ttf</file> - <file>IBMPlexSansKR-Regular.ttf</file> - <file>IBMPlexSansThai-Regular.ttf</file> - <file>IBMPlexSansHebrew-Regular.ttf</file> - <file>IBMPlexSansDevanagari-Regular.ttf</file> - <file>IBMPlexSansArabic-Regular.ttf</file> + <file>IBMPlexSans-Regular.otf</file> + <file>IBMPlexSansJP-Regular.otf</file> + <file>IBMPlexSansKR-Regular.otf</file> + <file>IBMPlexSansThai-Regular.otf</file> + <file>IBMPlexSansHebrew-Regular.otf</file> + <file>IBMPlexSansDevanagari-Regular.otf</file> + <file>IBMPlexSansArabic-Regular.otf</file> </font> <font name="IBMPlex" font_style="BOLD"> - <file>IBMPlexSans-Bold.ttf</file> - <file>IBMPlexSansJP-Bold.ttf</file> - <file>IBMPlexSansKR-Bold.ttf</file> - <file>IBMPlexSansThai-Bold.ttf</file> - <file>IBMPlexSansHebrew-Bold.ttf</file> - <file>IBMPlexSansDevanagari-Bold.ttf</file> - <file>IBMPlexSansArabic-Bold.ttf</file> + <file>IBMPlexSans-Bold.otf</file> + <file>IBMPlexSansJP-Bold.otf</file> + <file>IBMPlexSansKR-Bold.otf</file> + <file>IBMPlexSansThai-Bold.otf</file> + <file>IBMPlexSansHebrew-Bold.otf</file> + <file>IBMPlexSansDevanagari-Bold.otf</file> + <file>IBMPlexSansArabic-Bold.otf</file> </font> <font name="IBMPlex" font_style="ITALIC"> - <file>IBMPlexSans-Italic.ttf</file> + <file>IBMPlexSans-Italic.otf</file> </font> <font name="IBMPlex" font_style="BOLD|ITALIC"> - <file>IBMPlexSans-BoldItalic.ttf</file> + <file>IBMPlexSans-BoldItalic.otf</file> </font> <font_size name="Monospace" font="IBMPlex" size="8.0" /> @@ -302,21 +302,21 @@ <!--Source Sans 3--> <font name="SourceSans"> - <file>SourceSans3-Regular.ttf</file> + <file>SourceSans3-Regular.otf</file> <file load_collection="true">SourceHanSans-Regular.ttc</file> </font> <font name="SourceSans" font_style="BOLD"> - <file>SourceSans3-Bold.ttf</file> + <file>SourceSans3-Bold.otf</file> <file load_collection="true">SourceHanSans-Bold.ttc</file> </font> <font name="SourceSans" font_style="ITALIC"> - <file>SourceSans3-It.ttf</file> + <file>SourceSans3-It.otf</file> </font> <font name="SourceSans" font_style="BOLD|ITALIC"> - <file>SourceSans3-BoldIt.ttf</file> + <file>SourceSans3-BoldIt.otf</file> </font> <font_size name="Monospace" font="SourceSans" size="8.0" /> @@ -390,19 +390,19 @@ <!--IBM Plex Mono--> <font name="IBMPlexMono"> - <file>IBMPlexMono-Regular.ttf</file> + <file>IBMPlexMono-Regular.otf</file> </font> <font name="IBMPlexMono" font_style="BOLD"> - <file>IBMPlexMono-Bold.ttf</file> + <file>IBMPlexMono-Bold.otf</file> </font> <font name="IBMPlexMono" font_style="ITALIC"> - <file>IBMPlexMono-Italic.ttf</file> + <file>IBMPlexMono-Italic.otf</file> </font> <font name="IBMPlexMono" font_style="BOLD|ITALIC"> - <file>IBMPlexMono-BoldItalic.ttf</file> + <file>IBMPlexMono-BoldItalic.otf</file> </font> <font_size name="Monospace" font="IBMPlexMono" size="8.0" /> @@ -550,21 +550,21 @@ <!--Source Code Pro--> <font name="SourceCodePro"> - <file>SourceCodePro-Regular.ttf</file> + <file>SourceCodePro-Regular.otf</file> <file load_collection="true">SourceHanSans-Regular.ttc</file> </font> <font name="SourceCodePro" font_style="BOLD"> - <file>SourceSans3-Bold.ttf</file> + <file>SourceCodePro-Bold.otf</file> <file load_collection="true">SourceHanSans-Bold.ttc</file> </font> <font name="SourceCodePro" font_style="ITALIC"> - <file>SourceSans3-It.ttf</file> + <file>SourceCodePro-It.otf</file> </font> <font name="SourceCodePro" font_style="BOLD|ITALIC"> - <file>SourceSans3-BoldIt.ttf</file> + <file>SourceCodePro-BoldIt.otf</file> </font> <font_size name="Monospace" font="SourceCodePro" size="8.0" /> diff --git a/indra/newview/skins/default/xui/en/menu_place.xml b/indra/newview/skins/default/xui/en/menu_place.xml index 288811d2f6b020f3e1ee8aa5bf5d10748ad2b918..c9c2df834e669ab88278f71245057fdbffebb8c6 100644 --- a/indra/newview/skins/default/xui/en/menu_place.xml +++ b/indra/newview/skins/default/xui/en/menu_place.xml @@ -5,7 +5,15 @@ mouse_opaque="false" name="place_overflow_menu" width="128"> - <menu_item_call + <menu_item_call + label="Copy SLurl" + layout="topleft" + name="copy"> + <menu_item_call.on_click + function="Places.OverflowMenu.Action" + parameter="copy" /> + </menu_item_call> + <menu_item_call label="Make a Landmark" layout="topleft" name="landmark"> diff --git a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml index 9e41b2c0b51dd9180ebd17aa3beda42359884e25..b319e5e872ac10a45d9ce6130b42ccd7af5ebbce 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml @@ -33,7 +33,6 @@ top="0" width="313" > <check_box - control_name="LowerAlphaTextureInvisible" follows="left|top" height="16" layout="topleft" @@ -58,7 +57,6 @@ </texture_picker> <check_box - control_name="UpperAlphaTextureInvisible" follows="left|top" height="16" layout="topleft" @@ -83,7 +81,6 @@ </texture_picker> <check_box - control_name="HeadAlphaTextureInvisible" follows="left|top" height="16" layout="topleft" @@ -108,7 +105,6 @@ </texture_picker> <check_box - control_name="Eye AlphaTextureInvisible" follows="left|top" height="16" layout="topleft" @@ -133,7 +129,6 @@ </texture_picker> <check_box - control_name="HairAlphaTextureInvisible" follows="left|top" height="16" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index 363c48a74388a5e906eeca0fb9f0255352f1cc1b..4a12546d5ce36b0b0fea95708f904d1ae03b8774 100644 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -55,15 +55,11 @@ You are not a member of any groups. Learn about [https://community.secondlife.com/knowledgebase/joining-and-participating-in-groups-r51/ groups in Second Life.] </string> - <string - name="MiniMapToolTipMsg" - value="[REGION](Double-click to open Map, shift-drag to pan)"/> - <string - name="AltMiniMapToolTipMsg" - value="[REGION](Double-click to teleport, shift-drag to pan)"/> <string name="GroupCountWithInfo" value="You belong to [COUNT] groups, and can join [REMAINING] more. [secondlife:/// Raise your limit]"/> + <string name="online_friends_count">Online ([COUNT])</string> + <string name="all_friends_count">All ([COUNT])</string> <tab_container bottom="-10" follows="all" @@ -176,10 +172,24 @@ Learn about [https://community.secondlife.com/knowledgebase/joining-and-particip function="People.DelFriend" /> </dnd_button> </panel> + <text + type="string" + length="1" + follows="left|top|right" + height="14" + layout="topleft" + right="-10" + top_pad="4" + left="3" + use_ellipses="true" + skip_link_underline="true" + name="nearbycount"> + There are [COUNT] avatars in [REGION]. + </text> <layout_stack clip="false" follows="all" - height="410" + height="394" layout="topleft" left="0" mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_interface.xml b/indra/newview/skins/default/xui/en/panel_preferences_interface.xml index 4335551ce82d050d603417243d641b93aebec3a3..77f86489bbe56b6729bd2f9f2e1507b1444b3ee6 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_interface.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_interface.xml @@ -112,7 +112,7 @@ layout="topleft" left="45" name="HideHoverTextInCinematicMode" - top_pad="7" + top_pad="4" width="256"> <check_box.commit_callback function="Pref.RenderOptionUpdate" /> @@ -139,7 +139,7 @@ layout="topleft" left="45" name="DoubleClickAttachmentAddCheck" - top_pad="7" + top_pad="4" width="256"/> <check_box control_name="DoubleClickWearableAdd" @@ -151,6 +151,31 @@ name="DoubleClickWearableAddCheck" top_pad="4" width="256"/> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + left="30" + name="Appearance Editor" + mouse_opaque="false" + top_pad="5" + width="300" + font="SansSerifSmall"> + Appearance Editor: + </text> + <check_box + follows="left|top" + height="16" + label="Show visual hints in wearable editors" + layout="topleft" + tool_tip="Enable or disable the visual hints showing the avatar parts being modified." + left="45" + top_pad="4" + name="AlchemyAppearanceShowHints" + width="275" + control_name="AlchemyAppearanceShowHints"/> <text type="string" length="1" @@ -170,7 +195,7 @@ height="16" label="Block left-click sitting on Objects" left="45" - top_pad="7" + top_pad="4" name="AlchemyDisableClickToSit" width="275" control_name="AlchemyDisableClickToSit"/> @@ -255,7 +280,7 @@ layout="topleft" tool_tip="If enabled scripted objects display swirling particle lights when the scripts communicate" left="45" - top_pad="7" + top_pad="4" name="EffectScriptChatParticles" width="275" control_name="EffectScriptChatParticles"/> diff --git a/indra/newview/skins/default/xui/en/panel_scrolling_param.xml b/indra/newview/skins/default/xui/en/panel_scrolling_param.xml index a8cd380f2045a1c488fd47728b2d7144fc73d29e..b2d58ce0de798f33ec0c73b3a9f6ca707f00bd6f 100644 --- a/indra/newview/skins/default/xui/en/panel_scrolling_param.xml +++ b/indra/newview/skins/default/xui/en/panel_scrolling_param.xml @@ -84,7 +84,7 @@ enabled="false" height="132" image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled_Selected" + image_disabled_selected="PushButton_Selected_Disabled" image_selected="PushButton_Selected" image_unselected="PushButton_Off" layout="topleft" @@ -97,7 +97,7 @@ enabled="false" height="132" image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled_Selected" + image_disabled_selected="PushButton_Selected_Disabled" image_selected="PushButton_Selected" image_unselected="PushButton_Off" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 07070b8eaf5f500aa1e6d9fdeedca428e02b5be1..e2c7878055a0f05aed8a5b398df129abbd5cd88b 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -27,8 +27,8 @@ button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_top" height="30" - left="40" - right="-40" + left="0" + right="-1" top="1" side="top" follows="left|right|top" @@ -70,8 +70,8 @@ name="toolbar_left" width="30" left="0" - top="10" - bottom="-10" + top="0" + bottom="-1" side="left" button_display_mode="icons_only"> <icon layout="topleft" @@ -137,8 +137,8 @@ name="toolbar_right" width="30" left="0" - top="10" - bottom="-10" + top="0" + bottom="-1" side="right" button_display_mode="icons_only"> <icon layout="topleft" @@ -164,8 +164,8 @@ button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_bottom" height="30" - left="40" - right="-40" + left="0" + right="-1" top="0" side="bottom" follows="left|right|bottom" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index fa54e8e0f59a55e84a82e813698b385899a3709a..6e4a70b45ca6d3350e51b4f31dc9caa85d93e852 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -4474,4 +4474,36 @@ and report the problem. <string name="fs_preprocessor_caching_err">Error caching included file '[FILENAME]'</string> <string name="fs_preprocessor_truncated">Warning: Preprocessor output truncated due to excessive script text size. This script will most likely not work.</string> + <string + name="MinimapToolTipMsg"> + [PARCEL_NAME_MSG][PARCEL_SALE_PRICE_MSG][PARCEL_SALE_AREA_MSG][PARCEL_OWNER_MSG][REGION_NAME_MSG][TOOL_TIP_HINT_MSG] + </string> + <string + name="MinimapParcelNameMsg"> + [PARCEL_NAME] + </string> + <string + name="MinimapParcelSalePriceMsg"> + Price: L$[PRICE] (L$[PRICE_PER_SQM]/m²) + </string> + <string + name="MinimapParcelSaleAreaMsg"> + Area: [AREA]m² + </string> + <string + name="MinimapParcelOwnerMsg"> + Owner: [PARCEL_OWNER] + </string> + <string + name="MinimapRegionNameMsg"> + Region: [REGION_NAME] + </string> + <string + name="MinimapToolTipHintMsg"> + Double-click to open map + </string> + <string + name="MinimapAltToolTipHintMsg"> + Double-click to teleport + </string> </strings> diff --git a/indra/newview/skins/default/xui/en/widgets/drop_down.xml b/indra/newview/skins/default/xui/en/widgets/drop_down.xml index 602250ace698c790ac08c480464c827ccb9fc43e..8644702555847b28f76407581cbddb531dfb9f2c 100644 --- a/indra/newview/skins/default/xui/en/widgets/drop_down.xml +++ b/indra/newview/skins/default/xui/en/widgets/drop_down.xml @@ -12,7 +12,7 @@ image_unselected="PushButton_Off" image_selected="PushButton_Selected" image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled_Selected" + image_disabled_selected="PushButton_Selected_Disabled" image_overlay="Combobox_Over" image_overlay_alignment="right" /> <drop_down.combo_list bg_writeable_color="white" /> diff --git a/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml b/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml index 9f9ae71beb40fc5620a90c255b2d3ab94f3c3ffd..fa1316b99890492f0433f6abfc275985bda92f57 100644 --- a/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml @@ -27,8 +27,8 @@ button_panel.bg_opaque_image="transparent.j2c" name="toolbar_top" height="30" - left="40" - right="-40" + left="0" + right="-1" top="1" side="top" follows="left|right|top" @@ -70,8 +70,8 @@ name="toolbar_left" width="30" left="0" - top="10" - bottom="-10" + top="0" + bottom="-1" side="left" button_display_mode="icons_only"> <icon layout="topleft" @@ -137,8 +137,8 @@ name="toolbar_right" width="30" left="0" - top="10" - bottom="-10" + top="0" + bottom="-1" side="right" button_display_mode="icons_only"> <icon layout="topleft" @@ -164,8 +164,8 @@ button_panel.bg_opaque_image="transparent.j2c" name="toolbar_bottom" height="30" - left="40" - right="-40" + left="0" + right="-1" top="0" side="bottom" follows="left|right|bottom"