From 4dafa322f381515f901dffaf314f792620192f46 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Wed, 24 Feb 2010 22:05:25 +0200 Subject: Fixed bug EXT-5158 (View/preset camera icons are gray-scale when selected should show color version). --HG-- branch : product-engine --- indra/newview/llfloatercamera.cpp | 15 +++++++++++++++ indra/newview/llfloatercamera.h | 3 +++ indra/newview/skins/default/xui/en/floater_camera.xml | 4 ++++ 3 files changed, 22 insertions(+) diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index ecb6254f8a..abf60a29b4 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -354,6 +354,8 @@ void LLFloaterCamera::updateState() childSetVisible(ZOOM, CAMERA_CTRL_MODE_AVATAR_VIEW != mCurrMode); childSetVisible(PRESETS, CAMERA_CTRL_MODE_AVATAR_VIEW == mCurrMode); + updateCameraPresetButtons(); + //hiding or showing the panel with controls by reshaping the floater bool showControls = CAMERA_CTRL_MODE_FREE_CAMERA != mCurrMode; if (showControls == childIsVisible(CONTROLS)) return; @@ -384,6 +386,16 @@ void LLFloaterCamera::updateState() } } +void LLFloaterCamera::updateCameraPresetButtons() +{ + ECameraPreset preset = (ECameraPreset) gSavedSettings.getU32("CameraPreset"); + + childSetValue("rear_view", preset == CAMERA_PRESET_REAR_VIEW); + childSetValue("group_view", preset == CAMERA_PRESET_GROUP_VIEW); + childSetValue("front_view", preset == CAMERA_PRESET_FRONT_VIEW); + childSetValue("mouselook_view", gAgent.cameraMouselook()); +} + void LLFloaterCamera::onClickCameraPresets(const LLSD& param) { std::string name = param.asString(); @@ -405,4 +417,7 @@ void LLFloaterCamera::onClickCameraPresets(const LLSD& param) gAgent.changeCameraToMouselook(); } + LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); + if (camera_floater) + camera_floater->updateCameraPresetButtons(); } diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h index 45d5e9a845..f908ad08be 100644 --- a/indra/newview/llfloatercamera.h +++ b/indra/newview/llfloatercamera.h @@ -103,6 +103,9 @@ private: /* updates the state (UI) according to the current mode */ void updateState(); + /* update camera preset buttons toggle state according to the currently selected preset */ + void updateCameraPresetButtons(); + void onClickBtn(ECameraControlMode mode); void assignButton2Mode(ECameraControlMode mode, const std::string& button_name); diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 1b8bbe42d2..f69c763f78 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -132,6 +132,7 @@ height="40" image_selected="Cam_Preset_Back_On" image_unselected="Cam_Preset_Back_Off" + is_toggle="true" layout="topleft" left="0" name="rear_view" @@ -146,6 +147,7 @@ height="40" image_selected="Cam_Preset_Side_On" image_unselected="Cam_Preset_Side_Off" + is_toggle="true" layout="topleft" left_pad="5" name="group_view" @@ -160,6 +162,7 @@ height="40" image_selected="Cam_Preset_Front_On" image_unselected="Cam_Preset_Front_Off" + is_toggle="true" layout="topleft" left="0" name="front_view" @@ -174,6 +177,7 @@ height="40" image_selected="Cam_Preset_Eye_Off" image_unselected="Cam_Preset_Eye_Off" + is_toggle="true" layout="topleft" left_pad="5" name="mouselook_view" -- cgit v1.2.3 From 70d31b4516a823d8b687d388e3a9e9e18b7b7bc5 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Wed, 24 Feb 2010 22:06:04 +0200 Subject: Minor cleanup --HG-- branch : product-engine --- indra/newview/llagent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index afd9d7b3f9..25f504c785 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3062,7 +3062,7 @@ void LLAgent::updateCamera() } // Update UI with our camera inputs - LLFloaterCamera* camera_floater = LLFloaterReg::findTypedInstance("camera"); + LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); if (camera_floater) { camera_floater->mRotate->setToggleState( -- cgit v1.2.3 From 59b82f8185247638a5fb294881ffc0c0558952b3 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Wed, 24 Feb 2010 23:38:50 +0200 Subject: Backed out of changeset 9941:57eb2dba6641 --HG-- branch : product-engine --- indra/newview/llagent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 25f504c785..afd9d7b3f9 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3062,7 +3062,7 @@ void LLAgent::updateCamera() } // Update UI with our camera inputs - LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); + LLFloaterCamera* camera_floater = LLFloaterReg::findTypedInstance("camera"); if (camera_floater) { camera_floater->mRotate->setToggleState( -- cgit v1.2.3 From c4277e421ca8934e405d778f3c86f21760c55c9d Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Wed, 24 Feb 2010 23:41:04 +0200 Subject: Implemented (EXT-4704) Add maturity icons to Prefs -> General. --HG-- branch : product-engine --- indra/newview/llfloaterpreference.cpp | 18 ++++++++++++++- indra/newview/llfloaterpreference.h | 3 ++- .../default/xui/en/panel_preferences_general.xml | 27 ++++++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index fb7e757c43..780393a9c0 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -323,7 +323,8 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key) mCommitCallbackRegistrar.add("Pref.QualityPerformance", boost::bind(&LLFloaterPreference::onChangeQuality, this, _2)); mCommitCallbackRegistrar.add("Pref.applyUIColor", boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2)); mCommitCallbackRegistrar.add("Pref.getUIColor", boost::bind(&LLFloaterPreference::getUIColor, this ,_1, _2)); - + mCommitCallbackRegistrar.add("Pref.MaturitySettings", boost::bind(&LLFloaterPreference::onChangeMaturity, this)); + sSkin = gSavedSettings.getString("SkinCurrent"); gSavedSettings.getControl("AvatarNameTagMode")->getCommitSignal()->connect(boost::bind(&handleNameTagOptionChanged, _2)); @@ -536,6 +537,9 @@ void LLFloaterPreference::onOpen(const LLSD& key) { childSetText("maturity_desired_textbox", maturity_combo->getSelectedItemLabel()); childSetVisible("maturity_desired_combobox", false); + + // Display selected maturity icons. + onChangeMaturity(); } // Enabled/disabled popups, might have been changed by user actions @@ -1212,7 +1216,19 @@ void LLFloaterPreference::applyResolution() refresh(); } +void LLFloaterPreference::onChangeMaturity() +{ + U8 sim_access = gSavedSettings.getU32("PreferredMaturity"); + getChild("rating_icon_general")->setVisible(sim_access == SIM_ACCESS_PG + || sim_access == SIM_ACCESS_MATURE + || sim_access == SIM_ACCESS_ADULT); + + getChild("rating_icon_moderate")->setVisible(sim_access == SIM_ACCESS_MATURE + || sim_access == SIM_ACCESS_ADULT); + + getChild("rating_icon_adult")->setVisible(sim_access == SIM_ACCESS_ADULT); +} void LLFloaterPreference::applyUIColor(LLUICtrl* ctrl, const LLSD& param) diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index 93b39d72bc..71aa5d3189 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -134,8 +134,9 @@ public: void onCommitMediaEnabled(); void onCommitMusicEnabled(); void applyResolution(); + void onChangeMaturity(); void applyUIColor(LLUICtrl* ctrl, const LLSD& param); - void getUIColor(LLUICtrl* ctrl, const LLSD& param); + void getUIColor(LLUICtrl* ctrl, const LLSD& param); void buildPopupLists(); static void refreshSkin(void* data); diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index 099c789e4b..d11aebe943 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -141,7 +141,34 @@ label="General" name="Desired_PG" value="13" /> + + + + Date: Thu, 25 Feb 2010 09:53:38 +0000 Subject: EXT-5480: Support secondlife:///app/region SLapps. This is defined to work exactly like the classic secondlife://{REGION} Slurl. However, the later syntax cannot support spaces in the region name because spaces (and %20 chars) are illegal in the hostname of an http URL. Some browsers let you get away with this, but some do not (such as Qt's Webkit). Hence we have decided to introduce the newer secondlife:///app/region alternative. --- indra/newview/llviewerregion.cpp | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 77d2d493bd..ce627494c8 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -49,6 +49,7 @@ #include "llagent.h" #include "llcallingcard.h" #include "llcaphttpsender.h" +#include "llcommandhandler.h" #include "lldir.h" #include "lleventpoll.h" #include "llfloatergodtools.h" @@ -58,6 +59,7 @@ #include "llsdutil.h" #include "llstartup.h" #include "lltrans.h" +#include "llurldispatcher.h" #include "llviewerobjectlist.h" #include "llviewerparceloverlay.h" #include "llvlmanager.h" @@ -82,6 +84,45 @@ extern BOOL gNoRender; const F32 WATER_TEXTURE_SCALE = 8.f; // Number of times to repeat the water texture across a region const S16 MAX_MAP_DIST = 10; +// support for secondlife:///app/region/{REGION} SLapps +// N.B. this is defined to work exactly like the classic secondlife://{REGION} +// However, the later syntax cannot support spaces in the region name because +// spaces (and %20 chars) are illegal in the hostname of an http URL. Some +// browsers let you get away with this, but some do not (such as Qt's Webkit). +// Hence we introduced the newer secondlife:///app/region alternative. +class LLRegionHandler : public LLCommandHandler +{ +public: + // requests will be throttled from a non-trusted browser + LLRegionHandler() : LLCommandHandler("region", UNTRUSTED_THROTTLE) {} + + bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + { + // make sure that we at least have a region name + int num_params = params.size(); + if (num_params < 1) + { + return false; + } + + // build a secondlife://{PLACE} SLurl from this SLapp + std::string url = "secondlife://"; + for (int i = 0; i < num_params; i++) + { + if (i > 0) + { + url += "/"; + } + url += params[i].asString(); + } + + // Process the SLapp as if it was a secondlife://{PLACE} SLurl + LLURLDispatcher::dispatch(url, web, true); + return true; + } +}; +LLRegionHandler gRegionHandler; + class BaseCapabilitiesComplete : public LLHTTPClient::Responder { LOG_CLASS(BaseCapabilitiesComplete); -- cgit v1.2.3 From 765b9a0a8eace57564fe2725d0377963b4c82bda Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Thu, 25 Feb 2010 15:06:04 +0200 Subject: Fixed major EXT - 5670 (Resident name tabs are blocked in the Conversation window) - Removed the profile pictures in the tabs and swiched to the use of simple LLButton instead of LLCustomButtonIconCtrl --HG-- branch : product-engine --- indra/newview/llimfloatercontainer.cpp | 25 ++-------------------- .../skins/default/xui/en/floater_im_container.xml | 4 +--- 2 files changed, 3 insertions(+), 26 deletions(-) diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index db7998fe6e..d518318b0e 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -96,29 +96,8 @@ void LLIMFloaterContainer::addFloater(LLFloater* floaterp, LLUUID session_id = floaterp->getKey(); - LLIconCtrl* icon = 0; - - if(gAgent.isInGroup(session_id, TRUE)) - { - LLGroupIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams(); - icon_params.group_id = session_id; - icon = LLUICtrlFactory::instance().createWidget(icon_params); - - mSessions[session_id] = floaterp; - floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id)); - } - else - { - LLUUID avatar_id = LLIMModel::getInstance()->getOtherParticipantID(session_id); - - LLAvatarIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams(); - icon_params.avatar_id = avatar_id; - icon = LLUICtrlFactory::instance().createWidget(icon_params); - - mSessions[session_id] = floaterp; - floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id)); - } - mTabContainer->setTabImage(floaterp, icon); + floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id)); + mSessions[session_id] = floaterp; } void LLIMFloaterContainer::onCloseFloater(LLUUID& id) diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml index 65a05f3ec5..0f098bbb52 100644 --- a/indra/newview/skins/default/xui/en/floater_im_container.xml +++ b/indra/newview/skins/default/xui/en/floater_im_container.xml @@ -22,9 +22,7 @@ tab_width="64" tab_max_width = "134" tab_height="16" - use_custom_icon_ctrl="true" - tab_icon_ctrl_pad="2" - halign="left" + halign="center" use_ellipses="true" top="0" width="390" /> -- cgit v1.2.3 From f864d74a477d4fbeeef1c6e88f0ba499d6acb1ae Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Thu, 25 Feb 2010 16:14:26 +0200 Subject: fixed EXT-5742 IM history: font color isn't applied for 'user not online/offline' system notifications --HG-- branch : product-engine --- indra/newview/llviewerchat.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llviewerchat.cpp b/indra/newview/llviewerchat.cpp index 8de87eb602..320456e1e2 100644 --- a/indra/newview/llviewerchat.cpp +++ b/indra/newview/llviewerchat.cpp @@ -37,6 +37,7 @@ #include "llagent.h" // gAgent #include "lluicolortable.h" #include "llviewercontrol.h" // gSavedSettings +#include "llinstantmessage.h" //SYSTEM_FROM // LLViewerChat @@ -55,7 +56,7 @@ void LLViewerChat::getChatColor(const LLChat& chat, LLColor4& r_color) r_color = LLUIColorTable::instance().getColor("SystemChatColor"); break; case CHAT_SOURCE_AGENT: - if (chat.mFromID.isNull()) + if (chat.mFromID.isNull() || SYSTEM_FROM == chat.mFromName) { r_color = LLUIColorTable::instance().getColor("SystemChatColor"); } -- cgit v1.2.3 From bf25f3fd00c836a1ac3e6d160aa3d97634da084f Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 25 Feb 2010 16:37:31 +0200 Subject: Work on normal bug EXT-4518 (movement & camera floaters should have window titles) -- done for Move floater. -- deprecated comments cleaned up --HG-- branch : product-engine --- indra/newview/llmoveview.cpp | 27 +++++++++++++++++++--- indra/newview/llmoveview.h | 2 +- .../skins/default/xui/en/floater_moveview.xml | 12 ++++++++++ 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index 97e2b5b86e..ac4b98734b 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -87,6 +87,7 @@ LLFloaterMove::LLFloaterMove(const LLSD& key) BOOL LLFloaterMove::postBuild() { setIsChrome(TRUE); + setTitleVisible(TRUE); // restore title visibility after chrome applying LLDockableFloater::postBuild(); @@ -353,6 +354,7 @@ void LLFloaterMove::updateButtonsWithMovementMode(const EMovementMode newMode) showFlyControls(MM_FLY == newMode); setModeTooltip(newMode); setModeButtonToggleState(newMode); + setModeTitle(newMode); } void LLFloaterMove::showFlyControls(bool bShow) @@ -420,11 +422,30 @@ void LLFloaterMove::setModeTooltip(const EMovementMode mode) } } +void LLFloaterMove::setModeTitle(const EMovementMode mode) +{ + std::string title; + switch(mode) + { + case MM_WALK: + title = getString("walk_title"); + break; + case MM_RUN: + title = getString("run_title"); + break; + case MM_FLY: + title = getString("fly_title"); + break; + default: + // title should be provided for all modes + llassert(false); + break; + } + setTitle(title); +} + /** * Updates position of the floater to be center aligned with Move button. - * - * Because Tip floater created as dependent floater this method - * must be called before "showQuickTips()" to get Tip floater be positioned at the right side of the floater */ void LLFloaterMove::updatePosition() { diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h index 06463f02af..1bd36e4d74 100644 --- a/indra/newview/llmoveview.h +++ b/indra/newview/llmoveview.h @@ -92,7 +92,7 @@ private: void showFlyControls(bool bShow); void initModeTooltips(); void setModeTooltip(const EMovementMode mode); - void showQuickTips(const EMovementMode mode); + void setModeTitle(const EMovementMode mode); void initModeButtonMap(); void setModeButtonToggleState(const EMovementMode mode); void updateButtonsWithMovementMode(const EMovementMode newMode); diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 0a5820ce73..520741186e 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -38,6 +38,18 @@ name="fly_back_tooltip"> Fly Backwards (press Down Arrow or S) + + Walk + + + Run + + + Fly + Date: Thu, 25 Feb 2010 07:12:41 -0800 Subject: Replaced Buy L arrow button which was confused with the media play button. Fixed image height bugs in volume and media play buttons that made them blurry. --- .../skins/default/textures/navbar/BuyArrow_Over.png | Bin 2956 -> 689 bytes .../newview/skins/default/xui/en/panel_status_bar.xml | 10 +++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png b/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png index 41cb88628a..605073d786 100644 Binary files a/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png and b/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png differ diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 4167401338..00ae2d8ad0 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -51,12 +51,12 @@ image_unselected="spacer35.tga" image_pressed="spacer35.tga" height="16" - right="-204" + right="-210" label_shadow="false" name="buycurrency" tool_tip="My Balance" top="3" - width="100" /> + width="110" />