[LLIMMgr/LLIMPanel Revision] Fix PinTalkViewOpen=false mechanics

If the user is holding a modifier key with enter, it bypasses the unpinned setting
If a chat is popped out, this setting now only minimizes that chat, not toggles the main communications floater.
LLIMPanel::closeIfNotPinned() now condenses the logic.

Also makes LLIMMgr::toggle() non-static and requiring no args.
This commit is contained in:
Inusaito Sayori
2013-10-10 02:49:02 -04:00
parent 9e312a3808
commit 260723f2a4
3 changed files with 19 additions and 16 deletions

View File

@@ -349,14 +349,12 @@ bool inviteUserResponse(const LLSD& notification, const LLSD& response)
// gSavedSettings.setBOOL( "PinTalkViewOpen", !state );
//}
// static
void LLIMMgr::toggle(void*)
void LLIMMgr::toggle()
{
static BOOL return_to_mouselook = FALSE;
// Hide the button and show the floater or vice versa.
llassert( gIMMgr );
BOOL old_state = gIMMgr->getFloaterOpen();
bool old_state = getFloaterOpen();
// If we're in mouselook and we triggered the Talk View, we want to talk.
if( gAgentCamera.cameraMouselook() && old_state )
@@ -387,7 +385,7 @@ void LLIMMgr::toggle(void*)
return_to_mouselook = FALSE;
}
gIMMgr->setFloaterOpen( new_state );
setFloaterOpen(new_state);
}
//