Fixed normal bug EXT-1857-'Group Info' btn is unnecessary in Friends Conference floater
--HG-- branch : product-enginemaster
parent
e9c83f2343
commit
79738b2a65
|
|
@ -78,12 +78,15 @@ LLIMFloater::LLIMFloater(const LLUUID& session_id)
|
|||
mSessionInitialized = im_session->mSessionInitialized;
|
||||
|
||||
mDialog = im_session->mType;
|
||||
if (IM_NOTHING_SPECIAL == mDialog || IM_SESSION_P2P_INVITE == mDialog)
|
||||
{
|
||||
switch(mDialog){
|
||||
case IM_NOTHING_SPECIAL:
|
||||
case IM_SESSION_P2P_INVITE:
|
||||
mFactoryMap["panel_im_control_panel"] = LLCallbackMap(createPanelIMControl, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
case IM_SESSION_CONFERENCE_START:
|
||||
mFactoryMap["panel_im_control_panel"] = LLCallbackMap(createPanelAdHocControl, this);
|
||||
break;
|
||||
default:
|
||||
mFactoryMap["panel_im_control_panel"] = LLCallbackMap(createPanelGroupControl, this);
|
||||
}
|
||||
}
|
||||
|
|
@ -290,6 +293,15 @@ void* LLIMFloater::createPanelGroupControl(void* userdata)
|
|||
return self->mControlPanel;
|
||||
}
|
||||
|
||||
// static
|
||||
void* LLIMFloater::createPanelAdHocControl(void* userdata)
|
||||
{
|
||||
LLIMFloater *self = (LLIMFloater*)userdata;
|
||||
self->mControlPanel = new LLPanelAdHocControlPanel(self->mSessionID);
|
||||
self->mControlPanel->setXMLFilename("panel_adhoc_control_panel.xml");
|
||||
return self->mControlPanel;
|
||||
}
|
||||
|
||||
void LLIMFloater::onSlide()
|
||||
{
|
||||
LLPanel* im_control_panel = getChild<LLPanel>("panel_im_control_panel");
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ private:
|
|||
void onSlide();
|
||||
static void* createPanelIMControl(void* userdata);
|
||||
static void* createPanelGroupControl(void* userdata);
|
||||
static void* createPanelAdHocControl(void* userdata);
|
||||
// gets a rect that bounds possible positions for the LLIMFloater on a screen (EXT-1111)
|
||||
void getAllowedRect(LLRect& rect);
|
||||
|
||||
|
|
|
|||
|
|
@ -187,3 +187,17 @@ void LLPanelGroupControlPanel::setSessionId(const LLUUID& session_id)
|
|||
|
||||
mGroupID = LLIMModel::getInstance()->getOtherParticipantID(session_id);
|
||||
}
|
||||
|
||||
|
||||
LLPanelAdHocControlPanel::LLPanelAdHocControlPanel(const LLUUID& session_id):LLPanelGroupControlPanel(session_id)
|
||||
{
|
||||
}
|
||||
|
||||
BOOL LLPanelAdHocControlPanel::postBuild()
|
||||
{
|
||||
mAvatarList = getChild<LLAvatarList>("speakers_list");
|
||||
mParticipantList = new LLParticipantList(mSpeakerManager, mAvatarList);
|
||||
|
||||
return LLPanelChatControlPanel::postBuild();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,15 +88,23 @@ public:
|
|||
void setSessionId(const LLUUID& session_id);
|
||||
/*virtual*/ void draw();
|
||||
|
||||
private:
|
||||
void onGroupInfoButtonClicked();
|
||||
|
||||
protected:
|
||||
LLUUID mGroupID;
|
||||
LLSpeakerMgr* mSpeakerManager;
|
||||
LLAvatarList* mAvatarList;
|
||||
LLParticipantList* mParticipantList;
|
||||
|
||||
private:
|
||||
void onGroupInfoButtonClicked();
|
||||
};
|
||||
|
||||
class LLPanelAdHocControlPanel : public LLPanelGroupControlPanel
|
||||
{
|
||||
public:
|
||||
LLPanelAdHocControlPanel(const LLUUID& session_id);
|
||||
|
||||
BOOL postBuild();
|
||||
|
||||
};
|
||||
|
||||
#endif // LL_LLPANELIMCONTROLPANEL_H
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
name="panel_im_control_panel"
|
||||
width="146"
|
||||
height="215"
|
||||
border="false">
|
||||
<avatar_list
|
||||
color="DkGray2"
|
||||
follows="left|top|right|bottom"
|
||||
height="130"
|
||||
ignore_online_status="true"
|
||||
layout="topleft"
|
||||
left="3"
|
||||
name="speakers_list"
|
||||
opaque="false"
|
||||
top="10"
|
||||
width="140" />
|
||||
<button
|
||||
name="call_btn"
|
||||
label="Call"
|
||||
width="90"
|
||||
height="20" />
|
||||
<button
|
||||
name="end_call_btn"
|
||||
label="End Call"
|
||||
width="90"
|
||||
height="20"
|
||||
visible="false"/>
|
||||
</panel>
|
||||
Loading…
Reference in New Issue