summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-03-17 09:47:40 +0100
committerArno <am@disconnect.de>2013-03-17 09:47:40 +0100
commit4221ce21a0c419b908529ec40b769e6e5c3fa7dc (patch)
tree1319667ab4d427296a102e1ca6de1d20c330db88
parentffe0b7556907bc4c6dfaed87a98e7fe68378cfa2 (diff)
downloadSheMov-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.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);