diff options
Diffstat (limited to 'fileview.cpp')
-rw-r--r-- | fileview.cpp | 13 |
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(); |