diff options
Diffstat (limited to 'gui/androidfiledialog.h')
-rw-r--r-- | gui/androidfiledialog.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gui/androidfiledialog.h b/gui/androidfiledialog.h new file mode 100644 index 00000000..ac626ef0 --- /dev/null +++ b/gui/androidfiledialog.h @@ -0,0 +1,45 @@ +#pragma once + +#include <QDialog> +#include <QDialogButtonBox> +#include <QStringListModel> +#include <QModelIndex> + +class AndroidFileDialogModel; + +namespace Ui { class AndroidFileDialog; } + +class AndroidFileDialog : public QDialog +{ + Q_OBJECT + enum Mode { + OpenFile = QDialogButtonBox::Open, + SaveFile = QDialogButtonBox::Save + }; + +public: + explicit AndroidFileDialog(Mode mode, QWidget *parent = 0); + ~AndroidFileDialog(); + + void setInitialPath(const QString &path); + void setSuffix(const QString &suffix); + QString filePath() const; + void setMode(Mode mode); + + static QString getOpenFileName(QWidget *parent = 0, const QString &caption = QString(), const QString &path = QString(), const QString &suffix = QString()); + static QString getSaveFileName(QWidget *parent = 0, const QString &caption = QString(), const QString &path = QString(), const QString &filter = QString()); + +private slots: + virtual void accept(); + void upFolder(); + void itemActivated(QModelIndex index); + void setDir(const QString &dir); + +private: + QString m_dir; + QStringListModel m_pathModel; + Ui::AndroidFileDialog *m_ui; + AndroidFileDialogModel *m_model; + Mode m_mode; +}; + |