summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-09-22 08:18:09 +0200
committerArno <am@disconnect.de>2013-09-22 08:19:00 +0200
commit09df993cd04065196279ce2c8c375df0d9080f78 (patch)
treea2bbf2531f0fc39d8c3bd98845911260eaec3e9e
parentf88cff0d71bb769dbe9ab16a8517042803c03fca (diff)
downloadSheMov-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.cpp10
-rw-r--r--fileview.h2
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<QString> mMd5Sums;
+ QList<QString> mSelectedFiles;
FilesystemFileProxy *mProxy;
SmDirModel *mModel;
};