summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatermarketplace.cpp
diff options
context:
space:
mode:
authorHecklezz <tj8@live.com.au>2026-01-06 02:34:42 +1000
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-01-05 21:59:46 +0200
commitedb294a8fef8d8b157fa6bdcf04fdd6fcd9af862 (patch)
tree2dc22633779662b57543ae6df72ed4ed3371ad85 /indra/newview/llfloatermarketplace.cpp
parent23bfecf0b1dd92efcd743ec00637cd1122220fb9 (diff)
Use the marketplace floater when a SL Marketplace URL is clicked
Signed-off-by: Hecklezz <tj8@live.com.au>
Diffstat (limited to 'indra/newview/llfloatermarketplace.cpp')
-rw-r--r--indra/newview/llfloatermarketplace.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/indra/newview/llfloatermarketplace.cpp b/indra/newview/llfloatermarketplace.cpp
index 7316d7617d..2a67e75fec 100644
--- a/indra/newview/llfloatermarketplace.cpp
+++ b/indra/newview/llfloatermarketplace.cpp
@@ -39,6 +39,26 @@ LLFloaterMarketplace::~LLFloaterMarketplace()
{
}
+void LLFloaterMarketplace::onOpen(const LLSD& key)
+{
+ Params params(key);
+
+ if (!params.validateBlock())
+ {
+ closeFloater();
+ return;
+ }
+
+ if (params.url().empty())
+ {
+ openMarketplace();
+ }
+ else
+ {
+ openMarketplaceURL(params.url);
+ }
+}
+
// just to override LLFloaterWebContent
void LLFloaterMarketplace::onClose(bool app_quitting)
{
@@ -68,3 +88,18 @@ void LLFloaterMarketplace::openMarketplace()
mWebBrowser->navigateTo(url, HTTP_CONTENT_TEXT_HTML);
}
}
+
+void LLFloaterMarketplace::openMarketplaceURL(const std::string& url)
+{
+ if (mCurrentURL != url)
+ {
+ mWebBrowser->navigateTo(url, HTTP_CONTENT_TEXT_HTML);
+ }
+}
+
+// static
+bool LLFloaterMarketplace::isMarketplaceURL(const std::string& url)
+{
+ static LLCachedControl<std::string> marketplace_url(gSavedSettings, "MarketplaceURL", "https://marketplace.secondlife.com/");
+ return url.starts_with(marketplace_url());
+}