summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-03-22 04:14:56 +0100
committerArno <am@disconnect.de>2013-03-22 04:14:56 +0100
commitdb95f01cdb220842e031030df86ee56724e72f27 (patch)
treec5b4b959865fa3e99567e7f369d1e3769978187b /filesystemwidget.cpp
parentf72ed32feae2f3397dc8d0828e6b33584c99fb3f (diff)
downloadSheMov-db95f01cdb220842e031030df86ee56724e72f27.tar.gz
SheMov-db95f01cdb220842e031030df86ee56724e72f27.tar.bz2
SheMov-db95f01cdb220842e031030df86ee56724e72f27.zip
Remember selections on FileModel reset
Since can reset the FileView through a time, remember the selections on reset and restore them after. The Timer is stopped when an item is being edited.
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r--filesystemwidget.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index 5f462e8..28822fd 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -23,6 +23,7 @@
#include <QClipboard>
#include <QMimeData>
#include <QUrl>
+#include <QTimer>
#include "filesystemwidget.h"
#include "filesystemdirproxy.h"
@@ -65,16 +66,20 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar
mFileProxy = new FilesystemFileProxy;
mFileProxy->setSourceModel(mFileModel);
+
mFileView->setModel(mFileProxy);
mFileView->setSortingEnabled(true);
mFileView->sortByColumn(0, Qt::AscendingOrder);
mFileView->setItemsExpandable(false);
- mFileView->setSelectionMode(QAbstractItemView::ExtendedSelection);
- mFileView->setEditTriggers(QAbstractItemView::NoEditTriggers);
+ mFileView->setSelectionMode(QAbstractItemView::ExtendedSelection);
+ mFileView->setSelectionBehavior(QAbstractItemView::SelectRows);
+
mFileView->setAlternatingRowColors(true);
mFileView->setColumnHidden(static_cast<int>(SmDirModel::FullPath), true);
mFileProxy->setDynamicSortFilter(true);
connect(mFileView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), mFileView, SLOT(selectedFilesChanged()));
+ connect(mFileModel, SIGNAL(modelAboutToBeReset()), mFileView, SLOT(saveSelection()));
+ connect(mFileModel, SIGNAL(modelReset()), mFileView, SLOT(restoreSelection()));
mPicViewer = SmGlobals::instance()->pictureViewer();
@@ -281,6 +286,7 @@ void FilesystemWidget::fromClipboard(){
}
void FilesystemWidget::renameFile(){
+ mFileModel->refresTimer()->stop();
QModelIndex curIdx = mFileView->currentIndex();
if(curIdx.data().toString() == ".."){
return;