From 09df993cd04065196279ce2c8c375df0d9080f78 Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 22 Sep 2013 08:18:09 +0200 Subject: Fix FileView selection after model reset Use Filename instead of md5sum for re-selecting files after reset. They are pretty unique in a directory, too. When we're not doing expensive ops, ie. we are polling, we don't gather the md5sum, so the selection is lost. --- fileview.cpp | 10 +++++----- fileview.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fileview.cpp b/fileview.cpp index 73cbd24..7280696 100644 --- a/fileview.cpp +++ b/fileview.cpp @@ -222,16 +222,16 @@ void FileView::properties(){ } void FileView::saveSelection(){ - mMd5Sums.clear(); - QModelIndexList selected = selectionModel()->selectedRows(SmDirModel::Md5sum); + mSelectedFiles.clear(); + QModelIndexList selected = selectionModel()->selectedRows(SmDirModel::Name); foreach(QModelIndex i, selected){ - mMd5Sums << i.data().toString(); + mSelectedFiles << i.data().toString(); } } void FileView::restoreSelection(){ - foreach(QString s, mMd5Sums){ - QModelIndex i = mModel->find(s, SmDirModel::Md5sum); + foreach(QString s, mSelectedFiles){ + QModelIndex i = mModel->find(s, SmDirModel::Name); if(i.isValid()){ QModelIndex r = mProxy->mapFromSource(i); selectionModel()->select(r, QItemSelectionModel::Rows | QItemSelectionModel::Select); diff --git a/fileview.h b/fileview.h index 65097bd..4858ce6 100644 --- a/fileview.h +++ b/fileview.h @@ -69,7 +69,7 @@ class FileView : public SmTreeView { QModelIndex mCurHover; bool mHoverPics; qint16 mCursorOffset; - QList mMd5Sums; + QList mSelectedFiles; FilesystemFileProxy *mProxy; SmDirModel *mModel; }; -- cgit v1.2.3-70-g09d2