From 1c6bdf7aef9c878b25eabb62a2e1616c0c061708 Mon Sep 17 00:00:00 2001 From: bittenbythedark Date: Fri, 1 Mar 2019 16:23:30 +0100 Subject: [PATCH] do some magic EXPECTO PATRONUM --- README.md | 1 - indra/newview/hippogridmanager.cpp | 22 +++++++++---------- indra/newview/hippogridmanager.h | 8 +++---- indra/newview/hippopanelgrids.cpp | 20 ++++++++--------- indra/newview/lfsimfeaturehandler.cpp | 2 ++ indra/newview/lfsimfeaturehandler.h | 3 +++ indra/newview/llpanelavatar.cpp | 5 ++--- indra/newview/llpanelevent.cpp | 21 ++++++++++++++---- .../xui/en-us/panel_preferences_grids.xml | 19 +++------------- 9 files changed, 52 insertions(+), 49 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 30f944d4d..000000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# singuosfork \ No newline at end of file diff --git a/indra/newview/hippogridmanager.cpp b/indra/newview/hippogridmanager.cpp index 00047a103..315b7cf8b 100644 --- a/indra/newview/hippogridmanager.cpp +++ b/indra/newview/hippogridmanager.cpp @@ -48,8 +48,8 @@ HippoGridInfo::HippoGridInfo(const std::string& gridName) : mWebSite(LLStringUtil::null), mSupportUrl(LLStringUtil::null), mRegisterUrl(LLStringUtil::null), - mPasswordUrl(LLStringUtil::null), mPartnerUrl(LLStringUtil::null), + mPasswordUrl(LLStringUtil::null), mSearchUrl(LLStringUtil::null), mGridMessage(""), mXmlState(XML_VOID), @@ -216,16 +216,16 @@ void HippoGridInfo::setRegisterUrl(const std::string& url) mRegisterUrl = url; } -void HippoGridInfo::setPasswordUrl(const std::string& url) -{ - mPasswordUrl = url; -} - void HippoGridInfo::setPartnerUrl(const std::string& url) { mPartnerUrl = url; } +void HippoGridInfo::setPasswordUrl(const std::string& url) +{ + mPasswordUrl = url; +} + void HippoGridInfo::setSearchUrl(const std::string& url) { mSearchUrl = url; @@ -283,10 +283,10 @@ void HippoGridInfo::onXmlElementStart(void* userData, const XML_Char* name, cons self->mXmlState = XML_SUPPORT; else if ((strcasecmp(name, "register") == 0) || (strcasecmp(name, "account") == 0)) self->mXmlState = XML_REGISTER; - else if (strcasecmp(name, "password") == 0) - self->mXmlState = XML_PASSWORD; else if (strcasecmp(name, "partner") == 0) self->mXmlState = XML_PARTNER; + else if (strcasecmp(name, "password") == 0) + self->mXmlState = XML_PASSWORD; else if (strcasecmp(name, "search") == 0) self->mXmlState = XML_SEARCH; else if (strcasecmp(name, "message") == 0) @@ -355,8 +355,8 @@ void HippoGridInfo::onXmlCharacterData(void* userData, const XML_Char* s, int le case XML_WEBSITE: self->mWebSite.assign(s, len); break; case XML_SUPPORT: self->mSupportUrl.assign(s, len); break; case XML_REGISTER: self->mRegisterUrl.assign(s, len); break; - case XML_PASSWORD: self->mPasswordUrl.assign(s, len); break; case XML_PARTNER: self->mPartnerUrl.assign(s, len); break; + case XML_PASSWORD: self->mPasswordUrl.assign(s, len); break; case XML_MESSAGE: self->mGridMessage.assign(s, len); break; case XML_VOID: break; @@ -902,8 +902,8 @@ void HippoGridManager::parseData(LLSD &gridInfo, bool mergeIfNewer) if (gridMap.has("website")) grid->setWebSite(gridMap["website"]); if (gridMap.has("support")) grid->setSupportUrl(gridMap["support"]); if (gridMap.has("register")) grid->setRegisterUrl(gridMap["register"]); - if (gridMap.has("password")) grid->setPasswordUrl(gridMap["password"]); if (gridMap.has("partner")) grid->setPartnerUrl(gridMap["partner"]); + if (gridMap.has("password")) grid->setPasswordUrl(gridMap["password"]); if (gridMap.has("search")) grid->setSearchUrl(gridMap["search"]); if (gridMap.has("render_compat")) grid->setRenderCompat(gridMap["render_compat"]); if (gridMap.has("auto_update")) grid->mAutoUpdate = gridMap["auto_update"]; @@ -938,8 +938,8 @@ void HippoGridManager::saveFile() gridInfo[i]["website"] = grid->getWebSite(); gridInfo[i]["support"] = grid->getSupportUrl(); gridInfo[i]["register"] = grid->getRegisterUrl(); - gridInfo[i]["password"] = grid->getPasswordUrl(); gridInfo[i]["partner"] = grid->getPartnerUrl(); + gridInfo[i]["password"] = grid->getPasswordUrl(); gridInfo[i]["search"] = grid->getSearchUrl(); gridInfo[i]["render_compat"] = grid->isRenderCompat(); diff --git a/indra/newview/hippogridmanager.h b/indra/newview/hippogridmanager.h index 73f8b45db..8d2ae9650 100644 --- a/indra/newview/hippogridmanager.h +++ b/indra/newview/hippogridmanager.h @@ -48,8 +48,8 @@ public: const std::string& getWebSite() const { return mWebSite; } const std::string& getSupportUrl() const { return mSupportUrl; } const std::string& getRegisterUrl() const { return mRegisterUrl; } - const std::string& getPasswordUrl() const { return mPasswordUrl; } const std::string& getPartnerUrl() const { return mPartnerUrl; } + const std::string& getPasswordUrl() const { return mPasswordUrl; } // Returns the url base used for the Web Search tab const std::string& getSearchUrl() const { return mSearchUrl; } const std::string& getGridMessage() const { return mGridMessage; } @@ -76,8 +76,8 @@ public: void setWebSite (const std::string& website); void setSupportUrl(const std::string& url); void setRegisterUrl(const std::string& url); - void setPasswordUrl(const std::string& url); void setPartnerUrl(const std::string& url); + void setPasswordUrl(const std::string& url); // sets the url base used for the Web Search tab void setSearchUrl(const std::string& url); void setGridMessage(const std::string& message); @@ -113,8 +113,8 @@ private: std::string mWebSite; std::string mSupportUrl; std::string mRegisterUrl; - std::string mPasswordUrl; std::string mPartnerUrl; + std::string mPasswordUrl; std::string mSearchUrl; std::string mVoiceConnector; bool mIsInProductionGrid; @@ -137,7 +137,7 @@ private: { XML_VOID, XML_PLATFORM, XML_GRIDNAME, XML_GRIDNICK, XML_LOGINURI, XML_LOGINPAGE, XML_HELPERURI, - XML_WEBSITE, XML_SUPPORT, XML_REGISTER, XML_PASSWORD, XML_PARTNER, XML_SEARCH, XML_MESSAGE + XML_WEBSITE, XML_SUPPORT, XML_REGISTER, XML_PARTNER, XML_PASSWORD, XML_SEARCH, XML_MESSAGE }; XmlState mXmlState; diff --git a/indra/newview/hippopanelgrids.cpp b/indra/newview/hippopanelgrids.cpp index 2b1024c33..45479a697 100644 --- a/indra/newview/hippopanelgrids.cpp +++ b/indra/newview/hippopanelgrids.cpp @@ -130,8 +130,8 @@ BOOL HippoPanelGridsImpl::postBuild() requires("website"); requires("support"); requires("register"); - requires("password"); requires("partner"); + requires("password"); requires("search"); requires("btn_delete"); requires("btn_add"); @@ -245,8 +245,8 @@ void HippoPanelGridsImpl::loadCurGrid() childSetText("support", gridInfo->getSupportUrl()); childSetText("search", gridInfo->getSearchUrl()); childSetText("register", gridInfo->getRegisterUrl()); - childSetText("password", gridInfo->getPasswordUrl()); childSetText("partner", gridInfo->getPartnerUrl()); + childSetText("password", gridInfo->getPasswordUrl()); childSetValue("render_compat", gridInfo->isRenderCompat()); enableEditing(!gridInfo->getLocked()); } else { @@ -261,8 +261,8 @@ void HippoPanelGridsImpl::loadCurGrid() childSetText("support", empty); childSetText("search", empty); childSetText("register", empty); - childSetText("password", empty); childSetText("partner", empty); + childSetText("password", empty); childSetValue("render_compat", true); enableEditing(true); } @@ -364,8 +364,8 @@ bool HippoPanelGridsImpl::saveCurGrid() gridInfo->setWebSite(childGetValue("website")); gridInfo->setSupportUrl(childGetValue("support")); gridInfo->setRegisterUrl(childGetValue("register")); - gridInfo->setPasswordUrl(childGetValue("password")); gridInfo->setPartnerUrl(childGetValue("partner")); + gridInfo->setPasswordUrl(childGetValue("password")); gridInfo->setSearchUrl(childGetValue("search")); gridInfo->setRenderCompat(childGetValue("render_compat")); @@ -423,8 +423,8 @@ void HippoPanelGridsImpl::retrieveGridInfo() if (grid->getWebSite() != "") childSetText("website", grid->getWebSite()); if (grid->getSupportUrl() != "") childSetText("support", grid->getSupportUrl()); if (grid->getRegisterUrl() != "") childSetText("register", grid->getRegisterUrl()); - if (grid->getPasswordUrl() != "") childSetText("password", grid->getPasswordUrl()); if (grid->getPartnerUrl() != "") childSetText("partner", grid->getPartnerUrl()); + if (grid->getPasswordUrl() != "") childSetText("password", grid->getPasswordUrl()); if (grid->getSearchUrl() != "") childSetText("search", grid->getSearchUrl()); if (grid->getGridMessage() != "") childSetText("gridmessage", grid->getGridMessage()); } @@ -537,10 +537,10 @@ void HippoPanelGridsImpl::onClickAdvanced(void *data) self->childSetVisible("support", false); self->childSetVisible("register_label", false); self->childSetVisible("register", false); - self->childSetVisible("password_label", false); - self->childSetVisible("password", false); self->childSetVisible("partner_label", false); self->childSetVisible("partner", false); + self->childSetVisible("password_label", false); + self->childSetVisible("password", false); self->childSetVisible("search_label", false); self->childSetVisible("search", false); self->childSetVisible("render_compat", false); @@ -558,10 +558,10 @@ void HippoPanelGridsImpl::onClickAdvanced(void *data) self->childSetVisible("support", true); self->childSetVisible("register_label", true); self->childSetVisible("register", true); - self->childSetVisible("password_label", true); - self->childSetVisible("password", true); self->childSetVisible("partner_label", true); self->childSetVisible("partner", true); + self->childSetVisible("password_label", true); + self->childSetVisible("password", true); self->childSetVisible("search_label", true); self->childSetVisible("search", true); self->childSetVisible("render_compat", true); @@ -587,8 +587,8 @@ void HippoPanelGridsImpl::enableEditing(bool b) "website", "support", "register", - "password", "partner", + "password", "search", "btn_delete", "btn_gridinfo", diff --git a/indra/newview/lfsimfeaturehandler.cpp b/indra/newview/lfsimfeaturehandler.cpp index 65d1e6e55..dbdf2e5de 100644 --- a/indra/newview/lfsimfeaturehandler.cpp +++ b/indra/newview/lfsimfeaturehandler.cpp @@ -92,6 +92,7 @@ void LFSimFeatureHandler::setSupportedFeatures() mGridName = gHippoGridManager->getConnectedGrid()->getGridName() != grid_name ? grid_name : LLStringUtil::null; } } + has_feature_or_default(mEventsURL, extras, "EventsURL"); has_feature_or_default(mSayRange, extras, "say-range"); has_feature_or_default(mShoutRange, extras, "shout-range"); has_feature_or_default(mWhisperRange, extras, "whisper-range"); @@ -105,6 +106,7 @@ void LFSimFeatureHandler::setSupportedFeatures() mMapServerURL = LLStringUtil::null; mSearchURL.reset(); mGridName.reset(); + mEventsURL.reset(); } mSayRange.reset(); mShoutRange.reset(); diff --git a/indra/newview/lfsimfeaturehandler.h b/indra/newview/lfsimfeaturehandler.h index 893edb5a0..9b7554e32 100644 --- a/indra/newview/lfsimfeaturehandler.h +++ b/indra/newview/lfsimfeaturehandler.h @@ -65,6 +65,7 @@ public: boost::signals2::connection setSupportsExportCallback(const SignaledType::slot_t& slot) { return mSupportsExport.connect(slot); } boost::signals2::connection setDestinationGuideURLCallback(const SignaledType::slot_t& slot) { return mDestinationGuideURL.connect(slot); } boost::signals2::connection setSearchURLCallback(const SignaledType::slot_t& slot) { return mSearchURL.connect(slot); } + boost::signals2::connection setEventsURLCallback(const SignaledType::slot_t& slot) { return mEventsURL.connect(slot); } boost::signals2::connection setSayRangeCallback(const SignaledType::slot_t& slot) { return mSayRange.connect(slot); } boost::signals2::connection setShoutRangeCallback(const SignaledType::slot_t& slot) { return mShoutRange.connect(slot); } boost::signals2::connection setWhisperRangeCallback(const SignaledType::slot_t& slot) { return mWhisperRange.connect(slot); } @@ -74,6 +75,7 @@ public: std::string destinationGuideURL() const { return mDestinationGuideURL; } std::string mapServerURL() const { return mMapServerURL; } std::string searchURL() const { return mSearchURL; } + const std::string& getEventsURL() const { return mEventsURL.ref(); } const std::string& gridName() const { return mGridName.ref(); } U32 sayRange() const { return mSayRange; } U32 shoutRange() const { return mShoutRange; } @@ -87,6 +89,7 @@ private: std::string mMapServerURL; SignaledType mSearchURL; SignaledType mGridName; + SignaledType mEventsURL; SignaledType mSayRange; SignaledType mShoutRange; SignaledType mWhisperRange; diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index 1f4d5ea53..09ab17196 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -70,9 +70,8 @@ #include #include -//Include Gridmanager for Profile -#include "hippogridmanager.h" -#include "hippopanelgrids.h" + +#include "hippogridmanager.h" // Include Gridmanager for OpenSim Support in profiles, provides ability for the helpbutton to redirect to GRID Websites Help page // [RLVa:KB] #include "rlvhandler.h" diff --git a/indra/newview/llpanelevent.cpp b/indra/newview/llpanelevent.cpp index 5295d97b8..21efbafd9 100644 --- a/indra/newview/llpanelevent.cpp +++ b/indra/newview/llpanelevent.cpp @@ -54,6 +54,8 @@ #include "llweb.h" #include "llworldmap.h" #include "lluictrlfactory.h" +#include "hippogridmanager.h" +#include "lfsimfeaturehandler.h" //static std::list LLPanelEvent::sAllPanels; @@ -69,6 +71,10 @@ LLPanelEvent::~LLPanelEvent() sAllPanels.remove(this); } +void enable_create(const std::string& url, LLView* btn) +{ + btn->setEnabled(!url.empty()); +} BOOL LLPanelEvent::postBuild() { @@ -97,8 +103,15 @@ BOOL LLPanelEvent::postBuild() mNotifyBtn = getChild( "notify_btn"); mNotifyBtn->setClickedCallback(boost::bind(&LLPanelEvent::onClickNotify,this)); - mCreateEventBtn = getChild( "create_event_btn"); - mCreateEventBtn->setClickedCallback(boost::bind(&LLPanelEvent::onClickCreateEvent,this)); + mCreateEventBtn = getChild("create_event_btn"); + mCreateEventBtn->setClickedCallback(boost::bind(&LLPanelEvent::onClickCreateEvent, this)); + if (!gHippoGridManager->getConnectedGrid()->isSecondLife()) + { + auto& inst(LFSimFeatureHandler::instance()); + mCreateEventBtn->setEnabled(!inst.getEventsURL().empty()); + inst.setEventsURLCallback(boost::bind(enable_create, _1, mCreateEventBtn)); + } + return TRUE; } @@ -286,8 +299,8 @@ bool LLPanelEvent::callbackCreateEventWebPage(const LLSD& notification, const LL if (0 == option) { LL_INFOS() << "Loading events page " << EVENTS_URL << LL_ENDL; - - LLWeb::loadURL(EVENTS_URL); + const std::string& opensim_events = LFSimFeatureHandler::instance().getEventsURL(); + LLWeb::loadURL(opensim_events.empty() ? EVENTS_URL : opensim_events); } return false; } diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_grids.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_grids.xml index 59f38f138..ef6d5c312 100644 --- a/indra/newview/skins/default/xui/en-us/panel_preferences_grids.xml +++ b/indra/newview/skins/default/xui/en-us/panel_preferences_grids.xml @@ -211,22 +211,9 @@ font="SansSerifSmall" follows="left|top|right" border_visible="false" mouse_opaque="false" drop_shadow_visible="true" border_drop_shadow_visible="false" /> - - - Partner URL: - - + + Partner URL: +