summaryrefslogtreecommitdiffstats
path: root/fileview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fileview.cpp')
-rw-r--r--fileview.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/fileview.cpp b/fileview.cpp
index 082ec92..331c7b8 100644
--- a/fileview.cpp
+++ b/fileview.cpp
@@ -22,6 +22,9 @@
#include <QVariant>
#include <QList>
#include <QDir>
+#include <QSortFilterProxyModel>
+
+#include <QDebug>
#include "fileview.h"
#include "messagedialog.h"
@@ -66,6 +69,12 @@ void FileView::readConfig(){
mHoverWin->setWindowOpacity(s.value("ui/hoveropacity", 10).toFloat() / 10.0);
}
+void FileView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint){
+ QTreeView::closeEditor(editor, hint);
+ QSortFilterProxyModel *proxy = qobject_cast<QSortFilterProxyModel*>(model());
+ QModelIndex sourceIdx = proxy->mapToSource(currentIndex());
+ emit editorClosed(sourceIdx);
+}
void FileView::doMark(){
int rowCount = model()->rowCount(rootIndex());
@@ -124,6 +133,10 @@ void FileView::contextMenuEvent(QContextMenuEvent *e){
}
void FileView::keyPressEvent(QKeyEvent *e){
+ if(!hasFocus()){
+ QTreeView::keyPressEvent(e);
+ return;
+ }
switch(e->key()){
case Qt::Key_Backspace:
emit upDir();