diff options
Diffstat (limited to 'indra')
43 files changed, 248 insertions, 349 deletions
| diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index dc02367a62..024e17a777 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -89,6 +89,10 @@ S32 gCurlMultiCount = 0;  std::vector<LLMutex*> LLCurl::sSSLMutex;  std::string LLCurl::sCAPath;  std::string LLCurl::sCAFile; +// Verify SSL certificates by default (matches libcurl default). The ability +// to alter this flag is only to allow us to suppress verification if it's +// broken for some reason. +bool LLCurl::sSSLVerify = true;  //static  void LLCurl::setCAPath(const std::string& path) @@ -103,6 +107,18 @@ void LLCurl::setCAFile(const std::string& file)  }  //static +void LLCurl::setSSLVerify(bool verify) +{ +	sSSLVerify = verify; +} + +//static +bool LLCurl::getSSLVerify() +{ +	return sSSLVerify; +} + +//static  std::string LLCurl::getVersionString()  {  	return std::string(curl_version()); @@ -465,7 +481,8 @@ void LLCurl::Easy::prepRequest(const std::string& url,  	setErrorBuffer();  	setCA(); -	setopt(CURLOPT_SSL_VERIFYPEER, true); +	setopt(CURLOPT_SSL_VERIFYPEER, LLCurl::getSSLVerify()); +	setopt(CURLOPT_SSL_VERIFYHOST, LLCurl::getSSLVerify()? 2 : 0);  	setopt(CURLOPT_TIMEOUT, CURL_REQUEST_TIMEOUT);  	setoptString(CURLOPT_URL, url); @@ -1044,4 +1061,3 @@ void LLCurl::cleanupClass()  #endif  	curl_global_cleanup();  } - diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h index 1bc1767966..caf02cccd9 100644 --- a/indra/llmessage/llcurl.h +++ b/indra/llmessage/llcurl.h @@ -158,6 +158,16 @@ public:  	static const std::string& getCAPath() { return sCAPath; }  	/** +	 * @ brief Set flag controlling whether to verify HTTPS certs. +	 */ +	static void setSSLVerify(bool verify); + +	/** +	 * @ brief Get flag controlling whether to verify HTTPS certs. +	 */ +	static bool getSSLVerify(); + +	/**  	 * @ brief Initialize LLCurl class  	 */  	static void initClass(); @@ -182,6 +192,7 @@ public:  private:  	static std::string sCAPath;  	static std::string sCAFile; +	static bool sSSLVerify;  };  namespace boost diff --git a/indra/llmessage/llhttpclient.cpp b/indra/llmessage/llhttpclient.cpp index 12ecbb36eb..dd56e18caf 100644 --- a/indra/llmessage/llhttpclient.cpp +++ b/indra/llmessage/llhttpclient.cpp @@ -222,7 +222,7 @@ static void request(  	LLPumpIO::chain_t chain;  	LLURLRequest* req = new LLURLRequest(method, url); -	req->checkRootCertificate(true); +	req->checkRootCertificate(LLCurl::getSSLVerify());  	lldebugs << LLURLRequest::actionAsVerb(method) << " " << url << " " diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp index 81b7761ed5..4e7ceff984 100644 --- a/indra/llmessage/llurlrequest.cpp +++ b/indra/llmessage/llurlrequest.cpp @@ -163,6 +163,7 @@ void LLURLRequest::setBodyLimit(U32 size)  void LLURLRequest::checkRootCertificate(bool check)  {  	mDetail->mCurlRequest->setopt(CURLOPT_SSL_VERIFYPEER, (check? TRUE : FALSE)); +	mDetail->mCurlRequest->setopt(CURLOPT_SSL_VERIFYHOST, (check? 2 : 0));  	mDetail->mCurlRequest->setoptString(CURLOPT_ENCODING, "");  } diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 4f519afa06..79d8f90fec 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1360,6 +1360,7 @@ void LLFloater::bringToFront( S32 x, S32 y )  // virtual  void LLFloater::setVisibleAndFrontmost(BOOL take_focus)  { +	gFocusMgr.setTopCtrl(NULL);  	setVisible(TRUE);  	setFrontmost(take_focus);  } diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 53ac1dc0b9..a4fc095727 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1145,17 +1145,6 @@        <key>Value</key>        <integer>5</integer>      </map> -    <key>CallFloaterMaxItems</key> -    <map> -      <key>Comment</key> -      <string>Max number of visible participants in voice controls window</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>CameraAngle</key>      <map>        <key>Comment</key> @@ -3629,7 +3618,7 @@        <key>Type</key>        <string>String</string>        <key>Value</key> -      <string>http://int.searchwww-phx0.damballah.lindenlab.com/viewer/[CATEGORY]?q=[QUERY]&p=[AUTH_TOKEN]&r=[MATURITY]&lang=[LANGUAGE]&g=[GODLIKE]&sid=[SESSION_ID]&rid=[REGION_ID]&pid=[PARCEL_ID]</string> +      <string>http://search.secondlife.com/viewer/[CATEGORY]?q=[QUERY]&p=[AUTH_TOKEN]&r=[MATURITY]&lang=[LANGUAGE]&g=[GODLIKE]&sid=[SESSION_ID]&rid=[REGION_ID]&pid=[PARCEL_ID]</string>      </map>      <key>HighResSnapshot</key>      <map> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 638a8f759d..0e248ff88b 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -926,7 +926,6 @@ bool LLAppViewer::mainLoop()  {  	LLMemType mt1(LLMemType::MTYPE_MAIN);  	mMainloopTimeout = new LLWatchdogTimeout(); -	// *FIX:Mani - Make this a setting, once new settings exist in this branch.  	//-------------------------------------------  	// Run main loop until time to quit @@ -936,12 +935,13 @@ bool LLAppViewer::mainLoop()  	gServicePump = new LLPumpIO(gAPRPoolp);  	LLHTTPClient::setPump(*gServicePump);  	LLCurl::setCAFile(gDirUtilp->getCAFile()); +	LLCurl::setSSLVerify(! gSavedSettings.getBOOL("NoVerifySSLCert"));  	// Note: this is where gLocalSpeakerMgr and gActiveSpeakerMgr used to be instantiated.  	LLVoiceChannel::initClass();  	LLVoiceClient::init(gServicePump); -				 +  	LLTimer frameTimer,idleTimer;  	LLTimer debugTime;  	LLViewerJoystick* joystick(LLViewerJoystick::getInstance()); diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 988867ef84..bd68d52868 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -322,7 +322,7 @@ void LLBottomTray::setVisible(BOOL visible)  			// Chat bar and gesture button are shown even in mouselook mode.  			// But the move, camera and snapshot buttons shouldn't be displayed. See EXT-3988. -			if ("chat_bar" == name || "gesture_panel" == name) +			if ("chat_bar" == name || "gesture_panel" == name || (visibility && ("movement_panel" == name || "cam_panel" == name || "snapshot_panel" == name)))  				continue;  			else   			{ diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 6317a6a392..f346a4b8c2 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -51,9 +51,9 @@  #include "lltransientfloatermgr.h"  #include "llviewerwindow.h"  #include "llvoicechannel.h" -#include "lllayoutstack.h"  static void get_voice_participants_uuids(std::vector<LLUUID>& speakers_uuids); +void reshape_floater(LLCallFloater* floater, S32 delta_height);  class LLNonAvatarCaller : public LLAvatarListItem  { @@ -225,16 +225,6 @@ void LLCallFloater::onChange()  	}  } -S32 LLCallFloater::notifyParent(const LLSD& info) -{ -	if("size_changes" == info["action"]) -	{ -		reshapeToFitContent(); -		return 1; -	} -	return LLDockableFloater::notifyParent(info); -} -  //////////////////////////////////////////////////////////////////////////  /// PRIVATE SECTION  ////////////////////////////////////////////////////////////////////////// @@ -316,7 +306,7 @@ void LLCallFloater::updateSession()  	//hide "Leave Call" button for nearby chat  	bool is_local_chat = mVoiceType == VC_LOCAL_CHAT;  	childSetVisible("leave_call_btn_panel", !is_local_chat); -	 +  	refreshParticipantList();  	updateAgentModeratorState(); @@ -798,90 +788,4 @@ void LLCallFloater::reset()  	mSpeakerManager = NULL;  } -void reshape_floater(LLCallFloater* floater, S32 delta_height) -{ -	// Try to update floater top side if it is docked(to bottom bar). -	// Try to update floater bottom side or top side if it is un-docked. -	// If world rect is too small, floater will not be reshaped at all. - -	LLRect floater_rect = floater->getRect(); -	LLRect world_rect = gViewerWindow->getWorldViewRectScaled(); - -	// floater is docked to bottom bar -	if(floater->isDocked()) -	{ -		// can update floater top side -		if(floater_rect.mTop + delta_height < world_rect.mTop) -		{ -			floater_rect.set(floater_rect.mLeft, floater_rect.mTop + delta_height,  -				floater_rect.mRight, floater_rect.mBottom); -		} -	} -	// floater is un-docked -	else -	{ -		// can update floater bottom side -		if( floater_rect.mBottom - delta_height >= world_rect.mBottom ) -		{ -			floater_rect.set(floater_rect.mLeft, floater_rect.mTop,  -				floater_rect.mRight, floater_rect.mBottom - delta_height); -		} -		// could not update floater bottom side, check if we can update floater top side -		else if( floater_rect.mTop + delta_height < world_rect.mTop ) -		{ -			floater_rect.set(floater_rect.mLeft, floater_rect.mTop + delta_height,  -				floater_rect.mRight, floater_rect.mBottom); -		} -	} - -	floater->setShape(floater_rect); -	floater->getChild<LLLayoutStack>("my_call_stack")->updateLayout(FALSE); -} - -void LLCallFloater::reshapeToFitContent() -{ -	const S32 ITEM_HEIGHT = getParticipantItemHeight(); -	static const S32 MAX_VISIBLE_ITEMS = getMaxVisibleItems(); - -	static S32 items_pad = mAvatarList->getItemsPad(); -	S32 list_height = mAvatarList->getRect().getHeight(); -	S32 items_height = mAvatarList->getItemsRect().getHeight(); -	if(items_height <= 0) -	{ -		// make "no one near" text visible -		items_height = ITEM_HEIGHT + items_pad; -	} -	S32 max_list_height = MAX_VISIBLE_ITEMS * ITEM_HEIGHT + items_pad * (MAX_VISIBLE_ITEMS - 1); -	max_list_height += 2* mAvatarList->getBorderWidth(); - -	S32 delta = items_height - list_height;	 -	// too many items, don't reshape floater anymore, let scroll bar appear. -	if(items_height >  max_list_height) -	{ -		delta = max_list_height - list_height; -	} - -	reshape_floater(this, delta); -} - -S32 LLCallFloater::getParticipantItemHeight() -{ -	std::vector<LLPanel*> items; -	mAvatarList->getItems(items); -	if(items.size() > 0) -	{ -		return items[0]->getRect().getHeight(); -	} -	else -	{ -		return getChild<LLPanel>("non_avatar_caller")->getRect().getHeight(); -	} -} - -S32 LLCallFloater::getMaxVisibleItems() -{ -	static LLCachedControl<S32> max_visible_items(*LLUI::sSettingGroups["config"],"CallFloaterMaxItems"); -	return max_visible_items; -} -  //EOF diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 2b40225906..096594aaa2 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -75,11 +75,6 @@ public:  	 */  	/*virtual*/ void onChange(); -	/** -	* Will reshape floater when participant list size changes -	*/ -	/*virtual*/ S32 notifyParent(const LLSD& info); -  	static void sOnCurrentChannelChanged(const LLUUID& session_id);  private: @@ -221,21 +216,6 @@ private:  	 */  	void reset(); -	/** -	* Reshapes floater to fit participant list height -	*/ -	void reshapeToFitContent(); - -	/** -	* Returns height of participant list item -	*/ -	S32 getParticipantItemHeight(); - -	/** -	* Returns predefined max visible participants. -	*/ -	S32 getMaxVisibleItems(); -  private:  	speaker_state_map_t mSpeakerStateMap;  	LLSpeakerMgr* mSpeakerManager; diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 5497d6121f..8da207f887 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -47,6 +47,7 @@  #include "llnotificationsutil.h"  #include "lloutputmonitorctrl.h"  #include "llscriptfloater.h" +#include "llspeakers.h"  #include "lltextbox.h"  #include "llvoiceclient.h"  #include "llgroupmgr.h" diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index d7c60ff34e..e06e0c94ec 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -58,6 +58,7 @@  #include "llinventorymodel.h"  #include "llrootview.h" +#include "llspeakers.h"  LLIMFloater::LLIMFloater(const LLUUID& session_id) @@ -350,13 +351,15 @@ void* LLIMFloater::createPanelAdHocControl(void* userdata)  void LLIMFloater::onSlide()  { -	LLPanel* im_control_panel = getChild<LLPanel>("panel_im_control_panel"); -	im_control_panel->setVisible(!im_control_panel->getVisible()); +	mControlPanel->setVisible(!mControlPanel->getVisible()); -	gSavedSettings.setBOOL("IMShowControlPanel", im_control_panel->getVisible()); +	gSavedSettings.setBOOL("IMShowControlPanel", mControlPanel->getVisible()); -	getChild<LLButton>("slide_left_btn")->setVisible(im_control_panel->getVisible()); -	getChild<LLButton>("slide_right_btn")->setVisible(!im_control_panel->getVisible()); +	getChild<LLButton>("slide_left_btn")->setVisible(mControlPanel->getVisible()); +	getChild<LLButton>("slide_right_btn")->setVisible(!mControlPanel->getVisible()); + +	LLLayoutStack* stack = getChild<LLLayoutStack>("im_panels"); +	if (stack) stack->setAnimate(true);  }  //static diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp index 9a6115dd63..4bdf5f42dc 100644 --- a/indra/newview/llimpanel.cpp +++ b/indra/newview/llimpanel.cpp @@ -40,6 +40,7 @@  #include "llfontgl.h"  #include "llrect.h"  #include "llerror.h" +#include "llmultifloater.h"  #include "llstring.h"  #include "message.h"  #include "lltextbox.h" diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 3ff156eca3..ff20a55358 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -42,47 +42,30 @@  #include "llhttpclient.h"  #include "llsdutil_math.h"  #include "llstring.h" +#include "lltrans.h"  #include "lluictrlfactory.h"  #include "llagent.h" +#include "llagentui.h"  #include "llappviewer.h"  #include "llavatariconctrl.h"  #include "llbottomtray.h"  #include "llcallingcard.h"  #include "llchat.h" -#include "llchiclet.h" -#include "llresmgr.h"  #include "llfloaterchatterbox.h" -#include "llavataractions.h" -#include "llhttpnode.h"  #include "llimfloater.h" -#include "llimpanel.h"  #include "llgroupiconctrl.h" -#include "llresizebar.h" -#include "lltabcontainer.h" -#include "llviewercontrol.h" -#include "llfloater.h"  #include "llmutelist.h" -#include "llresizehandle.h" -#include "llkeyboard.h" -#include "llui.h" -#include "llviewermenu.h" -#include "llcallingcard.h" -#include "lltoolbar.h" +#include "llrecentpeople.h"  #include "llviewermessage.h"  #include "llviewerwindow.h"  #include "llnotifications.h"  #include "llnotificationsutil.h"  #include "llnearbychat.h" -#include "llviewerregion.h" -#include "llvoicechannel.h" -#include "lltrans.h" -#include "llrecentpeople.h" -#include "llsyswellwindow.h" - -//#include "llfirstuse.h" -#include "llagentui.h" +#include "llspeakers.h" //for LLIMSpeakerMgr  #include "lltextutil.h" +#include "llviewercontrol.h" +  const static std::string IM_TIME("time");  const static std::string IM_TEXT("message"); diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index e72bda6c2b..a226d66b12 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -33,22 +33,19 @@  #ifndef LL_LLIMVIEW_H  #define LL_LLIMVIEW_H -#include "lldarray.h" -#include "lldockablefloater.h" -#include "llspeakers.h" //for LLIMSpeakerMgr -#include "llimpanel.h" //for voice channels -#include "llmodaldialog.h"  #include "lldockablefloater.h"  #include "llinstantmessage.h" -#include "lluuid.h" -#include "llmultifloater.h" +  #include "lllogchat.h" +#include "llvoicechannel.h"  class LLFloaterChatterBox;  class LLUUID;  class LLFloaterIMPanel;  class LLFriendObserver;  class LLCallDialogManager;	 +class LLIMSpeakerMgr; +  class LLIMModel :  public LLSingleton<LLIMModel>  { diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp index cf4a08ce76..7ee4c64f8f 100644 --- a/indra/newview/llmutelist.cpp +++ b/indra/newview/llmutelist.cpp @@ -64,6 +64,7 @@  #include "llviewerwindow.h"  #include "llworld.h" //for particle system banning  #include "llchat.h" +#include "llimpanel.h"  #include "llimview.h"  #include "llnotifications.h"  #include "lluistring.h" diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 01291c4012..569d3001bf 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -425,6 +425,11 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)  		getChild<LLUICtrl>("group_name")->setVisible(false);  		getChild<LLUICtrl>("group_name_editor")->setVisible(true); + +		if(button_call) +			button_call->setVisible(false); +		if(button_chat) +			button_chat->setVisible(false);  	}  	else   	{ @@ -452,6 +457,10 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)  		if(button_apply)  			button_apply->setVisible(is_member); +		if(button_call) +			button_call->setVisible(is_member); +		if(button_chat) +			button_chat->setVisible(is_member);  	}  	reposButtons(); diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index 0cfe501fab..b1cdb4d81f 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -46,6 +46,7 @@  #include "llimview.h"  #include "llvoicechannel.h"  #include "llsidetray.h" +#include "llspeakers.h"  #include "lltrans.h"  void LLPanelChatControlPanel::onCallButtonClicked() diff --git a/indra/newview/llpanellandaudio.cpp b/indra/newview/llpanellandaudio.cpp index 920fca66f2..6a4c909759 100644 --- a/indra/newview/llpanellandaudio.cpp +++ b/indra/newview/llpanellandaudio.cpp @@ -37,6 +37,7 @@  // viewer includes  #include "llmimetypes.h"  #include "llviewerparcelmgr.h" +#include "llviewerregion.h"  #include "lluictrlfactory.h"  // library includes @@ -83,8 +84,14 @@ BOOL LLPanelLandAudio::postBuild()  	mCheckSoundLocal = getChild<LLCheckBoxCtrl>("check sound local");  	childSetCommitCallback("check sound local", onCommitAny, this); -	mRadioVoiceChat = getChild<LLRadioGroup>("parcel_voice_channel"); -	childSetCommitCallback("parcel_voice_channel", onCommitAny, this); +	mCheckParcelEnableVoice = getChild<LLCheckBoxCtrl>("parcel_enable_voice_channel"); +	childSetCommitCallback("parcel_enable_voice_channel", onCommitAny, this); + +	// This one is always disabled so no need for a commit callback +	mCheckEstateDisabledVoice = getChild<LLCheckBoxCtrl>("parcel_enable_voice_channel_is_estate_disabled"); + +	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); @@ -118,19 +125,33 @@ void LLPanelLandAudio::refresh()  		mMusicUrlCheck->set( parcel->getObscureMusic() );  		mMusicUrlCheck->setEnabled( can_change_media ); -		if(parcel->getParcelFlagAllowVoice()) +		bool allow_voice = parcel->getParcelFlagAllowVoice(); + +		LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); +		if (region && region->isVoiceEnabled())  		{ -			if(parcel->getParcelFlagUseEstateVoiceChannel()) -				mRadioVoiceChat->setSelectedIndex(kRadioVoiceChatEstate); -			else -				mRadioVoiceChat->setSelectedIndex(kRadioVoiceChatPrivate); +			mCheckEstateDisabledVoice->setVisible(false); + +			mCheckParcelEnableVoice->setVisible(true); +			mCheckParcelEnableVoice->setEnabled( can_change_media ); +			mCheckParcelEnableVoice->set(allow_voice); + +			mCheckParcelVoiceLocal->setEnabled( can_change_media && allow_voice );  		}  		else  		{ -			mRadioVoiceChat->setSelectedIndex(kRadioVoiceChatDisable); +			// Voice disabled at estate level, overrides parcel settings +			// Replace the parcel voice checkbox with a disabled one +			// labelled with an explanatory message +			mCheckEstateDisabledVoice->setVisible(true); + +			mCheckParcelEnableVoice->setVisible(false); +			mCheckParcelEnableVoice->setEnabled(false); +			mCheckParcelVoiceLocal->setEnabled(false);  		} -		mRadioVoiceChat->setEnabled( can_change_media ); +		mCheckParcelEnableVoice->set(allow_voice); +		mCheckParcelVoiceLocal->set(!parcel->getParcelFlagUseEstateVoiceChannel());  		mMusicURLEdit->setText(parcel->getMusicURL());  		mMusicURLEdit->setEnabled( can_change_media ); @@ -149,30 +170,11 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata)  	// Extract data from UI  	BOOL sound_local		= self->mCheckSoundLocal->get(); -	int voice_setting		= self->mRadioVoiceChat->getSelectedIndex();  	std::string music_url	= self->mMusicURLEdit->getText();  	U8 obscure_music		= self->mMusicUrlCheck->get(); - -	BOOL voice_enabled; -	BOOL voice_estate_chan; - -	switch(voice_setting) -	{ -		default: -		case kRadioVoiceChatEstate: -			voice_enabled = TRUE; -			voice_estate_chan = TRUE; -		break; -		case kRadioVoiceChatPrivate: -			voice_enabled = TRUE; -			voice_estate_chan = FALSE; -		break; -		case kRadioVoiceChatDisable: -			voice_enabled = FALSE; -			voice_estate_chan = FALSE; -		break; -	} +	BOOL voice_enabled = self->mCheckParcelEnableVoice->get(); +	BOOL voice_estate_chan = !self->mCheckParcelVoiceLocal->get();  	// Remove leading/trailing whitespace (common when copying/pasting)  	LLStringUtil::trim(music_url); diff --git a/indra/newview/llpanellandaudio.h b/indra/newview/llpanellandaudio.h index de5da95fa4..19766a40b6 100644 --- a/indra/newview/llpanellandaudio.h +++ b/indra/newview/llpanellandaudio.h @@ -52,7 +52,9 @@ private:  private:  	LLCheckBoxCtrl* mCheckSoundLocal; -	LLRadioGroup*	mRadioVoiceChat; +	LLCheckBoxCtrl* mCheckParcelEnableVoice; +	LLCheckBoxCtrl* mCheckEstateDisabledVoice; +	LLCheckBoxCtrl* mCheckParcelVoiceLocal;	  	LLLineEditor*	mMusicURLEdit;  	LLCheckBoxCtrl* mMusicUrlCheck; diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index d6e407a0ed..47feef496a 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -305,6 +305,29 @@ void LLLandmarksPanel::updateShowFolderState()  		);  } +void LLLandmarksPanel::setItemSelected(const LLUUID& obj_id, BOOL take_keyboard_focus) +{ +	if (selectItemInAccordionTab(mFavoritesInventoryPanel, "tab_favorites", obj_id, take_keyboard_focus)) +	{ +		return; +	} + +	if (selectItemInAccordionTab(mLandmarksInventoryPanel, "tab_landmarks", obj_id, take_keyboard_focus)) +	{ +		return; +	} + +	if (selectItemInAccordionTab(mMyInventoryPanel, "tab_inventory", obj_id, take_keyboard_focus)) +	{ +		return; +	} + +	if (selectItemInAccordionTab(mLibraryInventoryPanel, "tab_library", obj_id, take_keyboard_focus)) +	{ +		return; +	} +} +  //////////////////////////////////////////////////////////////////////////  // PROTECTED METHODS  ////////////////////////////////////////////////////////////////////////// @@ -350,6 +373,36 @@ LLFolderViewItem* LLLandmarksPanel::getCurSelectedItem() const  	return mCurrentSelectedList ?  mCurrentSelectedList->getRootFolder()->getCurSelectedItem() : NULL;  } +LLFolderViewItem* LLLandmarksPanel::selectItemInAccordionTab(LLPlacesInventoryPanel* inventory_list, +															 const std::string& tab_name, +															 const LLUUID& obj_id, +															 BOOL take_keyboard_focus) const +{ +	if (!inventory_list) +		return NULL; + +	LLFolderView* folder_view = inventory_list->getRootFolder(); + +	LLFolderViewItem* item = folder_view->getItemByID(obj_id); +	if (!item) +		return NULL; + +	LLAccordionCtrlTab* tab = getChild<LLAccordionCtrlTab>(tab_name); +	if (!tab->isExpanded()) +	{ +		tab->changeOpenClose(false); +	} + +	folder_view->setSelection(item, FALSE, take_keyboard_focus); + +	LLAccordionCtrl* accordion = getChild<LLAccordionCtrl>("landmarks_accordion"); +	LLRect screen_rc; +	localRectToScreen(item->getRect(), &screen_rc); +	accordion->notifyParent(LLSD().with("scrollToShowRect", screen_rc.getValue())); + +	return item; +} +  void LLLandmarksPanel::updateSortOrder(LLInventoryPanel* panel, bool byDate)  {  	if(!panel) return;  diff --git a/indra/newview/llpanellandmarks.h b/indra/newview/llpanellandmarks.h index 569739237d..96b790844c 100644 --- a/indra/newview/llpanellandmarks.h +++ b/indra/newview/llpanellandmarks.h @@ -73,6 +73,11 @@ public:  	 */  	void updateShowFolderState(); +	/** +	 * Selects item with "obj_id" in one of accordion tabs. +	 */ +	void setItemSelected(const LLUUID& obj_id, BOOL take_keyboard_focus); +  protected:  	/**  	 * @return true - if current selected panel is not null and selected item is a landmark @@ -81,6 +86,17 @@ protected:  	bool isReceivedFolderSelected() const;  	void doActionOnCurSelectedLandmark(LLLandmarkList::loaded_callback_t cb);  	LLFolderViewItem* getCurSelectedItem() const; + +	/** +	 * Selects item with "obj_id" in "inventory_list" and scrolls accordion +	 * scrollbar to show the item. +	 * Returns pointer to the item if it is found in "inventory_list", otherwise NULL. +	 */ +	LLFolderViewItem* selectItemInAccordionTab(LLPlacesInventoryPanel* inventory_list, +											   const std::string& tab_name, +											   const LLUUID& obj_id, +											   BOOL take_keyboard_focus) const; +  	void updateSortOrder(LLInventoryPanel* panel, bool byDate);  	//LLRemoteParcelInfoObserver interface diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index a71c8d8958..b037674c37 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -842,6 +842,19 @@ void LLPanelPlaces::togglePlaceInfoPanel(BOOL visible)  			mPlaceProfile->setVisible(FALSE);  		} +		else +		{ +			LLLandmarksPanel* landmarks_panel = +					dynamic_cast<LLLandmarksPanel*>(mTabContainer->getPanelByName("Landmarks")); +			if (landmarks_panel && mItem.notNull()) +			{ +				// If a landmark info is being closed we open the landmarks tab +				// and set this landmark selected. +				mTabContainer->selectTabPanel(landmarks_panel); + +				landmarks_panel->setItemSelected(mItem->getUUID(), TRUE); +			} +		}  	}  } diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 571745ee02..1b8fb49641 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -1036,7 +1036,7 @@ void LLTeleportHistoryPanel::setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool  bool LLTeleportHistoryPanel::isAccordionCollapsedByUser(LLUICtrl* acc_tab)  {  	LLSD param = acc_tab->getValue(); -	if(!param.has("acc_collapsed")) +	if(!param.has(COLLAPSED_BY_USER))  	{  		return false;  	} diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp index a857e30d4f..028807a6bd 100644 --- a/indra/newview/llpreviewtexture.cpp +++ b/indra/newview/llpreviewtexture.cpp @@ -380,138 +380,53 @@ void LLPreviewTexture::updateDimensions()  	mUpdateDimensions = FALSE; -	S32 image_height = llmax(1, mImage->getFullHeight()); -	S32 image_width = llmax(1, mImage->getFullWidth()); -	// Attempt to make the image 1:1 on screen. -	// If that fails, cut width by half. -	S32 client_width = image_width; -	S32 client_height = image_height; -	S32 horiz_pad = 2 * (LLPANEL_BORDER_WIDTH + PREVIEW_PAD) + PREVIEW_RESIZE_HANDLE_SIZE; -	S32 vert_pad = PREVIEW_HEADER_SIZE + 2 * CLIENT_RECT_VPAD + LLPANEL_BORDER_WIDTH;	 -	S32 max_client_width = gViewerWindow->getWindowWidthScaled() - horiz_pad; -	S32 max_client_height = gViewerWindow->getWindowHeightScaled() - vert_pad; - -	if (mAspectRatio > 0.f) -	{ -		client_height = llceil((F32)client_width / mAspectRatio); -	} - -	while ((client_width > max_client_width) || -	       (client_height > max_client_height )) -	{ -		client_width /= 2; -		client_height /= 2; -	} -	 -	S32 view_width = client_width + horiz_pad; -	S32 view_height = client_height + vert_pad; -	  	// set text on dimensions display (should be moved out of here and into a callback of some sort)  	childSetTextArg("dimensions", "[WIDTH]", llformat("%d", mImage->getFullWidth()));  	childSetTextArg("dimensions", "[HEIGHT]", llformat("%d", mImage->getFullHeight())); -	 + +	LLRect dim_rect; +	childGetRect("dimensions", dim_rect); + +	S32 horiz_pad = 2 * (LLPANEL_BORDER_WIDTH + PREVIEW_PAD) + PREVIEW_RESIZE_HANDLE_SIZE; +  	// add space for dimensions and aspect ratio -	S32 info_height = 0; -	LLRect aspect_rect; -	childGetRect("combo_aspect_ratio", aspect_rect); -	S32 aspect_height = aspect_rect.getHeight(); -	info_height += aspect_height + CLIENT_RECT_VPAD; -	view_height += info_height; -	 -	S32 button_height = 0; -	 -	// add space for buttons -	view_height += 	(BTN_HEIGHT + CLIENT_RECT_VPAD) * 3; -	button_height = (BTN_HEIGHT + PREVIEW_PAD) * 3; +	S32 info_height = dim_rect.mTop + CLIENT_RECT_VPAD; -	view_width = llmax(view_width, getMinWidth()); -	view_height = llmax(view_height, getMinHeight()); -	 -	if (view_height != mLastHeight || view_width != mLastWidth) -	{ -		if (getHost()) -		{ -			getHost()->growToFit(view_width, view_height); -			reshape( view_width, view_height ); -			setOrigin( 0, getHost()->getRect().getHeight() - (view_height + PREVIEW_HEADER_SIZE) ); -		} -		else -		{ -			S32 old_top = getRect().mTop; -			S32 old_left = getRect().mLeft; -			reshape( view_width, view_height ); -			S32 new_bottom = old_top - getRect().getHeight(); -			setOrigin( old_left, new_bottom ); -		} -		 -		// Try to keep whole view onscreen, don't allow partial offscreen. -		if (getHost()) -			gFloaterView->adjustToFitScreen(getHost(), FALSE); -		else -			gFloaterView->adjustToFitScreen(this, FALSE); -		 -		if (image_height > 1 && image_width > 1) -		{ -			// Resize until we know the image's height -			mLastWidth = view_width; -			mLastHeight = view_height; -		} -	} -	 -	if (!mUserResized) -	{ -		// clamp texture size to fit within actual size of floater after attempting resize -		client_width = llmin(client_width, getRect().getWidth() - horiz_pad); -		client_height = llmin(client_height, getRect().getHeight() - PREVIEW_HEADER_SIZE  -						- (2 * CLIENT_RECT_VPAD) - LLPANEL_BORDER_WIDTH - info_height); +	LLRect client_rect(horiz_pad, getRect().getHeight(), getRect().getWidth() - horiz_pad, 0); +	client_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD); +	client_rect.mBottom += PREVIEW_BORDER + CLIENT_RECT_VPAD + info_height ; -		 -	} -	else +	S32 client_width = client_rect.getWidth(); +	S32 client_height = client_rect.getHeight(); + +	if (mAspectRatio > 0.f)  	{ -		client_width = getRect().getWidth() - horiz_pad; -		if (mAspectRatio > 0) +		if(mAspectRatio > 1.f)  		{ -			client_height = llround(client_width / mAspectRatio); +			client_height = llceil((F32)client_width / mAspectRatio); +			if(client_height > client_rect.getHeight()) +			{ +				client_height = client_rect.getHeight(); +				client_width = llceil((F32)client_height * mAspectRatio); +			}  		}  		else  		{ -			client_height = getRect().getHeight() - vert_pad; -		} -	} - -	S32 max_height = getRect().getHeight() - PREVIEW_BORDER - button_height  -		- CLIENT_RECT_VPAD - info_height - CLIENT_RECT_VPAD - PREVIEW_HEADER_SIZE; - -	if (mAspectRatio > 0.f) -	{ -		max_height = llmax(max_height, 1); - -		if (client_height > max_height) -		{ -			client_height = max_height; -			client_width = llround(client_height * mAspectRatio); +			client_width = llceil((F32)client_height * mAspectRatio); +			if(client_width > client_rect.getWidth()) +			{ +				client_width = client_rect.getWidth(); +				client_height = llceil((F32)client_width / mAspectRatio); +			}  		}  	} -	else -	{ -		S32 max_width = getRect().getWidth() - horiz_pad; -		client_height = llclamp(client_height, 1, max_height); -		client_width = llclamp(client_width, 1, max_width); -	} -	 -	LLRect window_rect(0, getRect().getHeight(), getRect().getWidth(), 0); -	window_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD); -	window_rect.mBottom += PREVIEW_BORDER + button_height + CLIENT_RECT_VPAD + info_height + CLIENT_RECT_VPAD; +	mClientRect.setLeftTopAndSize(client_rect.getCenterX() - (client_width / 2), client_rect.getCenterY() +  (client_height / 2), client_width, client_height);	 -	mClientRect.setLeftTopAndSize(window_rect.getCenterX() - (client_width / 2), window_rect.mTop, client_width, client_height);	 -	  	// Hide the aspect ratio label if the window is too narrow  	// Assumes the label should be to the right of the dimensions -	LLRect dim_rect, aspect_label_rect; +	LLRect aspect_label_rect;  	childGetRect("aspect_ratio", aspect_label_rect); -	childGetRect("dimensions", dim_rect);  	childSetVisible("aspect_ratio", dim_rect.mRight < aspect_label_rect.mLeft);  } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 31a18a2e98..7487fa9997 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -78,6 +78,7 @@  #include "llstatenums.h"  #include "llstatusbar.h"  #include "llimview.h" +#include "llspeakers.h"  #include "lltrans.h"  #include "llviewerfoldertype.h"  #include "lluri.h" @@ -2008,7 +2009,6 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  		// Someone has offered us some inventory.  		{  			LLOfferInfo* info = new LLOfferInfo; -			bool mute_im = false;  			if (IM_INVENTORY_OFFERED == dialog)  			{  				struct offer_agent_bucket_t @@ -2025,11 +2025,6 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  				bucketp = (struct offer_agent_bucket_t*) &binary_bucket[0];  				info->mType = (LLAssetType::EType) bucketp->asset_type;  				info->mObjectID = bucketp->object_id; -				 -				if(accept_im_from_only_friend&&!is_friend) -				{ -					mute_im = true; -				}  			}  			else  			{ @@ -2060,7 +2055,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  			info->mDesc = message;  			info->mHost = msg->getSender();  			//if (((is_busy && !is_owned_by_me) || is_muted)) -			if ( is_muted || mute_im) +			if (is_muted)  			{  				// Prefetch the offered item so that it can be discarded by the appropriate observer. (EXT-4331)  				LLInventoryFetchObserver::item_ref_t items; diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 51a75b5825..c84afa5af1 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -63,6 +63,7 @@  #include "llparcel.h"  #include "llviewerparcelmgr.h"  //#include "llfirstuse.h" +#include "llspeakers.h"  #include "lltrans.h"  #include "llviewerwindow.h"  #include "llviewercamera.h" diff --git a/indra/newview/llxmlrpctransaction.cpp b/indra/newview/llxmlrpctransaction.cpp index 70859e8ea5..c19be37e75 100644 --- a/indra/newview/llxmlrpctransaction.cpp +++ b/indra/newview/llxmlrpctransaction.cpp @@ -252,9 +252,8 @@ void LLXMLRPCTransaction::Impl::init(XMLRPC_REQUEST request, bool useGzip)  //	mCurlRequest->setopt(CURLOPT_VERBOSE, 1); // usefull for debugging  	mCurlRequest->setopt(CURLOPT_NOSIGNAL, 1);  	mCurlRequest->setWriteCallback(&curlDownloadCallback, (void*)this); -    	BOOL vefifySSLCert = !gSavedSettings.getBOOL("NoVerifySSLCert"); -	mCurlRequest->setopt(CURLOPT_SSL_VERIFYPEER, vefifySSLCert); -	mCurlRequest->setopt(CURLOPT_SSL_VERIFYHOST, vefifySSLCert ? 2 : 0); +	mCurlRequest->setopt(CURLOPT_SSL_VERIFYPEER, LLCurl::getSSLVerify()); +	mCurlRequest->setopt(CURLOPT_SSL_VERIFYHOST, LLCurl::getSSLVerify() ? 2 : 0);  	// Be a little impatient about establishing connections.  	mCurlRequest->setopt(CURLOPT_CONNECTTIMEOUT, 40L); diff --git a/indra/newview/skins/default/xui/en/favorites_bar_button.xml b/indra/newview/skins/default/xui/en/favorites_bar_button.xml index dfb0695ec3..6adf2a5950 100644 --- a/indra/newview/skins/default/xui/en/favorites_bar_button.xml +++ b/indra/newview/skins/default/xui/en/favorites_bar_button.xml @@ -3,7 +3,6 @@  <!-- All buttons in the Favorites bar will be created from this one -->  <button   follows="left|bottom" - font_halign="center"   halign="center"   height="15"   image_disabled="transparent.j2c" 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 c58c1f00b9..61ca783d14 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1871,13 +1871,14 @@ Only large parcels can be listed in search.               layout="topleft"               left="110"               name="parcel_enable_voice_channel_is_estate_disabled" +             top_delta="0"               width="300" />              <check_box               height="16"               label="Restrict Voice to this parcel"               layout="topleft"               left="110" -             name="parcel_enable_voice_channel_parcel" +             name="parcel_enable_voice_channel_local"               width="300" />          </panel>          <panel diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 243b63db00..613530b7aa 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -17,6 +17,7 @@   min_width="250"   min_height="190">    <layout_stack +   animate="false"     follows="all"    height="320"    width="360" diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml index ae198d69a3..f473a51ff6 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -3,9 +3,9 @@   can_resize="true"   can_minimize="true"   can_close="false" - height="275" + height="202"   layout="topleft" - min_height="100" + min_height="124"   min_width="190"   name="floater_voice_controls"   help_topic="floater_voice_controls" @@ -36,7 +36,7 @@        <layout_stack           clip="false"           follows="all" -         height="262" +         height="189"           layout="topleft"           left="10"           mouse_opaque="false" @@ -105,13 +105,13 @@            layout="topleft"            left="2"            top_pad="0" -          height="205"  +          height="132"             name="callers_panel"            user_resize="false"             width="280">          <avatar_list           follows="all" -         height="205" +         height="132"           ignore_online_status="true"           layout="topleft"           multi_select="true" diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml index a666b8a427..9796f7b5b6 100644 --- a/indra/newview/skins/default/xui/en/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/en/inspect_avatar.xml @@ -58,8 +58,10 @@       height="35"       left="8"       name="user_details" +     right="-10"       word_wrap="true"       top_pad="6" +     use_ellipses="true"       width="220">This is my second life description and I really think it is great.      </text>      <slider diff --git a/indra/newview/skins/default/xui/en/panel_my_profile.xml b/indra/newview/skins/default/xui/en/panel_my_profile.xml index 2659156ba8..34cde61252 100644 --- a/indra/newview/skins/default/xui/en/panel_my_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_my_profile.xml @@ -51,6 +51,7 @@           top="0"           left="0"           height="505" +         user_resize="false"           width="313">          <scroll_container           color="DkGray2" @@ -365,6 +366,7 @@       top_pad="0"       name="profile_me_buttons_panel"       visible="false" +     user_resize="false"        auto_resize="false"        height="28"       width="313"> diff --git a/indra/newview/skins/default/xui/en/panel_notes.xml b/indra/newview/skins/default/xui/en/panel_notes.xml index 45b64d5e26..ac100a2c06 100644 --- a/indra/newview/skins/default/xui/en/panel_notes.xml +++ b/indra/newview/skins/default/xui/en/panel_notes.xml @@ -1,7 +1,7 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel   follows="all" - height="535" + height="540"   label="Notes & Privacy"   layout="topleft"   left="0" diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index 8a02637817..da3a2274c9 100644 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -3,7 +3,7 @@  <panel  background_visible="true"   follows="all" - height="570" + height="575"   label="People"   layout="topleft"   min_height="350" @@ -337,7 +337,7 @@ background_visible="true"      </tab_container>      <panel       follows="bottom|left" -     height="25" +     height="35"       layout="topleft"       left="10"       name="button_bar" diff --git a/indra/newview/skins/default/xui/en/panel_pick_info.xml b/indra/newview/skins/default/xui/en/panel_pick_info.xml index 822e049eec..65ccd10cf0 100644 --- a/indra/newview/skins/default/xui/en/panel_pick_info.xml +++ b/indra/newview/skins/default/xui/en/panel_pick_info.xml @@ -39,7 +39,7 @@       height="500"       layout="topleft"       left="10" -     top_pad="10" +     top_pad="5"       name="profile_scroll"       width="313">      <panel @@ -102,7 +102,7 @@      </scroll_container>      <panel       follows="left|right|bottom" -     height="20" +     height="35"       layout="topleft"       top_pad="8"       left="10" diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml index a2b0adf9d9..d31f4d039f 100644 --- a/indra/newview/skins/default/xui/en/panel_picks.xml +++ b/indra/newview/skins/default/xui/en/panel_picks.xml @@ -1,7 +1,7 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel   follows="all" - height="535" + height="540"   label="Picks"   layout="topleft"   left="0" @@ -121,7 +121,7 @@          <panel           layout="topleft"           left="0" -         height="25" +         height="30"           top_pad="10"           name="buttons_cucks"           width="313"> diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml index 2b907ed251..812dc5ce59 100644 --- a/indra/newview/skins/default/xui/en/panel_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_profile.xml @@ -1,7 +1,7 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel   follows="all" - height="535" + height="540"   label="Profile"   layout="topleft"   left="0" @@ -284,7 +284,7 @@        </layout_panel>        <layout_panel                follows="bottom|left" -         height="28" +         height="30"           layout="topleft"           name="profile_buttons_panel"           auto_resize="false"  @@ -355,7 +355,7 @@          </layout_panel>        <layout_panel           follows="bottom|left" -         height="28" +         height="30"           layout="topleft"           name="profile_me_buttons_panel"           visible="false" @@ -364,7 +364,7 @@           follows="bottom|right"           height="23"           left="20" -	 top="0" +         top="0"           label="Edit Profile"           name="edit_profile_btn"           tool_tip="Edit your personal information" diff --git a/indra/newview/skins/default/xui/en/panel_profile_view.xml b/indra/newview/skins/default/xui/en/panel_profile_view.xml index c51447eaf0..d46e1f9852 100644 --- a/indra/newview/skins/default/xui/en/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/en/panel_profile_view.xml @@ -60,7 +60,7 @@       tab_min_width="80"       tab_height="30"       tab_position="top" -     top_pad="10" +     top_pad="5"       width="313">          <panel           class="panel_profile" diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml index 328d521636..e5cad0df2e 100644 --- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml +++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml @@ -28,7 +28,7 @@       name="adhoc_icon"       width="18" />      <chiclet_im_adhoc.unread_notifications -     font_halign="center" +     halign="center"       height="23"       left="25"       mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml index 60658899ee..70e4ea8d26 100644 --- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml +++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml @@ -30,7 +30,7 @@       width="19" />      <chiclet_im_group.unread_notifications       height="23" -     font_halign="center" +     halign="center"       left="25"       mouse_opaque="false"       name="unread" diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml index b5b8f0d07a..ec6500cf80 100644 --- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml +++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml @@ -29,7 +29,7 @@       width="19" />      <chiclet_im_p2p.unread_notifications       height="23" -     font_halign="center" +     halign="center"       left="25"       mouse_opaque="false"       name="unread" | 
