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();
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
updateSelectAllItem();
}
+void ThreadList::navigateTo(ThreadListItem &item)
+{
+ ListView::showItem(item, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
void ThreadList::updateItems(const MsgIdList &idList)
{
auto threadIdSet = getThreadIdSet(idList);
newItem->setCheckedState(item.getCheckedState(), false);
item.destroy();
ListView::sortedInsertItem(*newItem);
+ navigateTo(*newItem);
}
else
{
item.update(*msgThread, true);
+ navigateTo(item);
}
}