From: Denis Dolzhenko Date: Wed, 9 Nov 2016 09:38:23 +0000 (+0200) Subject: TSAM-9756 Threat list don't display lastest messages when receive new messages X-Git-Tag: submit/tizen_3.0/20161109.114655^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F56%2F96556%2F1;p=profile%2Fmobile%2Fapps%2Fnative%2Fmessage.git TSAM-9756 Threat list don't display lastest messages when receive new messages Change-Id: I6e0205c828aee99c35fcb0ce4f0fac011a8b0326 Signed-off-by: Denis Dolzhenko --- diff --git a/src/MsgThread/Controller/inc/ThreadList.h b/src/MsgThread/Controller/inc/ThreadList.h index 961dc9dd..f816ad7e 100644 --- a/src/MsgThread/Controller/inc/ThreadList.h +++ b/src/MsgThread/Controller/inc/ThreadList.h @@ -74,8 +74,8 @@ namespace Msg void updateItems(const MsgIdList &idList); void updateItems(); void updateItem(ThreadListItem &item); - void insertItem(const MsgThreadItem &msgThreadItem); void insertItem(ThreadId id); + void navigateTo(ThreadListItem &item); ThreadListItem *getItem(ThreadId id) const; bool isAllThreadListItemChecked() const; void updateSelectAllItem(); diff --git a/src/MsgThread/Controller/src/ThreadList.cpp b/src/MsgThread/Controller/src/ThreadList.cpp index 6def2cca..f60b6a6a 100644 --- a/src/MsgThread/Controller/src/ThreadList.cpp +++ b/src/MsgThread/Controller/src/ThreadList.cpp @@ -177,16 +177,15 @@ int ThreadList::cmpFunc(const ListItem &item1, const ListItem &item2) return threadItem2.getRawTime() - threadItem1.getRawTime(); } -void ThreadList::insertItem(const MsgThreadItem &item) -{ - ListView::sortedInsertItem(*new ThreadListItem(item, m_App)); -} - void ThreadList::insertItem(ThreadId id) { MsgThreadItemRef threadItem = m_App.getMsgEngine().getStorage().getThread(id); if(threadItem) - insertItem(*threadItem); + { + auto newItem = new ThreadListItem(*threadItem, m_App); + ListView::sortedInsertItem(*newItem); + navigateTo(*newItem); + } } ThreadListItem *ThreadList::getItem(ThreadId id) const @@ -240,6 +239,11 @@ void ThreadList::deleteItems() updateSelectAllItem(); } +void ThreadList::navigateTo(ThreadListItem &item) +{ + ListView::showItem(item, ELM_GENLIST_ITEM_SCROLLTO_TOP); +} + void ThreadList::updateItems(const MsgIdList &idList) { auto threadIdSet = getThreadIdSet(idList); @@ -281,10 +285,12 @@ void ThreadList::updateItem(ThreadListItem &item) newItem->setCheckedState(item.getCheckedState(), false); item.destroy(); ListView::sortedInsertItem(*newItem); + navigateTo(*newItem); } else { item.update(*msgThread, true); + navigateTo(item); } }