diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-05-12 23:44:47 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-05-12 23:44:47 +0300 |
commit | 26ee1cc148223b26ee1bdef61f4840410c4ab22f (patch) | |
tree | 27cef589f56f4122a3ebf729fd282b3f0bcc39dd | |
parent | 1e84d0e6494df1f5ccb3f69e53849bf26b01e385 (diff) |
SL-15312 New group visibility toggle.
-rw-r--r-- | indra/newview/llgrouplist.cpp | 28 | ||||
-rw-r--r-- | indra/newview/llgrouplist.h | 5 | ||||
-rw-r--r-- | indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Dark.png | bin | 0 -> 368 bytes | |||
-rw-r--r-- | indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Light.png | bin | 0 -> 366 bytes | |||
-rw-r--r-- | indra/newview/skins/default/textures/textures.xml | 3 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_display_name.xml | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_list_item_short.xml | 18 |
7 files changed, 49 insertions, 7 deletions
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp index 8bc37f1fe4..ce48ecad63 100644 --- a/indra/newview/llgrouplist.cpp +++ b/indra/newview/llgrouplist.cpp @@ -400,6 +400,8 @@ LLGroupListItem::LLGroupListItem(bool for_agent, bool show_icons) mGroupIcon(NULL), mGroupNameBox(NULL), mInfoBtn(NULL), +mProfileBtn(NULL), +mVisibilityBtn(NULL), mGroupID(LLUUID::null), mForAgent(for_agent) { @@ -434,7 +436,11 @@ BOOL LLGroupListItem::postBuild() mInfoBtn = getChild<LLButton>("info_btn"); mInfoBtn->setClickedCallback(boost::bind(&LLGroupListItem::onInfoBtnClick, this)); - childSetAction("profile_btn", boost::bind(&LLGroupListItem::onProfileBtnClick, this)); + mProfileBtn = getChild<LLButton>("profile_btn"); + mProfileBtn->setClickedCallback([this](LLUICtrl *, const LLSD &) { onProfileBtnClick(); }); + + mVisibilityBtn = getChild<LLButton>("visibility_btn"); + mVisibilityBtn->setClickedCallback([this](LLUICtrl *, const LLSD &) { onVisibilityBtnClick(); }); return TRUE; } @@ -453,7 +459,11 @@ void LLGroupListItem::onMouseEnter(S32 x, S32 y, MASK mask) if (mGroupID.notNull()) // don't show the info button for the "none" group { mInfoBtn->setVisible(true); - getChildView("profile_btn")->setVisible( true); + mProfileBtn->setVisible(true); + if (mForAgent) + { + mVisibilityBtn->setVisible(true); + } } LLPanel::onMouseEnter(x, y, mask); @@ -463,7 +473,8 @@ void LLGroupListItem::onMouseLeave(S32 x, S32 y, MASK mask) { getChildView("hovered_icon")->setVisible( false); mInfoBtn->setVisible(false); - getChildView("profile_btn")->setVisible( false); + mVisibilityBtn->setVisible(false); + mProfileBtn->setVisible(false); LLPanel::onMouseLeave(x, y, mask); } @@ -553,6 +564,17 @@ void LLGroupListItem::onProfileBtnClick() LLGroupActions::show(mGroupID); } +void LLGroupListItem::onVisibilityBtnClick() +{ + LLGroupData agent_gdatap; + if (gAgent.getGroupData(mGroupID, agent_gdatap)) + { + bool new_visibility = !agent_gdatap.mListInProfile; + gAgent.setUserGroupFlags(mGroupID, agent_gdatap.mAcceptNotices, new_visibility); + setVisibleInProfile(new_visibility); + } +} + void LLGroupListItem::changed(LLGroupChange gc) { LLGroupMgrGroupData* group_data = LLGroupMgr::getInstance()->getGroupData(mID); diff --git a/indra/newview/llgrouplist.h b/indra/newview/llgrouplist.h index a85e20d819..5d4bb7bed2 100644 --- a/indra/newview/llgrouplist.h +++ b/indra/newview/llgrouplist.h @@ -123,11 +123,14 @@ private: void setBold(bool bold); void onInfoBtnClick(); void onProfileBtnClick(); + void onVisibilityBtnClick(); LLTextBox* mGroupNameBox; LLUUID mGroupID; LLGroupIconCtrl* mGroupIcon; - LLButton* mInfoBtn; + LLButton* mInfoBtn; + LLButton* mProfileBtn; + LLButton* mVisibilityBtn; std::string mGroupName; bool mForAgent; diff --git a/indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Dark.png b/indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Dark.png Binary files differnew file mode 100644 index 0000000000..09e627861c --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Light.png b/indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Light.png Binary files differnew file mode 100644 index 0000000000..1a5aa63727 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Profile_Search_Visibility_Light.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index bbf3484595..c02bef3a45 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -506,6 +506,9 @@ with the same filename but different name <texture name="Play_Over" file_name="icons/Play_Over.png" preload="false" /> <texture name="Play_Press" file_name="icons/Play_Press.png" preload="false" /> + <texture name="Profile_Search_Visibility_Dark" file_name="icons/Profile_Search_Visibility_Dark.png" preload="true"/> + <texture name="Profile_Search_Visibility_Light" file_name="icons/Profile_Search_Visibility_Light.png" preload="true"/> + <texture name="ProgressBar" file_name="widgets/ProgressBar.png" preload="true" scale.left="4" scale.top="11" scale.right="48" scale.bottom="3" /> <texture name="ProgressBarSolid" file_name="widgets/ProgressBarSolid.png" preload="true" scale.left="4" scale.top="11" scale.right="48" scale.bottom="3" /> <texture name="ProgressTrack" file_name="widgets/ProgressTrack.png" preload="true" scale.left="4" scale.top="13" scale.right="148" scale.bottom="2" /> diff --git a/indra/newview/skins/default/xui/en/floater_display_name.xml b/indra/newview/skins/default/xui/en/floater_display_name.xml index d14b4a1699..3c8f415860 100644 --- a/indra/newview/skins/default/xui/en/floater_display_name.xml +++ b/indra/newview/skins/default/xui/en/floater_display_name.xml @@ -23,7 +23,7 @@ use_ellipses="true" width="380" wrap="true"> - The name you give your avatar is called your Display Name. You can change it once a week. + Your display name is what other people see above your head. It is different from your login name. You can change it once a week. </text> <text type="string" diff --git a/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml b/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml index fb46d1cce3..ee99625497 100644 --- a/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml +++ b/indra/newview/skins/default/xui/en/panel_group_list_item_short.xml @@ -54,11 +54,25 @@ use_ellipses="true" /> <button + name="visibility_btn" + tool_tip="Toogle visibility in profile" + top_delta="-1" + left_pad="3" + right="-53" + height="14" + width="20" + follows="right" + image_pressed="Profile_Search_Visibility_Dark" + image_unselected="Profile_Search_Visibility_Light" + tab_stop="false" + visible="false" + /> + <button name="info_btn" tool_tip="More info" - top_delta="-2" + top_delta="-1" left_pad="3" - right="-31" + right="-30" height="16" width="16" follows="right" |