summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterimcontainer.h
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2024-05-15 11:16:27 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2024-05-15 11:16:27 +0300
commitbccc10db9a90d365c353baebf443fde2030ce970 (patch)
tree2c2e1fd94b29667a809f8d7285d049f5ff5d424d /indra/newview/llfloaterimcontainer.h
parent531cd34f670170ade57f8813fe48012b61a1d3c2 (diff)
parentbb3c36f5cbc0c3b542045fd27255eee24e03da22 (diff)
Merge branch 'main' into marchcat/x-b-merge
# Conflicts: # autobuild.xml # indra/cmake/ConfigurePkgConfig.cmake # indra/cmake/ICU4C.cmake # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h # indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h # indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp # indra/newview/llappviewerlinux_api.h # indra/newview/llappviewerlinux_api_dbus.cpp # indra/newview/llappviewerlinux_api_dbus.h # indra/newview/llfloateremojipicker.cpp # indra/newview/lloutfitslist.cpp
Diffstat (limited to 'indra/newview/llfloaterimcontainer.h')
-rw-r--r--indra/newview/llfloaterimcontainer.h284
1 files changed, 142 insertions, 142 deletions
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index 82f3b00ebc..71fe2bd204 100644
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file llfloaterimcontainer.h
* @brief Multifloater containing active IM sessions in separate tab container tabs
*
* $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$
*/
@@ -49,192 +49,192 @@ class LLSpeaker;
class LLSpeakerMgr;
class LLFloaterIMContainer
- : public LLMultiFloater
- , public LLIMSessionObserver
+ : public LLMultiFloater
+ , public LLIMSessionObserver
{
public:
- LLFloaterIMContainer(const LLSD& seed, const Params& params = getDefaultParams());
- virtual ~LLFloaterIMContainer();
-
- /*virtual*/ BOOL postBuild();
- /*virtual*/ void onOpen(const LLSD& key);
- /*virtual*/ void draw();
- /*virtual*/ void setMinimized(BOOL b);
- /*virtual*/ void setVisible(BOOL visible);
- /*virtual*/ void setVisibleAndFrontmost(BOOL take_focus=TRUE, const LLSD& key = LLSD());
- /*virtual*/ void updateResizeLimits();
- /*virtual*/ void handleReshape(const LLRect& rect, bool by_user);
-
- void onCloseFloater(LLUUID& id);
-
- /*virtual*/ void addFloater(LLFloater* floaterp,
- BOOL select_added_floater,
- LLTabContainer::eInsertionPoint insertion_point = LLTabContainer::END);
- void returnFloaterToHost();
+ LLFloaterIMContainer(const LLSD& seed, const Params& params = getDefaultParams());
+ virtual ~LLFloaterIMContainer();
+
+ /*virtual*/ BOOL postBuild();
+ /*virtual*/ void onOpen(const LLSD& key);
+ /*virtual*/ void draw();
+ /*virtual*/ void setMinimized(BOOL b);
+ /*virtual*/ void setVisible(BOOL visible);
+ /*virtual*/ void setVisibleAndFrontmost(BOOL take_focus=TRUE, const LLSD& key = LLSD());
+ /*virtual*/ void updateResizeLimits();
+ /*virtual*/ void handleReshape(const LLRect& rect, bool by_user);
+
+ void onCloseFloater(LLUUID& id);
+
+ /*virtual*/ void addFloater(LLFloater* floaterp,
+ BOOL select_added_floater,
+ LLTabContainer::eInsertionPoint insertion_point = LLTabContainer::END);
+ void returnFloaterToHost();
void showConversation(const LLUUID& session_id);
void selectConversation(const LLUUID& session_id);
- void selectNextConversationByID(const LLUUID& session_id);
+ void selectNextConversationByID(const LLUUID& session_id);
BOOL selectConversationPair(const LLUUID& session_id, bool select_widget, bool focus_floater = true);
void clearAllFlashStates();
- bool selectAdjacentConversation(bool focus_selected);
+ bool selectAdjacentConversation(bool focus_selected);
bool selectNextorPreviousConversation(bool select_next, bool focus_selected = true);
void expandConversation();
- /*virtual*/ void tabClose();
- void showStub(bool visible);
+ /*virtual*/ void tabClose();
+ void showStub(bool visible);
+
+ static LLFloater* getCurrentVoiceFloater();
+ static LLFloaterIMContainer* findInstance();
+ static LLFloaterIMContainer* getInstance();
- static LLFloater* getCurrentVoiceFloater();
- static LLFloaterIMContainer* findInstance();
- static LLFloaterIMContainer* getInstance();
+ static void onCurrentChannelChanged(const LLUUID& session_id);
- static void onCurrentChannelChanged(const LLUUID& session_id);
+ void collapseMessagesPane(bool collapse);
+ bool isMessagesPaneCollapsed();
+ bool isConversationsPaneCollapsed();
- void collapseMessagesPane(bool collapse);
- bool isMessagesPaneCollapsed();
- bool isConversationsPaneCollapsed();
-
- // Callbacks
- static void idle(void* user_data);
+ // Callbacks
+ static void idle(void* user_data);
- // LLIMSessionObserver observe triggers
- /*virtual*/ void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg);
+ // LLIMSessionObserver observe triggers
+ /*virtual*/ void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg);
/*virtual*/ void sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id);
- /*virtual*/ void sessionVoiceOrIMStarted(const LLUUID& session_id);
- /*virtual*/ void sessionRemoved(const LLUUID& session_id);
- /*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id);
+ /*virtual*/ void sessionVoiceOrIMStarted(const LLUUID& session_id);
+ /*virtual*/ void sessionRemoved(const LLUUID& session_id);
+ /*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id);
- LLConversationViewModel& getRootViewModel() { return mConversationViewModel; }
+ LLConversationViewModel& getRootViewModel() { return mConversationViewModel; }
LLUUID getSelectedSession() { return mSelectedSession; }
void setSelectedSession(LLUUID sessionID) { mSelectedSession = sessionID; }
- LLConversationItem* getSessionModel(const LLUUID& session_id);
- LLConversationSort& getSortOrder() { return mConversationViewModel.getSorter(); }
+ LLConversationItem* getSessionModel(const LLUUID& session_id);
+ LLConversationSort& getSortOrder() { return mConversationViewModel.getSorter(); }
- // Handling of lists of participants is public so to be common with llfloatersessiontab
- // *TODO : Find a better place for this.
+ // Handling of lists of participants is public so to be common with llfloatersessiontab
+ // *TODO : Find a better place for this.
bool checkContextMenuItem(const std::string& item, uuid_vec_t& selectedIDS);
bool enableContextMenuItem(const std::string& item, uuid_vec_t& selectedIDS);
void doToParticipants(const std::string& item, uuid_vec_t& selectedIDS);
- void assignResizeLimits();
- virtual BOOL handleKeyHere(KEY key, MASK mask );
- /*virtual*/ void closeFloater(bool app_quitting = false);
+ void assignResizeLimits();
+ virtual BOOL handleKeyHere(KEY key, MASK mask );
+ /*virtual*/ void closeFloater(bool app_quitting = false);
void closeAllConversations();
void closeSelectedConversations(const uuid_vec_t& ids);
- /*virtual*/ BOOL isFrontmost();
+ /*virtual*/ BOOL isFrontmost();
private:
- typedef std::map<LLUUID,LLFloater*> avatarID_panel_map_t;
- avatarID_panel_map_t mSessions;
- boost::signals2::connection mNewMessageConnection;
+ typedef std::map<LLUUID,LLFloater*> avatarID_panel_map_t;
+ avatarID_panel_map_t mSessions;
+ boost::signals2::connection mNewMessageConnection;
- /*virtual*/ void computeResizeLimits(S32& new_min_width, S32& new_min_height) {}
+ /*virtual*/ void computeResizeLimits(S32& new_min_width, S32& new_min_height) {}
- void onNewMessageReceived(const LLSD& data);
+ void onNewMessageReceived(const LLSD& data);
- void onExpandCollapseButtonClicked();
- void onStubCollapseButtonClicked();
- void processParticipantsStyleUpdate();
- void onSpeakButtonPressed();
- void onSpeakButtonReleased();
- /*virtual*/ void onClickCloseBtn(bool app_quitting = false);
- /*virtual*/ void closeHostedFloater();
+ void onExpandCollapseButtonClicked();
+ void onStubCollapseButtonClicked();
+ void processParticipantsStyleUpdate();
+ void onSpeakButtonPressed();
+ void onSpeakButtonReleased();
+ /*virtual*/ void onClickCloseBtn(bool app_quitting = false);
+ /*virtual*/ void closeHostedFloater();
- void collapseConversationsPane(bool collapse, bool save_is_allowed=true);
+ void collapseConversationsPane(bool collapse, bool save_is_allowed=true);
- void reshapeFloaterAndSetResizeLimits(bool collapse, S32 delta_width);
+ void reshapeFloaterAndSetResizeLimits(bool collapse, S32 delta_width);
- void onAddButtonClicked();
- void onAvatarPicked(const uuid_vec_t& ids);
+ void onAddButtonClicked();
+ void onAvatarPicked(const uuid_vec_t& ids);
- BOOL isActionChecked(const LLSD& userdata);
- void onCustomAction (const LLSD& userdata);
- void setSortOrderSessions(const LLConversationFilter::ESortOrderType order);
- void setSortOrderParticipants(const LLConversationFilter::ESortOrderType order);
- void setSortOrder(const LLConversationSort& order);
+ BOOL isActionChecked(const LLSD& userdata);
+ void onCustomAction (const LLSD& userdata);
+ void setSortOrderSessions(const LLConversationFilter::ESortOrderType order);
+ void setSortOrderParticipants(const LLConversationFilter::ESortOrderType order);
+ void setSortOrder(const LLConversationSort& order);
void getSelectedUUIDs(uuid_vec_t& selected_uuids, bool participant_uuids = true);
const LLConversationItem * getCurSelectedViewModelItem();
void getParticipantUUIDs(uuid_vec_t& selected_uuids);
void doToSelected(const LLSD& userdata);
- bool checkContextMenuItem(const LLSD& userdata);
- bool enableContextMenuItem(const LLSD& userdata);
- bool visibleContextMenuItem(const LLSD& userdata);
+ bool checkContextMenuItem(const LLSD& userdata);
+ bool enableContextMenuItem(const LLSD& userdata);
+ bool visibleContextMenuItem(const LLSD& userdata);
void doToSelectedConversation(const std::string& command, uuid_vec_t& selectedIDS);
void doToSelectedGroup(const LLSD& userdata);
- static void confirmMuteAllCallback(const LLSD& notification, const LLSD& response);
- bool enableModerateContextMenuItem(const std::string& userdata, bool is_self = false);
- LLSpeaker * getSpeakerOfSelectedParticipant(LLSpeakerMgr * speaker_managerp);
- LLSpeakerMgr * getSpeakerMgrForSelectedParticipant();
- bool isGroupModerator();
- bool haveAbilityToBan();
- bool canBanSelectedMember(const LLUUID& participant_uuid);
- LLUUID getGroupUIIDForSelectedParticipant();
- bool isMuted(const LLUUID& avatar_id);
- void moderateVoice(const std::string& command, const LLUUID& userID);
- void moderateVoiceAllParticipants(bool unmute);
- void moderateVoiceParticipant(const LLUUID& avatar_id, bool unmute);
- void toggleAllowTextChat(const LLUUID& participant_uuid);
- void banSelectedMember(const LLUUID& participant_uuid);
- void openNearbyChat();
- bool isParticipantListExpanded();
-
- void idleUpdate(); // for convenience (self) from static idle
- void idleProcessEvents();
-
- LLButton* mExpandCollapseBtn;
- LLButton* mStubCollapseBtn;
+ static void confirmMuteAllCallback(const LLSD& notification, const LLSD& response);
+ bool enableModerateContextMenuItem(const std::string& userdata, bool is_self = false);
+ LLSpeaker * getSpeakerOfSelectedParticipant(LLSpeakerMgr * speaker_managerp);
+ LLSpeakerMgr * getSpeakerMgrForSelectedParticipant();
+ bool isGroupModerator();
+ bool haveAbilityToBan();
+ bool canBanSelectedMember(const LLUUID& participant_uuid);
+ LLUUID getGroupUIIDForSelectedParticipant();
+ bool isMuted(const LLUUID& avatar_id);
+ void moderateVoice(const std::string& command, const LLUUID& userID);
+ void moderateVoiceAllParticipants(bool unmute);
+ void moderateVoiceParticipant(const LLUUID& avatar_id, bool unmute);
+ void toggleAllowTextChat(const LLUUID& participant_uuid);
+ void banSelectedMember(const LLUUID& participant_uuid);
+ void openNearbyChat();
+ bool isParticipantListExpanded();
+
+ void idleUpdate(); // for convenience (self) from static idle
+ void idleProcessEvents();
+
+ LLButton* mExpandCollapseBtn;
+ LLButton* mStubCollapseBtn;
LLButton* mSpeakBtn;
- LLPanel* mStubPanel;
- LLTextBox* mStubTextBox;
- LLLayoutPanel* mMessagesPane;
- LLLayoutPanel* mConversationsPane;
- LLLayoutStack* mConversationsStack;
-
- bool mInitialized;
- bool mIsFirstLaunch;
+ LLPanel* mStubPanel;
+ LLTextBox* mStubTextBox;
+ LLLayoutPanel* mMessagesPane;
+ LLLayoutPanel* mConversationsPane;
+ LLLayoutStack* mConversationsStack;
+
+ bool mInitialized;
+ bool mIsFirstLaunch;
- bool mIsFirstOpen;
+ bool mIsFirstOpen;
- LLUUID mSelectedSession;
- std::string mGeneralTitle;
+ LLUUID mSelectedSession;
+ std::string mGeneralTitle;
- // Conversation list implementation
+ // Conversation list implementation
public:
- bool removeConversationListItem(const LLUUID& uuid, bool change_focus = true);
- LLConversationItem* addConversationListItem(const LLUUID& uuid, bool isWidgetSelected = false);
- void setTimeNow(const LLUUID& session_id, const LLUUID& participant_id);
- void setNearbyDistances();
- void reSelectConversation();
- void updateSpeakBtnState();
- static bool isConversationLoggingAllowed();
- void flashConversationItemWidget(const LLUUID& session_id, bool is_flashes);
- void highlightConversationItemWidget(const LLUUID& session_id, bool is_highlighted);
- bool isScrolledOutOfSight(LLConversationViewSession* conversation_item_widget);
- boost::signals2::connection mMicroChangedSignal;
- S32 getConversationListItemSize() { return mConversationsWidgets.size(); }
- typedef std::list<LLFloater*> floater_list_t;
- void getDetachedConversationFloaters(floater_list_t& floaters);
+ bool removeConversationListItem(const LLUUID& uuid, bool change_focus = true);
+ LLConversationItem* addConversationListItem(const LLUUID& uuid, bool isWidgetSelected = false);
+ void setTimeNow(const LLUUID& session_id, const LLUUID& participant_id);
+ void setNearbyDistances();
+ void reSelectConversation();
+ void updateSpeakBtnState();
+ static bool isConversationLoggingAllowed();
+ void flashConversationItemWidget(const LLUUID& session_id, bool is_flashes);
+ void highlightConversationItemWidget(const LLUUID& session_id, bool is_highlighted);
+ bool isScrolledOutOfSight(LLConversationViewSession* conversation_item_widget);
+ boost::signals2::connection mMicroChangedSignal;
+ S32 getConversationListItemSize() { return mConversationsWidgets.size(); }
+ typedef std::list<LLFloater*> floater_list_t;
+ void getDetachedConversationFloaters(floater_list_t& floaters);
private:
- LLConversationViewSession* createConversationItemWidget(LLConversationItem* item);
- LLConversationViewParticipant* createConversationViewParticipant(LLConversationItem* item);
- bool onConversationModelEvent(const LLSD& event);
- void handleConversationModelEvent(const LLSD& event);
-
- // Conversation list data
- LLPanel* mConversationsListPanel; // This is the main widget we add conversation widget to
- conversations_items_map mConversationsItems;
- conversations_widgets_map mConversationsWidgets;
- LLConversationViewModel mConversationViewModel;
- LLFolderView* mConversationsRoot;
- LLEventStream mConversationsEventStream;
-
- typedef std::map<LLUUID, std::deque<LLSD> > conversations_items_deque;
- conversations_items_deque mConversationEventQueue;
-
- LLTimer mParticipantRefreshTimer;
+ LLConversationViewSession* createConversationItemWidget(LLConversationItem* item);
+ LLConversationViewParticipant* createConversationViewParticipant(LLConversationItem* item);
+ bool onConversationModelEvent(const LLSD& event);
+ void handleConversationModelEvent(const LLSD& event);
+
+ // Conversation list data
+ LLPanel* mConversationsListPanel; // This is the main widget we add conversation widget to
+ conversations_items_map mConversationsItems;
+ conversations_widgets_map mConversationsWidgets;
+ LLConversationViewModel mConversationViewModel;
+ LLFolderView* mConversationsRoot;
+ LLEventStream mConversationsEventStream;
+
+ typedef std::map<LLUUID, std::deque<LLSD> > conversations_items_deque;
+ conversations_items_deque mConversationEventQueue;
+
+ LLTimer mParticipantRefreshTimer;
};
#endif // LL_LLFLOATERIMCONTAINER_H