aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--linden/indra/newview/app_settings/settings.xml46
-rw-r--r--linden/indra/newview/llpanelaudioprefs.cpp3
-rw-r--r--linden/indra/newview/llpanelaudioprefs.h1
-rw-r--r--linden/indra/newview/llpanelnetwork.cpp24
-rw-r--r--linden/indra/newview/llpanelnetwork.h1
-rw-r--r--linden/indra/newview/llpanelweb.cpp13
-rw-r--r--linden/indra/newview/llstartup.cpp23
-rw-r--r--linden/indra/newview/lltoolpie.cpp17
-rw-r--r--linden/indra/newview/llviewermedia.cpp38
-rw-r--r--linden/indra/newview/llviewermedia.h5
-rw-r--r--linden/indra/newview/llviewermediafocus.cpp18
-rw-r--r--linden/indra/newview/llxmlrpctransaction.cpp6
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml5
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml27
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml4
15 files changed, 212 insertions, 19 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 2a508ee..315670c 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -677,6 +677,17 @@
677 <key>Value</key> 677 <key>Value</key>
678 <string>Random</string> 678 <string>Random</string>
679 </map> 679 </map>
680 <key>LastConnectedGrid</key>
681 <map>
682 <key>Comment</key>
683 <string>Last grid actually connected to</string>
684 <key>Persist</key>
685 <integer>1</integer>
686 <key>Type</key>
687 <string>String</string>
688 <key>Value</key>
689 <string />
690 </map>
680 <key>LastSelectedGrid</key> 691 <key>LastSelectedGrid</key>
681 <map> 692 <map>
682 <key>Comment</key> 693 <key>Comment</key>
@@ -2311,6 +2322,41 @@
2311 <key>Value</key> 2322 <key>Value</key>
2312 <integer>0</integer> 2323 <integer>0</integer>
2313 </map> 2324 </map>
2325
2326 <key>XMLRPCProxyAddress</key>
2327 <map>
2328 <key>Comment</key>
2329 <string>Address for the XMLRPC Web Proxy</string>
2330 <key>Persist</key>
2331 <integer>1</integer>
2332 <key>Type</key>
2333 <string>String</string>
2334 <key>Value</key>
2335 <string />
2336 </map>
2337 <key>XMLRPCProxyEnabled</key>
2338 <map>
2339 <key>Comment</key>
2340 <string>Use XMLRPC Proxy</string>
2341 <key>Persist</key>
2342 <integer>1</integer>
2343 <key>Type</key>
2344 <string>Boolean</string>
2345 <key>Value</key>
2346 <integer>0</integer>
2347 </map>
2348 <key>XMLRPCProxyPort</key>
2349 <map>
2350 <key>Comment</key>
2351 <string>Port of the XMLRPC Proxy</string>
2352 <key>Persist</key>
2353 <integer>1</integer>
2354 <key>Type</key>
2355 <string>S32</string>
2356 <key>Value</key>
2357 <integer>3128</integer>
2358 </map>
2359
2314 <key>AllowIdleAFK</key> 2360 <key>AllowIdleAFK</key>
2315 <map> 2361 <map>
2316 <key>Comment</key> 2362 <key>Comment</key>
diff --git a/linden/indra/newview/llpanelaudioprefs.cpp b/linden/indra/newview/llpanelaudioprefs.cpp
index 1acfcbb..f1a8af5 100644
--- a/linden/indra/newview/llpanelaudioprefs.cpp
+++ b/linden/indra/newview/llpanelaudioprefs.cpp
@@ -112,6 +112,7 @@ void LLPanelAudioPrefs::refreshValues()
112 112
113 mPreviousStreamingMusic = gSavedSettings.getBOOL("AudioStreamingMusic"); 113 mPreviousStreamingMusic = gSavedSettings.getBOOL("AudioStreamingMusic");
114 mPreviousStreamingVideo = gSavedSettings.getBOOL("AudioStreamingVideo"); 114 mPreviousStreamingVideo = gSavedSettings.getBOOL("AudioStreamingVideo");
115 mPreviousHelperWidget = gSavedSettings.getBOOL("MediaOnAPrimUI");
115 116
116 mPreviousMuteAudio = gSavedSettings.getBOOL("MuteAudio"); 117 mPreviousMuteAudio = gSavedSettings.getBOOL("MuteAudio");
117 mPreviousMuteWhenMinimized = gSavedSettings.getBOOL("MuteWhenMinimized"); 118 mPreviousMuteWhenMinimized = gSavedSettings.getBOOL("MuteWhenMinimized");
@@ -140,7 +141,7 @@ void LLPanelAudioPrefs::cancel()
140 141
141 gSavedSettings.setBOOL("AudioStreamingMusic", mPreviousStreamingMusic ); 142 gSavedSettings.setBOOL("AudioStreamingMusic", mPreviousStreamingMusic );
142 gSavedSettings.setBOOL("AudioStreamingVideo", mPreviousStreamingVideo ); 143 gSavedSettings.setBOOL("AudioStreamingVideo", mPreviousStreamingVideo );
143 144 gSavedSettings.setBOOL("MediaOnAPrimUI", mPreviousHelperWidget );
144 145
145 gSavedSettings.setBOOL("MuteAudio", mPreviousMuteAudio ); 146 gSavedSettings.setBOOL("MuteAudio", mPreviousMuteAudio );
146 gSavedSettings.setBOOL("MuteWhenMinimized", mPreviousMuteWhenMinimized ); 147 gSavedSettings.setBOOL("MuteWhenMinimized", mPreviousMuteWhenMinimized );
diff --git a/linden/indra/newview/llpanelaudioprefs.h b/linden/indra/newview/llpanelaudioprefs.h
index 21d2f59..56982b8 100644
--- a/linden/indra/newview/llpanelaudioprefs.h
+++ b/linden/indra/newview/llpanelaudioprefs.h
@@ -75,6 +75,7 @@ private:
75 75
76 BOOL mPreviousStreamingMusic; 76 BOOL mPreviousStreamingMusic;
77 BOOL mPreviousStreamingVideo; 77 BOOL mPreviousStreamingVideo;
78 BOOL mPreviousHelperWidget;
78 BOOL mPreviousMuteAudio; 79 BOOL mPreviousMuteAudio;
79 BOOL mPreviousMuteWhenMinimized; 80 BOOL mPreviousMuteWhenMinimized;
80}; 81};
diff --git a/linden/indra/newview/llpanelnetwork.cpp b/linden/indra/newview/llpanelnetwork.cpp
index 2edd1a1..16b9a76 100644
--- a/linden/indra/newview/llpanelnetwork.cpp
+++ b/linden/indra/newview/llpanelnetwork.cpp
@@ -64,6 +64,14 @@ BOOL LLPanelNetwork::postBuild()
64 childSetValue("connection_port_enabled", gSavedSettings.getBOOL("ConnectionPortEnabled")); 64 childSetValue("connection_port_enabled", gSavedSettings.getBOOL("ConnectionPortEnabled"));
65 childSetValue("connection_port", (F32)gSavedSettings.getU32("ConnectionPort")); 65 childSetValue("connection_port", (F32)gSavedSettings.getU32("ConnectionPort"));
66 66
67 childSetCommitCallback("xmlrpc_proxy_enabled", onCommitXMLRPCProxyEnabled, this);
68 childSetValue("xmlrpc_proxy_enabled", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
69 childSetValue("xmlrpc_proxy_editor", gSavedSettings.getString("XMLRPCProxyAddress"));
70 childSetValue("xmlrpc_proxy_port", gSavedSettings.getS32("XMLRPCProxyPort"));
71 childSetEnabled("xmlrpc_proxy_text_label", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
72 childSetEnabled("xmlrpc_proxy_editor", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
73 childSetEnabled("xmlrpc_proxy_port", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
74
67 return TRUE; 75 return TRUE;
68} 76}
69 77
@@ -79,6 +87,10 @@ void LLPanelNetwork::apply()
79 gSavedSettings.setF32("ThrottleBandwidthKBPS", childGetValue("max_bandwidth").asReal()); 87 gSavedSettings.setF32("ThrottleBandwidthKBPS", childGetValue("max_bandwidth").asReal());
80 gSavedSettings.setBOOL("ConnectionPortEnabled", childGetValue("connection_port_enabled")); 88 gSavedSettings.setBOOL("ConnectionPortEnabled", childGetValue("connection_port_enabled"));
81 gSavedSettings.setU32("ConnectionPort", childGetValue("connection_port").asInteger()); 89 gSavedSettings.setU32("ConnectionPort", childGetValue("connection_port").asInteger());
90
91 gSavedSettings.setBOOL("XMLRPCProxyEnabled", childGetValue("xmlrpc_proxy_enabled"));
92 gSavedSettings.setString("XMLRPCProxyAddress", childGetValue("xmlrpc_proxy_editor"));
93 gSavedSettings.setS32("XMLRPCProxyPort", childGetValue("xmlrpc_proxy_port"));
82} 94}
83 95
84void LLPanelNetwork::cancel() 96void LLPanelNetwork::cancel()
@@ -144,3 +156,15 @@ void LLPanelNetwork::onCommitPort(LLUICtrl* ctrl, void* data)
144 self->childSetEnabled("connection_port", check->get()); 156 self->childSetEnabled("connection_port", check->get());
145 LLNotifications::instance().add("ChangeConnectionPort"); 157 LLNotifications::instance().add("ChangeConnectionPort");
146} 158}
159
160// static
161void LLPanelNetwork::onCommitXMLRPCProxyEnabled(LLUICtrl* ctrl, void* data)
162{
163 LLPanelNetwork* self = (LLPanelNetwork*)data;
164 LLCheckBoxCtrl* check = (LLCheckBoxCtrl*)ctrl;
165
166 if (!self || !check) return;
167 self->childSetEnabled("xmlrpc_proxy_editor", check->get());
168 self->childSetEnabled("xmlrpc_proxy_port", check->get());
169 self->childSetEnabled("xmlrpc_proxy_text_label", check->get());
170} \ No newline at end of file
diff --git a/linden/indra/newview/llpanelnetwork.h b/linden/indra/newview/llpanelnetwork.h
index 3a3d857..900158a 100644
--- a/linden/indra/newview/llpanelnetwork.h
+++ b/linden/indra/newview/llpanelnetwork.h
@@ -51,6 +51,7 @@ private:
51 static void onClickSetCache(void*); 51 static void onClickSetCache(void*);
52 static void onClickResetCache(void*); 52 static void onClickResetCache(void*);
53 static void onCommitPort(LLUICtrl* ctrl, void*); 53 static void onCommitPort(LLUICtrl* ctrl, void*);
54 static void onCommitXMLRPCProxyEnabled(LLUICtrl* ctrl, void* data);
54}; 55};
55 56
56#endif 57#endif
diff --git a/linden/indra/newview/llpanelweb.cpp b/linden/indra/newview/llpanelweb.cpp
index 6f9bd7a..93441dd 100644
--- a/linden/indra/newview/llpanelweb.cpp
+++ b/linden/indra/newview/llpanelweb.cpp
@@ -69,6 +69,7 @@ BOOL LLPanelWeb::postBuild()
69 childSetValue("use_external_browser", value); 69 childSetValue("use_external_browser", value);
70 70
71 childSetValue("cookies_enabled", gSavedSettings.getBOOL("BrowserCookiesEnabled")); 71 childSetValue("cookies_enabled", gSavedSettings.getBOOL("BrowserCookiesEnabled"));
72 childSetAction("clear_cookies", onClickClearCookies,this);
72 73
73 childSetValue("web_proxy_enabled", gSavedSettings.getBOOL("BrowserProxyEnabled")); 74 childSetValue("web_proxy_enabled", gSavedSettings.getBOOL("BrowserProxyEnabled"));
74 childSetValue("web_proxy_editor", gSavedSettings.getString("BrowserProxyAddress")); 75 childSetValue("web_proxy_editor", gSavedSettings.getString("BrowserProxyAddress"));
@@ -102,9 +103,15 @@ LLPanelWeb::~LLPanelWeb()
102void LLPanelWeb::apply() 103void LLPanelWeb::apply()
103{ 104{
104 gSavedSettings.setBOOL("BrowserCookiesEnabled", childGetValue("cookies_enabled")); 105 gSavedSettings.setBOOL("BrowserCookiesEnabled", childGetValue("cookies_enabled"));
105 gSavedSettings.setBOOL("BrowserProxyEnabled", childGetValue("web_proxy_enabled")); 106
106 gSavedSettings.setString("BrowserProxyAddress", childGetValue("web_proxy_editor")); 107 bool proxy_enable = childGetValue("web_proxy_enabled");
107 gSavedSettings.setS32("BrowserProxyPort", childGetValue("web_proxy_port")); 108 std::string proxy_address = childGetValue("web_proxy_editor");
109 int proxy_port = childGetValue("web_proxy_port");
110 gSavedSettings.setBOOL("BrowserProxyEnabled", proxy_enable);
111 gSavedSettings.setString("BrowserProxyAddress", proxy_address);
112 gSavedSettings.setS32("BrowserProxyPort", proxy_port);
113 LLViewerMedia::setProxyConfig(proxy_enable, proxy_address, proxy_port);
114
108 if (gHippoGridManager->getConnectedGrid()->isSecondLife()) 115 if (gHippoGridManager->getConnectedGrid()->isSecondLife())
109 { 116 {
110 gSavedSettings.setString("SearchURLQuery", childGetValue("world_search_editor")); 117 gSavedSettings.setString("SearchURLQuery", childGetValue("world_search_editor"));
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp
index e21efa3..ec45955 100644
--- a/linden/indra/newview/llstartup.cpp
+++ b/linden/indra/newview/llstartup.cpp
@@ -1258,6 +1258,20 @@ bool idle_startup()
1258 hashed_mac.finalize(); 1258 hashed_mac.finalize();
1259 hashed_mac.hex_digest(hashed_mac_string); 1259 hashed_mac.hex_digest(hashed_mac_string);
1260 1260
1261 // Don't report crashes if the grid we crashed in
1262 // is different from the grid we log in
1263 eLastExecEvent last_exec_event = LAST_EXEC_NORMAL;
1264 {
1265 std::string current_grid = gHippoGridManager->getCurrentGrid()->getGridNick();
1266 std::string last_grid = gSavedSettings.getString("LastConnectedGrid");
1267 LL_DEBUGS("AppInit") << "current grid: " << current_grid
1268 << " Last Connected Grid: " << last_grid << LL_ENDL;
1269 if( last_grid == current_grid )
1270 {
1271 last_exec_event = gLastExecEvent;
1272 }
1273 }
1274
1261 // TODO if statement here to use web_login_key 1275 // TODO if statement here to use web_login_key
1262 if(web_login_key.isNull()){ 1276 if(web_login_key.isNull()){
1263 sAuthUriNum = llclamp(sAuthUriNum, 0, (S32)sAuthUris.size()-1); 1277 sAuthUriNum = llclamp(sAuthUriNum, 0, (S32)sAuthUris.size()-1);
@@ -1272,7 +1286,7 @@ bool idle_startup()
1272 gSkipOptionalUpdate, 1286 gSkipOptionalUpdate,
1273 gAcceptTOS, 1287 gAcceptTOS,
1274 gAcceptCriticalMessage, 1288 gAcceptCriticalMessage,
1275 gLastExecEvent, 1289 last_exec_event,
1276 requested_options, 1290 requested_options,
1277 hashed_mac_string, 1291 hashed_mac_string,
1278 LLAppViewer::instance()->getSerialNumber()); 1292 LLAppViewer::instance()->getSerialNumber());
@@ -1287,7 +1301,7 @@ bool idle_startup()
1287 gSkipOptionalUpdate, 1301 gSkipOptionalUpdate,
1288 gAcceptTOS, 1302 gAcceptTOS,
1289 gAcceptCriticalMessage, 1303 gAcceptCriticalMessage,
1290 gLastExecEvent, 1304 last_exec_event,
1291 requested_options, 1305 requested_options,
1292 hashed_mac_string, 1306 hashed_mac_string,
1293 LLAppViewer::instance()->getSerialNumber()); 1307 LLAppViewer::instance()->getSerialNumber());
@@ -1525,6 +1539,11 @@ bool idle_startup()
1525 1539
1526 if(successful_login) 1540 if(successful_login)
1527 { 1541 {
1542 {
1543 std::string current_grid = gHippoGridManager->getConnectedGrid()->getGridNick();
1544 gSavedSettings.setString("LastConnectedGrid", current_grid);
1545 }
1546
1528 std::string text; 1547 std::string text;
1529 text = LLUserAuth::getInstance()->getResponse("udp_blacklist"); 1548 text = LLUserAuth::getInstance()->getResponse("udp_blacklist");
1530 if(!text.empty()) 1549 if(!text.empty())
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index 34735a3..b7d762c 100644
--- a/linden/indra/newview/lltoolpie.cpp
+++ b/linden/indra/newview/lltoolpie.cpp
@@ -800,6 +800,14 @@ BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask)
800 LL_DEBUGS("DoubleClicks") << "Double clicked a touch-scripted object" << LL_ENDL; 800 LL_DEBUGS("DoubleClicks") << "Double clicked a touch-scripted object" << LL_ENDL;
801 return FALSE; 801 return FALSE;
802 } 802 }
803
804 const LLTextureEntry* tep = object->getTE(mPick.mObjectFace);
805 viewer_media_t media_impl = LLViewerMedia::getMediaImplFromTextureID(tep->getID());
806 if (tep && media_impl.notNull() && media_impl->hasMedia())
807 {
808 LL_DEBUGS("DoubleClicks") << "Double clicked running parcel media" << LL_ENDL;
809 return FALSE;
810 }
803 } 811 }
804 812
805 std::string action = gSavedSettings.getString("DoubleClickAction"); 813 std::string action = gSavedSettings.getString("DoubleClickAction");
@@ -938,19 +946,16 @@ static bool handle_media_click(const LLPickInfo& pick)
938 if (tep 946 if (tep
939 && media_impl.notNull() 947 && media_impl.notNull()
940 && media_impl->hasMedia() 948 && media_impl->hasMedia()
941 && gSavedSettings.getBOOL("MediaOnAPrimUI")) 949 /*&& gSavedSettings.getBOOL("MediaOnAPrimUI")*/)
942 { 950 {
943 LLObjectSelectionHandle selection = LLViewerMediaFocus::getInstance()->getSelection(); 951 LLObjectSelectionHandle selection = LLViewerMediaFocus::getInstance()->getSelection();
944 if (! selection->contains(pick.getObject(), pick.mObjectFace)) 952 if (! selection->contains(pick.getObject(), pick.mObjectFace))
945 { 953 {
946 LLViewerMediaFocus::getInstance()->setFocusFace(TRUE, pick.getObject(), pick.mObjectFace, media_impl); 954 LLViewerMediaFocus::getInstance()->setFocusFace(TRUE, pick.getObject(), pick.mObjectFace, media_impl);
947 } 955 }
948 else
949 {
950 media_impl->mouseDown(pick.mXYCoords.mX, pick.mXYCoords.mY);
951 media_impl->mouseCapture(); // the mouse-up will happen when capture is lost
952 }
953 956
957 media_impl->mouseDown(pick.mXYCoords.mX, pick.mXYCoords.mY);
958 media_impl->mouseCapture(); // the mouse-up will happen when capture is lost
954 return true; 959 return true;
955 } 960 }
956 961
diff --git a/linden/indra/newview/llviewermedia.cpp b/linden/indra/newview/llviewermedia.cpp
index f0faedf..c228468 100644
--- a/linden/indra/newview/llviewermedia.cpp
+++ b/linden/indra/newview/llviewermedia.cpp
@@ -267,6 +267,23 @@ std::string LLViewerMedia::getCurrentUserAgent()
267 267
268 return codec.str(); 268 return codec.str();
269} 269}
270
271/////////////////////////////////////////////////////////////////////////////////////////
272// static
273void LLViewerMedia::setProxyConfig(bool enable, const std::string &host, int port)
274{
275 // Set the proxy config for all loaded plugins
276 impl_list::iterator iter = sViewerMediaImplList.begin();
277 impl_list::iterator end = sViewerMediaImplList.end();
278 for (; iter != end; iter++)
279 {
280 LLViewerMediaImpl* pimpl = *iter;
281 if(pimpl->mMediaSource)
282 {
283 pimpl->mMediaSource->proxy_setup(enable, host, port);
284 }
285 }
286}
270 287
271////////////////////////////////////////////////////////////////////////////////////////// 288//////////////////////////////////////////////////////////////////////////////////////////
272// static 289// static
@@ -395,6 +412,19 @@ LLViewerMediaImpl::~LLViewerMediaImpl()
395 LLViewerMedia::removeMedia(this); 412 LLViewerMedia::removeMedia(this);
396} 413}
397 414
415//static
416void LLViewerMediaImpl::setProxy(LLPluginClassMedia* media_source)
417{
418 // pass proxy settings to browser
419 bool proxy_enabled = gSavedSettings.getBOOL( "BrowserProxyEnabled" );
420 std::string proxy_address = gSavedSettings.getString("BrowserProxyAddress");
421 S32 proxy_port = gSavedSettings.getS32("BrowserProxyPort");
422 media_source->proxy_setup(proxy_enabled, proxy_address, proxy_port);
423 LL_DEBUGS("Media") << "Proxy: " << (proxy_enabled ? "enabled" : "not enabled")
424 << " Address: " << proxy_address
425 << " Port: " << proxy_port << LL_ENDL;
426}
427
398////////////////////////////////////////////////////////////////////////////////////////// 428//////////////////////////////////////////////////////////////////////////////////////////
399bool LLViewerMediaImpl::initializeMedia(const std::string& mime_type) 429bool LLViewerMediaImpl::initializeMedia(const std::string& mime_type)
400{ 430{
@@ -411,6 +441,11 @@ bool LLViewerMediaImpl::initializeMedia(const std::string& mime_type)
411 } 441 }
412 } 442 }
413 443
444 if(mMediaSource)
445 {
446 setProxy(mMediaSource);
447 }
448
414 // play(); 449 // play();
415 return (mMediaSource != NULL); 450 return (mMediaSource != NULL);
416} 451}
@@ -508,6 +543,8 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
508 bool javascript_enabled = gSavedSettings.getBOOL( "BrowserJavascriptEnabled" ); 543 bool javascript_enabled = gSavedSettings.getBOOL( "BrowserJavascriptEnabled" );
509 media_source->setJavascriptEnabled( javascript_enabled ); 544 media_source->setJavascriptEnabled( javascript_enabled );
510 545
546 setProxy(media_source);
547
511 if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))) 548 if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins")))
512 { 549 {
513 return media_source; 550 return media_source;
@@ -741,6 +778,7 @@ void LLViewerMediaImpl::navigateHome()
741////////////////////////////////////////////////////////////////////////////////////////// 778//////////////////////////////////////////////////////////////////////////////////////////
742void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mime_type, bool rediscover_type) 779void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mime_type, bool rediscover_type)
743{ 780{
781
744 if(rediscover_type) 782 if(rediscover_type)
745 { 783 {
746 784
diff --git a/linden/indra/newview/llviewermedia.h b/linden/indra/newview/llviewermedia.h
index afda426..ee5fef4 100644
--- a/linden/indra/newview/llviewermedia.h
+++ b/linden/indra/newview/llviewermedia.h
@@ -79,6 +79,10 @@ class LLViewerMedia
79 static void removeMedia(LLViewerMediaImpl* media); 79 static void removeMedia(LLViewerMediaImpl* media);
80 static LLViewerMediaImpl* getMediaImplFromTextureID(const LLUUID& texture_id); 80 static LLViewerMediaImpl* getMediaImplFromTextureID(const LLUUID& texture_id);
81 static std::string getCurrentUserAgent(); 81 static std::string getCurrentUserAgent();
82
83 // Set the proxy config for all loaded plugins
84 static void setProxyConfig(bool enable, const std::string &host, int port);
85
82 static void updateBrowserUserAgent(); 86 static void updateBrowserUserAgent();
83 static bool handleSkinCurrentChanged(const LLSD& /*newvalue*/); 87 static bool handleSkinCurrentChanged(const LLSD& /*newvalue*/);
84 static bool textureHasMedia(const LLUUID& texture_id); 88 static bool textureHasMedia(const LLUUID& texture_id);
@@ -109,6 +113,7 @@ public:
109 void createMediaSource(); 113 void createMediaSource();
110 void destroyMediaSource(); 114 void destroyMediaSource();
111 void setMediaType(const std::string& media_type); 115 void setMediaType(const std::string& media_type);
116 static void setProxy(LLPluginClassMedia* media_source);
112 bool initializeMedia(const std::string& mime_type); 117 bool initializeMedia(const std::string& mime_type);
113 bool initializePlugin(const std::string& media_type); 118 bool initializePlugin(const std::string& media_type);
114 LLPluginClassMedia* getMediaPlugin() { return mMediaSource; } 119 LLPluginClassMedia* getMediaPlugin() { return mMediaSource; }
diff --git a/linden/indra/newview/llviewermediafocus.cpp b/linden/indra/newview/llviewermediafocus.cpp
index 2e372a1..c81cd76 100644
--- a/linden/indra/newview/llviewermediafocus.cpp
+++ b/linden/indra/newview/llviewermediafocus.cpp
@@ -48,6 +48,7 @@
48#include "llparcel.h" 48#include "llparcel.h"
49#include "llviewerparcelmgr.h" 49#include "llviewerparcelmgr.h"
50#include "llweb.h" 50#include "llweb.h"
51#include "llviewercontrol.h"//gSavedSettings
51// 52//
52// LLViewerMediaFocus 53// LLViewerMediaFocus
53// 54//
@@ -99,7 +100,7 @@ void LLViewerMediaFocus::setFocusFace( BOOL b, LLPointer<LLViewerObject> objectp
99 LLSelectMgr::getInstance()->selectObjectOnly(objectp, face); 100 LLSelectMgr::getInstance()->selectObjectOnly(objectp, face);
100 101
101 mFocus = LLSelectMgr::getInstance()->getSelection(); 102 mFocus = LLSelectMgr::getInstance()->getSelection();
102 if(mMediaHUD.get() && ! parcel->getMediaPreventCameraZoom()) 103 if(gSavedSettings.getBOOL("MediaOnAPrimUI") && mMediaHUD.get() && ! parcel->getMediaPreventCameraZoom())
103 { 104 {
104 mMediaHUD.get()->resetZoomLevel(); 105 mMediaHUD.get()->resetZoomLevel();
105 mMediaHUD.get()->nextZoomLevel(); 106 mMediaHUD.get()->nextZoomLevel();
@@ -224,14 +225,20 @@ void LLViewerMediaFocus::setMouseOverFlag(bool b, viewer_media_t media_impl)
224{ 225{
225 if (b && media_impl.notNull()) 226 if (b && media_impl.notNull())
226 { 227 {
227 if(! mMediaHUD.get()) 228
229 if(! mMediaHUD.get() && gSavedSettings.getBOOL("MediaOnAPrimUI"))
228 { 230 {
229 LLPanelMediaHUD* media_hud = new LLPanelMediaHUD(mMediaImpl); 231 LLPanelMediaHUD* media_hud = new LLPanelMediaHUD(mMediaImpl);
230 mMediaHUD = media_hud->getHandle(); 232 mMediaHUD = media_hud->getHandle();
231 gHUDView->addChild(media_hud); 233 gHUDView->addChild(media_hud);
232 } 234 }
233 mMediaHUD.get()->setMediaImpl(media_impl); 235
236 if(mMediaHUD.get())
237 {
238 mMediaHUD.get()->setMediaImpl(media_impl);
239 }
234 mMediaImpl = media_impl; 240 mMediaImpl = media_impl;
241
235 } 242 }
236 mMouseOverFlag = b; 243 mMouseOverFlag = b;
237} 244}
@@ -281,7 +288,10 @@ void LLViewerMediaFocus::update()
281{ 288{
282 if (mMediaHUD.get()) 289 if (mMediaHUD.get())
283 { 290 {
284 if(mFocus.notNull() || mMouseOverFlag || mMediaHUD.get()->isMouseOver()) 291 if(gSavedSettings.getBOOL("MediaOnAPrimUI")
292 &&(mFocus.notNull()
293 || mMouseOverFlag
294 || mMediaHUD.get()->isMouseOver() ) )
285 { 295 {
286 // mMediaHUD.get()->setVisible(true); 296 // mMediaHUD.get()->setVisible(true);
287 mMediaHUD.get()->updateShape(); 297 mMediaHUD.get()->updateShape();
diff --git a/linden/indra/newview/llxmlrpctransaction.cpp b/linden/indra/newview/llxmlrpctransaction.cpp
index 058946e..675ba42 100644
--- a/linden/indra/newview/llxmlrpctransaction.cpp
+++ b/linden/indra/newview/llxmlrpctransaction.cpp
@@ -226,10 +226,10 @@ void LLXMLRPCTransaction::Impl::init(XMLRPC_REQUEST request, bool useGzip)
226 mCurlRequest = new LLCurlEasyRequest(); 226 mCurlRequest = new LLCurlEasyRequest();
227 } 227 }
228 228
229 if (gSavedSettings.getBOOL("BrowserProxyEnabled")) 229 if (gSavedSettings.getBOOL("XMLRPCProxyEnabled"))
230 { 230 {
231 mProxyAddress = gSavedSettings.getString("BrowserProxyAddress"); 231 mProxyAddress = gSavedSettings.getString("XMLRPCProxyAddress");
232 S32 port = gSavedSettings.getS32 ( "BrowserProxyPort" ); 232 S32 port = gSavedSettings.getS32 ( "XMLRPCProxyPort" );
233 233
234 // tell curl about the settings 234 // tell curl about the settings
235 mCurlRequest->setoptString(CURLOPT_PROXY, mProxyAddress); 235 mCurlRequest->setoptString(CURLOPT_PROXY, mProxyAddress);
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml
index c6bb938..1f208e8 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml
@@ -42,6 +42,11 @@
42 initial_value="true" label="Automatically play media" left="162" 42 initial_value="true" label="Automatically play media" left="162"
43 mouse_opaque="true" name="auto_streaming_video" radio_style="false" 43 mouse_opaque="true" name="auto_streaming_video" radio_style="false"
44 width="338" /> 44 width="338" />
45 <check_box bottom_delta="-20" control_name="MediaOnAPrimUI" enabled="true"
46 follows="left|top" font="SansSerifSmall" height="16"
47 initial_value="true" label="Media helper widget" left="162"
48 mouse_opaque="true" name="media_helper_widget" radio_style="false"
49 width="338" />
45 <check_box bottom_delta="-27" control_name="MuteWhenMinimized" enabled="true" 50 <check_box bottom_delta="-27" control_name="MuteWhenMinimized" enabled="true"
46 follows="left|top" font="SansSerifSmall" height="16" initial_value="true" 51 follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
47 label="Mute audio when window minimized" left="142" mouse_opaque="true" 52 label="Mute audio when window minimized" left="142" mouse_opaque="true"
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
index 1e4ded6..86aa353 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
@@ -64,4 +64,31 @@
64 increment="1" initial_val="13000" label="Port number:" label_width="75" 64 increment="1" initial_val="13000" label="Port number:" label_width="75"
65 left_delta="20" max_val="13050" min_val="13000" mouse_opaque="true" 65 left_delta="20" max_val="13050" min_val="13000" mouse_opaque="true"
66 name="connection_port" width="150" /> 66 name="connection_port" width="150" />
67 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
68 bottom_delta="-24" drop_shadow_visible="true" enabled="true"
69 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"
70 height="10" left="15" mouse_opaque="false" name="proxy_label" v_pad="0"
71 width="250">
72 XMLRPC Proxy (Login, Land- and Money purchase):
73 </text>
74 <check_box bottom_delta="-25" enabled="true"
75 follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
76 label="Enable XMLRPC proxy" left_delta="199" mouse_opaque="true"
77 name="xmlrpc_proxy_enabled" radio_style="false" width="256" />
78 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
79 bottom_delta="-25" drop_shadow_visible="true" enabled="true"
80 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"
81 height="10" left="140" mouse_opaque="false" name="xmlrpc_proxy_text_label"
82 v_pad="0" width="128">
83 Address:
84 </text>
85 <line_editor bottom_delta="-8" enabled="true" follows="left|top" font="SansSerif"
86 height="20" left="217" name="xmlrpc_proxy_editor"
87 tool_tip="The name or IP address of the proxy you would like to use"
88 width="200" />
89 <spinner bottom_delta="-25" decimal_digits="0"
90 enabled="true" follows="left|top" height="16" increment="1"
91 initial_val="80" label="Port number:" label_width="75" left="140"
92 max_val="12000" min_val="10" mouse_opaque="true" name="xmlrpc_proxy_port"
93 width="140" />
67</panel> 94</panel>
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml
index 46283bb..727b142 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml
@@ -34,6 +34,10 @@
34 font="SansSerifSmall" height="16" initial_value="false" 34 font="SansSerifSmall" height="16" initial_value="false"
35 label="Accept cookies from sites" left="140" mouse_opaque="true" 35 label="Accept cookies from sites" left="140" mouse_opaque="true"
36 name="cookies_enabled" radio_style="false" width="256" /> 36 name="cookies_enabled" radio_style="false" width="256" />
37 <button bottom_delta="-20" enabled="true" follows="left|top" font="SansSerif"
38 halign="center" height="18" label="Clear Cookies" left_delta="0"
39 tool_tip="Clear Cookies"
40 mouse_opaque="true" name="clear_ookies" scale_image="true" width="110" />
37 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 41 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
38 bottom_delta="-24" drop_shadow_visible="true" enabled="true" 42 bottom_delta="-24" drop_shadow_visible="true" enabled="true"
39 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left" 43 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"