summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatertos.cpp
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-05-16 13:52:40 +0800
committerErik Kundiman <erik@megapahit.org>2024-05-16 13:52:40 +0800
commit6d51e91895a7f2435c46a876410ccc6c63fe8c82 (patch)
treef2b48ebd99cb414227bf365f47665b8d4baa752b /indra/newview/llfloatertos.cpp
parentd1b5917bb9c92e4e47eba19b43781e4d1328b1ca (diff)
parent094dcc07f8c1d90ae723dbe60eddacb90a09eae8 (diff)
Merge tag '7.1.7-release'
source for viewer 7.1.7.8974243247
Diffstat (limited to 'indra/newview/llfloatertos.cpp')
-rw-r--r--indra/newview/llfloatertos.cpp268
1 files changed, 134 insertions, 134 deletions
diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp
index 189f5297a9..241d44ddf8 100644
--- a/indra/newview/llfloatertos.cpp
+++ b/indra/newview/llfloatertos.cpp
@@ -1,25 +1,25 @@
-/**
+/**
* @file llfloatertos.cpp
* @brief Terms of Service Agreement dialog
*
* $LicenseInfo:firstyear=2003&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -47,73 +47,73 @@
#include "llfloaterreg.h"
LLFloaterTOS::LLFloaterTOS(const LLSD& data)
-: LLModalDialog( data["message"].asString() ),
- mMessage(data["message"].asString()),
- mLoadingScreenLoaded(false),
- mSiteAlive(false),
- mRealNavigateBegun(false),
- mReplyPumpName(data["reply_pump"].asString())
+: LLModalDialog( data["message"].asString() ),
+ mMessage(data["message"].asString()),
+ mLoadingScreenLoaded(false),
+ mSiteAlive(false),
+ mRealNavigateBegun(false),
+ mReplyPumpName(data["reply_pump"].asString())
{
}
BOOL LLFloaterTOS::postBuild()
-{
- childSetAction("Continue", onContinue, this);
- childSetAction("Cancel", onCancel, this);
- childSetCommitCallback("agree_chk", updateAgree, this);
-
- if (hasChild("tos_text"))
- {
- // this displays the critical message
- LLUICtrl *tos_text = getChild<LLUICtrl>("tos_text");
- tos_text->setEnabled( FALSE );
- tos_text->setFocus(TRUE);
- tos_text->setValue(LLSD(mMessage));
-
- return TRUE;
- }
-
- // disable Agree to TOS radio button until the page has fully loaded
+{
+ childSetAction("Continue", onContinue, this);
+ childSetAction("Cancel", onCancel, this);
+ childSetCommitCallback("agree_chk", updateAgree, this);
+
+ if (hasChild("tos_text"))
+ {
+ // this displays the critical message
+ LLUICtrl *tos_text = getChild<LLUICtrl>("tos_text");
+ tos_text->setEnabled( FALSE );
+ tos_text->setFocus(TRUE);
+ tos_text->setValue(LLSD(mMessage));
+
+ return TRUE;
+ }
+
+ // disable Agree to TOS radio button until the page has fully loaded
updateAgreeEnabled(false);
- // hide the SL text widget if we're displaying TOS with using a browser widget.
- LLUICtrl *editor = getChild<LLUICtrl>("tos_text");
- editor->setVisible( FALSE );
+ // hide the SL text widget if we're displaying TOS with using a browser widget.
+ LLUICtrl *editor = getChild<LLUICtrl>("tos_text");
+ editor->setVisible( FALSE );
- LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("tos_html");
- if ( web_browser )
- {
+ LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("tos_html");
+ if ( web_browser )
+ {
// if we are forced to send users to an external site in their system browser
// (e.g.) Linux users because of lack of media support for HTML ToS page
// remove exisiting UI and replace with a link to external page where users can accept ToS
#ifdef EXTERNAL_TOS
- LLTextBox* header = getChild<LLTextBox>("tos_heading");
- if (header)
- header->setVisible(false);
+ LLTextBox* header = getChild<LLTextBox>("tos_heading");
+ if (header)
+ header->setVisible(false);
- LLTextBox* external_prompt = getChild<LLTextBox>("external_tos_required");
- if (external_prompt)
- external_prompt->setVisible(true);
+ LLTextBox* external_prompt = getChild<LLTextBox>("external_tos_required");
+ if (external_prompt)
+ external_prompt->setVisible(true);
- web_browser->setVisible(false);
+ web_browser->setVisible(false);
- updateAgreeEnabled(true);
+ updateAgreeEnabled(true);
#else
- web_browser->addObserver(this);
-
- // Don't use the start_url parameter for this browser instance -- it may finish loading before we get to add our observer.
- // Store the URL separately and navigate here instead.
- web_browser->navigateTo( getString( "loading_url" ) );
- LLPluginClassMedia* media_plugin = web_browser->getMediaPlugin();
- if (media_plugin)
- {
- // All links from tos_html should be opened in external browser
- media_plugin->setOverrideClickTarget("_external");
- }
+ web_browser->addObserver(this);
+
+ // Don't use the start_url parameter for this browser instance -- it may finish loading before we get to add our observer.
+ // Store the URL separately and navigate here instead.
+ web_browser->navigateTo( getString( "loading_url" ) );
+ LLPluginClassMedia* media_plugin = web_browser->getMediaPlugin();
+ if (media_plugin)
+ {
+ // All links from tos_html should be opened in external browser
+ media_plugin->setOverrideClickTarget("_external");
+ }
#endif
- }
+ }
- return TRUE;
+ return TRUE;
}
void LLFloaterTOS::setSiteIsAlive( bool alive )
@@ -122,38 +122,38 @@ void LLFloaterTOS::setSiteIsAlive( bool alive )
// (e.g.) Linux users because of lack of media support for HTML ToS page
// force the regular HTML UI to deactivate so alternative is rendered instead.
#ifdef EXTERNAL_TOS
- mSiteAlive = false;
+ mSiteAlive = false;
#else
- mSiteAlive = alive;
-
- // only do this for TOS pages
- if (hasChild("tos_html"))
- {
- // if the contents of the site was retrieved
- if ( alive )
- {
- // navigate to the "real" page
- if(!mRealNavigateBegun && mSiteAlive)
- {
- LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("tos_html");
- if(web_browser)
- {
- mRealNavigateBegun = true;
- web_browser->navigateTo( getString( "real_url" ) );
- }
- }
- }
- else
- {
- LL_INFOS("TOS") << "ToS page: ToS page unavailable!" << LL_ENDL;
- // normally this is set when navigation to TOS page navigation completes (so you can't accept before TOS loads)
- // but if the page is unavailable, we need to do this now
- updateAgreeEnabled(true);
- LLTextBox* tos_list = getChild<LLTextBox>("agree_list");
- tos_list->setEnabled(true);
- }
- }
+ mSiteAlive = alive;
+
+ // only do this for TOS pages
+ if (hasChild("tos_html"))
+ {
+ // if the contents of the site was retrieved
+ if ( alive )
+ {
+ // navigate to the "real" page
+ if(!mRealNavigateBegun && mSiteAlive)
+ {
+ LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("tos_html");
+ if(web_browser)
+ {
+ mRealNavigateBegun = true;
+ web_browser->navigateTo( getString( "real_url" ) );
+ }
+ }
+ }
+ else
+ {
+ LL_INFOS("TOS") << "ToS page: ToS page unavailable!" << LL_ENDL;
+ // normally this is set when navigation to TOS page navigation completes (so you can't accept before TOS loads)
+ // but if the page is unavailable, we need to do this now
+ updateAgreeEnabled(true);
+ LLTextBox* tos_list = getChild<LLTextBox>("agree_list");
+ tos_list->setEnabled(true);
+ }
+ }
#endif
}
@@ -164,86 +164,86 @@ LLFloaterTOS::~LLFloaterTOS()
// virtual
void LLFloaterTOS::draw()
{
- // draw children
- LLModalDialog::draw();
+ // draw children
+ LLModalDialog::draw();
}
// update status of "Agree" checkbox and text
void LLFloaterTOS::updateAgreeEnabled(bool enabled)
{
- LLCheckBoxCtrl* tos_agreement_agree_cb = getChild<LLCheckBoxCtrl>("agree_chk");
- tos_agreement_agree_cb->setEnabled(enabled);
+ LLCheckBoxCtrl* tos_agreement_agree_cb = getChild<LLCheckBoxCtrl>("agree_chk");
+ tos_agreement_agree_cb->setEnabled(enabled);
- LLTextBox* tos_agreement_agree_text = getChild<LLTextBox>("agree_list");
- tos_agreement_agree_text->setEnabled(enabled);
+ LLTextBox* tos_agreement_agree_text = getChild<LLTextBox>("agree_list");
+ tos_agreement_agree_text->setEnabled(enabled);
}
// static
void LLFloaterTOS::updateAgree(LLUICtrl*, void* userdata )
{
- LLFloaterTOS* self = (LLFloaterTOS*) userdata;
- bool agree = self->getChild<LLUICtrl>("agree_chk")->getValue().asBoolean();
- self->getChildView("Continue")->setEnabled(agree);
+ LLFloaterTOS* self = (LLFloaterTOS*) userdata;
+ bool agree = self->getChild<LLUICtrl>("agree_chk")->getValue().asBoolean();
+ self->getChildView("Continue")->setEnabled(agree);
}
// static
void LLFloaterTOS::onContinue( void* userdata )
{
- LLFloaterTOS* self = (LLFloaterTOS*) userdata;
- LL_INFOS("TOS") << "User agrees with TOS." << LL_ENDL;
+ LLFloaterTOS* self = (LLFloaterTOS*) userdata;
+ LL_INFOS("TOS") << "User agrees with TOS." << LL_ENDL;
- if(self->mReplyPumpName != "")
- {
- LLEventPumps::instance().obtain(self->mReplyPumpName).post(LLSD(true));
- }
+ if(self->mReplyPumpName != "")
+ {
+ LLEventPumps::instance().obtain(self->mReplyPumpName).post(LLSD(true));
+ }
- self->closeFloater(); // destroys this object
+ self->closeFloater(); // destroys this object
}
// static
void LLFloaterTOS::onCancel( void* userdata )
{
- LLFloaterTOS* self = (LLFloaterTOS*) userdata;
- LL_INFOS("TOS") << "User disagrees with TOS." << LL_ENDL;
- LLNotificationsUtil::add("MustAgreeToLogIn", LLSD(), LLSD(), login_alert_done);
-
- if(self->mReplyPumpName != "")
- {
- LLEventPumps::instance().obtain(self->mReplyPumpName).post(LLSD(false));
- }
-
- // reset state for next time we come to TOS
- self->mLoadingScreenLoaded = false;
- self->mSiteAlive = false;
- self->mRealNavigateBegun = false;
-
- // destroys this object
- self->closeFloater();
+ LLFloaterTOS* self = (LLFloaterTOS*) userdata;
+ LL_INFOS("TOS") << "User disagrees with TOS." << LL_ENDL;
+ LLNotificationsUtil::add("MustAgreeToLogIn", LLSD(), LLSD(), login_alert_done);
+
+ if(self->mReplyPumpName != "")
+ {
+ LLEventPumps::instance().obtain(self->mReplyPumpName).post(LLSD(false));
+ }
+
+ // reset state for next time we come to TOS
+ self->mLoadingScreenLoaded = false;
+ self->mSiteAlive = false;
+ self->mRealNavigateBegun = false;
+
+ // destroys this object
+ self->closeFloater();
}
-//virtual
+//virtual
void LLFloaterTOS::handleMediaEvent(LLPluginClassMedia* /*self*/, EMediaEvent event)
{
- if(event == MEDIA_EVENT_NAVIGATE_COMPLETE)
- {
- if(!mLoadingScreenLoaded)
- {
- mLoadingScreenLoaded = true;
+ if(event == MEDIA_EVENT_NAVIGATE_COMPLETE)
+ {
+ if(!mLoadingScreenLoaded)
+ {
+ mLoadingScreenLoaded = true;
std::string url(getString("real_url"));
LLHandle<LLFloater> handle = getHandle();
LLCoros::instance().launch("LLFloaterTOS::testSiteIsAliveCoro",
boost::bind(&LLFloaterTOS::testSiteIsAliveCoro, handle, url));
- }
- else if(mRealNavigateBegun)
- {
- LL_INFOS("TOS") << "TOS: NAVIGATE COMPLETE" << LL_ENDL;
- // enable Agree to TOS check box now that page has loaded
- updateAgreeEnabled(true);
- }
- }
+ }
+ else if(mRealNavigateBegun)
+ {
+ LL_INFOS("TOS") << "TOS: NAVIGATE COMPLETE" << LL_ENDL;
+ // enable Agree to TOS check box now that page has loaded
+ updateAgreeEnabled(true);
+ }
+ }
}
void LLFloaterTOS::testSiteIsAliveCoro(LLHandle<LLFloater> handle, std::string url)
@@ -255,7 +255,7 @@ void LLFloaterTOS::testSiteIsAliveCoro(LLHandle<LLFloater> handle, std::string u
LLCore::HttpOptions::ptr_t httpOpts = LLCore::HttpOptions::ptr_t(new LLCore::HttpOptions);
httpOpts->setWantHeaders(true);
- httpOpts->setHeadersOnly(true);
+ httpOpts->setHeadersOnly(true);
LL_INFOS("testSiteIsAliveCoro") << "Generic POST for " << url << LL_ENDL;
@@ -271,9 +271,9 @@ void LLFloaterTOS::testSiteIsAliveCoro(LLHandle<LLFloater> handle, std::string u
}
LLFloaterTOS *that = dynamic_cast<LLFloaterTOS *>(handle.get());
-
+
if (that)
- that->setSiteIsAlive(static_cast<bool>(status));
+ that->setSiteIsAlive(static_cast<bool>(status));
else
{
LL_WARNS("testSiteIsAliveCoro") << "Handle was not a TOS floater." << LL_ENDL;