diff options
Diffstat (limited to 'src/plugins/FileDialogs')
| -rw-r--r-- | src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp | 11 | ||||
| -rw-r--r-- | src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h | 25 |
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); } |
