From 17a04f8231a0787a7e72c7b3ad5cf37b08a466d0 Mon Sep 17 00:00:00 2001 From: Roxie Linden <roxie@lindenlab.com> Date: Tue, 12 Oct 2010 17:49:36 -0700 Subject: [PATCH] EVE-47 - Event formatting should appear in "Profile" window EVE-74 - Change in-viewer support for 'notify me' to be maintainable via app slurl EVE-72 - Modify viewer to make the event profile window be an html control This is basically a reworking of the event profile display to remove all in-viewer specific event display rendering, in preparation for richtext descriptions. Most was removal of code. --- indra/newview/CMakeLists.txt | 2 - indra/newview/app_settings/settings.xml | 11 + indra/newview/lleventinfo.cpp | 98 ----- indra/newview/lleventinfo.h | 74 ---- indra/newview/lleventnotifier.cpp | 336 ++++++++---------- indra/newview/lleventnotifier.h | 29 +- indra/newview/llfloaterevent.cpp | 291 ++------------- indra/newview/llfloaterevent.h | 46 +-- indra/newview/llfloaterworldmap.h | 1 - indra/newview/llstartup.cpp | 11 +- .../skins/default/xui/da/floater_event.xml | 107 ++---- .../skins/default/xui/da/notifications.xml | 3 +- .../skins/default/xui/de/floater_event.xml | 104 ++---- .../skins/default/xui/de/notifications.xml | 3 +- .../skins/default/xui/en/floater_event.xml | 330 ++--------------- .../skins/default/xui/en/notifications.xml | 8 +- .../skins/default/xui/es/floater_event.xml | 107 ++---- .../skins/default/xui/es/notifications.xml | 3 +- .../skins/default/xui/fr/floater_event.xml | 104 ++---- .../skins/default/xui/fr/notifications.xml | 3 +- .../skins/default/xui/it/floater_event.xml | 107 ++---- .../skins/default/xui/it/notifications.xml | 3 +- .../skins/default/xui/ja/floater_event.xml | 104 ++---- .../skins/default/xui/ja/notifications.xml | 3 +- .../skins/default/xui/nl/notifications.xml | 3 +- .../skins/default/xui/pl/floater_event.xml | 107 ++---- .../skins/default/xui/pl/notifications.xml | 3 +- .../skins/default/xui/pt/floater_event.xml | 107 ++---- .../skins/default/xui/pt/notifications.xml | 3 +- 29 files changed, 555 insertions(+), 1556 deletions(-) delete mode 100644 indra/newview/lleventinfo.cpp delete mode 100644 indra/newview/lleventinfo.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index d685e6ae362..e15cc368e64 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -139,7 +139,6 @@ set(viewer_SOURCE_FILES lldriverparam.cpp lldynamictexture.cpp llemote.cpp - lleventinfo.cpp lleventnotifier.cpp lleventpoll.cpp llexpandabletextbox.cpp @@ -667,7 +666,6 @@ set(viewer_HEADER_FILES lldriverparam.h lldynamictexture.h llemote.h - lleventinfo.h lleventnotifier.h lleventpoll.h llexpandabletextbox.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0bed37b96a3..a3c43cb21af 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2875,6 +2875,17 @@ <key>Value</key> <integer>175</integer> </map> + <key>EventURL</key> + <map> + <key>Comment</key> + <string>URL for Event website, displayed in the event floater</string> + <key>Persist</key> + <integer>0</integer> + <key>Type</key> + <string>String</string> + <key>Value</key> + <string>http://search.secondlife.com/viewer/embed/event/</string> + </map> <key>EveryoneCopy</key> <map> <key>Comment</key> diff --git a/indra/newview/lleventinfo.cpp b/indra/newview/lleventinfo.cpp deleted file mode 100644 index b7b4e10b17e..00000000000 --- a/indra/newview/lleventinfo.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/** - * @file lleventinfo.cpp - * @brief LLEventInfo class implementation - * - * $LicenseInfo:firstyear=2004&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$ - */ - -#include "llviewerprecompiledheaders.h" -#include "lleventinfo.h" - -#include "lluuid.h" -#include "message.h" - -LLEventInfo::cat_map LLEventInfo::sCategories; - -void LLEventInfo::unpack(LLMessageSystem *msg) -{ - U32 event_id; - msg->getU32("EventData", "EventID", event_id); - mID = event_id; - - msg->getString("EventData", "Name", mName); - - msg->getString("EventData", "Category", mCategoryStr); - - msg->getString("EventData", "Date", mTimeStr); - - U32 duration; - msg->getU32("EventData","Duration",duration); - mDuration = duration; - - U32 date; - msg->getU32("EventData", "DateUTC", date); - mUnixTime = date; - - msg->getString("EventData", "Desc", mDesc); - - std::string buffer; - msg->getString("EventData", "Creator", buffer); - mRunByID = LLUUID(buffer); - - U32 foo; - msg->getU32("EventData", "Cover", foo); - - mHasCover = foo ? TRUE : FALSE; - if (mHasCover) - { - U32 cover; - msg->getU32("EventData", "Amount", cover); - mCover = cover; - } - - msg->getString("EventData", "SimName", mSimName); - - msg->getVector3d("EventData", "GlobalPos", mPosGlobal); - - // Mature content - U32 event_flags; - msg->getU32("EventData", "EventFlags", event_flags); - mEventFlags = event_flags; -} - -// static -void LLEventInfo::loadCategories(const LLSD& options) -{ - for(LLSD::array_const_iterator resp_it = options.beginArray(), - end = options.endArray(); resp_it != end; ++resp_it) - { - LLSD name = (*resp_it)["category_name"]; - if(name.isDefined()) - { - LLSD id = (*resp_it)["category_id"]; - if(id.isDefined()) - { - LLEventInfo::sCategories[id.asInteger()] = name.asString(); - } - } - } -} diff --git a/indra/newview/lleventinfo.h b/indra/newview/lleventinfo.h deleted file mode 100644 index 958a276fbf1..00000000000 --- a/indra/newview/lleventinfo.h +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @file lleventinfo.h - * @brief LLEventInfo class definition - * - * $LicenseInfo:firstyear=2004&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$ - */ - -#ifndef LL_LLEVENTINFO_H -#define LL_LLEVENTINFO_H - -#include <map> - -#include "v3dmath.h" -#include "lluuid.h" - -class LLMessageSystem; - -class LLEventInfo -{ -public: - LLEventInfo() : - mID(0), - mDuration(0), - mUnixTime(0), - mHasCover(FALSE), - mCover(0), - mEventFlags(0), - mSelected(FALSE) - {} - - void unpack(LLMessageSystem *msg); - - static void loadCategories(const LLSD& options); - -public: - std::string mName; - U32 mID; - std::string mDesc; - std::string mCategoryStr; - U32 mDuration; - std::string mTimeStr; - LLUUID mRunByID; - std::string mSimName; - LLVector3d mPosGlobal; - time_t mUnixTime; // seconds from 1970 - BOOL mHasCover; - U32 mCover; - U32 mEventFlags; - BOOL mSelected; - - typedef std::map<U32, std::string> cat_map; - static cat_map sCategories; -}; - -#endif // LL_LLEVENTINFO_H diff --git a/indra/newview/lleventnotifier.cpp b/indra/newview/lleventnotifier.cpp index 68559a42368..bedab75f982 100644 --- a/indra/newview/lleventnotifier.cpp +++ b/indra/newview/lleventnotifier.cpp @@ -31,10 +31,63 @@ #include "llnotificationsutil.h" #include "message.h" -#include "lleventinfo.h" #include "llfloaterreg.h" #include "llfloaterworldmap.h" +#include "llfloaterevent.h" #include "llagent.h" +#include "llcommandhandler.h" // secondlife:///app/... support + +class LLEventHandler : public LLCommandHandler +{ +public: + // requires trusted browser to trigger + LLEventHandler() : LLCommandHandler("event", UNTRUSTED_THROTTLE) { } + bool handle(const LLSD& params, const LLSD& query_map, + LLMediaCtrl* web) + { + if (params.size() < 2) + { + return false; + } + std::string event_command = params[1].asString(); + S32 event_id = params[0].asInteger(); + if(event_command == "details") + { + LLFloaterEvent* floater = LLFloaterReg::getTypedInstance<LLFloaterEvent>("event"); + if (floater) + { + floater->setEventID(event_id); + LLFloaterReg::showTypedInstance<LLFloaterEvent>("event"); + return true; + } + } + else if(event_command == "notify") + { + // we're adding or removing a notification, so grab the date, name and notification bool + if (params.size() < 3) + { + return false; + } + if(params[2].asString() == "enable") + { + gEventNotifier.add(event_id); + // tell the server to modify the database as this was a slurl event notification command + gEventNotifier.serverPushRequest(event_id, true); + + } + else + { + gEventNotifier.remove(event_id); + } + return true; + } + + + return false; + } +}; +LLEventHandler gEventHandler; + LLEventNotifier gEventNotifier; @@ -63,31 +116,102 @@ void LLEventNotifier::update() // Check our notifications again and send out updates // if they happen. - time_t alert_time = time_corrected() + 5 * 60; + F64 alert_time = LLDate::now().secondsSinceEpoch() + 5 * 60; en_map::iterator iter; for (iter = mEventNotifications.begin(); iter != mEventNotifications.end();) { LLEventNotification *np = iter->second; - if (np->getEventDate() < (alert_time)) + iter++; + if (np->getEventDateEpoch() < alert_time) { LLSD args; args["NAME"] = np->getEventName(); + args["DATE"] = np->getEventDateStr(); LLNotificationsUtil::add("EventNotification", args, LLSD(), - boost::bind(&LLEventNotification::handleResponse, np, _1, _2)); - mEventNotifications.erase(iter++); + boost::bind(&LLEventNotifier::handleResponse, this, np->getEventID(), _1, _2)); + remove(np->getEventID()); + } - else + } + mNotificationTimer.reset(); + } +} + + + +bool LLEventNotifier::handleResponse(U32 eventId, const LLSD& notification, const LLSD& response) +{ + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + switch (option) + { + case 0: + { + LLFloaterEvent* floater = LLFloaterReg::getTypedInstance<LLFloaterEvent>("event"); + if (floater) { - iter++; + floater->setEventID(eventId); + LLFloaterReg::showTypedInstance<LLFloaterEvent>("event"); } + break; } - mNotificationTimer.reset(); + case 1: + break; } + return true; } +bool LLEventNotifier::add(U32 eventId, F64 eventEpoch, const std::string& eventDateStr, const std::string &eventName) +{ + LLEventNotification *new_enp = new LLEventNotification(eventId, eventEpoch, eventDateStr, eventName); + + llinfos << "Add event " << eventName << " id " << eventId << " date " << eventDateStr << llendl; + if(!new_enp->isValid()) + { + delete new_enp; + return false; + } + + mEventNotifications[new_enp->getEventID()] = new_enp; + return true; + +} + +void LLEventNotifier::add(U32 eventId) +{ + + gMessageSystem->newMessageFast(_PREHASH_EventInfoRequest); + gMessageSystem->nextBlockFast(_PREHASH_AgentData); + gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); + gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); + gMessageSystem->nextBlockFast(_PREHASH_EventData); + gMessageSystem->addU32Fast(_PREHASH_EventID, eventId); + gAgent.sendReliableMessage(); + +} + +//static +void LLEventNotifier::processEventInfoReply(LLMessageSystem *msg, void **) +{ + // extract the agent id + LLUUID agent_id; + U32 event_id; + std::string event_name; + std::string eventd_date; + U32 event_time_utc; + + msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); + msg->getU32("EventData", "EventID", event_id); + msg->getString("EventData", "Name", event_name); + msg->getString("EventData", "Date", eventd_date); + msg->getU32("EventData", "DateUTC", event_time_utc); + + gEventNotifier.add(event_id, (F64)event_time_utc, eventd_date, event_name); +} + + void LLEventNotifier::load(const LLSD& event_options) { for(LLSD::array_const_iterator resp_it = event_options.beginArray(), @@ -95,15 +219,7 @@ void LLEventNotifier::load(const LLSD& event_options) { LLSD response = *resp_it; - LLEventNotification *new_enp = new LLEventNotification(); - - if(!new_enp->load(response)) - { - delete new_enp; - continue; - } - - mEventNotifications[new_enp->getEventID()] = new_enp; + add(response["event_id"].asInteger(), response["event_date_ut"], response["event_date"].asString(), response["event_name"].asString()); } } @@ -117,32 +233,6 @@ BOOL LLEventNotifier::hasNotification(const U32 event_id) return FALSE; } - -void LLEventNotifier::add(LLEventInfo &event_info) -{ - // We need to tell the simulator that we want to pay attention to - // this event, as well as add it to our list. - - if (mEventNotifications.find(event_info.mID) != mEventNotifications.end()) - { - // We already have a notification for this event, don't bother. - return; - } - - // Push up a message to tell the server we have this notification. - gMessageSystem->newMessage("EventNotificationAddRequest"); - gMessageSystem->nextBlockFast(_PREHASH_AgentData); - gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); - gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); - gMessageSystem->nextBlock("EventData"); - gMessageSystem->addU32("EventID", event_info.mID); - gAgent.sendReliableMessage(); - - LLEventNotification *enp = new LLEventNotification; - enp->load(event_info); - mEventNotifications[event_info.mID] = enp; -} - void LLEventNotifier::remove(const U32 event_id) { en_map::iterator iter; @@ -153,164 +243,36 @@ void LLEventNotifier::remove(const U32 event_id) return; } - // Push up a message to tell the server to remove this notification. - gMessageSystem->newMessage("EventNotificationRemoveRequest"); + serverPushRequest(event_id, false); + delete iter->second; + mEventNotifications.erase(iter); +} + + +void LLEventNotifier::serverPushRequest(U32 event_id, bool add) +{ + // Push up a message to tell the server we have this notification. + gMessageSystem->newMessage(add?"EventNotificationAddRequest":"EventNotificationRemoveRequest"); gMessageSystem->nextBlockFast(_PREHASH_AgentData); gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); gMessageSystem->nextBlock("EventData"); gMessageSystem->addU32("EventID", event_id); gAgent.sendReliableMessage(); - - delete iter->second; - mEventNotifications.erase(iter); -} - -LLEventNotification::LLEventNotification() : - mEventID(0), - mEventDate(0), - mEventName("") -{ } -LLEventNotification::~LLEventNotification() +LLEventNotification::LLEventNotification(U32 eventId, F64 eventEpoch, const std::string& eventDateStr, const std::string &eventName) : + mEventID(eventId), + mEventName(eventName), + mEventDateEpoch(eventEpoch), + mEventDateStr(eventDateStr) { + } -bool LLEventNotification::handleResponse(const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - switch (option) - { - case 0: - { - gAgent.teleportViaLocation(getEventPosGlobal()); - LLFloaterWorldMap* floater_world_map = LLFloaterWorldMap::getInstance(); - if(floater_world_map) floater_world_map->trackLocation(getEventPosGlobal()); - break; - } - case 1: - LLFloaterReg::showInstance("search", LLSD().with("category", "events").with("id", S32(getEventID()))); - break; - case 2: - break; - } - // We could clean up the notification on the server now if we really wanted to. - return false; -} -BOOL LLEventNotification::load(const LLSD& response) -{ - BOOL event_ok = TRUE; - LLSD option = response.get("event_id"); - if (option.isDefined()) - { - mEventID = option.asInteger(); - } - else - { - event_ok = FALSE; - } - option = response.get("event_name"); - if (option.isDefined()) - { - llinfos << "Event: " << option.asString() << llendl; - mEventName = option.asString(); - } - else - { - event_ok = FALSE; - } - option = response.get("event_date"); - if (option.isDefined()) - { - llinfos << "EventDate: " << option.asString() << llendl; - mEventDateStr = option.asString(); - } - else - { - event_ok = FALSE; - } - - option = response.get("event_date_ut"); - if (option.isDefined()) - { - llinfos << "EventDate: " << option.asString() << llendl; - mEventDate = strtoul(option.asString().c_str(), NULL, 10); - } - else - { - event_ok = FALSE; - } - - S32 grid_x = 0; - S32 grid_y = 0; - S32 x_region = 0; - S32 y_region = 0; - - option = response.get("grid_x"); - if (option.isDefined()) - { - llinfos << "GridX: " << option.asInteger() << llendl; - grid_x= option.asInteger(); - } - else - { - event_ok = FALSE; - } - - option = response.get("grid_y"); - if (option.isDefined()) - { - llinfos << "GridY: " << option.asInteger() << llendl; - grid_y = option.asInteger(); - } - else - { - event_ok = FALSE; - } - - option = response.get("x_region"); - if (option.isDefined()) - { - llinfos << "RegionX: " << option.asInteger() << llendl; - x_region = option.asInteger(); - } - else - { - event_ok = FALSE; - } - - option = response.get("y_region"); - if (option.isDefined()) - { - llinfos << "RegionY: " << option.asInteger() << llendl; - y_region = option.asInteger(); - } - else - { - event_ok = FALSE; - } - - mEventPosGlobal.mdV[VX] = grid_x * 256 + x_region; - mEventPosGlobal.mdV[VY] = grid_y * 256 + y_region; - mEventPosGlobal.mdV[VZ] = 0.f; - - return event_ok; -} - -BOOL LLEventNotification::load(const LLEventInfo &event_info) -{ - - mEventID = event_info.mID; - mEventName = event_info.mName; - mEventDateStr = event_info.mTimeStr; - mEventDate = event_info.mUnixTime; - mEventPosGlobal = event_info.mPosGlobal; - return TRUE; -} diff --git a/indra/newview/lleventnotifier.h b/indra/newview/lleventnotifier.h index 0367fc47b03..697a7087620 100644 --- a/indra/newview/lleventnotifier.h +++ b/indra/newview/lleventnotifier.h @@ -30,7 +30,6 @@ #include "llframetimer.h" #include "v3dmath.h" -class LLEventInfo; class LLEventNotification; @@ -41,15 +40,21 @@ class LLEventNotifier virtual ~LLEventNotifier(); void update(); // Notify the user of the event if it's coming up + bool add(U32 eventId, F64 eventEpoch, const std::string& eventDateStr, const std::string &eventName); + void add(U32 eventId); + void load(const LLSD& event_options); // In the format that it comes in from login - void add(LLEventInfo &event_info); // Add a new notification for an event void remove(U32 event_id); BOOL hasNotification(const U32 event_id); + void serverPushRequest(U32 event_id, bool add); typedef std::map<U32, LLEventNotification *> en_map; + bool handleResponse(U32 eventId, const LLSD& notification, const LLSD& response); + static void processEventInfoReply(LLMessageSystem *msg, void **); + protected: en_map mEventNotifications; LLFrameTimer mNotificationTimer; @@ -59,25 +64,21 @@ class LLEventNotifier class LLEventNotification { public: - LLEventNotification(); - virtual ~LLEventNotification(); + LLEventNotification(U32 eventId, F64 eventEpoch, const std::string& eventDateStr, const std::string &eventName); + - BOOL load(const LLSD& en); // In the format it comes in from login - BOOL load(const LLEventInfo &event_info); // From existing event_info on the viewer. - //void setEventID(const U32 event_id); - //void setEventName(std::string &event_name); U32 getEventID() const { return mEventID; } const std::string &getEventName() const { return mEventName; } - time_t getEventDate() const { return mEventDate; } - const std::string &getEventDateStr() const { return mEventDateStr; } - LLVector3d getEventPosGlobal() const { return mEventPosGlobal; } - bool handleResponse(const LLSD& notification, const LLSD& payload); + bool isValid() const { return mEventID > 0 && mEventDateEpoch != 0 && mEventName.size() > 0; } + const F64 &getEventDateEpoch() const { return mEventDateEpoch; } + const std::string &getEventDateStr() const { return mEventDateStr; } + + protected: U32 mEventID; // EventID for this event std::string mEventName; + F64 mEventDateEpoch; std::string mEventDateStr; - time_t mEventDate; - LLVector3d mEventPosGlobal; }; extern LLEventNotifier gEventNotifier; diff --git a/indra/newview/llfloaterevent.cpp b/indra/newview/llfloaterevent.cpp index ee2ba2ba54e..0513146e8c3 100644 --- a/indra/newview/llfloaterevent.cpp +++ b/indra/newview/llfloaterevent.cpp @@ -38,10 +38,11 @@ #include "llcachename.h" #include "llcommandhandler.h" // secondlife:///app/chat/ support #include "lleventflags.h" -#include "lleventnotifier.h" +#include "llmediactrl.h" #include "llexpandabletextbox.h" #include "llfloater.h" #include "llfloaterreg.h" +#include "llmediactrl.h" #include "llfloaterworldmap.h" #include "llinventorymodel.h" #include "llsecondlifeurls.h" @@ -57,35 +58,10 @@ #include "lltrans.h" -class LLEventHandler : public LLCommandHandler -{ -public: - // requires trusted browser to trigger - LLEventHandler() : LLCommandHandler("event", UNTRUSTED_THROTTLE) { } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) - { - if (params.size() < 1) - { - return false; - } - - LLFloaterEvent* floater = LLFloaterReg::getTypedInstance<LLFloaterEvent>("event"); - if (floater) - { - floater->setEventID(params[0].asInteger()); - LLFloaterReg::showTypedInstance<LLFloaterEvent>("event"); - return true; - } - - return false; - } -}; -LLEventHandler gEventHandler; - LLFloaterEvent::LLFloaterEvent(const LLSD& key) : LLFloater(key), - + LLViewerMediaObserver(), + mBrowser(NULL), mEventID(0) { } @@ -98,253 +74,52 @@ LLFloaterEvent::~LLFloaterEvent() BOOL LLFloaterEvent::postBuild() { - mTBName = getChild<LLTextBox>("event_name"); - - mTBCategory = getChild<LLTextBox>("event_category"); - - mTBDate = getChild<LLTextBox>("event_date"); - - mTBDuration = getChild<LLTextBox>("event_duration"); - - mTBDesc = getChild<LLExpandableTextBox>("event_desc"); - - mTBRunBy = getChild<LLTextBox>("event_runby"); - mTBLocation = getChild<LLTextBox>("event_location"); - mTBCover = getChild<LLTextBox>("event_cover"); - - mTeleportBtn = getChild<LLButton>( "teleport_btn"); - mTeleportBtn->setClickedCallback(onClickTeleport, this); - - mMapBtn = getChild<LLButton>( "map_btn"); - mMapBtn->setClickedCallback(onClickMap, this); - - mNotifyBtn = getChild<LLButton>( "notify_btn"); - mNotifyBtn->setClickedCallback(onClickNotify, this); - - mCreateEventBtn = getChild<LLButton>( "create_event_btn"); - mCreateEventBtn->setClickedCallback(onClickCreateEvent, this); - - mGodDeleteEventBtn = getChild<LLButton>( "god_delete_event_btn"); - mGodDeleteEventBtn->setClickedCallback(boost::bind(&LLFloaterEvent::onClickDeleteEvent, this)); - - return TRUE; -} - -void LLFloaterEvent::setEventID(const U32 event_id) -{ - mEventID = event_id; - // Should reset all of the panel state here - resetInfo(); - - if (event_id != 0) + mBrowser = getChild<LLMediaCtrl>("browser"); + if (mBrowser) { - sendEventInfoRequest(); + mBrowser->addObserver(this); + mBrowser->setTrusted(true); } -} - -void LLFloaterEvent::onClickDeleteEvent() -{ - LLMessageSystem* msg = gMessageSystem; - - msg->newMessageFast(_PREHASH_EventGodDelete); - msg->nextBlockFast(_PREHASH_AgentData); - msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); - msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); - - msg->nextBlockFast(_PREHASH_EventData); - msg->addU32Fast(_PREHASH_EventID, mEventID); - gAgent.sendReliableMessage(); -} - -void LLFloaterEvent::sendEventInfoRequest() -{ - LLMessageSystem *msg = gMessageSystem; - - msg->newMessageFast(_PREHASH_EventInfoRequest); - msg->nextBlockFast(_PREHASH_AgentData); - msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); - msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); - msg->nextBlockFast(_PREHASH_EventData); - msg->addU32Fast(_PREHASH_EventID, mEventID); - gAgent.sendReliableMessage(); + return TRUE; } -//static -void LLFloaterEvent::processEventInfoReply(LLMessageSystem *msg, void **) +void LLFloaterEvent::handleMediaEvent(LLPluginClassMedia *self, EMediaEvent event) { - // extract the agent id - LLUUID agent_id; - msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); - - LLFloaterEvent* floater = LLFloaterReg::getTypedInstance<LLFloaterEvent>("event"); - - if(floater) + switch (event) { - floater->mEventInfo.unpack(msg); - floater->mTBName->setText(floater->mEventInfo.mName); - floater->mTBCategory->setText(floater->mEventInfo.mCategoryStr); - floater->mTBDate->setText(floater->mEventInfo.mTimeStr); - floater->mTBDesc->setText(floater->mEventInfo.mDesc); - floater->mTBRunBy->setText(LLSLURL("agent", floater->mEventInfo.mRunByID, "inspect").getSLURLString()); - - floater->mTBDuration->setText(llformat("%d:%.2d", floater->mEventInfo.mDuration / 60, floater->mEventInfo.mDuration % 60)); - - if (!floater->mEventInfo.mHasCover) - { - floater->mTBCover->setText(floater->getString("none")); - } - else - { - floater->mTBCover->setText(llformat("%d", floater->mEventInfo.mCover)); - } - - F32 global_x = (F32)floater->mEventInfo.mPosGlobal.mdV[VX]; - F32 global_y = (F32)floater->mEventInfo.mPosGlobal.mdV[VY]; - - S32 region_x = llround(global_x) % REGION_WIDTH_UNITS; - S32 region_y = llround(global_y) % REGION_WIDTH_UNITS; - S32 region_z = llround((F32)floater->mEventInfo.mPosGlobal.mdV[VZ]); - - std::string desc = floater->mEventInfo.mSimName + llformat(" (%d, %d, %d)", region_x, region_y, region_z); - floater->mTBLocation->setText(desc); - - floater->getChildView("rating_icon_m")->setVisible( FALSE); - floater->getChildView("rating_icon_r")->setVisible( FALSE); - floater->getChildView("rating_icon_pg")->setVisible( FALSE); - floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("unknown")); - - //for some reason there's not adult flags for now, so see if region is adult and then - //set flags - LLWorldMapMessage::url_callback_t cb = boost::bind( ®ionInfoCallback, floater->mEventInfo.mID, _1); - LLWorldMapMessage::getInstance()->sendNamedRegionRequest(floater->mEventInfo.mSimName, cb, std::string("unused"), false); - - if (floater->mEventInfo.mUnixTime < time_corrected()) - { - floater->mNotifyBtn->setEnabled(FALSE); - } - else - { - floater->mNotifyBtn->setEnabled(TRUE); - } - - if (gEventNotifier.hasNotification(floater->mEventInfo.mID)) - { - floater->mNotifyBtn->setLabel(floater->getString("dont_notify")); - } - else - { - floater->mNotifyBtn->setLabel(floater->getString("notify")); - } - - floater->mMapBtn->setEnabled(TRUE); - floater->mTeleportBtn->setEnabled(TRUE); + case MEDIA_EVENT_NAVIGATE_BEGIN: + getChild<LLUICtrl>("status_text")->setValue(getString("loading_text")); + break; + + case MEDIA_EVENT_NAVIGATE_COMPLETE: + getChild<LLUICtrl>("status_text")->setValue(getString("done_text")); + break; + + default: + break; } } -//static -void LLFloaterEvent::regionInfoCallback(U32 event_id, U64 region_handle) +void LLFloaterEvent::setEventID(const U32 event_id) { - LLSimInfo* sim_info = LLWorldMap::getInstance()->simInfoFromHandle(region_handle); - LLFloaterEvent* floater = LLFloaterReg::getTypedInstance<LLFloaterEvent>("event"); + mEventID = event_id; - if (sim_info && floater && (event_id == floater->getEventID())) + if (event_id != 0) { - // update the event with the maturity info - if (sim_info->isAdult()) - { - floater->getChildView("rating_icon_m")->setVisible( FALSE); - floater->getChildView("rating_icon_r")->setVisible( TRUE); - floater->getChildView("rating_icon_pg")->setVisible( FALSE); - floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("adult")); - - } - else if (floater->mEventInfo.mEventFlags & EVENT_FLAG_MATURE) - { - floater->getChildView("rating_icon_m")->setVisible( TRUE); - floater->getChildView("rating_icon_r")->setVisible( FALSE); - floater->getChildView("rating_icon_pg")->setVisible( FALSE); - floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("moderate")); - } - else - { - floater->getChildView("rating_icon_m")->setVisible( FALSE); - floater->getChildView("rating_icon_r")->setVisible( FALSE); - floater->getChildView("rating_icon_pg")->setVisible( TRUE); - floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("general")); - } + LLSD subs; + subs["EVENT_ID"] = (S32)event_id; + // get the search URL and expand all of the substitutions + // (also adds things like [LANGUAGE], [VERSION], [OS], etc.) + std::ostringstream url; + url << gSavedSettings.getString("EventURL") << event_id << "/" << std::endl; + // and load the URL in the web view + mBrowser->navigateTo(url.str()); + } } void LLFloaterEvent::draw() { - mGodDeleteEventBtn->setVisible(gAgent.isGodlike()); - LLPanel::draw(); } - -void LLFloaterEvent::resetInfo() -{ - mTBName->setText(LLStringUtil::null); - mTBCategory->setText(LLStringUtil::null); - mTBDate->setText(LLStringUtil::null); - mTBDesc->setText(LLStringUtil::null); - mTBDuration->setText(LLStringUtil::null); - mTBCover->setText(LLStringUtil::null); - mTBLocation->setText(LLStringUtil::null); - mTBRunBy->setText(LLStringUtil::null); - mNotifyBtn->setEnabled(FALSE); - mMapBtn->setEnabled(FALSE); - mTeleportBtn->setEnabled(FALSE); -} - -// static -void LLFloaterEvent::onClickTeleport(void* data) -{ - LLFloaterEvent* self = (LLFloaterEvent*)data; - LLFloaterWorldMap* worldmap_instance = LLFloaterWorldMap::getInstance(); - if (!self->mEventInfo.mPosGlobal.isExactlyZero()&&worldmap_instance) - { - gAgent.teleportViaLocation(self->mEventInfo.mPosGlobal); - worldmap_instance->trackLocation(self->mEventInfo.mPosGlobal); - } -} - - -// static -void LLFloaterEvent::onClickMap(void* data) -{ - LLFloaterEvent* self = (LLFloaterEvent*)data; - LLFloaterWorldMap* worldmap_instance = LLFloaterWorldMap::getInstance(); - - if (!self->mEventInfo.mPosGlobal.isExactlyZero()&&worldmap_instance) - { - worldmap_instance->trackLocation(self->mEventInfo.mPosGlobal); - LLFloaterReg::showInstance("world_map", "center"); - } -} - - -// static -void LLFloaterEvent::onClickCreateEvent(void* data) -{ - LLNotificationsUtil::add("PromptGoToEventsPage");//, LLSD(), LLSD(), callbackCreateEventWebPage); -} - - -// static -void LLFloaterEvent::onClickNotify(void *data) -{ - LLFloaterEvent* self = (LLFloaterEvent*)data; - - if (!gEventNotifier.hasNotification(self->mEventID)) - { - gEventNotifier.add(self->mEventInfo); - self->mNotifyBtn->setLabel(self->getString("dont_notify")); - } - else - { - gEventNotifier.remove(self->mEventInfo.mID); - self->mNotifyBtn->setLabel(self->getString("notify")); - } -} diff --git a/indra/newview/llfloaterevent.h b/indra/newview/llfloaterevent.h index bfed2f259b7..b1963309da5 100644 --- a/indra/newview/llfloaterevent.h +++ b/indra/newview/llfloaterevent.h @@ -28,17 +28,15 @@ #define LL_LLFLOATEREVENT_H #include "llfloater.h" -#include "lleventinfo.h" -#include "lluuid.h" -#include "v3dmath.h" +#include "llviewermediaobserver.h" -class LLTextBox; -class LLTextEditor; + +class LLMediaCtrl; class LLButton; -class LLExpandableTextBox; -class LLMessageSystem; -class LLFloaterEvent : public LLFloater +class LLFloaterEvent : public LLFloater, + public LLViewerMediaObserver + { public: LLFloaterEvent(const LLSD& key); @@ -48,44 +46,18 @@ class LLFloaterEvent : public LLFloater /*virtual*/ void draw(); void setEventID(const U32 event_id); - void sendEventInfoRequest(); - - static void processEventInfoReply(LLMessageSystem *msg, void **); U32 getEventID() { return mEventID; } -protected: - void resetInfo(); - - static void onClickTeleport(void*); - static void onClickMap(void*); - //static void onClickLandmark(void*); - static void onClickCreateEvent(void*); - static void onClickNotify(void*); - void onClickDeleteEvent(); - - static void regionInfoCallback(U32 event_id, U64 region_handle); protected: + /*virtual*/ void handleMediaEvent(LLPluginClassMedia *self, EMediaEvent event); + U32 mEventID; - LLEventInfo mEventInfo; - - LLTextBox* mTBName; - LLTextBox* mTBCategory; - LLTextBox* mTBDate; - LLTextBox* mTBDuration; - LLExpandableTextBox* mTBDesc; - LLTextBox* mTBRunBy; - LLTextBox* mTBLocation; - LLTextBox* mTBCover; + LLMediaCtrl* mBrowser; - LLButton* mTeleportBtn; - LLButton* mMapBtn; - LLButton* mCreateEventBtn; - LLButton* mGodDeleteEventBtn; - LLButton* mNotifyBtn; }; #endif // LL_LLFLOATEREVENT_H diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h index 6327039b7fd..1628a421ecb 100644 --- a/indra/newview/llfloaterworldmap.h +++ b/indra/newview/llfloaterworldmap.h @@ -39,7 +39,6 @@ #include "lltracker.h" #include "llslurl.h" -class LLEventInfo; class LLFriendObserver; class LLInventoryModel; class LLInventoryObserver; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 975d1f9f32c..6bbddd9b2e1 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -118,7 +118,6 @@ #include "llpanellogin.h" #include "llmutelist.h" #include "llavatarpropertiesprocessor.h" -#include "llfloaterevent.h" #include "llpanelclassified.h" #include "llpanelpick.h" #include "llpanelgrouplandmoney.h" @@ -1612,12 +1611,6 @@ bool idle_startup() LLFloaterReg::showInstance("hud", LLSD(), FALSE); } - LLSD event_categories = response["event_categories"]; - if(event_categories.isDefined()) - { - LLEventInfo::loadCategories(event_categories); - } - LLSD event_notifications = response["event_notifications"]; if(event_notifications.isDefined()) { @@ -2329,8 +2322,8 @@ void register_viewer_callbacks(LLMessageSystem* msg) msg->setHandlerFunc("MapBlockReply", LLWorldMapMessage::processMapBlockReply); msg->setHandlerFunc("MapItemReply", LLWorldMapMessage::processMapItemReply); - - msg->setHandlerFunc("EventInfoReply", LLFloaterEvent::processEventInfoReply); + msg->setHandlerFunc("EventInfoReply", LLEventNotifier::processEventInfoReply); + msg->setHandlerFunc("PickInfoReply", &LLAvatarPropertiesProcessor::processPickInfoReply); // msg->setHandlerFunc("ClassifiedInfoReply", LLPanelClassified::processClassifiedInfoReply); msg->setHandlerFunc("ClassifiedInfoReply", LLAvatarPropertiesProcessor::processClassifiedInfoReply); diff --git a/indra/newview/skins/default/xui/da/floater_event.xml b/indra/newview/skins/default/xui/da/floater_event.xml index 1816144b454..1d16c942dd9 100644 --- a/indra/newview/skins/default/xui/da/floater_event.xml +++ b/indra/newview/skins/default/xui/da/floater_event.xml @@ -1,72 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="Event" name="Event" title="EVENT DETALJER"> - <floater.string name="none"> - ingen +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + Henter... </floater.string> - <floater.string name="notify"> - Meddel - </floater.string> - <floater.string name="dont_notify"> - Meddel ikke - </floater.string> - <floater.string name="moderate"> - Moderat - </floater.string> - <floater.string name="adult"> - Voksent - </floater.string> - <floater.string name="general"> - Generelt - </floater.string> - <floater.string name="unknown"> - Ukendt - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Event uden navn. - </text> - <text name="event_category"> - (ingen kategori) - </text> - <text name="event_runby_label"> - Afholdt af: - </text> - <text initial_value="(henter)" name="event_runby"/> - <text name="event_date_label"> - Dato: - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - Varighed: - </text> - <text name="event_duration"> - 1 time - </text> - <text name="event_covercharge_label"> - Pris: - </text> - <text name="event_cover"> - Gratis - </text> - <text name="event_location_label"> - Lokation: - </text> - <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/> - <text name="rating_label" value="Rating:"/> - <text name="rating_value" value="ukendt"/> - <expandable_text name="event_desc"> - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - </expandable_text> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="Opret event"/> - <button name="god_delete_event_btn" tool_tip="Slet event"/> - <button label="Giv besked" name="notify_btn"/> - <button label="Teleport" name="teleport_btn"/> - <button label="Kort" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml index 62d9c5a203c..25195b44c83 100644 --- a/indra/newview/skins/default/xui/da/notifications.xml +++ b/indra/newview/skins/default/xui/da/notifications.xml @@ -1081,8 +1081,7 @@ Prøv at vælge mindre stykker land. [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Teleportér"/> - <button name="Description" text="Beskrivelse"/> + <button name="Details" text="Beskrivelse"/> <button name="Cancel" text="Annullér"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/de/floater_event.xml b/indra/newview/skins/default/xui/de/floater_event.xml index cf663e2e1bf..13108100f67 100644 --- a/indra/newview/skins/default/xui/de/floater_event.xml +++ b/indra/newview/skins/default/xui/de/floater_event.xml @@ -1,69 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="Event" name="Event" title="EVENT-DETAILS"> - <floater.string name="none"> - keines +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + Wird geladen... </floater.string> - <floater.string name="notify"> - Benachrichtigen - </floater.string> - <floater.string name="dont_notify"> - Nicht benachrichtigen - </floater.string> - <floater.string name="moderate"> - Moderat - </floater.string> - <floater.string name="adult"> - Adult - </floater.string> - <floater.string name="general"> - Allgemein - </floater.string> - <floater.string name="unknown"> - Unbekannt - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Namenloses Event....namenlos! Tadaaa! Tadatadaaaah! - </text> - <text name="event_category"> - (keine Kategorie) - </text> - <text name="event_runby_label"> - Ausgeführt von: - </text> - <text initial_value="(wird in Datenbank gesucht)" name="event_runby"/> - <text name="event_date_label"> - Datum: - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - Dauer: - </text> - <text name="event_duration"> - 1 Stunde - </text> - <text name="event_covercharge_label"> - Eintritt: - </text> - <text name="event_cover"> - Kostenlos - </text> - <text name="event_location_label"> - Standort: - </text> - <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/> - <text name="rating_label" value="Einstufung:"/> - <text name="rating_value" value="unbekannt"/> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="Event erstellen"/> - <button name="god_delete_event_btn" tool_tip="Event löschen"/> - <button label="Mich benachrichtigen" name="notify_btn"/> - <button label="Teleportieren" name="teleport_btn"/> - <button label="Karte" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index e5baf0f98fd..5d4911d9b8e 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -2195,8 +2195,7 @@ Wählen Sie eine kleinere Landfläche. [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Teleportieren"/> - <button name="Description" text="Beschreibung"/> + <button name="Details" text="Beschreibung"/> <button name="Cancel" text="Abbrechen"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/en/floater_event.xml b/indra/newview/skins/default/xui/en/floater_event.xml index 98640834420..1be97487110 100644 --- a/indra/newview/skins/default/xui/en/floater_event.xml +++ b/indra/newview/skins/default/xui/en/floater_event.xml @@ -1,311 +1,39 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater follows="all" - height="350" + height="400" + can_resize="true" help_topic="event_details" label="Event" layout="topleft" name="Event" + save_rect="true" + save_visibility="false" title="EVENT DETAILS" - width="330"> - <floater.string - name="none"> - none - </floater.string> - <floater.string - name="notify"> - Notify - </floater.string> - <floater.string - name="dont_notify"> - Don't Notify - </floater.string> - <floater.string - name="moderate"> - Moderate - </floater.string> - <floater.string - name="adult"> - Adult - </floater.string> - <floater.string - name="general"> - General - </floater.string> - <floater.string - name="unknown"> - Unknown - </floater.string> - <layout_stack - name="layout" - orientation="vertical" - follows="all" - layout="topleft" - left="0" - top="0" - height="350" - width="330" - border_size="0"> - <layout_panel - name="profile_stack" - follows="top|left" - layout="topleft" - top="0" - left="0" - height="305" - width="330"> - <text - follows="top|left|right" - font="SansSerifLarge" - text_color="white" - height="17" - layout="topleft" - left="10" - name="event_name" - top="5" - use_ellipses="true" - width="310"> - Nameless Event...of Doom! De doom! Doom doom. - </text> - <text - type="string" - length="1" - follows="top|left" - height="13" - text_color="LtGray_50" - layout="topleft" - left="25" - name="event_category" - width="300"> - (no category) - </text> - - <text - type="string" - length="1" - follows="top|left" - layout="topleft" - left="10" - top_pad="7" - name="event_runby_label" - width="90"> - Run by: - </text> - <text - follows="left|top" - height="20" - initial_value="(retrieving)" - layout="topleft" - left_pad="0" - link="true" - name="event_runby" - top_delta="0" - use_ellipses="true" - width="240" /> - <text - type="string" - length="1" - follows="top|left" - layout="topleft" - left="10" - top_pad="5" - name="event_date_label" - width="90"> - Date: - </text> - <text - type="string" - length="1" - left_pad="0" - height="17" - top_delta="0" - follows="top|left" + width="600"> + <floater.string + name="loading_text"> + Loading... + </floater.string> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" layout="topleft" - name="event_date" - width="240"> - 10/10/2010 - </text> - <text - type="string" - length="1" - follows="top|left" - layout="topleft" - left="10" - top_pad="5" - name="event_duration_label" - width="90"> - Duration: - </text> - <text - type="string" - height="14" - length="1" - left_pad="0" - follows="top|left" - layout="topleft" - name="event_duration" - top_delta="0" - width="240"> - 1 hour - </text> - <text - type="string" - length="1" - follows="top|left" - layout="topleft" - left="10" - top_pad="5" - name="event_covercharge_label" - width="90"> - Cover charge: - </text> - <text - type="string" - follows="left|top" - height="16" - layout="topleft" - left_pad="0" - name="event_cover" - visible="true" - width="240" - top_delta="0"> - Free - </text> - <text - type="string" - length="1" - follows="top|left" - layout="topleft" - left="10" - top_pad="5" - name="event_location_label" - width="90"> - Location: - </text> - <text - type="string" - length="1" - height="20" - left_pad="0" - follows="top|left" - layout="topleft" - name="event_location" - use_ellipses="true" - top_delta="0" - value="SampleParcel, Name Long (145, 228, 26)" - width="240" /> - <icon - follows="top|left" - height="16" - image_name="Parcel_PG_Dark" - layout="topleft" - left="10" - name="rating_icon_pg" - width="18" /> - <icon - follows="top|left" - height="16" - image_name="Parcel_M_Dark" - layout="topleft" - left="10" - name="rating_icon_m" - top_delta="0" - width="18" /> - <icon - follows="top|left" - height="16" - image_name="Parcel_R_Dark" - layout="topleft" - left="10" - name="rating_icon_r" - top_delta="0" - width="18" /> - <text - follows="left|top" - height="16" - layout="topleft" - left_pad="12" - name="rating_label" - top_delta="3" - value="Rating:" - width="90" /> - <text - follows="left|right|top" - height="16" - layout="topleft" - left_pad="2" - name="rating_value" - top_delta="0" - value="unknown" - width="240" /> - <expandable_text - follows="left|top|right" - height="65" - layout="topleft" - left="6" - name="event_desc" - width="322"> - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</expandable_text> - </layout_panel> - <layout_panel - follows="left|right" - height="24" - layout="topleft" - mouse_opaque="false" - name="button_panel" - top="0" - left="0" - user_resize="false"> - <button - follows="left|top" - height="18" - image_selected="AddItem_Press" - image_unselected="AddItem_Off" - image_disabled="AddItem_Disabled" - layout="topleft" - left="6" - name="create_event_btn" - tool_tip="Create Event" - width="18" /> - <button - follows="left|top" - height="18" - image_selected="MinusItem_Press" - image_unselected="MinusItem_Off" - image_disabled="MinusItem_Disabled" - layout="topleft" - visible="false" - left="6" - top_pad="-7" - name="god_delete_event_btn" - tool_tip="Delete Event" - width="18" /> - <button - follows="left|top" - height="23" - label="Notify Me" - layout="topleft" - left_pad="3" - top_delta="-12" - name="notify_btn" - width="100" /> - <button - follows="left|top" - height="23" - label="Teleport" - layout="topleft" - left_pad="5" - name="teleport_btn" - width="100" /> - <button - follows="left|top" - height="23" - label="Map" - layout="topleft" - left_pad="5" - name="map_btn" - width="85" /> - </layout_panel> - </layout_stack> - </floater> + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> +</floater> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 609a9b09be4..2473c2e424b 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4858,14 +4858,10 @@ Event Notification: <form name="form"> <button index="0" - name="Teleport" - text="Teleport"/> + name="Details" + text="Details"/> <button index="1" - name="Description" - text="Description"/> - <button - index="2" name="Cancel" text="Cancel"/> </form> diff --git a/indra/newview/skins/default/xui/es/floater_event.xml b/indra/newview/skins/default/xui/es/floater_event.xml index 4bc52217966..f37c722f037 100644 --- a/indra/newview/skins/default/xui/es/floater_event.xml +++ b/indra/newview/skins/default/xui/es/floater_event.xml @@ -1,72 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="Evento" name="Event" title="DETALLES DEL EVENTO"> - <floater.string name="none"> - ninguno +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + Cargando... </floater.string> - <floater.string name="notify"> - Notificar - </floater.string> - <floater.string name="dont_notify"> - No notificar - </floater.string> - <floater.string name="moderate"> - Moderado - </floater.string> - <floater.string name="adult"> - Adulto - </floater.string> - <floater.string name="general"> - General - </floater.string> - <floater.string name="unknown"> - desconocida - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Evento sin nombre... - </text> - <text name="event_category"> - (sin categorÃa) - </text> - <text name="event_runby_label"> - Organizado por: - </text> - <text initial_value="(obteniendo)" name="event_runby"/> - <text name="event_date_label"> - Fecha: - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - Duración: - </text> - <text name="event_duration"> - 1 hora - </text> - <text name="event_covercharge_label"> - Entrada: - </text> - <text name="event_cover"> - Gratis - </text> - <text name="event_location_label"> - Localización: - </text> - <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/> - <text name="rating_label" value="Calificación:"/> - <text name="rating_value" value="desconocida"/> - <expandable_text name="event_desc"> - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - </expandable_text> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="Crear el evento"/> - <button name="god_delete_event_btn" tool_tip="Borrar el evento"/> - <button label="Notificarme" name="notify_btn"/> - <button label="Teleportar" name="teleport_btn"/> - <button label="Mapa" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index e9eda790dd9..b4ac89b2d5a 100644 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -2186,8 +2186,7 @@ Inténtalo seleccionando un trozo más pequeño de terreno. [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Teleportar"/> - <button name="Description" text="Descripción"/> + <button name="Details" text="Detalles"/> <button name="Cancel" text="Cancelar"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/fr/floater_event.xml b/indra/newview/skins/default/xui/fr/floater_event.xml index b005ce3b360..72361c0c1af 100644 --- a/indra/newview/skins/default/xui/fr/floater_event.xml +++ b/indra/newview/skins/default/xui/fr/floater_event.xml @@ -1,69 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="Événement" name="Event" title="DÉTAILS SUR L'ÉVÉNEMENT"> - <floater.string name="none"> - aucun +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + Chargement... </floater.string> - <floater.string name="notify"> - Prévenir - </floater.string> - <floater.string name="dont_notify"> - Ne pas prévenir - </floater.string> - <floater.string name="moderate"> - Modéré - </floater.string> - <floater.string name="adult"> - Adulte - </floater.string> - <floater.string name="general"> - Général - </floater.string> - <floater.string name="unknown"> - Inconnu - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Nameless Event...of Doom! De doom! Doom doom. - </text> - <text name="event_category"> - (pas de catégorie) - </text> - <text name="event_runby_label"> - Organisé par : - </text> - <text initial_value="(récupération en cours)" name="event_runby"/> - <text name="event_date_label"> - Date : - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - Durée : - </text> - <text name="event_duration"> - 1 heure - </text> - <text name="event_covercharge_label"> - Prix : - </text> - <text name="event_cover"> - Gratuit - </text> - <text name="event_location_label"> - Lieu : - </text> - <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/> - <text name="rating_label" value="Catégorie :"/> - <text name="rating_value" value="inconnu"/> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="Créer un événement"/> - <button name="god_delete_event_btn" tool_tip="Supprimer l'événement"/> - <button label="Me prévenir" name="notify_btn"/> - <button label="Téléporter" name="teleport_btn"/> - <button label="Carte" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index 259ac4cee63..0e255328635 100644 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -2177,8 +2177,7 @@ Veuillez sélectionner un terrain plus petit. [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Téléporter"/> - <button name="Description" text="Description"/> + <button name="Description" text="Détails"/> <button name="Cancel" text="Annuler"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/it/floater_event.xml b/indra/newview/skins/default/xui/it/floater_event.xml index a0807e04c9e..177305e6480 100644 --- a/indra/newview/skins/default/xui/it/floater_event.xml +++ b/indra/newview/skins/default/xui/it/floater_event.xml @@ -1,72 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="Evento" name="Event" title="DETTAGLI DELL'EVENTO"> - <floater.string name="none"> - nessuno +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + Caricamento in corso... </floater.string> - <floater.string name="notify"> - Avvisare - </floater.string> - <floater.string name="dont_notify"> - Non avvisare - </floater.string> - <floater.string name="moderate"> - Moderato - </floater.string> - <floater.string name="adult"> - Adulto - </floater.string> - <floater.string name="general"> - Generale - </floater.string> - <floater.string name="unknown"> - Sconosciuto - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Evento senza nome...di Doom De doom! Doom doom. - </text> - <text name="event_category"> - (nessuna categoria) - </text> - <text name="event_runby_label"> - Organizzato da: - </text> - <text initial_value="(recupero)" name="event_runby"/> - <text name="event_date_label"> - Data: - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - Durata: - </text> - <text name="event_duration"> - 1 ora - </text> - <text name="event_covercharge_label"> - Costo: - </text> - <text name="event_cover"> - Gratis - </text> - <text name="event_location_label"> - Luogo: - </text> - <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/> - <text name="rating_label" value="Categoria:"/> - <text name="rating_value" value="sconosciuto"/> - <expandable_text name="event_desc"> - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - </expandable_text> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="Crea evento"/> - <button name="god_delete_event_btn" tool_tip="Elimina evento"/> - <button label="Avvisami" name="notify_btn"/> - <button label="Teleport" name="teleport_btn"/> - <button label="Mappa" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 474bdca55f3..546c25ac7d9 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -2183,8 +2183,7 @@ Prova a selezionare una parte di terreno più piccola. [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Teleport"/> - <button name="Description" text="Descrizione"/> + <button name="Details" text="Descrizione"/> <button name="Cancel" text="Cancella"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/ja/floater_event.xml b/indra/newview/skins/default/xui/ja/floater_event.xml index 671f9077d9d..ec4188d3006 100644 --- a/indra/newview/skins/default/xui/ja/floater_event.xml +++ b/indra/newview/skins/default/xui/ja/floater_event.xml @@ -1,69 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="イベント" name="Event" title="イベント詳細"> - <floater.string name="none"> - ãªã— +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°... </floater.string> - <floater.string name="notify"> - 知らã›ã‚‹ - </floater.string> - <floater.string name="dont_notify"> - 知らã›ãªã„ - </floater.string> - <floater.string name="moderate"> - Moderate - </floater.string> - <floater.string name="adult"> - Adult - </floater.string> - <floater.string name="general"> - General - </floater.string> - <floater.string name="unknown"> - 䏿˜Ž - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Nameless Event...of Doom! De doom! Doom doom. - </text> - <text name="event_category"> - (カテゴリãªã—) - </text> - <text name="event_runby_label"> - 主催者: - </text> - <text initial_value="(å–å¾—ä¸ï¼‰" name="event_runby"/> - <text name="event_date_label"> - 日付: - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - 期間: - </text> - <text name="event_duration"> - 1 時間 - </text> - <text name="event_covercharge_label"> - ã‚«ãƒãƒ¼ãƒãƒ£ãƒ¼ã‚¸ï¼š - </text> - <text name="event_cover"> - ç„¡æ–™ - </text> - <text name="event_location_label"> - å ´æ‰€ï¼š - </text> - <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/> - <text name="rating_label" value="レーティング区分:"/> - <text name="rating_value" value="䏿˜Ž"/> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="イベント作æˆ"/> - <button name="god_delete_event_btn" tool_tip="イベント削除"/> - <button label="知らã›ã‚‹" name="notify_btn"/> - <button label="テレãƒãƒ¼ãƒˆ" name="teleport_btn"/> - <button label="地図" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml index 709797cb58e..d1a5e88d463 100644 --- a/indra/newview/skins/default/xui/ja/notifications.xml +++ b/indra/newview/skins/default/xui/ja/notifications.xml @@ -2231,8 +2231,7 @@ Web ページã«ãƒªãƒ³ã‚¯ã™ã‚‹ã¨ã€ä»–人ãŒã“ã®å ´æ‰€ã«ç°¡å˜ã«ã‚¢ã‚¯ã‚» [NAME] [DATE] <form name="form"> - <button name="Teleport" text="テレãƒãƒ¼ãƒˆ"/> - <button name="Description" text="説明"/> + <button name="Details" text="説明"/> <button name="Cancel" text="å–り消ã—"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/nl/notifications.xml b/indra/newview/skins/default/xui/nl/notifications.xml index a282c267a1c..a282c703645 100644 --- a/indra/newview/skins/default/xui/nl/notifications.xml +++ b/indra/newview/skins/default/xui/nl/notifications.xml @@ -2550,8 +2550,7 @@ Probeer een kleiner stuk land te selecteren. [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Teleport"/> - <button name="Description" text="Omschrijving"/> + <button name="Details" text="Omschrijving"/> <button name="Cancel" text="Annuleren"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/pl/floater_event.xml b/indra/newview/skins/default/xui/pl/floater_event.xml index 80862bfd2f4..632e0b8a440 100644 --- a/indra/newview/skins/default/xui/pl/floater_event.xml +++ b/indra/newview/skins/default/xui/pl/floater_event.xml @@ -1,72 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="IMPREZA" name="Event" title="IMPREZA"> - <floater.string name="none"> - żadne +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + Åadowanie... </floater.string> - <floater.string name="notify"> - Zawiadom - </floater.string> - <floater.string name="dont_notify"> - Nie zawiadamiaj - </floater.string> - <floater.string name="moderate"> - Mature - </floater.string> - <floater.string name="adult"> - Adult - </floater.string> - <floater.string name="general"> - General - </floater.string> - <floater.string name="unknown"> - Nieznana - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Brak nazwy dla wydarzenia. - </text> - <text name="event_category"> - (bez kategorii) - </text> - <text name="event_runby_label"> - Prowadzona przez: - </text> - <text initial_value="(przetwarzanie)" name="event_runby"/> - <text name="event_date_label"> - Data: - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - DÅ‚ugość: - </text> - <text name="event_duration"> - 1 godzina - </text> - <text name="event_covercharge_label"> - OpÅ‚ata: - </text> - <text name="event_cover"> - Bez opÅ‚aty - </text> - <text name="event_location_label"> - Lokalizacja: - </text> - <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/> - <text name="rating_label" value="Rodzaj:"/> - <text name="rating_value" value="nieznane"/> - <expandable_text name="event_desc"> - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - </expandable_text> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="Stwórz imprezÄ™"/> - <button name="god_delete_event_btn" tool_tip="Skasuj imprezÄ™"/> - <button label="Zawiadom mnie" name="notify_btn"/> - <button label="Teleportuj" name="teleport_btn"/> - <button label="Mapa" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml index 7fcd7b5e04d..02de82dd53c 100644 --- a/indra/newview/skins/default/xui/pl/notifications.xml +++ b/indra/newview/skins/default/xui/pl/notifications.xml @@ -2153,8 +2153,7 @@ Spróbuj wybrać mniejszy obszar. [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Teleportuj"/> - <button name="Description" text="Opis"/> + <button name="Details" text="Opis"/> <button name="Cancel" text="Anuluj"/> </form> </notification> diff --git a/indra/newview/skins/default/xui/pt/floater_event.xml b/indra/newview/skins/default/xui/pt/floater_event.xml index 1cd4dcbda4f..548c0bff861 100644 --- a/indra/newview/skins/default/xui/pt/floater_event.xml +++ b/indra/newview/skins/default/xui/pt/floater_event.xml @@ -1,72 +1,39 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater label="Evento" name="Event" title="DETALHES DO EVENTO"> - <floater.string name="none"> - nenhum +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + follows="all" + height="400" + can_resize="true" + help_topic="event_details" + label="Event" + layout="topleft" + name="Event" + save_rect="true" + save_visibility="false" + title="EVENT DETAILS" + width="600"> + <floater.string + name="loading_text"> + Carregando... </floater.string> - <floater.string name="notify"> - Avisar - </floater.string> - <floater.string name="dont_notify"> - Não avisar - </floater.string> - <floater.string name="moderate"> - Moderado - </floater.string> - <floater.string name="adult"> - Adulto - </floater.string> - <floater.string name="general"> - Público geral - </floater.string> - <floater.string name="unknown"> - Desconhecido - </floater.string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <text name="event_name"> - Evento sem nome... Terror! Terror Aterrorizante. - </text> - <text name="event_category"> - (não categorizado) - </text> - <text name="event_runby_label"> - Organização: - </text> - <text initial_value="(pesquisando)" name="event_runby"/> - <text name="event_date_label"> - Data: - </text> - <text name="event_date"> - 10/10/2010 - </text> - <text name="event_duration_label"> - Duração: - </text> - <text name="event_duration"> - 1 hora - </text> - <text name="event_covercharge_label"> - Cover: - </text> - <text name="event_cover"> - Grátis - </text> - <text name="event_location_label"> - Localização: - </text> - <text name="event_location" value="LoteExemplo, Nome extenso (145, 228, 26)"/> - <text name="rating_label" value="Classificação:"/> - <text name="rating_value" value="(Desconhecido)"/> - <expandable_text name="event_desc"> - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - </expandable_text> - </layout_panel> - <layout_panel name="button_panel"> - <button name="create_event_btn" tool_tip="Criar evento"/> - <button name="god_delete_event_btn" tool_tip="Excluir evento"/> - <button label="Avise-me" name="notify_btn"/> - <button label="Teletransportar" name="teleport_btn"/> - <button label="Mapa" name="map_btn"/> - </layout_panel> - </layout_stack> + <floater.string + name="done_text"> + Done + </floater.string> + <web_browser + follows="left|right|top|bottom" + layout="topleft" + left="10" + name="browser" + height="365" + width="580" + top="0"/> + <text + follows="bottom|left" + height="16" + layout="topleft" + left_delta="0" + name="status_text" + top_pad="10" + width="150" /> </floater> + diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index a6645d8b134..19269bbc1c9 100644 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -2165,8 +2165,7 @@ Selecione o residente da lista e clique em 'MI' na parte de baixo do p [NAME] [DATE] <form name="form"> - <button name="Teleport" text="Teletransporte"/> - <button name="Description" text="Descrição"/> + <button name="Details" text="Descrição"/> <button name="Cancel" text="Cancelar"/> </form> </notification> -- GitLab