aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/app_settings/logcontrol.xml2
-rw-r--r--linden/indra/newview/floatervoicelicense.cpp12
-rw-r--r--linden/indra/newview/llprefsvoice.cpp3
-rw-r--r--linden/indra/newview/llstartup.cpp23
-rw-r--r--linden/indra/newview/llvoiceclient.cpp12
-rw-r--r--linden/indra/newview/llvoiceclient.h1
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_voice_license.xml14
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_login.xml2
8 files changed, 41 insertions, 28 deletions
diff --git a/linden/indra/newview/app_settings/logcontrol.xml b/linden/indra/newview/app_settings/logcontrol.xml
index def847b..f3715c4 100644
--- a/linden/indra/newview/app_settings/logcontrol.xml
+++ b/linden/indra/newview/app_settings/logcontrol.xml
@@ -53,7 +53,7 @@
53 <!--<string>AudioEngine</string>--> 53 <!--<string>AudioEngine</string>-->
54 <!--<string>BodyPhysics</string>--> 54 <!--<string>BodyPhysics</string>-->
55 <!--<string>InitInfo</string>--> 55 <!--<string>InitInfo</string>-->
56 <string>Inventory</string> 56 <!--<string>Inventory</string>-->
57 <!--<string>isOwnedSelf</string>--> 57 <!--<string>isOwnedSelf</string>-->
58 <!--<string>HUDEffect</string>--> 58 <!--<string>HUDEffect</string>-->
59 <!--<string>MarkerFile</string>--> 59 <!--<string>MarkerFile</string>-->
diff --git a/linden/indra/newview/floatervoicelicense.cpp b/linden/indra/newview/floatervoicelicense.cpp
index c780ff3..b7814e7 100644
--- a/linden/indra/newview/floatervoicelicense.cpp
+++ b/linden/indra/newview/floatervoicelicense.cpp
@@ -114,10 +114,6 @@ BOOL FloaterVoiceLicense::postBuild()
114 childSetAction("Cancel", onCancel, this); 114 childSetAction("Cancel", onCancel, this);
115 childSetCommitCallback("agree_chk", updateAgree, this); 115 childSetCommitCallback("agree_chk", updateAgree, this);
116 116
117 // disable Agree to License radio button until the page has fully loaded
118 LLCheckBoxCtrl* license_agreement = getChild<LLCheckBoxCtrl>("agree_chk");
119 license_agreement->setEnabled( false );
120
121 // hide the SL text widget if we're displaying license with using a browser widget. 117 // hide the SL text widget if we're displaying license with using a browser widget.
122 LLTextEditor *editor = getChild<LLTextEditor>("license_text"); 118 LLTextEditor *editor = getChild<LLTextEditor>("license_text");
123 editor->setVisible( FALSE ); 119 editor->setVisible( FALSE );
@@ -159,8 +155,7 @@ void FloaterVoiceLicense::setSiteIsAlive( bool alive )
159 { 155 {
160 // normally this is set when navigation to license page completes (so you can't accept before it loads) 156 // normally this is set when navigation to license page completes (so you can't accept before it loads)
161 // but if the page is unavailable, we need to do this now 157 // but if the page is unavailable, we need to do this now
162 LLCheckBoxCtrl* license_agreement = getChild<LLCheckBoxCtrl>("agree_chk"); 158 // We used to enable "agree_chk" checkbox here too -- MC
163 license_agreement->setEnabled( true );
164 } 159 }
165} 160}
166 161
@@ -234,9 +229,8 @@ void FloaterVoiceLicense::handleMediaEvent(LLPluginClassMedia* /*self*/, EMediaE
234 if ( ++mLoadCompleteCount == 2 ) 229 if ( ++mLoadCompleteCount == 2 )
235 { 230 {
236 llinfos << "NAVIGATE COMPLETE" << llendl; 231 llinfos << "NAVIGATE COMPLETE" << llendl;
237 // enable Agree to License radio button now that page has loaded 232 // We used to enable Agree to License radio button now that page has loaded here
238 LLCheckBoxCtrl * license_agreement = getChild<LLCheckBoxCtrl>("agree_chk"); 233 // but this is event is horribly broken -- MC
239 license_agreement->setEnabled( true );
240 } 234 }
241 } 235 }
242} 236}
diff --git a/linden/indra/newview/llprefsvoice.cpp b/linden/indra/newview/llprefsvoice.cpp
index 0e8e816..cb52ee0 100644
--- a/linden/indra/newview/llprefsvoice.cpp
+++ b/linden/indra/newview/llprefsvoice.cpp
@@ -42,6 +42,7 @@
42#include "llkeyboard.h" 42#include "llkeyboard.h"
43#include "llmodaldialog.h" 43#include "llmodaldialog.h"
44#include "llviewercontrol.h" 44#include "llviewercontrol.h"
45#include "llvoiceclient.h"
45#include "lluictrlfactory.h" 46#include "lluictrlfactory.h"
46 47
47 48
@@ -150,7 +151,7 @@ void LLPrefsVoice::apply()
150 } 151 }
151 152
152 bool enable_voice = childGetValue("enable_voice_check"); 153 bool enable_voice = childGetValue("enable_voice_check");
153 if (enable_voice && !gSavedSettings.getBOOL("VivoxLicenseAccepted")) 154 if (enable_voice && LLVoiceClient::needsVivoxLicense())
154 { 155 {
155 // This window enables voice chat if license is accepted 156 // This window enables voice chat if license is accepted
156 FloaterVoiceLicense::getInstance()->open(); 157 FloaterVoiceLicense::getInstance()->open();
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp
index 08e12ce..922de18 100644
--- a/linden/indra/newview/llstartup.cpp
+++ b/linden/indra/newview/llstartup.cpp
@@ -1161,19 +1161,24 @@ bool idle_startup()
1161 // color init must be after saved settings loaded 1161 // color init must be after saved settings loaded
1162 init_colors(); 1162 init_colors();
1163 1163
1164 if (!gSavedSettings.getBOOL("EnableVoiceChat") || 1164 // skipping over STATE_LOGIN_VOICE_LICENSE since we don't need it
1165 (gSavedSettings.getBOOL("EnableVoiceChat") && gSavedSettings.getBOOL("VivoxLicenseAccepted")) || 1165 // skipping over STATE_UPDATE_CHECK because that just waits for input
1166 !gHippoGridManager->getConnectedGrid()->isSecondLife()) 1166 // We don't do this on non-SL grids either
1167 if (LLVoiceClient::needsVivoxLicense())
1167 { 1168 {
1168 // skipping over STATE_LOGIN_VOICE_LICENSE since we don't need it 1169 if (gSavedSettings.getBOOL("EnableVoiceChat"))
1169 // skipping over STATE_UPDATE_CHECK because that just waits for input 1170 {
1170 // We don't do this on non-SL grids either 1171 LLStartUp::setStartupState(STATE_LOGIN_VOICE_LICENSE);
1171 LLStartUp::setStartupState( STATE_LOGIN_AUTH_INIT ); 1172 LLFirstUse::voiceLicenseAgreement();
1173 }
1174 else
1175 {
1176 LLStartUp::setStartupState(STATE_LOGIN_AUTH_INIT);
1177 }
1172 } 1178 }
1173 else 1179 else
1174 { 1180 {
1175 LLStartUp::setStartupState(STATE_LOGIN_VOICE_LICENSE); 1181 LLStartUp::setStartupState(STATE_LOGIN_AUTH_INIT);
1176 LLFirstUse::voiceLicenseAgreement();
1177 } 1182 }
1178 1183
1179 return FALSE; 1184 return FALSE;
diff --git a/linden/indra/newview/llvoiceclient.cpp b/linden/indra/newview/llvoiceclient.cpp
index 3cf15fc..2035b62 100644
--- a/linden/indra/newview/llvoiceclient.cpp
+++ b/linden/indra/newview/llvoiceclient.cpp
@@ -58,11 +58,13 @@
58#include "llimview.h" // for LLIMMgr 58#include "llimview.h" // for LLIMMgr
59#include "llimpanel.h" // for LLVoiceChannel 59#include "llimpanel.h" // for LLVoiceChannel
60#include "llparcel.h" 60#include "llparcel.h"
61#include "llstartup.h"
61#include "llviewerparcelmgr.h" 62#include "llviewerparcelmgr.h"
62#include "llfirstuse.h" 63#include "llfirstuse.h"
63#include "llviewerwindow.h" 64#include "llviewerwindow.h"
64#include "llviewercamera.h" 65#include "llviewercamera.h"
65#include "hippolimits.h" 66#include "hippolimits.h"
67#include "hippogridmanager.h"
66 68
67#include "llfloaterfriends.h" //VIVOX, inorder to refresh communicate panel 69#include "llfloaterfriends.h" //VIVOX, inorder to refresh communicate panel
68#include "llfloaterchat.h" // for LLFloaterChat::addChat() 70#include "llfloaterchat.h" // for LLFloaterChat::addChat()
@@ -76,6 +78,7 @@
76// for MD5 hash 78// for MD5 hash
77#include "llmd5.h" 79#include "llmd5.h"
78 80
81
79#define USE_SESSION_GROUPS 0 82#define USE_SESSION_GROUPS 0
80 83
81static bool sConnectingToAgni = false; 84static bool sConnectingToAgni = false;
@@ -7164,6 +7167,15 @@ void LLVoiceClient::avatarNameResolved(const LLUUID &id, const std::string &name
7164 } 7167 }
7165} 7168}
7166 7169
7170//static
7171bool LLVoiceClient::needsVivoxLicense()
7172{
7173 // assumes we're always using slvoice.exe on Second Life
7174 bool needs_license = !gSavedSettings.getBOOL("VivoxLicenseAccepted") &&
7175 gHippoGridManager->getCurrentGrid()->isSecondLife();
7176 return needs_license;
7177}
7178
7167class LLViewerParcelVoiceInfo : public LLHTTPNode 7179class LLViewerParcelVoiceInfo : public LLHTTPNode
7168{ 7180{
7169 virtual void post( 7181 virtual void post(
diff --git a/linden/indra/newview/llvoiceclient.h b/linden/indra/newview/llvoiceclient.h
index f5c6d87..250f4cb 100644
--- a/linden/indra/newview/llvoiceclient.h
+++ b/linden/indra/newview/llvoiceclient.h
@@ -87,6 +87,7 @@ class LLVoiceClient: public LLSingleton<LLVoiceClient>
87 public: 87 public:
88 static void init(LLPumpIO *pump); // Call this once at application startup (creates connector) 88 static void init(LLPumpIO *pump); // Call this once at application startup (creates connector)
89 static void terminate(); // Call this to clean up during shutdown 89 static void terminate(); // Call this to clean up during shutdown
90 static bool needsVivoxLicense();
90 91
91 protected: 92 protected:
92 bool writeString(const std::string &str); 93 bool writeString(const std::string &str);
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_voice_license.xml b/linden/indra/newview/skins/default/xui/en-us/floater_voice_license.xml
index c97c4f7..b691282 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_voice_license.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_voice_license.xml
@@ -1,14 +1,14 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater can_close="false" can_drag_on_left="false" can_minimize="false" 2<floater can_close="false" can_drag_on_left="true" can_minimize="false"
3 can_resize="false" height="500" min_height="100" min_width="100" 3 can_resize="true" height="500" min_height="300" min_width="400"
4 name="modal container" title="" width="600"> 4 name="modal container" title="" width="600">
5 <button bottom="-484" enabled="false" font="SansSerif" halign="center" height="20" 5 <button bottom="-484" enabled="false" font="SansSerif" halign="center" height="20"
6 label="Continue" label_selected="Continue" left="484" mouse_opaque="true" 6 label="Continue" label_selected="Continue" right="-16" mouse_opaque="true"
7 name="Continue" width="100" /> 7 name="Continue" follows="right|bottom" width="100" />
8 <button bottom="-484" font="SansSerif" halign="center" height="20" label="Cancel" 8 <button bottom="-484" font="SansSerif" halign="center" height="20" label="Cancel"
9 label_selected="Cancel" left="16" mouse_opaque="true" name="Cancel" 9 label_selected="Cancel" left="16" mouse_opaque="true" name="Cancel"
10 width="100" /> 10 follows="left|bottom" width="100" />
11 <check_box bottom="-435" follows="top|right" 11 <check_box bottom="-435" follows="bottom|left"
12 font="SansSerifSmall" height="16" initial_value="false" label="I Agree to the Terms of the Vivox Acceptable Use Policy" 12 font="SansSerifSmall" height="16" initial_value="false" label="I Agree to the Terms of the Vivox Acceptable Use Policy"
13 left="16" mouse_opaque="true" name="agree_chk" width="55" /> 13 left="16" mouse_opaque="true" name="agree_chk" width="55" />
14 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 14 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
@@ -25,7 +25,7 @@ To use Vivox voice chat, you must agree to the terms of the policy.
25 LICENSE_TEXT 25 LICENSE_TEXT
26 </text_editor> 26 </text_editor>
27 <!-- Loading text says: "Loading Vivox Acceptable Use Policy..." URL encoded --> 27 <!-- Loading text says: "Loading Vivox Acceptable Use Policy..." URL encoded -->
28 <web_browser bottom="-406" embedded_items="false" follows="left|top" font="SansSerif" 28 <web_browser bottom="-406" embedded_items="false" follows="left|top|right|bottom" font="SansSerif"
29 height="340" left="16" max_length="65536" mouse_opaque="true" 29 height="340" left="16" max_length="65536" mouse_opaque="true"
30 name="license_html" 30 name="license_html"
31 start_url="data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Loading %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//vivox.com/vivox_aup.html%22%3EVivox%20Acceptable%20Use%20Policy%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E" 31 start_url="data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Loading %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//vivox.com/vivox_aup.html%22%3EVivox%20Acceptable%20Use%20Policy%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E"
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_login.xml b/linden/indra/newview/skins/default/xui/en-us/panel_login.xml
index 5e4bd39..05e6b31 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_login.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_login.xml
@@ -100,7 +100,7 @@
100 bottom_delta="-20" left_delta="0" height="20" width="250" 100 bottom_delta="-20" left_delta="0" height="20" width="250"
101 follows="left|bottom" font="SansSerif" 101 follows="left|bottom" font="SansSerif"
102 bevel_style="in" border_style="line" border_thickness="1" 102 bevel_style="in" border_style="line" border_thickness="1"
103 max_length="31" mouse_opaque="true" 103 max_length="63" mouse_opaque="true"
104 handle_edit_keys_directly="true" 104 handle_edit_keys_directly="true"
105 select_all_on_focus_received="true" 105 select_all_on_focus_received="true"
106 allow_translate="false" /> 106 allow_translate="false" />