Login Response support for destination_guide_url, OpenSimExtras support (properly) search-server-url, and support the new destination-guide-url from OpenSimExtras

Expands SignaledType's callback to accept const Type& as argument.
typedefs Signal::slot_type to slot_t so that SignaledType can be altered without needing to update all lines setting slots.

Merges floater_directory.xml with floater_directory(2|3).xml
Condenses translations down to one xml(, finally the nightmare is over).
Better ui code support for classic find all panel
Not like anyone cares, but ShowcaseURLDefault no longer persists value changes between sessions.

Moves SearchType and getSearchUrl(SearchType ty, bool is_web) from HippoGridInfo into a namespace in llpaneldirfind.cpp, the only place where it is used; so that it may wrap the sim feature lookup.

Thanks to Shyotl for the help in dynamically maintaining tab positions for dynamic tabs.
This commit is contained in:
Inusaito Sayori
2014-07-31 08:12:00 -04:00
parent f3a48bb0f0
commit 7fee70543d
20 changed files with 359 additions and 3112 deletions

View File

@@ -60,6 +60,7 @@
#include "hippolimits.h"
#include "floaterao.h"
#include "statemachine/aifilepicker.h"
#include "lfsimfeaturehandler.h"
#include "llares.h"
#include "llavatarnamecache.h"
@@ -326,6 +327,12 @@ void callback_cache_name(const LLUUID& id, const std::string& full_name, bool is
dialog_refresh_all();
}
void simfeature_debug_update(const std::string& val, const std::string& setting)
{
//if (!val.empty()) // Singu Note: Should we only update the setting if not empty?
gSavedSettings.setString(setting, val);
}
//
// exported functionality
//
@@ -1257,6 +1264,9 @@ bool idle_startup()
requested_options.push_back("tutorial_setting");
requested_options.push_back("login-flags");
requested_options.push_back("global-textures");
// <singu> Opensim requested options
requested_options.push_back("destination_guide_url");
// </singu>
if(gSavedSettings.getBOOL("ConnectAsGod"))
{
gSavedSettings.setBOOL("UseDebugMenus", TRUE);
@@ -1575,7 +1585,8 @@ bool idle_startup()
if (process_login_success_response(password, first_sim_size_x, first_sim_size_y))
{
std::string name = firstname;
if (!gHippoGridManager->getCurrentGrid()->isSecondLife() ||
bool secondlife(gHippoGridManager->getCurrentGrid()->isSecondLife());
if (!secondlife ||
!boost::algorithm::iequals(lastname, "Resident"))
{
name += " " + lastname;
@@ -1583,6 +1594,13 @@ bool idle_startup()
if (gSavedSettings.getBOOL("LiruGridInTitle")) gWindowTitle += "- " + gHippoGridManager->getCurrentGrid()->getGridName() + " ";
gViewerWindow->getWindow()->setTitle(gWindowTitle += "- " + name);
if (!secondlife)
{
LFSimFeatureHandler& inst(LFSimFeatureHandler::instance());
inst.setDestinationGuideURLCallback(boost::bind(simfeature_debug_update, _1, "ShowcaseURLDefault"));
inst.setSearchURLCallback(boost::bind(simfeature_debug_update, _1, "SearchURL"));
}
// Pass the user information to the voice chat server interface.
LLVoiceClient::getInstance()->userAuthorized(name, gAgentID);
// create the default proximal channel
@@ -4083,7 +4101,8 @@ bool process_login_success_response(std::string& password, U32& first_sim_size_x
LLWorldMap::gotMapServerURL(true);
}
if(gHippoGridManager->getConnectedGrid()->isOpenSimulator())
bool opensim = gHippoGridManager->getConnectedGrid()->isOpenSimulator();
if (opensim)
{
std::string web_profile_url = response["web_profile_url"];
//if(!web_profile_url.empty()) // Singu Note: We're using this to check if this grid supports web profiles at all, so set empty if empty.
@@ -4176,7 +4195,12 @@ bool process_login_success_response(std::string& password, U32& first_sim_size_x
if (!tmp.empty()) gHippoGridManager->getConnectedGrid()->setPasswordUrl(tmp);
tmp = response["search"].asString();
if (!tmp.empty()) gHippoGridManager->getConnectedGrid()->setSearchUrl(tmp);
if (gHippoGridManager->getConnectedGrid()->isOpenSimulator()) gSavedSettings.setString("SearchURL", tmp); // Singu Note: For web search purposes, always set this setting
else if (opensim) tmp = gHippoGridManager->getConnectedGrid()->getSearchUrl(); // Fallback from grid info response for setting
if (opensim)
{
gSavedSettings.setString("SearchURL", tmp); // Singu Note: For web search purposes, always set this setting
gSavedSettings.setString("ShowcaseURLDefault", response["destination_guide_url"].asString());
}
tmp = response["currency"].asString();
if (!tmp.empty())
{