aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/FileDialogs
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/FileDialogs')
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp11
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h25
2 files changed, 31 insertions, 5 deletions
diff --git a/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
index f3648d7e0..d515e1762 100644
--- a/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
@@ -58,8 +58,14 @@ QmmpFileDialogImpl::QmmpFileDialogImpl(QWidget * parent, Qt::WindowFlags f) : QD
{
setupUi(this);
setAttribute(Qt::WA_QuitOnClose, FALSE);
+#if QT_VERSION >= 0x040400
+ m_model = new QFileSystemModel(this);
+ m_model->setNameFilterDisables (FALSE);
+#else
m_model = new QDirModel(this);
- m_model->setSorting(QDir::Type /*| QDir::Name*/);
+ m_model->setSorting(QDir::Type);
+#endif
+
fileListView->setModel(m_model);
treeView->setModel(m_model);
listToolButton->setChecked(true);
@@ -250,6 +256,9 @@ void QmmpFileDialogImpl::setModeAndMask(const QString& d,FileDialog::Mode m, con
{
fileListView->setRootIndex(m_model->index(path));
treeView->setRootIndex(m_model->index(path));
+#if QT_VERSION >= 0x040400
+ m_model->setRootPath(path);
+#endif
}
if (m == FileDialog::AddDirs || m == FileDialog::AddDir)
diff --git a/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
index 279d3ef1d..443e54c5a 100644
--- a/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
@@ -25,12 +25,14 @@
#include <QDialog>
#include <QCompleter>
#include <QAbstractItemView>
-#include <QDirModel>
#include <qmmpui/filedialog.h>
-//class QDirModel;
-
+#if QT_VERSION >= 0x040400
+#include <QFileSystemModel>
+#else
+#include <QDirModel>
+#endif
class QmmpFileDialogImpl : public QDialog , private Ui::QmmpFileDialog
{
@@ -54,12 +56,18 @@ protected slots:
void on_listToolButton_toggled(bool);
void on_detailsToolButton_toggled(bool);
void on_fileTypeComboBox_activated(int);
-
+
signals:
void filesAdded(const QStringList&);
protected:
+
+#if QT_VERSION >= 0x040400
+ QFileSystemModel* m_model;
+#else
QDirModel* m_model;
+#endif
+
virtual void hideEvent (QHideEvent *event);
private slots:
@@ -85,7 +93,12 @@ public:
QString pathFromIndex(const QModelIndex &index) const
{
+#if QT_VERSION >= 0x040400
+ const QFileSystemModel *dirModel = static_cast<const QFileSystemModel *>(model());
+#else
const QDirModel *dirModel = static_cast<const QDirModel *>(model());
+#endif
+
QString currentLocation = dirModel->filePath(m_itemView->rootIndex());
QString path = dirModel->filePath(index);
if (path.startsWith(currentLocation))
@@ -103,7 +116,11 @@ public:
QStringList parts;
if (!path.startsWith(QDir::separator()))
{
+#if QT_VERSION >= 0x040400
+ const QFileSystemModel *dirModel = static_cast<const QFileSystemModel *>(model());
+#else
const QDirModel *dirModel = static_cast<const QDirModel *>(model());
+#endif
QString currentLocation = QDir::toNativeSeparators(dirModel->filePath(m_itemView->rootIndex()));
parts = QCompleter::splitPath(currentLocation);
}