diff options
author | Arno <am@disconnect.de> | 2013-03-20 21:27:35 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-03-20 21:27:35 +0100 |
commit | 03831d3669ea49a99a15aaf5d17724be8c533b85 (patch) | |
tree | 618e3fe63b0430a4dbe604153ab588eb811fd183 /filesystemwidget.cpp | |
parent | 457e5328c8fbbf236fb163e90d732a35a583fd2d (diff) | |
download | SheMov-03831d3669ea49a99a15aaf5d17724be8c533b85.tar.gz SheMov-03831d3669ea49a99a15aaf5d17724be8c533b85.tar.bz2 SheMov-03831d3669ea49a99a15aaf5d17724be8c533b85.zip |
Use a Thread for collecting file data
blocking the GUI isn't nice, so use a separate Thread to gather all the
data for SmDirModel. Populating and changing directory works, but
modifying a file is most likely broken.
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r-- | filesystemwidget.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 4b7a9c7..b842541 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -8,7 +8,6 @@ #include <QtWidgets/QFileSystemModel> #include <QtWidgets/QTreeView> #include <QSettings> -#include <QDir> #include <QtWidgets/QSplitter> #include <QtWidgets/QVBoxLayout> #include <QtWidgets/QHBoxLayout> @@ -18,16 +17,12 @@ #include <QProcess> #include <QtWidgets/QApplication> #include <QtWidgets/QMessageBox> -#include <QFile> #include <QtWidgets/QAction> -#include <QRegExp> -#include <QFile> #include <QTextStream> #include <QSqlQuery> #include <QClipboard> #include <QMimeData> #include <QUrl> -#include <QList> #include "filesystemwidget.h" #include "filesystemdirproxy.h" @@ -40,13 +35,17 @@ #include "smdirmodel.h" FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboardMode(None) { - mModel = new FileSystemModel(this); + mModel = new FileSystemModel(this); mModel->setRootPath("/"); mModel->setFilter(QDir::AllEntries | QDir::NoDot); mModel->setReadOnly(false); mIconProvider = new SheMovIconProvider; mModel->setIconProvider(mIconProvider); + QStringList fHeaders = QStringList() << tr("Name") << tr("Size") << tr("Type") << tr("Created") << tr("Md5Sum") << tr("Duration") << tr("Bitrate") << tr("Full Path"); + mFileModel = new SmDirModel(fHeaders, this); + connect(mFileModel, SIGNAL(needResize()), this, SLOT(resizeFileView())); + mDirProxy = new FilesystemDirProxy; mDirProxy->setSourceModel(mModel); mDirView = new QTreeView; @@ -64,9 +63,7 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar mFileView = new FileView; mFileProxy = new FilesystemFileProxy; - QStringList fHeaders = QStringList() << tr("Name") << tr("Size") << tr("Type") << tr("Created") << tr("Md5Sum") << tr("Duration") << tr("Bitrate") << tr("Full Path"); - mFileModel = new SmDirModel(fHeaders, this); - connect(mFileModel, SIGNAL(needResize()), this, SLOT(resizeFileView())); + mFileProxy->setSourceModel(mFileModel); mFileView->setModel(mFileProxy); mFileView->setSortingEnabled(true); @@ -114,7 +111,6 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar splitter->setStretchFactor(0, 1); splitter->setStretchFactor(1, 2); mainLayout->addWidget(splitter); - setLayout(mainLayout); } |