diff options
author | Arno <am@disconnect.de> | 2013-09-22 08:18:09 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-09-22 08:19:00 +0200 |
commit | 09df993cd04065196279ce2c8c375df0d9080f78 (patch) | |
tree | a2bbf2531f0fc39d8c3bd98845911260eaec3e9e | |
parent | f88cff0d71bb769dbe9ab16a8517042803c03fca (diff) | |
download | SheMov-09df993cd04065196279ce2c8c375df0d9080f78.tar.gz SheMov-09df993cd04065196279ce2c8c375df0d9080f78.tar.bz2 SheMov-09df993cd04065196279ce2c8c375df0d9080f78.zip |
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.
-rw-r--r-- | fileview.cpp | 10 | ||||
-rw-r--r-- | 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); @@ -69,7 +69,7 @@ class FileView : public SmTreeView { QModelIndex mCurHover; bool mHoverPics; qint16 mCursorOffset; - QList<QString> mMd5Sums; + QList<QString> mSelectedFiles; FilesystemFileProxy *mProxy; SmDirModel *mModel; }; |