diff options
Diffstat (limited to 'tests/manual/dialogs/filedialogpanel.cpp')
-rw-r--r-- | tests/manual/dialogs/filedialogpanel.cpp | 49 |
1 files changed, 17 insertions, 32 deletions
diff --git a/tests/manual/dialogs/filedialogpanel.cpp b/tests/manual/dialogs/filedialogpanel.cpp index e234835cdb..2ae6241849 100644 --- a/tests/manual/dialogs/filedialogpanel.cpp +++ b/tests/manual/dialogs/filedialogpanel.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "filedialogpanel.h" +#include "utils.h" #include <QGridLayout> #include <QVBoxLayout> @@ -48,7 +49,6 @@ #include <QFormLayout> #include <QSpacerItem> #include <QGroupBox> -#include <QComboBox> #include <QPushButton> #include <QCheckBox> #include <QLineEdit> @@ -60,25 +60,19 @@ #include <QTimer> #include <QDebug> -struct ComboData -{ - const char *description; - int value; -}; - -const ComboData acceptModeComboData[] = +const FlagData acceptModeComboData[] = { {"AcceptOpen", QFileDialog::AcceptOpen }, {"AcceptSave", QFileDialog::AcceptSave } }; -const ComboData viewModeComboData[] = +const FlagData viewModeComboData[] = { {"Detail", QFileDialog::Detail}, {"List", QFileDialog::List} }; -const ComboData fileModeComboData[] = +const FlagData fileModeComboData[] = { {"AnyFile", QFileDialog::AnyFile}, {"ExistingFile", QFileDialog::ExistingFile}, @@ -87,25 +81,6 @@ const ComboData fileModeComboData[] = {"DirectoryOnly", QFileDialog::DirectoryOnly} }; -static QComboBox *createCombo(QWidget *parent, const ComboData *d, size_t size) -{ - QComboBox *c = new QComboBox(parent); - for (size_t i = 0; i < size; ++i) - c->addItem(QLatin1String(d[i].description), QVariant(d[i].value)); - return c; -} - -template <class Enum> -Enum comboBoxValue(const QComboBox *c) -{ - return static_cast<Enum>(c->itemData(c->currentIndex()).toInt()); -} - -inline void setComboBoxValue(QComboBox *c, int v) -{ - c->setCurrentIndex(c->findData(QVariant(v))); -} - static inline QPushButton *addButton(const QString &description, QGridLayout *layout, int &row, int column, QObject *receiver, const char *slotFunc) { @@ -155,9 +130,9 @@ FileDialogPanel::FileDialogPanel(QWidget *parent) , m_resolveSymLinks(new QCheckBox(tr("Resolve symlinks"))) , m_native(new QCheckBox(tr("Use native dialog"))) , m_customDirIcons(new QCheckBox(tr("Don't use custom directory icons"))) - , m_acceptMode(createCombo(this, acceptModeComboData, sizeof(acceptModeComboData)/sizeof(ComboData))) - , m_fileMode(createCombo(this, fileModeComboData, sizeof(fileModeComboData)/sizeof(ComboData))) - , m_viewMode(createCombo(this, viewModeComboData, sizeof(viewModeComboData)/sizeof(ComboData))) + , m_acceptMode(createCombo(this, acceptModeComboData, sizeof(acceptModeComboData)/sizeof(FlagData))) + , m_fileMode(createCombo(this, fileModeComboData, sizeof(fileModeComboData)/sizeof(FlagData))) + , m_viewMode(createCombo(this, viewModeComboData, sizeof(viewModeComboData)/sizeof(FlagData))) , m_allowedSchemes(new QLineEdit(this)) , m_defaultSuffix(new QLineEdit(this)) , m_directory(new QLineEdit(this)) @@ -355,6 +330,7 @@ void FileDialogPanel::getOpenFileNames() void FileDialogPanel::getOpenFileUrls() { +#if QT_VERSION >= 0x050000 QString selectedFilter = m_selectedNameFilter->text().trimmed(); const QList<QUrl> files = QFileDialog::getOpenFileUrls(this, tr("getOpenFileNames Qt %1").arg(QLatin1String(QT_VERSION_STR)), @@ -367,6 +343,7 @@ void FileDialogPanel::getOpenFileUrls() << "\nName filter: " << selectedFilter; QMessageBox::information(this, tr("getOpenFileNames"), result, QMessageBox::Ok); } +#endif // Qt 5 } void FileDialogPanel::getOpenFileName() @@ -386,6 +363,7 @@ void FileDialogPanel::getOpenFileName() void FileDialogPanel::getOpenFileUrl() { +#if QT_VERSION >= 0x050000 QString selectedFilter = m_selectedNameFilter->text().trimmed(); const QUrl file = QFileDialog::getOpenFileUrl(this, tr("getOpenFileUrl Qt %1").arg(QLatin1String(QT_VERSION_STR)), @@ -398,6 +376,7 @@ void FileDialogPanel::getOpenFileUrl() << "\nName filter: " << selectedFilter; QMessageBox::information(this, tr("getOpenFileName"), result, QMessageBox::Ok); } +#endif // Qt 5 } void FileDialogPanel::getSaveFileName() @@ -417,6 +396,7 @@ void FileDialogPanel::getSaveFileName() void FileDialogPanel::getSaveFileUrl() { +#if QT_VERSION >= 0x050000 QString selectedFilter = m_selectedNameFilter->text().trimmed(); const QUrl file = QFileDialog::getSaveFileUrl(this, tr("getSaveFileName Qt %1").arg(QLatin1String(QT_VERSION_STR)), @@ -429,6 +409,7 @@ void FileDialogPanel::getSaveFileUrl() << "\nName filter: " << selectedFilter; QMessageBox::information(this, tr("getSaveFileNames"), result, QMessageBox::Ok); } +#endif // Qt 5 } void FileDialogPanel::getExistingDirectory() @@ -442,12 +423,14 @@ void FileDialogPanel::getExistingDirectory() void FileDialogPanel::getExistingDirectoryUrl() { +#if QT_VERSION >= 0x050000 const QUrl dir = QFileDialog::getExistingDirectoryUrl(this, tr("getExistingDirectory Qt %1").arg(QLatin1String(QT_VERSION_STR)), QUrl(m_directory->text()), options() | QFileDialog::ShowDirsOnly, allowedSchemes()); if (!dir.isEmpty()) QMessageBox::information(this, tr("getExistingDirectory"), QLatin1String("Directory: ") + dir.toString(), QMessageBox::Ok); +#endif // Qt 5 } void FileDialogPanel::restoreDefaults() @@ -493,9 +476,11 @@ void FileDialogPanel::applySettings(QFileDialog *d) const if (!filter.isEmpty()) d->selectNameFilter(filter); } else { +#if QT_VERSION >= 0x050000 d->setMimeTypeFilters(filters); if (!filter.isEmpty()) d->selectMimeTypeFilter(filter); +#endif // Qt 5 } foreach (LabelLineEdit *l, m_labelLineEdits) l->apply(d); |