summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-02-12 11:09:39 -0800
committerLeyla Farazha <leyla@lindenlab.com>2010-02-12 11:09:39 -0800
commitc61cb61ecc6beca1560a93cdad4ed1bc055c57f9 (patch)
treedc451334df084a9961dcb58458b2b2c6324702d9
parentde1cf42eb631b1254193e1f9e6e1236da3c4cfda (diff)
EXT-5050 Make sure there is a Delete button in God Mode and that it works
reviewed by Monore CC# 108
-rw-r--r--indra/newview/llfloaterevent.cpp81
-rw-r--r--indra/newview/llfloaterevent.h6
-rw-r--r--indra/newview/skins/default/xui/en/floater_event.xml21
3 files changed, 58 insertions, 50 deletions
diff --git a/indra/newview/llfloaterevent.cpp b/indra/newview/llfloaterevent.cpp
index 91c2810026..a51c613c37 100644
--- a/indra/newview/llfloaterevent.cpp
+++ b/indra/newview/llfloaterevent.cpp
@@ -45,11 +45,13 @@
#include "llcommandhandler.h" // secondlife:///app/chat/ support
#include "lleventflags.h"
#include "lleventnotifier.h"
+#include "llexpandabletextbox.h"
#include "llfloater.h"
#include "llfloaterreg.h"
#include "llfloaterworldmap.h"
#include "llinventorymodel.h"
#include "llsecondlifeurls.h"
+#include "llslurl.h"
#include "lltextbox.h"
#include "lltexteditor.h"
#include "lluiconstants.h"
@@ -109,7 +111,7 @@ BOOL LLFloaterEvent::postBuild()
mTBDuration = getChild<LLTextBox>("event_duration");
- mTBDesc = getChild<LLTextEditor>("event_desc");
+ mTBDesc = getChild<LLExpandableTextBox>("event_desc");
mTBDesc->setEnabled(FALSE);
mTBRunBy = getChild<LLTextBox>("event_runby");
@@ -128,6 +130,9 @@ BOOL LLFloaterEvent::postBuild()
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;
}
@@ -143,6 +148,20 @@ void LLFloaterEvent::setEventID(const U32 event_id)
}
}
+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()
{
@@ -157,7 +176,6 @@ void LLFloaterEvent::sendEventInfoRequest()
gAgent.sendReliableMessage();
}
-
//static
void LLFloaterEvent::processEventInfoReply(LLMessageSystem *msg, void **)
{
@@ -174,6 +192,7 @@ void LLFloaterEvent::processEventInfoReply(LLMessageSystem *msg, void **)
floater->mTBCategory->setText(floater->mEventInfo.mCategoryStr);
floater->mTBDate->setText(floater->mEventInfo.mTimeStr);
floater->mTBDesc->setText(floater->mEventInfo.mDesc);
+ floater->mTBRunBy->setText(LLSLURL::buildCommand("agent", floater->mEventInfo.mRunByID, "inspect"));
floater->mTBDuration->setText(llformat("%d:%.2d", floater->mEventInfo.mDuration / 60, floater->mEventInfo.mDuration % 60));
@@ -224,23 +243,33 @@ void LLFloaterEvent::processEventInfoReply(LLMessageSystem *msg, void **)
{
floater->mNotifyBtn->setLabel(floater->getString("notify"));
}
+
+ floater->mMapBtn->setEnabled(TRUE);
+ floater->mTeleportBtn->setEnabled(TRUE);
}
}
void LLFloaterEvent::draw()
{
- std::string name;
- gCacheName->getFullName(mEventInfo.mRunByID, name);
-
- mTBRunBy->setText(name);
+ mGodDeleteEventBtn->setVisible(gAgent.isGodlike());
LLPanel::draw();
}
void LLFloaterEvent::resetInfo()
{
- // Clear all of the text fields.
+ 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
@@ -271,33 +300,12 @@ void LLFloaterEvent::onClickMap(void* data)
// static
-/*
-void LLPanelEvent::onClickLandmark(void* data)
-{
- LLPanelEvent* self = (LLPanelEvent*)data;
- //create_landmark(self->mTBName->getText(), "", self->mEventInfo.mPosGlobal);
- LLMessageSystem* msg = gMessageSystem;
- msg->newMessage("CreateLandmarkForEvent");
- msg->nextBlockFast(_PREHASH_AgentData);
- msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
- msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
- msg->nextBlockFast(_PREHASH_EventData);
- msg->addU32Fast(_PREHASH_EventID, self->mEventID);
- msg->nextBlockFast(_PREHASH_InventoryBlock);
- LLUUID folder_id;
- folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK);
- msg->addUUIDFast(_PREHASH_FolderID, folder_id);
- msg->addStringFast(_PREHASH_Name, self->mTBName->getText());
- gAgent.sendReliableMessage();
-}
-*/
-
-// static
void LLFloaterEvent::onClickCreateEvent(void* data)
{
LLNotificationsUtil::add("PromptGoToEventsPage");//, LLSD(), LLSD(), callbackCreateEventWebPage);
}
+
// static
void LLFloaterEvent::onClickNotify(void *data)
{
@@ -314,18 +322,3 @@ void LLFloaterEvent::onClickNotify(void *data)
self->mNotifyBtn->setLabel(self->getString("notify"));
}
}
-/*
-// static
-bool LLPanelEvent::callbackCreateEventWebPage(const LLSD& notification, const LLSD& response)
-{
- S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
- if (0 == option)
- {
- llinfos << "Loading events page " << LLNotifications::instance().getGlobalString("EVENTS_URL") << llendl;
-
- LLWeb::loadURL( LLNotifications::instance().getGlobalString("EVENTS_URL"));
- }
- return false;
-}
-*/
-
diff --git a/indra/newview/llfloaterevent.h b/indra/newview/llfloaterevent.h
index c93e3f73ca..54aaaf6a0f 100644
--- a/indra/newview/llfloaterevent.h
+++ b/indra/newview/llfloaterevent.h
@@ -34,7 +34,6 @@
#define LL_LLFLOATEREVENT_H
#include "llfloater.h"
-
#include "lleventinfo.h"
#include "lluuid.h"
#include "v3dmath.h"
@@ -42,6 +41,7 @@
class LLTextBox;
class LLTextEditor;
class LLButton;
+class LLExpandableTextBox;
class LLMessageSystem;
class LLFloaterEvent : public LLFloater
@@ -68,6 +68,7 @@ protected:
//static void onClickLandmark(void*);
static void onClickCreateEvent(void*);
static void onClickNotify(void*);
+ void onClickDeleteEvent();
// static bool callbackCreateEventWebPage(const LLSD& notification, const LLSD& response);
@@ -79,7 +80,7 @@ protected:
LLTextBox* mTBCategory;
LLTextBox* mTBDate;
LLTextBox* mTBDuration;
- LLTextEditor* mTBDesc;
+ LLExpandableTextBox* mTBDesc;
LLTextBox* mTBRunBy;
LLTextBox* mTBLocation;
@@ -88,6 +89,7 @@ protected:
LLButton* mTeleportBtn;
LLButton* mMapBtn;
LLButton* mCreateEventBtn;
+ LLButton* mGodDeleteEventBtn;
LLButton* mNotifyBtn;
};
diff --git a/indra/newview/skins/default/xui/en/floater_event.xml b/indra/newview/skins/default/xui/en/floater_event.xml
index 3d579f56be..9ce0c9c86d 100644
--- a/indra/newview/skins/default/xui/en/floater_event.xml
+++ b/indra/newview/skins/default/xui/en/floater_event.xml
@@ -73,7 +73,7 @@
width="310">
Run by:
</text>
- <name_box
+ <text
follows="left|top"
height="20"
initial_value="(retrieving)"
@@ -174,8 +174,7 @@
height="106"
layout="topleft"
left="6"
- name="event_desc"
- value="Du waltz die spritz"
+ name="event_desc"
width="313" />
</layout_panel>
<layout_panel
@@ -200,12 +199,26 @@
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"
+ picture_style="true"
+ tool_tip="Delete Event"
+ width="18" />
+ <button
follows="left|top"
height="23"
label="Notify Me"
layout="topleft"
left_pad="3"
- top_delta="-1"
+ top_delta="-12"
name="notify_btn"
width="100" />
<button