SL-14203 add menu items to open Linden Homes and Premium Membership web pages

master
Mnikolenko Productengine 2020-11-06 19:41:21 +02:00
parent b484a27365
commit 8aa41b9e1c
6 changed files with 86 additions and 9 deletions

View File

@ -51,6 +51,9 @@
#include "llgroupactions.h"
const std::string LINDEN_HOMES_SKU = "131";
bool LLFloaterLandHoldings::sHasLindenHome = false;
// protected
LLFloaterLandHoldings::LLFloaterLandHoldings(const LLSD& key)
: LLFloater(key),
@ -148,10 +151,24 @@ void LLFloaterLandHoldings::refresh()
void LLFloaterLandHoldings::processPlacesReply(LLMessageSystem* msg, void**)
{
LLFloaterLandHoldings* self = LLFloaterReg::findTypedInstance<LLFloaterLandHoldings>("land_holdings");
// Is this packet from an old, closed window?
S32 count = msg->getNumberOfBlocks("QueryData");
std::string land_sku;
sHasLindenHome = false;
if (!self)
{
for (S32 i = 0; i < count; i++)
{
if ( msg->getSizeFast(_PREHASH_QueryData, i, _PREHASH_ProductSKU) > 0 )
{
msg->getStringFast( _PREHASH_QueryData, _PREHASH_ProductSKU, land_sku, i);
if (LINDEN_HOMES_SKU == land_sku)
{
sHasLindenHome = true;
return;
}
}
}
return;
}
@ -174,12 +191,9 @@ void LLFloaterLandHoldings::processPlacesReply(LLMessageSystem* msg, void**)
F32 global_x;
F32 global_y;
std::string sim_name;
std::string land_sku;
std::string land_type;
S32 i;
S32 count = msg->getNumberOfBlocks("QueryData");
for (i = 0; i < count; i++)
for (S32 i = 0; i < count; i++)
{
msg->getUUID("QueryData", "OwnerID", owner_id, i);
msg->getString("QueryData", "Name", name, i);
@ -196,6 +210,10 @@ void LLFloaterLandHoldings::processPlacesReply(LLMessageSystem* msg, void**)
msg->getStringFast( _PREHASH_QueryData, _PREHASH_ProductSKU, land_sku, i);
LL_INFOS() << "Land sku: " << land_sku << LL_ENDL;
land_type = LLProductInfoRequestManager::instance().getDescriptionForSku(land_sku);
if (LINDEN_HOMES_SKU == land_sku)
{
sHasLindenHome = true;
}
}
else
{

View File

@ -57,6 +57,8 @@ public:
static void onGrantList(void* data);
static bool sHasLindenHome;
protected:
void refreshAggregates();

View File

@ -128,10 +128,12 @@
#include "llpanelpick.h"
#include "llpanelgrouplandmoney.h"
#include "llpanelgroupnotices.h"
#include "llparcel.h"
#include "llpreview.h"
#include "llpreviewscript.h"
#include "llproxy.h"
#include "llproductinforequest.h"
#include "llqueryflags.h"
#include "llselectmgr.h"
#include "llsky.h"
#include "llstatview.h"
@ -2258,6 +2260,14 @@ bool idle_startup()
gAgentAvatarp->sendHoverHeight();
// look for parcels we own
send_places_query(LLUUID::null,
LLUUID::null,
"",
DFQ_AGENT_OWNED,
LLParcel::C_ANY,
"");
return TRUE;
}

View File

@ -64,6 +64,7 @@
#include "llfloaterimcontainer.h"
#include "llfloaterland.h"
#include "llfloaterimnearbychat.h"
#include "llfloaterlandholdings.h"
#include "llfloaterpathfindingcharacters.h"
#include "llfloaterpathfindinglinksets.h"
#include "llfloaterpay.h"
@ -5886,6 +5887,16 @@ class LLWorldSetHomeLocation : public view_listener_t
}
};
class LLWorldLindenHome : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
std::string url = LLFloaterLandHoldings::sHasLindenHome ? LLTrans::getString("lindenhomes_my_home_url") : LLTrans::getString("lindenhomes_get_home_url");
LLWeb::loadURL(url);
return true;
}
};
class LLWorldTeleportHome : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@ -8735,6 +8746,17 @@ public:
}
};
class LLUpdateMembershipLabel : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
const std::string label_str = LLAgentBenefitsMgr::isCurrent("Base") ? LLTrans::getString("MembershipUpgradeText") : LLTrans::getString("MembershipPremiumText");
gMenuHolder->childSetLabelArg("Membership", "[Membership]", label_str);
return true;
}
};
void handle_voice_morphing_subscribe()
{
LLWeb::loadURL(LLTrans::getString("voice_morphing_url"));
@ -8884,6 +8906,8 @@ void initialize_menus()
view_listener_t::addEnable(new LLUploadCostCalculator(), "Upload.CalculateCosts");
view_listener_t::addEnable(new LLUpdateMembershipLabel(), "Membership.UpdateLabel");
enable.add("Conversation.IsConversationLoggingAllowed", boost::bind(&LLFloaterIMContainer::isConversationLoggingAllowed));
// Agent
@ -8960,6 +8984,7 @@ void initialize_menus()
view_listener_t::addMenu(new LLWorldTeleportHome(), "World.TeleportHome");
view_listener_t::addMenu(new LLWorldSetAway(), "World.SetAway");
view_listener_t::addMenu(new LLWorldSetDoNotDisturb(), "World.SetDoNotDisturb");
view_listener_t::addMenu(new LLWorldLindenHome(), "World.LindenHome");
view_listener_t::addMenu(new LLWorldEnableCreateLandmark(), "World.EnableCreateLandmark");
view_listener_t::addMenu(new LLWorldEnableSetHomeLocation(), "World.EnableSetHomeLocation");

View File

@ -213,6 +213,15 @@
name="ManageMyAccount_url"
parameter="WebLaunchJoinNow,http://secondlife.com/account/" />
</menu_item_call>
<menu_item_call
label="[Membership]"
name="Membership">
<menu_item_call.on_click
function="Advanced.ShowURL"
parameter="https://secondlife.com/my/account/membership.php"/>
<menu_item_call.on_visible
function="Membership.UpdateLabel"/>
</menu_item_call>
<menu_item_separator/>
@ -524,12 +533,18 @@
parameter="region_info" />
</menu_item_call>
<menu_item_call
label="My land holdings..."
name="My Land">
label="My Linden Home..."
name="Linden Home">
<menu_item_call.on_click
function="World.LindenHome"/>
</menu_item_call>
<menu_item_call
label="My land holdings..."
name="My Land">
<menu_item_call.on_click
function="Floater.Show"
parameter="land_holdings" />
</menu_item_call>
</menu_item_call>
<menu_item_call
label="Buy this land"
name="Buy Land">

View File

@ -3768,6 +3768,10 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
<string name="voice_morphing_url">https://secondlife.com/destination/voice-island</string>
<string name="premium_voice_morphing_url">https://secondlife.com/destination/voice-morphing-premium</string>
<string name="lindenhomes_get_home_url">https://secondlife.com/land/lindenhomes/member.php</string>
<string name="lindenhomes_my_home_url">https://land.secondlife.com/en-Us/lindenhomes/my-home.php</string>
<string name="membership_url">https://secondlife.com/my/account/membership.php</string>
<!-- Financial operations strings -->
<string name="paid_you_ldollars">[NAME] paid you L$[AMOUNT] [REASON].</string>
<string name="paid_you_ldollars_gift">[NAME] paid you L$[AMOUNT]: [REASON]</string>
@ -3959,6 +3963,9 @@ Please check http://status.secondlifegrid.net to see if there is a known problem
<string name="Premium PlusMembership">Premium Plus</string>
<string name="InternalMembership">Internal</string> <!-- No need to translate -->
<string name="MembershipUpgradeText">Upgrade to Premium</string>
<string name="MembershipPremiumText">My Premium membership</string>
<!-- Question strings for delete items notifications -->
<string name="DeleteItems">Delete selected items?</string>
<string name="DeleteItem">Delete selected item?</string>