diff options
Diffstat (limited to 'indra')
20 files changed, 47 insertions, 223 deletions
| diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index d1d840729d..869ad4410b 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -174,6 +174,7 @@ LLFloater::Params::Params()  	save_rect("save_rect", false),  	save_visibility("save_visibility", false),  	can_dock("can_dock", false), +	show_title("show_title", true),  	open_positioning("open_positioning", LLFloaterEnums::OPEN_POSITIONING_NONE),  	specified_left("specified_left"),  	specified_bottom("specified_bottom"), @@ -1142,10 +1143,6 @@ void LLFloater::setMinimized(BOOL minimize)  			mButtonsEnabled[BUTTON_RESTORE] = TRUE;  		} -		if (mDragHandle) -		{ -			mDragHandle->setVisible(TRUE); -		}  		setBorderVisible(TRUE);  		for(handle_set_iter_t dependent_it = mDependents.begin(); @@ -1296,19 +1293,9 @@ void LLFloater::setIsChrome(BOOL is_chrome)  		mButtons[BUTTON_CLOSE]->setToolTip(LLStringExplicit(getButtonTooltip(Params(), BUTTON_CLOSE, is_chrome)));  	} -	// no titles displayed on "chrome" floaters -	if (mDragHandle) -		mDragHandle->setTitleVisible(!is_chrome); -	  	LLPanel::setIsChrome(is_chrome);  } -void LLFloater::setTitleVisible(bool visible) -{ -	if (mDragHandle) -		mDragHandle->setTitleVisible(visible); -} -  // Change the draw style to account for the foreground state.  void LLFloater::setForeground(BOOL front)  { @@ -1812,7 +1799,7 @@ void LLFloater::draw()  		{  			drawChild(mButtons[i]);  		} -		drawChild(mDragHandle); +		drawChild(mDragHandle, 0, 0, TRUE);  	}  	else  	{ @@ -2991,6 +2978,11 @@ void LLFloater::initFromParams(const LLFloater::Params& p)  	{  		setCloseCallback(initCommitCallback(p.close_callback));  	} + +	if (mDragHandle) +	{ +		mDragHandle->setTitleVisible(p.show_title); +	}  }  boost::signals2::connection LLFloater::setMinimizeCallback( const commit_signal_t::slot_type& cb )  diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 8beb11507e..f610b04e35 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -128,7 +128,8 @@ public:  								save_rect,  								save_visibility,  								save_dock_state, -								can_dock; +								can_dock, +								show_title;  		Optional<LLFloaterEnums::EOpenPositioning>	open_positioning;  		Optional<S32>								specified_left; @@ -209,7 +210,6 @@ public:  	std::string		getTitle() const;  	void			setShortTitle( const std::string& short_title );  	std::string		getShortTitle() const; -	void			setTitleVisible(bool visible);  	virtual void	setMinimized(BOOL b);  	void			moveResizeHandlesToFront();  	void			addDependentFloater(LLFloater* dependent, BOOL reposition = TRUE); diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 0edfc8da2d..df3cff9968 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -462,16 +462,16 @@ void LLFloaterReg::toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD&  	else if (instance->isMinimized())  	{  		instance->setMinimized(FALSE); -		instance->setFocus(TRUE); +		instance->setVisibleAndFrontmost();  	}  	else if (!instance->isShown())  	{  		instance->openFloater(key); -		instance->setFocus(TRUE); +		instance->setVisibleAndFrontmost();  	} -	else if (!instance->hasFocus() && !instance->getIsChrome()) +	else if (!instance->isFrontmost())  	{ -		instance->setFocus(TRUE); +		instance->setVisibleAndFrontmost();  	}  	else  	{ diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index 4991c4afa6..0e7060e22c 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -47,6 +47,19 @@ void LLLayoutStack::OrientationNames::declareValues()  //  // LLLayoutPanel  // +LLLayoutPanel::Params::Params()	 +:	expanded_min_dim("expanded_min_dim", 0), +	min_dim("min_dim", 0), +	max_dim("max_dim", S32_MAX), +	user_resize("user_resize", true), +	auto_resize("auto_resize", true) +{ +	addSynonym(min_dim, "min_width"); +	addSynonym(min_dim, "min_height"); +	addSynonym(max_dim, "max_width"); +	addSynonym(max_dim, "max_height"); +} +  LLLayoutPanel::LLLayoutPanel(const Params& p)	  :	LLPanel(p),  	mExpandedMinDimSpecified(false), @@ -527,8 +540,8 @@ void LLLayoutStack::updateLayout(BOOL force_resize)  	// not enough room to fit existing contents  	if (force_resize == FALSE  		// layout did not complete by reaching target position -		&& ((mOrientation == VERTICAL && cur_y != -mPanelSpacing) -			|| (mOrientation == HORIZONTAL && cur_x != getRect().getWidth() + mPanelSpacing))) +		&& ((mOrientation == VERTICAL && llround(cur_y) != -mPanelSpacing) +			|| (mOrientation == HORIZONTAL && llround(cur_x) != getRect().getWidth() + mPanelSpacing)))  	{  		// do another layout pass with all stacked elements contributing  		// even those that don't usually resize diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index 5d79505fc3..ede6149a80 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -161,18 +161,7 @@ public:  		Optional<bool>			user_resize,  								auto_resize; -		Params() -		:	expanded_min_dim("expanded_min_dim", 0), -			min_dim("min_dim", 0), -			max_dim("max_dim", 0), -			user_resize("user_resize", true), -			auto_resize("auto_resize", true) -		{ -			addSynonym(min_dim, "min_width"); -			addSynonym(min_dim, "min_height"); -			addSynonym(max_dim, "max_width"); -			addSynonym(max_dim, "max_height"); -		} +		Params();  	};  	~LLLayoutPanel(); diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index cc2a189b76..e3217668c5 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -44,6 +44,7 @@  #include "llparticipantlist.h"  #include "llspeakers.h"  #include "lltextutil.h" +#include "lltransientfloatermgr.h"  #include "llviewercontrol.h"  #include "llviewerdisplayname.h"  #include "llviewerwindow.h" @@ -96,7 +97,7 @@ static void* create_non_avatar_caller(void*)  LLVoiceChannel* LLCallFloater::sCurrentVoiceChannel = NULL;  LLCallFloater::LLCallFloater(const LLSD& key) -: LLFloater(key) +: LLTransientDockableFloater(NULL, false, key)  , mSpeakerManager(NULL)  , mParticipants(NULL)  , mAvatarList(NULL) @@ -112,6 +113,7 @@ LLCallFloater::LLCallFloater(const LLSD& key)  	mFactoryMap["non_avatar_caller"] = LLCallbackMap(create_non_avatar_caller, NULL);  	LLVoiceClient::instance().addObserver(this); +	LLTransientFloaterMgr::getInstance()->addControlView(this);  	// update the agent's name if display name setting change  	LLAvatarNameCache::addUseDisplayNamesCallback(boost::bind(&LLCallFloater::updateAgentModeratorState, this)); @@ -134,6 +136,7 @@ LLCallFloater::~LLCallFloater()  	{  		LLVoiceClient::getInstance()->removeObserver(this);  	} +	LLTransientFloaterMgr::getInstance()->removeControlView(this);  }  // virtual @@ -151,10 +154,6 @@ BOOL LLCallFloater::postBuild()  	connectToChannel(LLVoiceChannel::getCurrentVoiceChannel()); -	setIsChrome(true); -	//chrome="true" hides floater caption  -	if (mDragHandle) -		mDragHandle->setTitleVisible(TRUE);  	updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)  	updateSession(); diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 7282f7a8be..00a3f76e56 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -28,7 +28,7 @@  #ifndef LL_LLCALLFLOATER_H  #define LL_LLCALLFLOATER_H -#include "llfloater.h" +#include "lltransientdockablefloater.h"  #include "llvoicechannel.h"  #include "llvoiceclient.h" @@ -52,7 +52,7 @@ class LLSpeakersDelayActionsStorage;   * When the Resident is engaged in any chat except Nearby Chat, the Voice Control Panel   * also provides a 'Leave Call' button to allow the Resident to leave that voice channel.   */ -class LLCallFloater : public LLFloater, LLVoiceClientParticipantObserver +class LLCallFloater : public LLTransientDockableFloater, LLVoiceClientParticipantObserver  {  public: @@ -262,6 +262,9 @@ private:  	 */  	static LLVoiceChannel* sCurrentVoiceChannel; +	/* virtual */ +	LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; } +  	boost::signals2::connection mVoiceChannelStateChangeConnection;  }; diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index aa78bc4f29..b33dea4890 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -347,13 +347,12 @@ LLFloaterCamera::LLFloaterCamera(const LLSD& val)  	mPrevMode(CAMERA_CTRL_MODE_PAN)  {  	LLHints::registerHintTarget("view_popup", LLView::getHandle()); +	mCommitCallbackRegistrar.add("CameraPresets.ChangeView", boost::bind(&LLFloaterCamera::onClickCameraItem, _2));  }  // virtual  BOOL LLFloaterCamera::postBuild()  { -	setIsChrome(TRUE); -	setTitleVisible(TRUE); // restore title visibility after chrome applying  	updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)  	mRotate = getChild<LLJoystickCameraRotate>(ORBIT); diff --git a/indra/newview/llfloaterhud.cpp b/indra/newview/llfloaterhud.cpp index 4181d1906e..58c76a0b85 100644 --- a/indra/newview/llfloaterhud.cpp +++ b/indra/newview/llfloaterhud.cpp @@ -54,14 +54,6 @@ LLFloaterHUD::LLFloaterHUD(const LLSD& key)  		return;  	} -	// Don't grab the focus as it will impede performing in-world actions -	// while using the HUD -	setIsChrome(TRUE); - -	// Chrome doesn't show the window title by default, but here we -	// want to show it. -	setTitleVisible(true); -	  	// Opaque background since we never get the focus  	setBackgroundOpaque(TRUE);  } diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp index 8713513054..a65e9e911a 100644 --- a/indra/newview/llfloatermap.cpp +++ b/indra/newview/llfloatermap.cpp @@ -105,9 +105,6 @@ BOOL LLFloaterMap::postBuild()  	// Get the drag handle all the way in back  	sendChildToBack(getDragHandle()); -	//setIsChrome(TRUE); -	//getDragHandle()->setTitleVisible(TRUE); -	  	// keep onscreen  	gFloaterView->adjustToFitScreen(this, FALSE); diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp index 56c0806546..72c077d215 100644 --- a/indra/newview/llfloatersounddevices.cpp +++ b/indra/newview/llfloatersounddevices.cpp @@ -55,9 +55,6 @@ BOOL LLFloaterSoundDevices::postBuild()  {  	LLTransientDockableFloater::postBuild(); -	setIsChrome(TRUE); -	if (mDragHandle) -		mDragHandle->setTitleVisible(TRUE);  	updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)  	LLPanelVoiceDeviceSettings* panel = findChild<LLPanelVoiceDeviceSettings>("device_settings_panel"); diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index 6873cf058a..de305bf3d9 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -91,8 +91,6 @@ mCloseNotificationOnDestroy(true)  		sFont = LLFontGL::getFontSansSerif();  		sFontSmall = LLFontGL::getFontSansSerifSmall();  	} -	// clicking on a button does not steal current focus -	setIsChrome(TRUE);  	// initialize  	setFocusRoot(!mIsTip);  	// get a form for the notification diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index afe8584a2d..6f6ddd95fa 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -14,6 +14,7 @@   save_visibility="true"   single_instance="true"   title="VIEW" + chrome="true"   save_rect="true"   width="228">      <floater.string diff --git a/indra/newview/skins/default/xui/en/floater_hud.xml b/indra/newview/skins/default/xui/en/floater_hud.xml index 99a6a95828..e2d860881a 100644 --- a/indra/newview/skins/default/xui/en/floater_hud.xml +++ b/indra/newview/skins/default/xui/en/floater_hud.xml @@ -8,6 +8,7 @@   help_topic="floater_hud"   save_rect="true"   save_visibility="true" + chrome="true"   title="TUTORIAL"   width="362">      <web_browser diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index 58d67c8221..31972d4122 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -3,6 +3,7 @@   open_positioning="cascading"   can_minimize="true"    can_resize="true" + chrome="true"   follows="top|right"   height="200"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index b7370580af..b9881e4347 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -15,6 +15,7 @@   save_rect="true"   save_visibility="true"   save_dock_state="true" + chrome="true"   title="MOVE"   width="133">      <string diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml index 3dbe4adf28..dec0e9b6c6 100644 --- a/indra/newview/skins/default/xui/en/floater_sound_devices.xml +++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml @@ -6,6 +6,7 @@   can_minimize="true"   can_resize="false"   can_close="false" + chrome="true"   save_dock_state="true"   save_visibility="true"   save_rect="true" 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 3f5768bc0b..1a2b248b16 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -4,6 +4,7 @@   can_resize="true"   can_minimize="true"   can_close="true" + chrome="true"   height="205"   layout="topleft"   min_height="124" diff --git a/indra/newview/skins/default/xui/en/menu_bottomtray.xml b/indra/newview/skins/default/xui/en/menu_bottomtray.xml deleted file mode 100644 index 1a102c21bb..0000000000 --- a/indra/newview/skins/default/xui/en/menu_bottomtray.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu - height="201" - layout="topleft" - left="100" - mouse_opaque="false" - name="hide_camera_move_controls_menu" - top="624" - visible="false" - width="128"> -    <menu_item_check -         label="Speak Button" -         layout="topleft" -         name="EnableVoiceChat"> -           <menu_item_check.on_click -             function="ToggleControl" -             parameter="EnableVoiceChat" />  -             <menu_item_check.on_check -             function="CheckControl" -             parameter="EnableVoiceChat" /> -    </menu_item_check> -    <menu_item_check -         label="Gesture button" -         layout="topleft" -         name="ShowGestureButton"> -           <menu_item_check.on_click -             function="ToggleControl" -             parameter="ShowGestureButton" />  -             <menu_item_check.on_check -             function="CheckControl" -             parameter="ShowGestureButton" /> -    </menu_item_check> -    <menu_item_check -         label="Move button" -         layout="topleft" -         name="ShowMoveButton"> -           <menu_item_check.on_click -             function="ToggleControl" -             parameter="ShowMoveButton" /> -             <menu_item_check.on_check -             function="CheckControl" -             parameter="ShowMoveButton" /> -    </menu_item_check> -    <menu_item_check -         label="View button" -         layout="topleft" -         name="ShowCameraButton"> -           <menu_item_check.on_click -             function="ToggleControl" -             parameter="ShowCameraButton" /> -             <menu_item_check.on_check -             function="CheckControl" -             parameter="ShowCameraButton" /> -    </menu_item_check>         -    <menu_item_check -         label="Snapshot button" -         layout="topleft" -         name="ShowSnapshotButton"> -           <menu_item_check.on_click -             function="ToggleControl" -             parameter="ShowSnapshotButton" /> -             <menu_item_check.on_check -             function="CheckControl" -             parameter="ShowSnapshotButton" /> -    </menu_item_check>         -    <menu_item_check -     label="Build button" -     layout="topleft" -     name="ShowBuildButton"> -        <menu_item_check.on_click -         function="ToggleControl" -         parameter="ShowBuildButton" /> -        <menu_item_check.on_check -         function="CheckControl" -         parameter="ShowBuildButton" /> -    </menu_item_check> -    <menu_item_check -     label="Search button" -     layout="topleft" -     name="ShowSearchButton"> -        <menu_item_check.on_click -         function="ToggleControl" -         parameter="ShowSearchButton" /> -        <menu_item_check.on_check -         function="CheckControl" -         parameter="ShowSearchButton" /> -    </menu_item_check> -    <menu_item_check -     label="Map button" -     layout="topleft" -     name="ShowWorldMapButton"> -        <menu_item_check.on_click -         function="ToggleControl" -         parameter="ShowWorldMapButton" /> -        <menu_item_check.on_check -         function="CheckControl" -         parameter="ShowWorldMapButton" /> -    </menu_item_check> -    <menu_item_check -     label="Mini-map button" -     layout="topleft" -     name="ShowMiniMapButton"> -        <menu_item_check.on_click -         function="ToggleControl" -         parameter="ShowMiniMapButton" /> -        <menu_item_check.on_check -         function="CheckControl" -         parameter="ShowMiniMapButton" /> -    </menu_item_check> -    <menu_item_separator -     name="Separator" /> -    <menu_item_call -     label="Cut" -     name="NearbyChatBar_Cut"> -        <menu_item_call.on_click -         function="NearbyChatBar.Action" -         parameter="cut" /> -        <menu_item_call.on_enable -         function="NearbyChatBar.EnableMenuItem" -         parameter="can_cut" /> -    </menu_item_call> -    <menu_item_call -     label="Copy" -     name="NearbyChatBar_Copy"> -        <menu_item_call.on_click -         function="NearbyChatBar.Action" -         parameter="copy" /> -        <menu_item_call.on_enable -         function="NearbyChatBar.EnableMenuItem" -         parameter="can_copy" /> -    </menu_item_call> -    <menu_item_call -     label="Paste" -     name="NearbyChatBar_Paste"> -        <menu_item_call.on_click -         function="NearbyChatBar.Action" -         parameter="paste" /> -        <menu_item_call.on_enable -         function="NearbyChatBar.EnableMenuItem" -         parameter="can_paste" /> -    </menu_item_call> -    <menu_item_call -     label="Delete" -     name="NearbyChatBar_Delete"> -        <menu_item_call.on_click -         function="NearbyChatBar.Action" -         parameter="delete" /> -        <menu_item_call.on_enable -         function="NearbyChatBar.EnableMenuItem" -         parameter="can_delete" /> -    </menu_item_call> -    <menu_item_call -     label="Select All" -     name="NearbyChatBar_Select_All"> -        <menu_item_call.on_click -         function="NearbyChatBar.Action" -         parameter="select_all" /> -        <menu_item_call.on_enable -         function="NearbyChatBar.EnableMenuItem" -         parameter="can_select_all" /> -    </menu_item_call> - -</menu> diff --git a/indra/newview/skins/default/xui/en/panel_notification.xml b/indra/newview/skins/default/xui/en/panel_notification.xml index 59ead84127..f6f62ac54e 100644 --- a/indra/newview/skins/default/xui/en/panel_notification.xml +++ b/indra/newview/skins/default/xui/en/panel_notification.xml @@ -9,6 +9,8 @@    layout="topleft"    left="0"    name="notification_panel" +  chrome="true" +  show_title="false"    top="0"    	height="140"    translate="false" | 
