summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fileview.cpp11
-rw-r--r--smdirmodel.h2
2 files changed, 7 insertions, 6 deletions
diff --git a/fileview.cpp b/fileview.cpp
index f582433..8f50330 100644
--- a/fileview.cpp
+++ b/fileview.cpp
@@ -72,18 +72,17 @@ void FileView::unmarkFiles(){
void FileView::createFolder(){
bool ok;
- QString title = QString(tr("%1 - %2")).arg(qApp->applicationName()).arg(tr("Mark files"));
- QString folderName = QInputDialog::getText(this, title, tr("Enter new folder name"), QLineEdit::Normal, QString(), &ok);
+ QString folderName = QInputDialog::getText(this, tr("Create folder"), tr("Enter new folder name"), QLineEdit::Normal, QString(), &ok);
if(!ok){
return;
}
if(!ok || folderName.isEmpty()){
return;
}
- QSortFilterProxyModel *proxy = qobject_cast<QSortFilterProxyModel*>(model());
- QFileSystemModel *fsModel = qobject_cast<QFileSystemModel*>(proxy->sourceModel());
- QModelIndex root = proxy->mapToSource(rootIndex());
- fsModel->mkdir(root, folderName);
+ QSortFilterProxyModel *proxy = qobject_cast<QSortFilterProxyModel*>(model());
+ SmDirModel *model = qobject_cast<SmDirModel*>(proxy->sourceModel());
+ model->dir().mkdir(folderName);
+ model->refresh();
}
void FileView::readConfig(){
diff --git a/smdirmodel.h b/smdirmodel.h
index d087558..620a632 100644
--- a/smdirmodel.h
+++ b/smdirmodel.h
@@ -15,6 +15,7 @@
#include <QFileInfo>
#include <QMap>
#include <QIcon>
+#include <QDir>
#include <smtreemodel.h>
#include <smdirwatcher.h>
@@ -35,6 +36,7 @@ class SmDirModel : public SmTreeModel {
virtual bool setData(const QModelIndex &index, const QVariant &value, int role);
bool isDir(const QModelIndex &idx) const;
QFileInfo fileInfo(const QModelIndex &idx) const;
+ QDir dir() const { return QDir(mCur); };
public slots:
void setDir(const QString &dir);