aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/FileDialogs/QmmpFileDialog
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-08-13 14:10:55 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-08-13 14:10:55 +0000
commitb5833f9423ecdc673f653dbb3f4bca6dacc918c1 (patch)
tree3ab466ec064339c789fc6f43d15c085659621413 /src/plugins/FileDialogs/QmmpFileDialog
parente16f15ff12eb654d2c09f5a280d28389a3ad74fc (diff)
downloadqmmp-b5833f9423ecdc673f653dbb3f4bca6dacc918c1.tar.gz
qmmp-b5833f9423ecdc673f653dbb3f4bca6dacc918c1.tar.bz2
qmmp-b5833f9423ecdc673f653dbb3f4bca6dacc918c1.zip
imported 0.2 fixes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@495 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/FileDialogs/QmmpFileDialog')
-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);
}