#include <llimpanel.h>
Inheritance diagram for LLFloaterIMPanel:
Definition at line 164 of file llimpanel.h.
LLFloaterIMPanel::LLFloaterIMPanel | ( | const std::string & | name, | |
const LLRect & | rect, | |||
const std::string & | session_label, | |||
const LLUUID & | session_id, | |||
const LLUUID & | target_id, | |||
EInstantMessage | dialog | |||
) |
LLFloaterIMPanel::LLFloaterIMPanel | ( | const std::string & | name, | |
const LLRect & | rect, | |||
const std::string & | session_label, | |||
const LLUUID & | session_id, | |||
const LLUUID & | target_id, | |||
const LLDynamicArray< LLUUID > & | ids, | |||
EInstantMessage | dialog | |||
) |
Definition at line 921 of file llimpanel.cpp.
References LLPanel::init(), and mSessionInitialTargetIDs.
LLFloaterIMPanel::~LLFloaterIMPanel | ( | ) | [virtual] |
Definition at line 1045 of file llimpanel.cpp.
References LLVoiceChannel::deactivate(), mSpeakers, mVoiceChannel, and NULL.
void LLFloaterIMPanel::addHistoryLine | ( | const std::string & | utf8msg, | |
const LLColor4 & | color = LLColor4::white , |
|||
bool | log_to_file = true | |||
) |
Definition at line 1297 of file llimpanel.cpp.
References LLTextEditor::appendColoredText(), LLViewerTextEditor::appendTime(), LLControlGroup::getBOOL(), LLFloater::getHost(), LLView::getParent(), LLFloater::getTitle(), LLView::getVisible(), gSavedPerAccountSettings, gSavedSettings, mHistoryEditor, NULL, removeTypingIndicator(), LLLogChat::saveHistory(), LLTabContainerCommon::setTabPanelFlashing(), LLLogChat::timestamp(), and TRUE.
void LLFloaterIMPanel::addHistoryLine | ( | const LLUUID & | source, | |
const std::string & | utf8msg, | |||
const LLColor4 & | color = LLColor4::white , |
|||
bool | log_to_file = true | |||
) |
Definition at line 1290 of file llimpanel.cpp.
References FALSE, mSpeakers, LLSpeakerMgr::setSpeakerTyping(), and LLSpeakerMgr::speakerChatted().
Referenced by LLIMMgr::addMessage(), addTypingIndicator(), init(), LLIMMgr::noteOfflineUsers(), and sendMsg().
void LLFloaterIMPanel::addTypingIndicator | ( | const std::string & | name | ) | [private] |
Definition at line 1859 of file llimpanel.cpp.
References addHistoryLine(), LLControlGroup::getColor4(), LLTextEditor::getWText(), gSavedSettings, mHistoryEditor, mOtherTyping, mOtherTypingName, mTypingLineStartIndex, LLUIString::setArg(), sTypingStartString, and TRUE.
Referenced by processIMTyping(), and sendMsg().
Definition at line 1126 of file llimpanel.cpp.
References mSpeakerPanel, mSpeakers, and TRUE.
Referenced by init().
void LLFloaterIMPanel::disableWhileSessionStarting | ( | ) | [private] |
void LLFloaterIMPanel::draw | ( | ) | [virtual] |
Reimplemented from LLFloater.
Definition at line 1165 of file llimpanel.cpp.
References LLPanel::childGetValue(), LLPanel::childIsVisible(), LLPanel::childSetEnabled(), LLPanel::childSetValue(), LLPanel::childSetVisible(), LLFloater::draw(), FALSE, LLMute::flagVoiceChat, gAgent, LLViewerRegion::getCapability(), LLFrameTimer::getElapsedTimeF32(), LLAgent::getRegion(), LLVoiceChannel::getState(), LLVoiceClient::getUserVolume(), gMuteListp, gVoiceClient, LLVoiceChannel::isActive(), LLMuteList::isMuted(), mAutoConnect, mFirstKeystrokeTimer, mLastKeystrokeTimer, mOtherParticipantUUID, mSentTypingState, mSessionInitialized, mShowSpeakersOnConnect, mSpeakerPanel, mTyping, mVoiceChannel, onClickStartCall(), LLPanelActiveSpeakers::refreshSpeakers(), sendTypingState(), setTyping(), LLVoiceChannel::STATE_CALL_STARTED, TRUE, LLAgent::TYPING_TIMEOUT_SECS, and LLVoiceClient::voiceEnabled().
BOOL LLFloaterIMPanel::dropCallingCard | ( | LLInventoryItem * | item, | |
BOOL | drop | |||
) | [private] |
Definition at line 1439 of file llimpanel.cpp.
References FALSE, LLInventoryItem::getCreatorUUID(), inviteToSession(), isInviteAllowed(), LLUUID::notNull(), and LLDynamicArray< Type, BlockSize >::put().
Referenced by handleDragAndDrop().
BOOL LLFloaterIMPanel::dropCategory | ( | LLInventoryCategory * | category, | |
BOOL | drop | |||
) | [private] |
Definition at line 1459 of file llimpanel.cpp.
References LLInventoryModel::collectDescendentsIf(), count, LLInventoryModel::EXCLUDE_TRASH, FALSE, LLInventoryObject::getUUID(), gInventory, i, inviteToSession(), isInviteAllowed(), LLDynamicArray< Type, BlockSize >::put(), and S32.
Referenced by handleDragAndDrop().
EInstantMessage LLFloaterIMPanel::getDialogType | ( | ) | const [inline] |
const LLUUID& LLFloaterIMPanel::getOtherParticipantID | ( | ) | const [inline] |
const LLUUID& LLFloaterIMPanel::getSessionID | ( | ) | const [inline] |
Definition at line 237 of file llimpanel.h.
References mSessionUUID.
Referenced by LLIMMgr::addSession(), and LLIMMgr::findFloaterBySession().
LLVoiceChannel* LLFloaterIMPanel::getVoiceChannel | ( | ) | [inline] |
Definition at line 242 of file llimpanel.h.
References mVoiceChannel.
Referenced by LLIMMgr::addP2PSession().
BOOL LLFloaterIMPanel::handleDragAndDrop | ( | S32 | x, | |
S32 | y, | |||
MASK | mask, | |||
BOOL | drop, | |||
EDragAndDropType | cargo_type, | |||
void * | cargo_data, | |||
EAcceptance * | accept, | |||
LLString & | tooltip_msg | |||
) | [virtual] |
Reimplemented from LLView.
Definition at line 1410 of file llimpanel.cpp.
References ACCEPT_NO, ACCEPT_YES_MULTI, DAD_CALLINGCARD, DAD_CATEGORY, dropCallingCard(), dropCategory(), FALSE, and TRUE.
Reimplemented from LLPanel.
Definition at line 1375 of file llimpanel.cpp.
References LLFocusMgr::childHasKeyboardFocus(), FALSE, LLControlGroup::getBOOL(), LLView::getVisible(), gFocusMgr, gIMMgr, gSavedSettings, KEY_ESCAPE, KEY_RETURN, MASK_CONTROL, MASK_NONE, MASK_SHIFT, LLView::mEnabled, NULL, sendMsg(), LLFocusMgr::setKeyboardFocus(), LLIMMgr::toggle(), and TRUE.
Definition at line 953 of file llimpanel.cpp.
References addHistoryLine(), LLUICtrlFactory::buildFloater(), chatFromLogFile(), createSpeakersPanel(), FALSE, gAgent, LLControlGroup::getBOOL(), LLControlGroup::getColor4(), LLPanel::getFactoryMap(), LLFloater::getTitle(), LLTextEditor::getWText(), gSavedPerAccountSettings, gSavedSettings, gUICtrlFactory, IM_NOTHING_SPECIAL, IM_SESSION_CONFERENCE_START, IM_SESSION_GROUP_START, IM_SESSION_INVITE, IM_SESSION_P2P_INVITE, LLAgent::isInGroup(), llendl, llwarns, LLLogChat::loadHistory(), mDialog, LLPanel::mFactoryMap, mHistoryEditor, mInputEditor, mOtherParticipantUUID, mSessionInitialized, mSessionInitialTargetIDs, mSessionStartMsgPos, mSessionUUID, mSpeakers, mVoiceChannel, send_start_session_messages(), LLUIString::setArg(), LLLineEditor::setEnableLineHistory(), LLPanel::setLabel(), LLLineEditor::setMaxTextLength(), LLFloater::setTitle(), sSessionStartString, and TRUE.
BOOL LLFloaterIMPanel::inviteToSession | ( | const LLDynamicArray< LLUUID > & | agent_ids | ) |
Definition at line 1246 of file llimpanel.cpp.
References LLDynamicArray< Type, BlockSize >::count(), count, LLSD::emptyArray(), FALSE, gAgent, LLDynamicArray< Type, BlockSize >::get(), LLViewerRegion::getCapability(), LLAgent::getRegion(), i, isInviteAllowed(), llendl, llinfos, mDialog, mSessionUUID, LLHTTPClient::post(), S32, and TRUE.
Referenced by dropCallingCard(), and dropCategory().
BOOL LLFloaterIMPanel::isInviteAllowed | ( | ) | const [private] |
Definition at line 1490 of file llimpanel.cpp.
References IM_SESSION_CONFERENCE_START, IM_SESSION_INVITE, and mDialog.
Referenced by dropCallingCard(), dropCategory(), and inviteToSession().
Definition at line 1519 of file llimpanel.cpp.
References LLFloaterGroupInfo::showFromUUID().
Referenced by postBuild().
Definition at line 1134 of file llimpanel.cpp.
References LLMuteList::add(), LLMute::AGENT, LLMute::flagVoiceChat, gMuteListp, LLMuteList::isMuted(), and LLMuteList::remove().
Referenced by postBuild().
Definition at line 1507 of file llimpanel.cpp.
References LLFloaterAvatarInfo::showFromDirectory().
Referenced by postBuild().
Definition at line 1538 of file llimpanel.cpp.
Referenced by draw(), LLIMMgr::inviteUserResponse(), postBuild(), and LLViewerChatterBoxInvitationAcceptResponder::result().
void LLFloaterIMPanel::onClose | ( | bool | app_quitting = FALSE |
) | [virtual] |
Reimplemented from LLFloater.
Definition at line 1605 of file llimpanel.cpp.
References LLAgent::buildFullname(), LLFloater::destroy(), FALSE, gAgent, LLAgent::getID(), LLAgent::getSessionID(), gIMMgr, gMessageSystem, IM_ONLINE, IM_SESSION_LEAVE, mOtherParticipantUUID, mSessionUUID, LLUUID::notNull(), pack_instant_message(), LLIMMgr::removeSession(), LLAgent::sendReliableMessage(), and setTyping().
void LLFloaterIMPanel::onInputEditorKeystroke | ( | LLLineEditor * | caller, | |
void * | userdata | |||
) | [static] |
Definition at line 1154 of file llimpanel.cpp.
References LLSD::asReal(), LLUICtrl::getValue(), gVoiceClient, and LLVoiceClient::setUserVolume().
Referenced by postBuild().
BOOL LLFloaterIMPanel::postBuild | ( | ) | [virtual] |
Reimplemented from LLPanel.
Definition at line 1059 of file llimpanel.cpp.
References LLPanel::checkRequirements(), LLPanel::childSetAction(), LLPanel::childSetCommitCallback(), LLPanel::childSetEnabled(), FALSE, LLUICtrlFactory::getLineEditorByName(), LLTextBox::getText(), LLUICtrlFactory::getTextBoxByName(), LLViewerUICtrlFactory::getViewerTextEditorByName(), IM_NOTHING_SPECIAL, IM_SESSION_GROUP_START, mDialog, mHistoryEditor, mInputEditor, mSpeakerPanel, onClickEndCall(), onClickGroupInfo(), onClickMuteVoice(), onClickProfile(), onClickSend(), onClickStartCall(), onClickToggleActiveSpeakers(), onCommitChat(), onInputEditorFocusLost(), onInputEditorFocusReceived(), onInputEditorKeystroke(), onVolumeChange(), LLPanelActiveSpeakers::refreshSpeakers(), LLPanel::requires(), LLUICtrl::setCallbackUserData(), LLUICtrl::setCommitCallback(), LLLineEditor::setCommitOnFocusLost(), LLPanel::setDefaultBtn(), LLUICtrl::setFocusLostCallback(), LLUICtrl::setFocusReceivedCallback(), LLLineEditor::setKeystrokeCallback(), LLTextEditor::setParseHTML(), LLLineEditor::setRevertOnEsc(), sSessionStartString, sTitleString, sTypingStartString, TRUE, WIDGET_TYPE_LINE_EDITOR, WIDGET_TYPE_TEXT_BOX, and WIDGET_TYPE_TEXT_EDITOR.
Definition at line 1844 of file llimpanel.cpp.
References addTypingIndicator(), LLIMInfo::mName, and removeTypingIndicator().
Referenced by LLIMMgr::processIMTypingCore().
Definition at line 1877 of file llimpanel.cpp.
References FALSE, LLTextEditor::getWText(), LLIMInfo::mFromID, mHistoryEditor, mOtherTyping, mSpeakers, mTypingLineStartIndex, LLTextEditor::removeTextFromEnd(), S32, and LLSpeakerMgr::setSpeakerTyping().
Referenced by addHistoryLine(), and processIMTyping().
void LLFloaterIMPanel::requestAutoConnect | ( | ) |
Definition at line 1784 of file llimpanel.cpp.
References mAutoConnect, and TRUE.
Referenced by LLIMMgr::inviteUserResponse(), and LLViewerChatterBoxInvitationAcceptResponder::result().
void LLFloaterIMPanel::selectAll | ( | ) |
Definition at line 1363 of file llimpanel.cpp.
References mInputEditor, and LLLineEditor::selectAll().
void LLFloaterIMPanel::selectNone | ( | ) |
Definition at line 1369 of file llimpanel.cpp.
References LLLineEditor::deselect(), and mInputEditor.
void LLFloaterIMPanel::sendMsg | ( | ) | [private] |
Definition at line 1666 of file llimpanel.cpp.
References addHistoryLine(), addTypingIndicator(), LLSD::append(), LLAgent::buildFullname(), deliver_message(), FALSE, gAgent, LLAgent::getID(), LLLineEditor::getWText(), gViewerStats, IM_NOTHING_SPECIAL, LLViewerStats::incStat(), LLAgent::isGodlike(), LLUUID::isNull(), llendl, llinfos, MAX_MSG_BUF_SIZE, mDialog, mInputEditor, mOtherParticipantUUID, mOtherTyping, mOtherTypingName, mQueuedMsgsForInit, mSentTypingState, mSessionInitialized, mSessionUUID, mTyping, LLUUID::notNull(), LLStringBase< char >::null, LLLineEditor::setText(), LLViewerStats::ST_IM_COUNT, LLStringBase< T >::trim(), TRUE, utf8str_truncate(), and wstring_to_utf8str().
Referenced by handleKeyHere().
Definition at line 1821 of file llimpanel.cpp.
References LLAgent::buildFullname(), FALSE, gAgent, LLAgent::getID(), LLAgent::getSessionID(), gMessageSystem, IM_NOTHING_SPECIAL, IM_ONLINE, IM_TYPING_START, IM_TYPING_STOP, mDialog, mOtherParticipantUUID, mSessionUUID, pack_instant_message(), and LLAgent::sendReliableMessage().
Referenced by draw(), and setTyping().
Definition at line 1757 of file llimpanel.cpp.
References LLSD::beginArray(), deliver_message(), LLSD::endArray(), LLTextEditor::getWText(), mDialog, mHistoryEditor, mOtherParticipantUUID, mQueuedMsgsForInit, mSessionInitialized, mSessionStartMsgPos, mSessionUUID, mVoiceChannel, LLTextEditor::removeTextFromEnd(), S32, TRUE, and LLVoiceChannel::updateSessionID().
Referenced by LLIMMgr::updateFloaterSessionID().
Definition at line 1357 of file llimpanel.cpp.
References mInputEditor, and LLLineEditor::setFocus().
Referenced by LLIMMgr::addSession().
Definition at line 1752 of file llimpanel.cpp.
References mSpeakers, and LLIMSpeakerMgr::processSpeakerList().
Referenced by LLViewerChatterBoxSessionStartReply::post(), and LLViewerChatterBoxInvitationAcceptResponder::result().
Definition at line 1747 of file llimpanel.cpp.
References mSpeakers, and LLIMSpeakerMgr::processSpeakerMap().
Definition at line 1789 of file llimpanel.cpp.
References FALSE, gAgent, LLAgent::getID(), mFirstKeystrokeTimer, mLastKeystrokeTimer, mSentTypingState, mSpeakers, mTyping, LLFrameTimer::reset(), sendTypingState(), LLSpeakerMgr::setSpeakerTyping(), and TRUE.
Reimplemented from LLFloater.
Definition at line 1336 of file llimpanel.cpp.
References FALSE, LLFloater::getHost(), LLView::getParent(), LLTabContainerCommon::setTabPanelFlashing(), and LLView::setVisible().
Definition at line 1742 of file llimpanel.cpp.
References mSpeakers, and LLIMSpeakerMgr::processSpeakerListUpdate().
Referenced by LLViewerChatterBoxSessionAgentListUpdates::post(), LLViewerChatterBoxSessionStartReply::post(), and LLViewerChatterBoxInvitationAcceptResponder::result().
BOOL LLFloaterIMPanel::mAutoConnect [private] |
EInstantMessage LLFloaterIMPanel::mDialog [private] |
Definition at line 305 of file llimpanel.h.
Referenced by getDialogType(), init(), inviteToSession(), isInviteAllowed(), postBuild(), sendMsg(), sendTypingState(), and sessionInitReplyReceived().
Definition at line 283 of file llimpanel.h.
Referenced by addHistoryLine(), addTypingIndicator(), init(), postBuild(), removeTypingIndicator(), and sessionInitReplyReceived().
LLLineEditor* LLFloaterIMPanel::mInputEditor [private] |
Definition at line 282 of file llimpanel.h.
Referenced by init(), postBuild(), selectAll(), selectNone(), sendMsg(), and setInputFocus().
Definition at line 302 of file llimpanel.h.
Referenced by draw(), getOtherParticipantID(), init(), onClose(), sendMsg(), sendTypingState(), and sessionInitReplyReceived().
BOOL LLFloaterIMPanel::mOtherTyping [private] |
Definition at line 311 of file llimpanel.h.
Referenced by addTypingIndicator(), removeTypingIndicator(), and sendMsg().
std::string LLFloaterIMPanel::mOtherTypingName [private] |
LLSD LLFloaterIMPanel::mQueuedMsgsForInit [private] |
Definition at line 295 of file llimpanel.h.
Referenced by sendMsg(), and sessionInitReplyReceived().
BOOL LLFloaterIMPanel::mSentTypingState [private] |
BOOL LLFloaterIMPanel::mSessionInitialized [private] |
Definition at line 294 of file llimpanel.h.
Referenced by draw(), init(), sendMsg(), and sessionInitReplyReceived().
S32 LLFloaterIMPanel::mSessionStartMsgPos [private] |
LLUUID LLFloaterIMPanel::mSessionUUID [private] |
Definition at line 290 of file llimpanel.h.
Referenced by getSessionID(), init(), inviteToSession(), onClose(), sendMsg(), sendTypingState(), and sessionInitReplyReceived().
BOOL LLFloaterIMPanel::mShowSpeakersOnConnect [private] |
Definition at line 328 of file llimpanel.h.
Referenced by createSpeakersPanel(), draw(), and postBuild().
LLIMSpeakerMgr* LLFloaterIMPanel::mSpeakers [private] |
Definition at line 327 of file llimpanel.h.
Referenced by addHistoryLine(), createSpeakersPanel(), init(), removeTypingIndicator(), setSpeakersList(), setSpeakersListFromMap(), setTyping(), updateSpeakersList(), and ~LLFloaterIMPanel().
BOOL LLFloaterIMPanel::mTyping [private] |
S32 LLFloaterIMPanel::mTypingLineStartIndex [private] |
Definition at line 317 of file llimpanel.h.
Referenced by addTypingIndicator(), and removeTypingIndicator().
LLVoiceChannel* LLFloaterIMPanel::mVoiceChannel [private] |
Definition at line 292 of file llimpanel.h.
Referenced by draw(), getVoiceChannel(), init(), sessionInitReplyReceived(), and ~LLFloaterIMPanel().
LLFloaterIMPanel* LLFloaterIMPanel::sInstance [static, private] |
Definition at line 279 of file llimpanel.h.