summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
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;