diff options
| author | Richard Linden <none@none> | 2011-11-01 15:30:54 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2011-11-01 15:30:54 -0700 | 
| commit | b6b463dd3927148d1bb20f0bb9aa624ddaed15c4 (patch) | |
| tree | ec26313b1a78f7bb2bb3cc3d69c8d271e3c30bdc /indra | |
| parent | d86def6f03acc3b4a07a30a2f7912e6dc35edf27 (diff) | |
EXP-1452 FIX minimum height of NEARBY CHAT window can be circumvented by minimizing it.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llnearbychat.cpp | 25 | ||||
| -rw-r--r-- | indra/newview/llnearbychat.h | 6 | ||||
| -rw-r--r-- | indra/newview/llnearbychatbar.cpp | 9 | 
3 files changed, 22 insertions, 18 deletions
| diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 3418462192..a7303ad035 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -60,13 +60,9 @@ static const S32 RESIZE_BAR_THICKNESS = 3;  static LLRegisterPanelClassWrapper<LLNearbyChat> t_panel_nearby_chat("panel_nearby_chat"); -LLNearbyChat::LLNearbyChat()  -	: LLPanel() -	,mChatHistory(NULL) -{ -} - -LLNearbyChat::~LLNearbyChat() +LLNearbyChat::LLNearbyChat(const LLNearbyChat::Params& p)  +:	LLPanel(p), +	mChatHistory(NULL)  {  } @@ -178,15 +174,20 @@ bool	LLNearbyChat::onNearbyChatCheckContextMenuItem(const LLSD& userdata)  	return false;  } +void LLNearbyChat::removeScreenChat() +{ +	LLNotificationsUI::LLScreenChannelBase* chat_channel = LLNotificationsUI::LLChannelManager::getInstance()->findChannelByID(LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))); +	if(chat_channel) +	{ +		chat_channel->removeToastsFromChannel(); +	} +} +  void	LLNearbyChat::setVisible(BOOL visible)  {  	if(visible)  	{ -		LLNotificationsUI::LLScreenChannelBase* chat_channel = LLNotificationsUI::LLChannelManager::getInstance()->findChannelByID(LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))); -		if(chat_channel) -		{ -			chat_channel->removeToastsFromChannel(); -		} +		removeScreenChat();  	}  	LLPanel::setVisible(visible); diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h index 5ef584c8ff..7c5975cbc5 100644 --- a/indra/newview/llnearbychat.h +++ b/indra/newview/llnearbychat.h @@ -37,8 +37,7 @@ class LLChatHistory;  class LLNearbyChat: public LLPanel  {  public: -	LLNearbyChat(); -	~LLNearbyChat(); +	LLNearbyChat(const Params& p = LLPanel::getDefaultParams());  	BOOL	postBuild			(); @@ -63,13 +62,14 @@ public:  	void loadHistory();  	static LLNearbyChat* getInstance(); +	void removeScreenChat();  private:  	void	getAllowedRect		(LLRect& rect);  	void	onNearbySpeakers	(); -	 +  private:  	LLHandle<LLView>	mPopupMenuHandle; diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 4674c85324..c612b14256 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -47,6 +47,7 @@  #include "llviewerwindow.h"  #include "llrootview.h"  #include "llviewerchat.h" +#include "llnearbychat.h"  #include "llresizehandle.h" @@ -401,11 +402,13 @@ void LLNearbyChatBar::onToggleNearbyChatPanel()  void LLNearbyChatBar::setMinimized(BOOL b)  { -	if (b != LLFloater::isMinimized()) +	LLNearbyChat* nearby_chat = getChild<LLNearbyChat>("nearby_chat"); +	// when unminimizing with nearby chat visible, go ahead and kill off screen chats +	if (!b && nearby_chat->getVisible())  	{ -		LLFloater::setMinimized(b); -		getChildView("nearby_chat")->setVisible(!b); +		nearby_chat->removeScreenChat();  	} +	LLFloater::setMinimized(b);  }  void LLNearbyChatBar::onChatBoxCommit() | 
