diff options
| author | Hecklezz <tj8@live.com.au> | 2026-01-06 02:34:42 +1000 |
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-01-05 21:59:46 +0200 |
| commit | edb294a8fef8d8b157fa6bdcf04fdd6fcd9af862 (patch) | |
| tree | 2dc22633779662b57543ae6df72ed4ed3371ad85 /indra/newview/llfloatermarketplace.cpp | |
| parent | 23bfecf0b1dd92efcd743ec00637cd1122220fb9 (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.cpp | 35 |
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()); +} |
