summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelgroupnotices.cpp
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2018-09-26 13:46:45 -0700
committerRider Linden <rider@lindenlab.com>2018-09-26 13:46:45 -0700
commit78866b33a9f3a44db11a18245e8a37c834297a46 (patch)
treefd5c39a17334de8602ee2f20df020eaaa6e01e55 /indra/newview/llpanelgroupnotices.cpp
parent2d5fa7a732661f97b028ddcbabdd4fb3ba825a52 (diff)
parent58aef8beaf79dc83546a7b080014ca5030733ac8 (diff)
Merge
Diffstat (limited to 'indra/newview/llpanelgroupnotices.cpp')
-rw-r--r--indra/newview/llpanelgroupnotices.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp
index 46603bf4d4..7373c7412c 100644
--- a/indra/newview/llpanelgroupnotices.cpp
+++ b/indra/newview/llpanelgroupnotices.cpp
@@ -304,6 +304,8 @@ void LLPanelGroupNotices::activate()
{
if(mNoticesList)
mNoticesList->deleteAllItems();
+
+ mPrevSelectedNotice = LLUUID();
BOOL can_send = gAgent.hasPowerInGroup(mGroupID,GP_NOTICES_SEND);
BOOL can_receive = gAgent.hasPowerInGroup(mGroupID,GP_NOTICES_RECEIVE);
@@ -455,12 +457,18 @@ void LLPanelGroupNotices::refreshNotices()
}
+void LLPanelGroupNotices::clearNoticeList()
+{
+ mPrevSelectedNotice = mNoticesList->getStringUUIDSelectedItem();
+ mNoticesList->deleteAllItems();
+}
+
void LLPanelGroupNotices::onClickRefreshNotices(void* data)
{
LL_DEBUGS() << "LLPanelGroupNotices::onClickGetPastNotices" << LL_ENDL;
LLPanelGroupNotices* self = (LLPanelGroupNotices*)data;
- self->mNoticesList->deleteAllItems();
+ self->clearNoticeList();
LLMessageSystem* msg = gMessageSystem;
msg->newMessage("GroupNoticesListRequest");
@@ -548,7 +556,6 @@ void LLPanelGroupNotices::processNotices(LLMessageSystem* msg)
LLSD row;
row["id"] = id;
-
row["columns"][0]["column"] = "icon";
if (has_attachment)
{
@@ -576,7 +583,13 @@ void LLPanelGroupNotices::processNotices(LLMessageSystem* msg)
mNoticesList->setNeedsSort(save_sort);
mNoticesList->updateSort();
- mNoticesList->selectFirstItem();
+ if (mPanelViewNotice->getVisible())
+ {
+ if (!mNoticesList->selectByID(mPrevSelectedNotice))
+ {
+ mNoticesList->selectFirstItem();
+ }
+ }
}
void LLPanelGroupNotices::onSelectNotice(LLUICtrl* ctrl, void* data)