diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2024-06-20 12:28:09 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2024-06-20 12:28:09 -0400 |
commit | d110358472b83f2f31d60ea0d76f1b426a087f56 (patch) | |
tree | 83617196e7d444c1063075e4a4c50fe19490a4ce /indra/newview/llfloaterimsession.h | |
parent | bb1f3f08cf93facbf926e57384674441be7e2884 (diff) | |
parent | e92689063bdbe34907348a12f1db39bc81132783 (diff) |
Merge branch 'release/luau-scripting' into lua-speedometer-demo
Diffstat (limited to 'indra/newview/llfloaterimsession.h')
-rw-r--r-- | indra/newview/llfloaterimsession.h | 254 |
1 files changed, 127 insertions, 127 deletions
diff --git a/indra/newview/llfloaterimsession.h b/indra/newview/llfloaterimsession.h index 28464fc14b..7be68ccfc7 100644 --- a/indra/newview/llfloaterimsession.h +++ b/indra/newview/llfloaterimsession.h @@ -1,25 +1,25 @@ -/** +/** * @file llfloaterimsession.h * @brief LLFloaterIMSession class definition * * $LicenseInfo:firstyear=2009&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -54,152 +54,152 @@ class LLFloaterIMSession : public LLVoiceClientStatusObserver , public LLFloaterIMSessionTab { - LOG_CLASS(LLFloaterIMSession); + LOG_CLASS(LLFloaterIMSession); public: - LLFloaterIMSession(const LLUUID& session_id); - - virtual ~LLFloaterIMSession(); - - void initIMSession(const LLUUID& session_id); - void initIMFloater(); - - // LLView overrides - /*virtual*/ BOOL postBuild(); - /*virtual*/ void setMinimized(BOOL b); - /*virtual*/ void setVisible(BOOL visible); - /*virtual*/ BOOL getVisible(); - /*virtual*/ void setFocus(BOOL focus); - // Check typing timeout timer. - - /*virtual*/ void draw(); - /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, - EDragAndDropType cargo_type, - void* cargo_data, - EAcceptance* accept, - std::string& tooltip_msg); - - static LLFloaterIMSession* findInstance(const LLUUID& session_id); - static LLFloaterIMSession* getInstance(const LLUUID& session_id); - - // LLFloater overrides - /*virtual*/ void onClose(bool app_quitting); - /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true); - // Make IM conversion visible and update the message history - static LLFloaterIMSession* show(const LLUUID& session_id); - - // Toggle panel specified by session_id - // Returns true iff panel became visible - static bool toggle(const LLUUID& session_id); - - void sessionInitReplyReceived(const LLUUID& im_session_id); - - // get new messages from LLIMModel - /*virtual*/ void updateMessages(); - void reloadMessages(bool clean_messages = false); - static void onSendMsg(LLUICtrl*, void*); - void sendMsgFromInputEditor(); - void sendMsg(const std::string& msg); - - // callback for LLIMModel on new messages - // route to specific floater if it is visible - static void newIMCallback(const LLSD& data); - - // called when docked floater's position has been set by chiclet - void setPositioned(bool b) { mPositioned = b; }; - - void onVisibilityChanged(const LLSD& new_visibility); - bool enableGearMenuItem(const LLSD& userdata); - void GearDoToSelected(const LLSD& userdata); - bool checkGearMenuItem(const LLSD& userdata); - - // Implements LLVoiceClientStatusObserver::onChange() to enable the call - // button when voice is available - void onChange(EStatusType status, const std::string &channelURI, - bool proximal); - - virtual LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; } - virtual void onVoiceChannelStateChanged( - const LLVoiceChannel::EState& old_state, - const LLVoiceChannel::EState& new_state); - - void processIMTyping(const LLUUID& from_id, BOOL typing); - void processAgentListUpdates(const LLSD& body); - void processSessionUpdate(const LLSD& session_update); - - //used as a callback on receiving new IM message - static void sRemoveTypingIndicator(const LLSD& data); - static void onIMChicletCreated(const LLUUID& session_id); + LLFloaterIMSession(const LLUUID& session_id); + + virtual ~LLFloaterIMSession(); + + void initIMSession(const LLUUID& session_id); + void initIMFloater(); + + // LLView overrides + /*virtual*/ BOOL postBuild(); + /*virtual*/ void setMinimized(BOOL b); + /*virtual*/ void setVisible(BOOL visible); + /*virtual*/ BOOL getVisible(); + /*virtual*/ void setFocus(BOOL focus); + // Check typing timeout timer. + + /*virtual*/ void draw(); + /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg); + + static LLFloaterIMSession* findInstance(const LLUUID& session_id); + static LLFloaterIMSession* getInstance(const LLUUID& session_id); + + // LLFloater overrides + /*virtual*/ void onClose(bool app_quitting); + /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true); + // Make IM conversion visible and update the message history + static LLFloaterIMSession* show(const LLUUID& session_id); + + // Toggle panel specified by session_id + // Returns true iff panel became visible + static bool toggle(const LLUUID& session_id); + + void sessionInitReplyReceived(const LLUUID& im_session_id); + + // get new messages from LLIMModel + /*virtual*/ void updateMessages(); + void reloadMessages(bool clean_messages = false); + static void onSendMsg(LLUICtrl*, void*); + void sendMsgFromInputEditor(); + void sendMsg(const std::string& msg); + + // callback for LLIMModel on new messages + // route to specific floater if it is visible + static void newIMCallback(const LLSD& data); + + // called when docked floater's position has been set by chiclet + void setPositioned(bool b) { mPositioned = b; }; + + void onVisibilityChanged(const LLSD& new_visibility); + bool enableGearMenuItem(const LLSD& userdata); + void GearDoToSelected(const LLSD& userdata); + bool checkGearMenuItem(const LLSD& userdata); + + // Implements LLVoiceClientStatusObserver::onChange() to enable the call + // button when voice is available + void onChange(EStatusType status, const std::string &channelURI, + bool proximal); + + virtual LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; } + virtual void onVoiceChannelStateChanged( + const LLVoiceChannel::EState& old_state, + const LLVoiceChannel::EState& new_state); + + void processIMTyping(const LLUUID& from_id, BOOL typing); + void processAgentListUpdates(const LLSD& body); + void processSessionUpdate(const LLSD& session_update); + + //used as a callback on receiving new IM message + static void sRemoveTypingIndicator(const LLSD& data); + static void onIMChicletCreated(const LLUUID& session_id); const LLUUID& getOtherParticipantUUID() {return mOtherParticipantUUID;} - static boost::signals2::connection setIMFloaterShowedCallback(const floater_showed_signal_t::slot_type& cb); - static floater_showed_signal_t sIMFloaterShowedSignal; + static boost::signals2::connection setIMFloaterShowedCallback(const floater_showed_signal_t::slot_type& cb); + static floater_showed_signal_t sIMFloaterShowedSignal; - bool needsTitleOverwrite() { return mSessionNameUpdatedForTyping && mOtherTyping; } - S32 getLastChatMessageIndex() {return mLastMessageIndex;} + bool needsTitleOverwrite() { return mSessionNameUpdatedForTyping && mOtherTyping; } + S32 getLastChatMessageIndex() {return mLastMessageIndex;} private: - /*virtual*/ void refresh(); + /*virtual*/ void refresh(); /*virtual*/ void onTearOffClicked(); - /*virtual*/ void onClickCloseBtn(bool app_qutting); + /*virtual*/ void onClickCloseBtn(bool app_qutting); - // Update the window title and input field help text - /*virtual*/ void updateSessionName(const std::string& name); + // Update the window title and input field help text + /*virtual*/ void updateSessionName(const std::string& name); - bool dropPerson(LLUUID* person_id, bool drop); + bool dropPerson(LLUUID* person_id, bool drop); - BOOL isInviteAllowed() const; - BOOL inviteToSession(const uuid_vec_t& agent_ids); - static void onInputEditorFocusReceived( LLFocusableElement* caller,void* userdata ); - static void onInputEditorFocusLost(LLFocusableElement* caller, void* userdata); - static void onInputEditorKeystroke(LLTextEditor* caller, void* userdata); - void setTyping(bool typing); - void onAddButtonClicked(); - void addSessionParticipants(const uuid_vec_t& uuids); - void addP2PSessionParticipants(const LLSD& notification, const LLSD& response, const uuid_vec_t& uuids); - void sendParticipantsAddedNotification(const uuid_vec_t& uuids); - bool canAddSelectedToChat(const uuid_vec_t& uuids); + BOOL isInviteAllowed() const; + BOOL inviteToSession(const uuid_vec_t& agent_ids); + static void onInputEditorFocusReceived( LLFocusableElement* caller,void* userdata ); + static void onInputEditorFocusLost(LLFocusableElement* caller, void* userdata); + static void onInputEditorKeystroke(LLTextEditor* caller, void* userdata); + void setTyping(bool typing); + void onAddButtonClicked(); + void addSessionParticipants(const uuid_vec_t& uuids); + void addP2PSessionParticipants(const LLSD& notification, const LLSD& response, const uuid_vec_t& uuids); + void sendParticipantsAddedNotification(const uuid_vec_t& uuids); + bool canAddSelectedToChat(const uuid_vec_t& uuids); - void onCallButtonClicked(); + void onCallButtonClicked(); - void boundVoiceChannel(); + void boundVoiceChannel(); - // Add the "User is typing..." indicator. - void addTypingIndicator(const LLUUID& from_id); + // Add the "User is typing..." indicator. + void addTypingIndicator(const LLUUID& from_id); - // Remove the "User is typing..." indicator. - void removeTypingIndicator(const LLUUID& from_id = LLUUID::null); + // Remove the "User is typing..." indicator. + void removeTypingIndicator(const LLUUID& from_id = LLUUID::null); - static void closeHiddenIMToasts(); + static void closeHiddenIMToasts(); - static void confirmLeaveCallCallback(const LLSD& notification, const LLSD& response); + static void confirmLeaveCallCallback(const LLSD& notification, const LLSD& response); - S32 mLastMessageIndex; + S32 mLastMessageIndex; - EInstantMessage mDialog; - LLUUID mOtherParticipantUUID; - bool mPositioned; + EInstantMessage mDialog; + LLUUID mOtherParticipantUUID; + bool mPositioned; - LLUIString mTypingStart; - bool mMeTyping; - bool mOtherTyping; - bool mShouldSendTypingState; - LLFrameTimer mTypingTimer; - LLFrameTimer mTypingTimeoutTimer; - bool mSessionNameUpdatedForTyping; - LLFrameTimer mMeTypingTimer; - LLFrameTimer mOtherTypingTimer; + LLUIString mTypingStart; + bool mMeTyping; + bool mOtherTyping; + bool mShouldSendTypingState; + LLFrameTimer mTypingTimer; + LLFrameTimer mTypingTimeoutTimer; + bool mSessionNameUpdatedForTyping; + LLFrameTimer mMeTypingTimer; + LLFrameTimer mOtherTypingTimer; - bool mSessionInitialized; - LLSD mQueuedMsgsForInit; + bool mSessionInitialized; + LLSD mQueuedMsgsForInit; - uuid_vec_t mInvitedParticipants; - uuid_vec_t mPendingParticipants; + uuid_vec_t mInvitedParticipants; + uuid_vec_t mPendingParticipants; - // connection to voice channel state change signal - boost::signals2::connection mVoiceChannelStateChangeConnection; + // connection to voice channel state change signal + boost::signals2::connection mVoiceChannelStateChangeConnection; - LLUUID mImFromId; + LLUUID mImFromId; }; #endif // LL_FLOATERIMSESSION_H |