summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/app_settings/settings.xml11
-rw-r--r--indra/newview/llappviewer.cpp21
-rw-r--r--indra/newview/llappviewer.h2
-rw-r--r--indra/newview/llfloaterpreference.cpp19
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_privacy.xml12
5 files changed, 39 insertions, 26 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index bb7211514d..7ada2925bf 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1172,6 +1172,17 @@
<key>Value</key>
<integer>0</integer>
</map>
+ <key>ShowDiscordActivityDetails</key>
+ <map>
+ <key>Comment</key>
+ <string>When set, show avatar name on Discord Rich Presence</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>ShowDiscordActivityState</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index caf56d5c79..2ea8b65ee1 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -5938,10 +5938,10 @@ void LLAppViewer::initDiscordSocial()
}
}
-void LLAppViewer::handleDiscordSocial(bool enable)
+void LLAppViewer::handleDiscordSocial(const LLSD& value)
{
static const uint64_t APPLICATION_ID = 1393451183741599796;
- if (enable)
+ if (value.asBoolean())
{
discordpp::AuthorizationArgs args{};
args.SetClientId(APPLICATION_ID);
@@ -5986,13 +5986,16 @@ void LLAppViewer::updateDiscordActivity()
discordpp::Activity activity;
activity.SetType(discordpp::ActivityTypes::Playing);
- LLAvatarName av_name;
- LLAvatarNameCache::get(gAgent.getID(), &av_name);
- auto name = av_name.getUserName();
- auto displayName = av_name.getDisplayName();
- if (name != displayName)
- name = displayName + " (" + name + ")";
- activity.SetDetails(name);
+ if (gSavedSettings.getBOOL("ShowDiscordActivityDetails"))
+ {
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(gAgent.getID(), &av_name);
+ auto name = av_name.getUserName();
+ auto displayName = av_name.getDisplayName();
+ if (name != displayName)
+ name = displayName + " (" + name + ")";
+ activity.SetDetails(name);
+ }
if (gSavedSettings.getBOOL("ShowDiscordActivityState"))
{
diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h
index 79db515970..2185295b30 100644
--- a/indra/newview/llappviewer.h
+++ b/indra/newview/llappviewer.h
@@ -252,7 +252,7 @@ public:
#ifdef LL_DISCORD
static void initDiscordSocial();
- static void handleDiscordSocial(bool enable);
+ static void handleDiscordSocial(const LLSD& newvalue);
static void updateDiscordActivity();
#endif
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index c6e839c5de..4c8122bf71 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -237,20 +237,6 @@ void handleAppearanceCameraMovementChanged(const LLSD& newvalue)
}
}
-#ifdef LL_DISCORD
-
-void handleDiscordSocial(const LLSD& newvalue)
-{
- LLAppViewer::handleDiscordSocial(newvalue.asBoolean());
-}
-
-void handleDiscordActivityState(const LLSD& newvalue)
-{
- LLAppViewer::updateDiscordActivity();
-}
-
-#endif
-
void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator)
{
numerator = 0;
@@ -381,8 +367,9 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
mCommitCallbackRegistrar.add("Pref.DeleteTranscripts", boost::bind(&LLFloaterPreference::onDeleteTranscripts, this));
mCommitCallbackRegistrar.add("UpdateFilter", boost::bind(&LLFloaterPreference::onUpdateFilterTerm, this, false)); // <FS:ND/> Hook up for filtering
#ifdef LL_DISCORD
- gSavedSettings.getControl("EnableDiscord")->getCommitSignal()->connect(boost::bind(&handleDiscordSocial, _2));
- gSavedSettings.getControl("ShowDiscordActivityState")->getCommitSignal()->connect(boost::bind(&handleDiscordActivityState, _2));
+ gSavedSettings.getControl("EnableDiscord")->getCommitSignal()->connect(boost::bind(&LLAppViewer::handleDiscordSocial, _2));
+ gSavedSettings.getControl("ShowDiscordActivityDetails")->getCommitSignal()->connect(boost::bind(&LLAppViewer::updateDiscordActivity));
+ gSavedSettings.getControl("ShowDiscordActivityState")->getCommitSignal()->connect(boost::bind(&LLAppViewer::updateDiscordActivity));
#endif
}
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
index 86bc23d699..809c001904 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
@@ -150,6 +150,18 @@
<check_box
enabled_control="EnableDiscord"
+ control_name="ShowDiscordActivityDetails"
+ height="16"
+ enabled="true"
+ label="Show avatar name"
+ layout="topleft"
+ left="30"
+ name="show_name"
+ top_pad="20"
+ width="350" />
+
+ <check_box
+ enabled_control="EnableDiscord"
control_name="ShowDiscordActivityState"
height="16"
enabled="false"