summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelnearbymedia.h
diff options
context:
space:
mode:
authorAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
committerAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
commit1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch)
treeab243607f74f78200787bba5b9b88f07ef1b966f /indra/newview/llpanelnearbymedia.h
parent6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff)
parente1623bb276f83a43ce7a197e388720c05bdefe61 (diff)
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
Diffstat (limited to 'indra/newview/llpanelnearbymedia.h')
-rw-r--r--indra/newview/llpanelnearbymedia.h362
1 files changed, 181 insertions, 181 deletions
diff --git a/indra/newview/llpanelnearbymedia.h b/indra/newview/llpanelnearbymedia.h
index 22f154f388..e4ce91703c 100644
--- a/indra/newview/llpanelnearbymedia.h
+++ b/indra/newview/llpanelnearbymedia.h
@@ -1,181 +1,181 @@
-/**
- * @file llpanelnearbymedia.h
- * @brief Management interface for muting and controlling nearby media
- *
- * $LicenseInfo:firstyear=2005&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$
- */
-
-#ifndef LL_LLPANELNEARBYMEDIA_H
-#define LL_LLPANELNEARBYMEDIA_H
-
-#include "llpanelpulldown.h"
-
-class LLPanelNearbyMedia;
-class LLButton;
-class LLScrollListCtrl;
-class LLSlider;
-class LLSliderCtrl;
-class LLCheckBoxCtrl;
-class LLTextBox;
-class LLToggleableMenu;
-class LLComboBox;
-class LLViewerMediaImpl;
-
-class LLPanelNearByMedia : public LLPanelPulldown
-{
-public:
-
- bool postBuild() override;
- void draw() override;
- void reshape(S32 width, S32 height, bool called_from_parent) override;
- bool handleHover(S32 x, S32 y, MASK mask) override;
- bool handleRightMouseDown(S32 x, S32 y, MASK mask) override;
- void onVisibilityChange(bool new_visibility) override;
-
- // this is part of the nearby media *dialog* so we can track whether
- // the user *implicitly* wants audio on or off via their *explicit*
- // interaction with our buttons.
- bool getParcelAudioAutoStart();
-
- // callback for when the auto play media preference changes
- // to update mParcelAudioAutoStart
- void handleMediaAutoPlayChanged(const LLSD& newvalue);
-
- LLPanelNearByMedia();
- virtual ~LLPanelNearByMedia();
-
-private:
-
- enum ColumnIndex {
- CHECKBOX_COLUMN = 0,
- PROXIMITY_COLUMN = 1,
- VISIBILITY_COLUMN = 2,
- CLASS_COLUMN = 3,
- NAME_COLUMN = 4,
- DEBUG_COLUMN = 5
- };
-
- // Media "class" enumeration
- enum MediaClass {
- MEDIA_CLASS_ALL = 0,
- MEDIA_CLASS_FOCUSED = 1,
- MEDIA_CLASS_WITHIN_PARCEL = 2,
- MEDIA_CLASS_OUTSIDE_PARCEL = 3,
- MEDIA_CLASS_ON_OTHERS = 4
- };
-
- // Add/remove an LLViewerMediaImpl to/from the list
- LLScrollListItem* addListItem(const LLUUID &id);
- void updateListItem(LLScrollListItem* item, LLViewerMediaImpl* impl);
- void updateListItem(LLScrollListItem* item,
- const std::string &item_name,
- const std::string &item_tooltip,
- S32 proximity,
- bool is_disabled,
- bool has_media,
- bool is_time_based_and_playing,
- MediaClass media_class,
- const std::string &debug_str);
- void removeListItem(const LLUUID &id);
-
- // Refresh the list in the UI
- void refreshList();
-
- void refreshParcelItems();
-
- // UI Callbacks
- void onClickEnableAll();
- void onClickDisableAll();
- void onClickEnableParcelMedia();
- void onClickDisableParcelMedia();
- void onClickParcelMediaPlay();
- void onClickParcelMediaStop();
- void onClickParcelMediaPause();
- void onClickParcelAudioPlay();
- void onClickParcelAudioStop();
- void onClickParcelAudioPause();
- void onAdvancedButtonClick();
- void onMoreLess();
-
- void onCheckItem(LLUICtrl* ctrl, const LLUUID &row_id);
-
- static void onZoomMedia(void* user_data);
-
-private:
- bool setDisabled(const LLUUID &id, bool disabled);
-
- static void getNameAndUrlHelper(LLViewerMediaImpl* impl, std::string& name, std::string & url, const std::string &defaultName);
- std::string getSelectedUrl();
-
- void updateColumns();
-
- bool shouldShow(LLViewerMediaImpl* impl);
-
- void showBasicControls(bool playing, bool include_zoom, bool is_zoomed, bool muted, F32 volume);
- void showTimeBasedControls(bool playing, bool include_zoom, bool is_zoomed, bool muted, F32 volume);
- void showDisabledControls();
- void updateControls();
-
- void onClickSelectedMediaStop();
- void onClickSelectedMediaPlay();
- void onClickSelectedMediaPause();
- void onClickSelectedMediaMute();
- void onCommitSelectedMediaVolume();
- void onClickSelectedMediaZoom();
- void onClickSelectedMediaUnzoom();
- void onMenuAction(const LLSD& userdata);
- bool onMenuVisible(const LLSD& userdata);
-
- LLUICtrl* mNearbyMediaPanel;
- LLScrollListCtrl* mMediaList;
- LLUICtrl* mEnableAllCtrl;
- LLUICtrl* mDisableAllCtrl;
- LLComboBox* mShowCtrl;
-
- // Dynamic (selection-dependent) controls
- LLUICtrl* mStopCtrl;
- LLUICtrl* mPlayCtrl;
- LLUICtrl* mPauseCtrl;
- LLUICtrl* mMuteCtrl;
- LLUICtrl* mVolumeSliderCtrl;
- LLUICtrl* mZoomCtrl;
- LLUICtrl* mUnzoomCtrl;
- LLSlider* mVolumeSlider;
- LLButton* mMuteBtn;
- LLButton* mMoreLessBtn;
-
- bool mDebugInfoVisible;
- bool mParcelAudioAutoStart;
- std::string mEmptyNameString;
- std::string mPlayingString;
- std::string mParcelMediaName;
- std::string mParcelAudioName;
-
- LLRect mMoreRect;
- LLRect mLessRect;
- LLScrollListItem* mParcelMediaItem;
- LLScrollListItem* mParcelAudioItem;
- LLToggleableMenu* mContextMenu;
-};
-
-
-#endif // LL_LLPANELNEARBYMEDIA_H
+/**
+ * @file llpanelnearbymedia.h
+ * @brief Management interface for muting and controlling nearby media
+ *
+ * $LicenseInfo:firstyear=2005&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$
+ */
+
+#ifndef LL_LLPANELNEARBYMEDIA_H
+#define LL_LLPANELNEARBYMEDIA_H
+
+#include "llpanelpulldown.h"
+
+class LLPanelNearbyMedia;
+class LLButton;
+class LLScrollListCtrl;
+class LLSlider;
+class LLSliderCtrl;
+class LLCheckBoxCtrl;
+class LLTextBox;
+class LLToggleableMenu;
+class LLComboBox;
+class LLViewerMediaImpl;
+
+class LLPanelNearByMedia : public LLPanelPulldown
+{
+public:
+
+ bool postBuild() override;
+ void draw() override;
+ void reshape(S32 width, S32 height, bool called_from_parent) override;
+ bool handleHover(S32 x, S32 y, MASK mask) override;
+ bool handleRightMouseDown(S32 x, S32 y, MASK mask) override;
+ void onVisibilityChange(bool new_visibility) override;
+
+ // this is part of the nearby media *dialog* so we can track whether
+ // the user *implicitly* wants audio on or off via their *explicit*
+ // interaction with our buttons.
+ bool getParcelAudioAutoStart();
+
+ // callback for when the auto play media preference changes
+ // to update mParcelAudioAutoStart
+ void handleMediaAutoPlayChanged(const LLSD& newvalue);
+
+ LLPanelNearByMedia();
+ virtual ~LLPanelNearByMedia();
+
+private:
+
+ enum ColumnIndex {
+ CHECKBOX_COLUMN = 0,
+ PROXIMITY_COLUMN = 1,
+ VISIBILITY_COLUMN = 2,
+ CLASS_COLUMN = 3,
+ NAME_COLUMN = 4,
+ DEBUG_COLUMN = 5
+ };
+
+ // Media "class" enumeration
+ enum MediaClass {
+ MEDIA_CLASS_ALL = 0,
+ MEDIA_CLASS_FOCUSED = 1,
+ MEDIA_CLASS_WITHIN_PARCEL = 2,
+ MEDIA_CLASS_OUTSIDE_PARCEL = 3,
+ MEDIA_CLASS_ON_OTHERS = 4
+ };
+
+ // Add/remove an LLViewerMediaImpl to/from the list
+ LLScrollListItem* addListItem(const LLUUID &id);
+ void updateListItem(LLScrollListItem* item, LLViewerMediaImpl* impl);
+ void updateListItem(LLScrollListItem* item,
+ const std::string &item_name,
+ const std::string &item_tooltip,
+ S32 proximity,
+ bool is_disabled,
+ bool has_media,
+ bool is_time_based_and_playing,
+ MediaClass media_class,
+ const std::string &debug_str);
+ void removeListItem(const LLUUID &id);
+
+ // Refresh the list in the UI
+ void refreshList();
+
+ void refreshParcelItems();
+
+ // UI Callbacks
+ void onClickEnableAll();
+ void onClickDisableAll();
+ void onClickEnableParcelMedia();
+ void onClickDisableParcelMedia();
+ void onClickParcelMediaPlay();
+ void onClickParcelMediaStop();
+ void onClickParcelMediaPause();
+ void onClickParcelAudioPlay();
+ void onClickParcelAudioStop();
+ void onClickParcelAudioPause();
+ void onAdvancedButtonClick();
+ void onMoreLess();
+
+ void onCheckItem(LLUICtrl* ctrl, const LLUUID &row_id);
+
+ static void onZoomMedia(void* user_data);
+
+private:
+ bool setDisabled(const LLUUID &id, bool disabled);
+
+ static void getNameAndUrlHelper(LLViewerMediaImpl* impl, std::string& name, std::string & url, const std::string &defaultName);
+ std::string getSelectedUrl();
+
+ void updateColumns();
+
+ bool shouldShow(LLViewerMediaImpl* impl);
+
+ void showBasicControls(bool playing, bool include_zoom, bool is_zoomed, bool muted, F32 volume);
+ void showTimeBasedControls(bool playing, bool include_zoom, bool is_zoomed, bool muted, F32 volume);
+ void showDisabledControls();
+ void updateControls();
+
+ void onClickSelectedMediaStop();
+ void onClickSelectedMediaPlay();
+ void onClickSelectedMediaPause();
+ void onClickSelectedMediaMute();
+ void onCommitSelectedMediaVolume();
+ void onClickSelectedMediaZoom();
+ void onClickSelectedMediaUnzoom();
+ void onMenuAction(const LLSD& userdata);
+ bool onMenuVisible(const LLSD& userdata);
+
+ LLUICtrl* mNearbyMediaPanel;
+ LLScrollListCtrl* mMediaList;
+ LLUICtrl* mEnableAllCtrl;
+ LLUICtrl* mDisableAllCtrl;
+ LLComboBox* mShowCtrl;
+
+ // Dynamic (selection-dependent) controls
+ LLUICtrl* mStopCtrl;
+ LLUICtrl* mPlayCtrl;
+ LLUICtrl* mPauseCtrl;
+ LLUICtrl* mMuteCtrl;
+ LLUICtrl* mVolumeSliderCtrl;
+ LLUICtrl* mZoomCtrl;
+ LLUICtrl* mUnzoomCtrl;
+ LLSlider* mVolumeSlider;
+ LLButton* mMuteBtn;
+ LLButton* mMoreLessBtn;
+
+ bool mDebugInfoVisible;
+ bool mParcelAudioAutoStart;
+ std::string mEmptyNameString;
+ std::string mPlayingString;
+ std::string mParcelMediaName;
+ std::string mParcelAudioName;
+
+ LLRect mMoreRect;
+ LLRect mLessRect;
+ LLScrollListItem* mParcelMediaItem;
+ LLScrollListItem* mParcelAudioItem;
+ LLToggleableMenu* mContextMenu;
+};
+
+
+#endif // LL_LLPANELNEARBYMEDIA_H