summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-09-21 00:17:05 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-09-21 00:20:37 +0300
commitf30cc7b5bb79aae6f012f04f54b461fdb7ee3f64 (patch)
tree20a7ce2d300d87fbcbf4de5abb9e2b3209e27773 /indra/newview
parentce660c7e7bb6e19a23d634fb6d3249330bf2d74c (diff)
Revert "SL-11841 make ‘Push to talk’ the default setting"
This reverts commits: 126877bc5ba45ff6b0b31368c55f894a0beaf5bf b661f62a7ad4dad9806eda8f4c8f2c9d64b3efbb ce660c7e7bb6e19a23d634fb6d3249330bf2d74c
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/key_bindings.xml8
-rw-r--r--indra/newview/app_settings/settings.xml4
-rw-r--r--indra/newview/llappviewer.cpp24
-rw-r--r--indra/newview/llkeyconflict.cpp1
4 files changed, 31 insertions, 6 deletions
diff --git a/indra/newview/app_settings/key_bindings.xml b/indra/newview/app_settings/key_bindings.xml
index 2ec9a2586c..4f6deb1f98 100644
--- a/indra/newview/app_settings/key_bindings.xml
+++ b/indra/newview/app_settings/key_bindings.xml
@@ -32,7 +32,7 @@
<binding key="ENTER" mask="NONE" command="start_chat"/>
<binding key="DIVIDE" mask="NONE" command="start_gesture"/>
- <binding key="" mask="NONE" mouse="MMB" command="voice_follow_key"/>
+ <binding key="" mask="NONE" mouse="MMB" command="toggle_voice"/>
</first_person>
<third_person>
<binding key="A" mask="NONE" command="turn_left"/>
@@ -125,7 +125,7 @@
<binding key="PAD_ENTER" mask="CTL_ALT_SHIFT" command="start_chat"/>
<binding key="PAD_DIVIDE" mask="CTL_ALT_SHIFT" command="start_gesture"/>
- <binding key="" mask="NONE" mouse="MMB" command="voice_follow_key"/>
+ <binding key="" mask="NONE" mouse="MMB" command="toggle_voice"/>
<binding key="" mask="NONE" mouse="LMB" command="walk_to"/>
</third_person>
<sitting>
@@ -223,7 +223,7 @@
<binding key="ENTER" mask="NONE" command="start_chat"/>
<binding key="DIVIDE" mask="NONE" command="start_gesture"/>
- <binding key="" mask="NONE" mouse="MMB" command="voice_follow_key"/>
+ <binding key="" mask="NONE" mouse="MMB" command="toggle_voice"/>
</sitting>
<edit_avatar>
<!--Avatar editing camera controls-->
@@ -250,6 +250,6 @@
<binding key="PAD_ENTER" mask="NONE" command="start_chat"/>
<binding key="PAD_DIVIDE" mask="NONE" command="start_gesture"/>
- <binding key="" mask="NONE" mouse="MMB" command="voice_follow_key"/>
+ <binding key="" mask="NONE" mouse="MMB" command="toggle_voice"/>
</edit_avatar>
</keys>
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 952b36adea..eeb7e6f0aa 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -8308,13 +8308,13 @@
<key>PushToTalkToggle</key>
<map>
<key>Comment</key>
- <string>Should the push-to-talk toolbar button behave as a toggle</string>
+ <string>Should the push-to-talk button behave as a toggle</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
- <integer>0</integer>
+ <integer>1</integer>
</map>
<key>QAMode</key>
<map>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 573cca248c..ecd62cadf8 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -4562,6 +4562,11 @@ void LLAppViewer::loadKeyBindings()
LLKeyboard::keyFromString(key_string, &key);
}
+ value = gSavedSettings.getBOOL("PushToTalkToggle");
+ std::string control_name = value ? "toggle_voice" : "voice_follow_key";
+ third_person_view.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
+ sitting_view.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
+
if (third_person_view.hasUnsavedChanges())
{
// calls loadBindingsXML()
@@ -4573,6 +4578,25 @@ void LLAppViewer::loadKeyBindings()
// calls loadBindingsXML()
sitting_view.saveToSettings();
}
+
+ // in case of voice we need to repeat this in other modes
+
+ for (U32 i = 0; i < LLKeyConflictHandler::MODE_COUNT - 1; ++i)
+ {
+ // edit and first person modes; MODE_SAVED_SETTINGS not in use at the moment
+ if (i != LLKeyConflictHandler::MODE_THIRD_PERSON && i != LLKeyConflictHandler::MODE_SITTING)
+ {
+ LLKeyConflictHandler handler((LLKeyConflictHandler::ESourceMode)i);
+
+ handler.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
+
+ if (handler.hasUnsavedChanges())
+ {
+ // calls loadBindingsXML()
+ handler.saveToSettings();
+ }
+ }
+ }
}
// since something might have gone wrong or there might have been nothing to save
// (and because otherwise following code will have to be encased in else{}),
diff --git a/indra/newview/llkeyconflict.cpp b/indra/newview/llkeyconflict.cpp
index 52e14d48f7..b6107eeedf 100644
--- a/indra/newview/llkeyconflict.cpp
+++ b/indra/newview/llkeyconflict.cpp
@@ -644,6 +644,7 @@ void LLKeyConflictHandler::saveToSettings(bool temporary)
data = getControl("voice_follow_key", 0);
}
+ gSavedSettings.setBOOL("PushToTalkToggle", can_toggle);
if (data.isEmpty())
{
// legacy viewer has a bug that might crash it if NONE value is assigned.