summaryrefslogtreecommitdiff
path: root/indra/llui/llurlaction.cpp
diff options
context:
space:
mode:
authorAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
committerAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
commit1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch)
treeab243607f74f78200787bba5b9b88f07ef1b966f /indra/llui/llurlaction.cpp
parent6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff)
parente1623bb276f83a43ce7a197e388720c05bdefe61 (diff)
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
Diffstat (limited to 'indra/llui/llurlaction.cpp')
-rw-r--r--indra/llui/llurlaction.cpp234
1 files changed, 117 insertions, 117 deletions
diff --git a/indra/llui/llurlaction.cpp b/indra/llui/llurlaction.cpp
index 8216046174..b6b450c2a1 100644
--- a/indra/llui/llurlaction.cpp
+++ b/indra/llui/llurlaction.cpp
@@ -1,4 +1,4 @@
-/**
+/**
* @file llurlaction.cpp
* @author Martin Reddy
* @brief A set of actions that can performed on Urls
@@ -6,21 +6,21 @@
* $LicenseInfo:firstyear=2009&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$
*/
@@ -33,193 +33,193 @@
// global state for the callback functions
-LLUrlAction::url_callback_t LLUrlAction::sOpenURLCallback;
-LLUrlAction::url_callback_t LLUrlAction::sOpenURLInternalCallback;
-LLUrlAction::url_callback_t LLUrlAction::sOpenURLExternalCallback;
+LLUrlAction::url_callback_t LLUrlAction::sOpenURLCallback;
+LLUrlAction::url_callback_t LLUrlAction::sOpenURLInternalCallback;
+LLUrlAction::url_callback_t LLUrlAction::sOpenURLExternalCallback;
LLUrlAction::execute_url_callback_t LLUrlAction::sExecuteSLURLCallback;
void LLUrlAction::setOpenURLCallback(url_callback_t cb)
{
- sOpenURLCallback = cb;
+ sOpenURLCallback = cb;
}
void LLUrlAction::setOpenURLInternalCallback(url_callback_t cb)
{
- sOpenURLInternalCallback = cb;
+ sOpenURLInternalCallback = cb;
}
void LLUrlAction::setOpenURLExternalCallback(url_callback_t cb)
{
- sOpenURLExternalCallback = cb;
+ sOpenURLExternalCallback = cb;
}
void LLUrlAction::setExecuteSLURLCallback(execute_url_callback_t cb)
{
- sExecuteSLURLCallback = cb;
+ sExecuteSLURLCallback = cb;
}
void LLUrlAction::openURL(std::string url)
{
- if (sOpenURLCallback)
- {
- sOpenURLCallback(url);
- }
+ if (sOpenURLCallback)
+ {
+ sOpenURLCallback(url);
+ }
}
void LLUrlAction::openURLInternal(std::string url)
{
- if (sOpenURLInternalCallback)
- {
- sOpenURLInternalCallback(url);
- }
+ if (sOpenURLInternalCallback)
+ {
+ sOpenURLInternalCallback(url);
+ }
}
void LLUrlAction::openURLExternal(std::string url)
{
- if (sOpenURLExternalCallback)
- {
- sOpenURLExternalCallback(url);
- }
+ if (sOpenURLExternalCallback)
+ {
+ sOpenURLExternalCallback(url);
+ }
}
bool LLUrlAction::executeSLURL(std::string url, bool trusted_content)
{
- if (sExecuteSLURLCallback)
- {
- return sExecuteSLURLCallback(url, trusted_content);
- }
- return false;
+ if (sExecuteSLURLCallback)
+ {
+ return sExecuteSLURLCallback(url, trusted_content);
+ }
+ return false;
}
void LLUrlAction::clickAction(std::string url, bool trusted_content)
{
- // Try to handle as SLURL first, then http Url
- if ( (sExecuteSLURLCallback) && !sExecuteSLURLCallback(url, trusted_content) )
- {
- if (sOpenURLCallback)
- {
- sOpenURLCallback(url);
- }
- }
+ // Try to handle as SLURL first, then http Url
+ if ( (sExecuteSLURLCallback) && !sExecuteSLURLCallback(url, trusted_content) )
+ {
+ if (sOpenURLCallback)
+ {
+ sOpenURLCallback(url);
+ }
+ }
}
void LLUrlAction::teleportToLocation(std::string url)
{
- LLUrlMatch match;
- if (LLUrlRegistry::instance().findUrl(url, match))
- {
- if (! match.getLocation().empty())
- {
- executeSLURL("secondlife:///app/teleport/" + match.getLocation());
- }
- }
+ LLUrlMatch match;
+ if (LLUrlRegistry::instance().findUrl(url, match))
+ {
+ if (! match.getLocation().empty())
+ {
+ executeSLURL("secondlife:///app/teleport/" + match.getLocation());
+ }
+ }
}
void LLUrlAction::showLocationOnMap(std::string url)
{
- LLUrlMatch match;
- if (LLUrlRegistry::instance().findUrl(url, match))
- {
- if (! match.getLocation().empty())
- {
- executeSLURL("secondlife:///app/worldmap/" + match.getLocation());
- }
- }
+ LLUrlMatch match;
+ if (LLUrlRegistry::instance().findUrl(url, match))
+ {
+ if (! match.getLocation().empty())
+ {
+ executeSLURL("secondlife:///app/worldmap/" + match.getLocation());
+ }
+ }
}
void LLUrlAction::copyURLToClipboard(std::string url)
{
- LLView::getWindow()->copyTextToClipboard(utf8str_to_wstring(url));
+ LLView::getWindow()->copyTextToClipboard(utf8str_to_wstring(url));
}
void LLUrlAction::copyLabelToClipboard(std::string url)
{
- LLUrlMatch match;
- if (LLUrlRegistry::instance().findUrl(url, match))
- {
- LLView::getWindow()->copyTextToClipboard(utf8str_to_wstring(match.getLabel()));
- }
+ LLUrlMatch match;
+ if (LLUrlRegistry::instance().findUrl(url, match))
+ {
+ LLView::getWindow()->copyTextToClipboard(utf8str_to_wstring(match.getLabel()));
+ }
}
void LLUrlAction::showProfile(std::string url)
{
- // Get id from 'secondlife:///app/{cmd}/{id}/{action}'
- // and show its profile
- LLURI uri(url);
- LLSD path_array = uri.pathArray();
- if (path_array.size() == 4)
- {
- std::string id_str = path_array.get(2).asString();
- if (LLUUID::validate(id_str))
- {
- std::string cmd_str = path_array.get(1).asString();
- executeSLURL("secondlife:///app/" + cmd_str + "/" + id_str + "/about");
- }
- }
+ // Get id from 'secondlife:///app/{cmd}/{id}/{action}'
+ // and show its profile
+ LLURI uri(url);
+ LLSD path_array = uri.pathArray();
+ if (path_array.size() == 4)
+ {
+ std::string id_str = path_array.get(2).asString();
+ if (LLUUID::validate(id_str))
+ {
+ std::string cmd_str = path_array.get(1).asString();
+ executeSLURL("secondlife:///app/" + cmd_str + "/" + id_str + "/about");
+ }
+ }
}
std::string LLUrlAction::getUserID(std::string url)
{
- LLURI uri(url);
- LLSD path_array = uri.pathArray();
- std::string id_str;
- if (path_array.size() == 4)
- {
- id_str = path_array.get(2).asString();
- }
- return id_str;
+ LLURI uri(url);
+ LLSD path_array = uri.pathArray();
+ std::string id_str;
+ if (path_array.size() == 4)
+ {
+ id_str = path_array.get(2).asString();
+ }
+ return id_str;
}
std::string LLUrlAction::getObjectId(std::string url)
{
- LLURI uri(url);
- LLSD path_array = uri.pathArray();
- std::string id_str;
- if (path_array.size() >= 3)
- {
- id_str = path_array.get(2).asString();
- }
- return id_str;
+ LLURI uri(url);
+ LLSD path_array = uri.pathArray();
+ std::string id_str;
+ if (path_array.size() >= 3)
+ {
+ id_str = path_array.get(2).asString();
+ }
+ return id_str;
}
std::string LLUrlAction::getObjectName(std::string url)
{
- LLURI uri(url);
- LLSD query_map = uri.queryMap();
- std::string name;
- if (query_map.has("name"))
- {
- name = query_map["name"].asString();
- }
- return name;
+ LLURI uri(url);
+ LLSD query_map = uri.queryMap();
+ std::string name;
+ if (query_map.has("name"))
+ {
+ name = query_map["name"].asString();
+ }
+ return name;
}
void LLUrlAction::sendIM(std::string url)
{
- std::string id_str = getUserID(url);
- if (LLUUID::validate(id_str))
- {
- executeSLURL("secondlife:///app/agent/" + id_str + "/im");
- }
+ std::string id_str = getUserID(url);
+ if (LLUUID::validate(id_str))
+ {
+ executeSLURL("secondlife:///app/agent/" + id_str + "/im");
+ }
}
void LLUrlAction::addFriend(std::string url)
{
- std::string id_str = getUserID(url);
- if (LLUUID::validate(id_str))
- {
- executeSLURL("secondlife:///app/agent/" + id_str + "/requestfriend");
- }
+ std::string id_str = getUserID(url);
+ if (LLUUID::validate(id_str))
+ {
+ executeSLURL("secondlife:///app/agent/" + id_str + "/requestfriend");
+ }
}
void LLUrlAction::removeFriend(std::string url)
{
- std::string id_str = getUserID(url);
- if (LLUUID::validate(id_str))
- {
- executeSLURL("secondlife:///app/agent/" + id_str + "/removefriend");
- }
+ std::string id_str = getUserID(url);
+ if (LLUUID::validate(id_str))
+ {
+ executeSLURL("secondlife:///app/agent/" + id_str + "/removefriend");
+ }
}
void LLUrlAction::reportAbuse(std::string url)
@@ -233,12 +233,12 @@ void LLUrlAction::reportAbuse(std::string url)
void LLUrlAction::blockObject(std::string url)
{
- std::string object_id = getObjectId(url);
- std::string object_name = getObjectName(url);
- if (LLUUID::validate(object_id))
- {
- executeSLURL("secondlife:///app/agent/" + object_id + "/block/" + LLURI::escape(object_name));
- }
+ std::string object_id = getObjectId(url);
+ std::string object_name = getObjectName(url);
+ if (LLUUID::validate(object_id))
+ {
+ executeSLURL("secondlife:///app/agent/" + object_id + "/block/" + LLURI::escape(object_name));
+ }
}
void LLUrlAction::unblockObject(std::string url)