1 #pragma once
2 
3 #include "common/common_pch.h"
4 
5 #include <QFileDialog>
6 
7 class QString;
8 
9 namespace mtx::gui::Util {
10 
11 QString dirPath(QDir const &dir);
12 QString dirPath(QString const &dir);
13 
14 QString sanitizeDirectory(QString const &directory, bool withFileName);
15 QString getOpenFileName(QWidget *parent = nullptr, QString const &caption = QString{}, QString const &dir = QString{}, QString const &filter = QString{},
16                         QString *selectedFilter = nullptr, QFileDialog::Options options = QFileDialog::Options{});
17 QStringList getOpenFileNames(QWidget *parent = nullptr, QString const &caption = QString{}, QString const &dir = QString{}, QString const &filter = QString{},
18                              QString *selectedFilter = nullptr, QFileDialog::Options options = QFileDialog::Options{});
19 QString getSaveFileName(QWidget *parent = nullptr, QString const &caption = QString{}, QString const &dir = QString{}, QString const &defaultFileName = QString{}, QString const &filter = QString{}, QString const &defaultSuffix = QString{},
20                         QString *selectedFilter = nullptr, QFileDialog::Options options = QFileDialog::Options{}, QFileDialog::FileMode = QFileDialog::AnyFile);
21 QString getExistingDirectory(QWidget *parent = nullptr, QString const &caption = QString{}, QString const &dir = QString{}, QFileDialog::Options options = QFileDialog::ShowDirsOnly);
22 
23 }
24