mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-02-02 02:24:58 -05:00
Save and restore current index of mail list
This commit is contained in:
parent
8f21c158c6
commit
ae0c993b6b
@ -325,6 +325,12 @@ void MessagesDialog::preModelUpdate()
|
||||
mTmpSavedSelectedIds.clear();
|
||||
getSelectedMessages(mTmpSavedSelectedIds);
|
||||
|
||||
mTmpSavedCurrentId.clear();
|
||||
const QModelIndex& m = ui.messageTreeWidget->currentIndex();
|
||||
if (m.isValid()) {
|
||||
mTmpSavedCurrentId = m.sibling(m.row(), RsMessageModel::COLUMN_THREAD_MSGID).data(RsMessageModel::MsgIdRole).toString();
|
||||
}
|
||||
|
||||
std::cerr << "Pre-change: saving selection for " << mTmpSavedSelectedIds.size() << " indexes" << std::endl;
|
||||
}
|
||||
|
||||
@ -342,6 +348,13 @@ void MessagesDialog::postModelUpdate()
|
||||
}
|
||||
|
||||
ui.messageTreeWidget->selectionModel()->select(sel,QItemSelectionModel::SelectCurrent);
|
||||
|
||||
if (!mTmpSavedCurrentId.isEmpty()) {
|
||||
QModelIndex index = mMessageProxyModel->mapFromSource(mMessageModel->getIndexOfMessage(mTmpSavedCurrentId.toStdString()));
|
||||
if (index.isValid()) {
|
||||
ui.messageTreeWidget->selectionModel()->setCurrentIndex(index, QItemSelectionModel::Select);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MessagesDialog::sortColumn(int col,Qt::SortOrder so)
|
||||
|
@ -159,6 +159,7 @@ private:
|
||||
Ui::MessagesDialog ui;
|
||||
|
||||
QList<QString> mTmpSavedSelectedIds;
|
||||
QString mTmpSavedCurrentId;
|
||||
QModelIndex lastSelectedIndex;
|
||||
|
||||
RsEventsHandlerId_t mEventHandlerId;
|
||||
|
Loading…
x
Reference in New Issue
Block a user