diff options
author | Arno <am@disconnect.de> | 2013-03-22 04:14:56 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-03-22 04:14:56 +0100 |
commit | db95f01cdb220842e031030df86ee56724e72f27 (patch) | |
tree | c5b4b959865fa3e99567e7f369d1e3769978187b /filesystemwidget.cpp | |
parent | f72ed32feae2f3397dc8d0828e6b33584c99fb3f (diff) | |
download | SheMov-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.cpp | 10 |
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; |