summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelgroupnotices.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelgroupnotices.cpp')
-rw-r--r--indra/newview/llpanelgroupnotices.cpp52
1 files changed, 49 insertions, 3 deletions
diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp
index f06342ebfc..0ce85818dd 100644
--- a/indra/newview/llpanelgroupnotices.cpp
+++ b/indra/newview/llpanelgroupnotices.cpp
@@ -41,6 +41,7 @@
#include "llinventorymodel.h"
#include "llfloaterinventory.h"
#include "llagent.h"
+#include "llagentui.h"
#include "lltooldraganddrop.h"
#include "lllineeditor.h"
@@ -379,13 +380,38 @@ void LLPanelGroupNotices::onClickSendMessage(void* data)
self->mCreateMessage->getText(),
self->mInventoryItem);
+
+ //instantly add new notice. actual notice will be added after ferreshNotices call
+ LLUUID id = LLUUID::generateNewID();
+ std::string subj = self->mCreateSubject->getText();
+ std::string name ;
+ LLAgentUI::buildFullname(name);
+ U32 timestamp = 0;
+
+ LLSD row;
+ row["id"] = id;
+
+ row["columns"][0]["column"] = "icon";
+
+ row["columns"][1]["column"] = "subject";
+ row["columns"][1]["value"] = subj;
+
+ row["columns"][2]["column"] = "from";
+ row["columns"][2]["value"] = name;
+
+ row["columns"][3]["column"] = "date";
+ row["columns"][3]["value"] = build_notice_date(timestamp);
+
+ row["columns"][4]["column"] = "sort";
+ row["columns"][4]["value"] = llformat( "%u", timestamp);
+
+ self->mNoticesList->addElement(row, ADD_BOTTOM);
+
self->mCreateMessage->clear();
self->mCreateSubject->clear();
onClickRemoveAttachment(data);
self->arrangeNoticeView(VIEW_PAST_NOTICE);
- onClickRefreshNotices(self);
-
}
//static
@@ -407,6 +433,26 @@ void LLPanelGroupNotices::onClickNewMessage(void* data)
self->mNoticesList->deselectAllItems(TRUE); // TRUE == don't commit on chnage
}
+void LLPanelGroupNotices::refreshNotices()
+{
+ onClickRefreshNotices(this);
+ /*
+ lldebugs << "LLPanelGroupNotices::onClickGetPastNotices" << llendl;
+
+ mNoticesList->deleteAllItems();
+
+ LLMessageSystem* msg = gMessageSystem;
+ msg->newMessage("GroupNoticesListRequest");
+ msg->nextBlock("AgentData");
+ msg->addUUID("AgentID",gAgent.getID());
+ msg->addUUID("SessionID",gAgent.getSessionID());
+ msg->nextBlock("Data");
+ msg->addUUID("GroupID",self->mGroupID);
+ gAgent.sendReliableMessage();
+ */
+
+}
+
void LLPanelGroupNotices::onClickRefreshNotices(void* data)
{
lldebugs << "LLPanelGroupNotices::onClickGetPastNotices" << llendl;
@@ -508,7 +554,7 @@ void LLPanelGroupNotices::processNotices(LLMessageSystem* msg)
mNoticesList->addElement(row, ADD_BOTTOM);
}
- mNoticesList->sortItems();
+ mNoticesList->updateSort();
}
void LLPanelGroupNotices::onSelectNotice(LLUICtrl* ctrl, void* data)