From 8924b2807585231fa40757ee4b76a0adbb2e3009 Mon Sep 17 00:00:00 2001 From: Cho Date: Fri, 30 May 2014 03:49:22 +0100 Subject: Added a popup for choosing this or all estates when adding/removing an experience in the Region/Estate floater for ACME-1436 --- indra/newview/llfloaterregioninfo.cpp | 56 +++++++++++++-- .../newview/skins/default/xui/en/notifications.xml | 84 ++++++++++++++++++++++ 2 files changed, 133 insertions(+), 7 deletions(-) diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index a63f1173d1..d2e8a4907b 100755 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -3720,15 +3720,57 @@ BOOL LLPanelRegionExperiences::sendUpdate() void LLPanelRegionExperiences::itemChanged( U32 event_type, const LLUUID& id ) { - if(id == mDefaultExperience) + std::string dialog_name; + switch (event_type) { - return; + case ESTATE_EXPERIENCE_ALLOWED_ADD: + dialog_name = "EstateAllowedExperienceAdd"; + break; + + case ESTATE_EXPERIENCE_ALLOWED_REMOVE: + dialog_name = "EstateAllowedExperienceRemove"; + break; + + case ESTATE_EXPERIENCE_TRUSTED_ADD: + dialog_name = "EstateTrustedExperienceAdd"; + break; + + case ESTATE_EXPERIENCE_TRUSTED_REMOVE: + dialog_name = "EstateTrustedExperienceRemove"; + break; + + case ESTATE_EXPERIENCE_BLOCKED_ADD: + dialog_name = "EstateBlockedExperienceAdd"; + break; + + case ESTATE_EXPERIENCE_BLOCKED_REMOVE: + dialog_name = "EstateAllowedExperienceAdd"; + break; + + default: + return; + } + + LLSD payload; + payload["operation"] = (S32)event_type; + payload["dialog_name"] = dialog_name; + payload["allowed_ids"].append(id); + + LLSD args; + args["ALL_ESTATES"] = all_estates_text(); + + LLNotification::Params params(dialog_name); + params.payload(payload) + .substitutions(args) + .functor.function(LLPanelEstateInfo::accessCoreConfirm); + if (LLPanelEstateInfo::isLindenEstate()) + { + LLNotifications::instance().forceResponse(params, 0); + } + else + { + LLNotifications::instance().add(params); } - strings_t str(3, std::string()); - gAgent.getID().toString(str[0]); - str[1] = llformat("%u", event_type); - id.toString(str[2]); - sendEstateOwnerMessage(gMessageSystem, "estateexperiencedelta", LLFloaterRegionInfo::getLastInvoice(), str); onChangeAnything(); } diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 2e804c2404..b207051ec8 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4358,6 +4358,90 @@ Remove estate manager for this estate only or for [ALL_ESTATES]? yestext="This Estate"/> + + Add to allowed list for this estate only or for [ALL_ESTATES]? + confirm + + + + + Remove from allowed list for this estate only or for [ALL_ESTATES]? + confirm + + + + + Add to blocked list for this estate only or for [ALL_ESTATES]? + confirm + + + + + Remove from blocked list for this estate only or for [ALL_ESTATES]? + confirm + + + + + Add to trusted list for this estate only or for [ALL_ESTATES]? + confirm + + + + + Remove from trusted list for this estate only or for [ALL_ESTATES]? + confirm + + +