aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--linden/indra/newview/llfloatermediabrowser.cpp43
-rw-r--r--linden/indra/newview/llfloatermediabrowser.h2
-rw-r--r--linden/indra/newview/llviewermenu.cpp8
3 files changed, 47 insertions, 6 deletions
diff --git a/linden/indra/newview/llfloatermediabrowser.cpp b/linden/indra/newview/llfloatermediabrowser.cpp
index def0159..d658a11 100644
--- a/linden/indra/newview/llfloatermediabrowser.cpp
+++ b/linden/indra/newview/llfloatermediabrowser.cpp
@@ -35,6 +35,8 @@
35#include "llfloatermediabrowser.h" 35#include "llfloatermediabrowser.h"
36#include "llfloaterhtml.h" 36#include "llfloaterhtml.h"
37 37
38#include "llchat.h"
39#include "llfloaterchat.h"
38#include "llparcel.h" 40#include "llparcel.h"
39#include "llpluginclassmedia.h" 41#include "llpluginclassmedia.h"
40#include "lluictrlfactory.h" 42#include "lluictrlfactory.h"
@@ -43,6 +45,7 @@
43#include "llviewercontrol.h" 45#include "llviewercontrol.h"
44#include "llviewerparcelmgr.h" 46#include "llviewerparcelmgr.h"
45#include "llweb.h" 47#include "llweb.h"
48#include "lltrans.h"
46#include "llui.h" 49#include "llui.h"
47#include "roles_constants.h" 50#include "roles_constants.h"
48 51
@@ -64,12 +67,14 @@ LLFloaterMediaBrowser::LLFloaterMediaBrowser(const LLSD& media_data)
64 67
65void LLFloaterMediaBrowser::draw() 68void LLFloaterMediaBrowser::draw()
66{ 69{
67 childSetEnabled("go", !mAddressCombo->getValue().asString().empty()); 70 BOOL url_exists = !mAddressCombo->getValue().asString().empty();
71 childSetEnabled("go", url_exists);
72 childSetEnabled("set_home", url_exists);
68 LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); 73 LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
69 if(parcel) 74 if(parcel)
70 { 75 {
71 childSetVisible("parcel_owner_controls", LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_CHANGE_MEDIA)); 76 childSetVisible("parcel_owner_controls", LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_CHANGE_MEDIA));
72 childSetEnabled("assign", !mAddressCombo->getValue().asString().empty()); 77 childSetEnabled("assign", url_exists);
73 } 78 }
74 bool show_time_controls = false; 79 bool show_time_controls = false;
75 bool media_playing = false; 80 bool media_playing = false;
@@ -118,8 +123,11 @@ BOOL LLFloaterMediaBrowser::postBuild()
118 childSetAction("close", onClickClose, this); 123 childSetAction("close", onClickClose, this);
119 childSetAction("open_browser", onClickOpenWebBrowser, this); 124 childSetAction("open_browser", onClickOpenWebBrowser, this);
120 childSetAction("assign", onClickAssign, this); 125 childSetAction("assign", onClickAssign, this);
126 childSetAction("home", onClickHome, this);
127 childSetAction("set_home", onClickSetHome, this);
121 128
122 buildURLHistory(); 129 buildURLHistory();
130
123 return TRUE; 131 return TRUE;
124} 132}
125 133
@@ -283,6 +291,37 @@ void LLFloaterMediaBrowser::onClickAssign(void* user_data)
283 } 291 }
284 LLViewerParcelMedia::sendMediaNavigateMessage(media_url); 292 LLViewerParcelMedia::sendMediaNavigateMessage(media_url);
285} 293}
294
295// static
296void LLFloaterMediaBrowser::onClickHome(void* user_data)
297{
298 LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
299 if (self)
300 {
301 if (self->mBrowser)
302 {
303 std::string home_url = gSavedSettings.getString("BrowserHome");
304 self->mBrowser->navigateTo(home_url);
305 }
306 }
307}
308
309// static
310void LLFloaterMediaBrowser::onClickSetHome(void* user_data)
311{
312 LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
313 std::string url = self->mCurrentURL;
314 if(!url.empty())
315 {
316 LLChat chat;
317 std::string log_message = LLTrans::getString("new_home_page") + " ";
318 log_message += url;
319 chat.mText = log_message;
320 LLFloaterChat::addChat(chat, FALSE, FALSE);
321 gSavedSettings.setString("BrowserHome", url);
322 }
323}
324
286//static 325//static
287void LLFloaterMediaBrowser::onClickRewind(void* user_data) 326void LLFloaterMediaBrowser::onClickRewind(void* user_data)
288{ 327{
diff --git a/linden/indra/newview/llfloatermediabrowser.h b/linden/indra/newview/llfloatermediabrowser.h
index 8a78df8..7de1900 100644
--- a/linden/indra/newview/llfloatermediabrowser.h
+++ b/linden/indra/newview/llfloatermediabrowser.h
@@ -85,6 +85,8 @@ public:
85 static void onClickClose(void* user_data); 85 static void onClickClose(void* user_data);
86 static void onClickOpenWebBrowser(void* user_data); 86 static void onClickOpenWebBrowser(void* user_data);
87 static void onClickAssign(void* user_data); 87 static void onClickAssign(void* user_data);
88 static void onClickHome(void* user_data);
89 static void onClickSetHome(void* user_data);
88 static void onClickRewind(void* user_data); 90 static void onClickRewind(void* user_data);
89 static void onClickPlay(void* user_data); 91 static void onClickPlay(void* user_data);
90 static void onClickStop(void* user_data); 92 static void onClickStop(void* user_data);
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index a663e60..b81a2a2 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -6091,10 +6091,10 @@ class LLShowFloater : public view_listener_t
6091 { 6091 {
6092 JCFloaterAnimList::toggleInstance(LLSD()); 6092 JCFloaterAnimList::toggleInstance(LLSD());
6093 } 6093 }
6094//imprudence fixme else if (floater_name == "inworld browser") 6094 else if (floater_name == "inworld browser")
6095// { 6095 {
6096// LLFloaterMediaBrowser::toggle(); 6096 LLWeb::loadURL(gSavedSettings.getString("BrowserHome"));
6097// } 6097 }
6098 else if (floater_name == "beacons") 6098 else if (floater_name == "beacons")
6099 { 6099 {
6100 LLFloaterBeacons::toggleInstance(LLSD()); 6100 LLFloaterBeacons::toggleInstance(LLSD());