diff options
| -rw-r--r-- | indra/llui/llbutton.cpp | 36 | ||||
| -rw-r--r-- | indra/newview/llimview.cpp | 42 | ||||
| -rw-r--r-- | indra/newview/skins/default/colors.xml | 3 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/toolbar.xml | 12 | 
4 files changed, 48 insertions, 45 deletions
| diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index f82cdc64a9..99384439d2 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -613,29 +613,11 @@ void LLButton::draw()  	static LLCachedControl<bool> sEnableButtonFlashing(*LLUI::sSettingGroups["config"], "EnableButtonFlashing", true);  	F32 alpha = mUseDrawContextAlpha ? getDrawContext().mAlpha : getCurrentTransparency(); -	bool flash = false;  	if (mFlashingTimer)  	{  		mFlashing = mFlashingTimer->isFlashingInProgress(); -		flash = mFlashing && (!sEnableButtonFlashing || mFlashingTimer->isCurrentlyHighlighted()); -	} -	else  -	{ -		if(mFlashing) -		{ -			if ( sEnableButtonFlashing) -			{ -				F32 elapsed = mFrameTimer.getElapsedTimeF32(); -				S32 flash_count = S32(elapsed * mButtonFlashRate * 2.f); -				// flash on or off? -				flash = (flash_count % 2 == 0) || flash_count > S32((F32)mButtonFlashCount * 2.f); -			} -			else -			{ // otherwise just highlight button in flash color -				flash = true; -			} -		}  	} +	bool flash = mFlashing && sEnableButtonFlashing;  	bool pressed_by_keyboard = FALSE;  	if (hasFocus()) @@ -660,7 +642,8 @@ void LLButton::draw()  	bool selected = getToggleState();  	bool use_glow_effect = FALSE; -	LLColor4 glow_color = LLColor4::white; +	LLColor4 highlighting_color = LLColor4::white; +	LLColor4 glow_color;  	LLRender::eBlendType glow_type = LLRender::BT_ADD_WITH_ALPHA;  	LLUIImage* imagep = NULL;  	if (pressed && mDisplayPressedState) @@ -733,10 +716,15 @@ void LLButton::draw()  			LLColor4 flash_color = mFlashBgColor.get();  			use_glow_effect = TRUE;  			glow_type = LLRender::BT_ALPHA; // blend the glow -			if (mNeedsHighlight) // highlighted AND flashing -				glow_color = (glow_color*0.5f + flash_color*0.5f) % 2.0f; // average between flash and highlight colour, with sum of the opacity -			else + +			if (mFlashingTimer->isCurrentlyHighlighted()) +			{  				glow_color = flash_color; +			} +			else if (mNeedsHighlight) +			{ +                glow_color = highlighting_color; +			}  		}  	} @@ -785,7 +773,7 @@ void LLButton::draw()  	if (use_glow_effect)  	{  		mCurGlowStrength = lerp(mCurGlowStrength, -					mFlashing ? (flash? 1.0 : 0.0) +					mFlashing ? (mFlashingTimer->isCurrentlyHighlighted() || mNeedsHighlight? 1.0 : 0.0)  					: mHoverGlowStrength,  					LLCriticalDamp::getInterpolant(0.05f));  	} diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 7e02915b43..5b4d5466a1 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -160,10 +160,16 @@ void on_new_message(const LLSD& msg)      LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(session_id);      //session floater not focused (visible or not) -    bool sessionFloaterNotFocused = session_floater && !session_floater->hasFocus();  +    bool session_floater_not_focused = session_floater && !session_floater->hasFocus(); +    //conv. floater is closed +    bool conversation_floater_is_closed = +    		!(  im_box +    		    && im_box->isInVisibleChain() +                && !im_box->isMinimized());      //conversation floater not focused (visible or not) -    bool conversationFloaterNotFocused = im_box && !im_box->hasFocus(); +    bool conversation_floater_not_focused = +    		conversation_floater_is_closed || !im_box->hasFocus();      if ("toast" == action)      { @@ -187,12 +193,12 @@ void on_new_message(const LLSD& msg)          }          //User is not focused on conversation containing the message -        if(sessionFloaterNotFocused) +        if(session_floater_not_focused)          {              im_box->flashConversationItemWidget(session_id, true);              //The conversation floater isn't focused/open -            if(conversationFloaterNotFocused) +            if(conversation_floater_not_focused)              {                  gToolBarView->flashCommand(LLCommandId("chat"), true); @@ -204,23 +210,29 @@ void on_new_message(const LLSD& msg)              }          }      } +      else if ("flash" == action)      { -        //User is not focused on conversation containing the message -        if(sessionFloaterNotFocused && conversationFloaterNotFocused) -        { -            gToolBarView->flashCommand(LLCommandId("chat"), true);  -        } -        //conversation floater is open but a different conversation is focused -        else if(sessionFloaterNotFocused) -        { -            im_box->flashConversationItemWidget(session_id, true); -        } +    	if (session_floater_not_focused) +    	{ +    		//User is not focused on conversation containing the message + +            if(conversation_floater_not_focused) +            { +                gToolBarView->flashCommand(LLCommandId("chat"), true); +            } +            //conversation floater is open but a different conversation is focused +            else +            { +                im_box->flashConversationItemWidget(session_id, true); +            } +    	}      } +      else if("openconversations" == action)      {          //User is not focused on conversation containing the message -        if(sessionFloaterNotFocused) +        if(session_floater_not_focused)          {              //Flash line item              im_box->flashConversationItemWidget(session_id, true); diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 05230b8bd5..afd8ee4ba1 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -11,6 +11,9 @@  	<color  	 name="EmphasisColor_35"  	 value="0.38 0.694 0.573 0.35" /> +    <color +    name="BeaconColor" +    value="1 .67 .2 1" />	   	<color  	 name="White"  	 value="1 1 1 1" /> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 053b213ef4..0ace37a5dc 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -30,9 +30,9 @@                          image_overlay_alignment="left"                          use_ellipses="true"                          auto_resize="true" -                        button_flash_count="3" -                        button_flash_rate="0.25" -                        flash_color="EmphasisColor"/> +                        button_flash_count="4" +                        button_flash_rate="0.5" +                        flash_color="BeaconColor"/>    <button_icon pad_left="10"                 pad_right="10"                 image_bottom_pad="10" @@ -51,7 +51,7 @@                 chrome="true"                 use_ellipses="true"                 auto_resize="true" -               button_flash_count="3" -               button_flash_rate="0.25" -               flash_color="EmphasisColor"/> +               button_flash_count="4" +               button_flash_rate="0.5" +               flash_color="BeaconColor"/>  </toolbar> | 
