diff options
author | Arno <am@disconnect.de> | 2013-03-17 09:47:40 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-03-17 09:47:40 +0100 |
commit | 4221ce21a0c419b908529ec40b769e6e5c3fa7dc (patch) | |
tree | 1319667ab4d427296a102e1ca6de1d20c330db88 | |
parent | ffe0b7556907bc4c6dfaed87a98e7fe68378cfa2 (diff) | |
download | SheMov-4221ce21a0c419b908529ec40b769e6e5c3fa7dc.tar.gz SheMov-4221ce21a0c419b908529ec40b769e6e5c3fa7dc.tar.bz2 SheMov-4221ce21a0c419b908529ec40b769e6e5c3fa7dc.zip |
Fix create Folder
Don't let createFolder crash b/c of wrong model.
-rw-r--r-- | fileview.cpp | 11 | ||||
-rw-r--r-- | smdirmodel.h | 2 |
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); |