Toolbox Qt
Loading...
Searching...
No Matches
filechooser.h
1#ifndef TBQ_WIDGETS_FILECHOOSER_H
2#define TBQ_WIDGETS_FILECHOOSER_H
3
4#include "toolboxqt/toolboxqt_global.h"
5#include "toolboxqt/core/settingsini.h"
6
7#include <QFileInfo>
8#include <QStandardPaths>
9
10/*****************************/
11/* Start namespace */
12/*****************************/
13
14namespace tbq
15{
16
17/*****************************/
18/* Class definitions */
19/* FileChooser */
20/*****************************/
21
22class TOOLBOXQT_EXPORT FileChooser : public QObject
23{
24 Q_OBJECT
25
26public:
27 enum Type
28 {
29 CHOOSE_FILE_EXIST,
30 CHOOSE_FILE_CREATE
31 };
32 Q_ENUM(Type)
33
34public:
35 static QFileInfo fromUserSpaceFile(QWidget *parent, Type idType, QStandardPaths::StandardLocation stdLocation, const QString &filter = QString(), SettingsIni *settings = nullptr, const QString &keyLatest = QString());
36 static QFileInfo fromUserSpaceFile(QWidget *parent, Type idType, const QString &dirLocation, const QString &filter = QString(), SettingsIni *settings = nullptr, const QString &keyLatest = QString());
37
38 static QString fromUserSpaceDir(QWidget *parent, QStandardPaths::StandardLocation stdLocation, SettingsIni *settings = nullptr, const QString &keyLatest = QString());
39 static QString fromUserSpaceDir(QWidget *parent, const QString &dirLocation, SettingsIni *settings = nullptr, const QString &keyLatest = QString());
40
41public:
42 static QString getPathFromKey(const SettingsIni *settings, const QString &key, const QString &defaultValue = QString());
43
44private:
45 static bool settingsAreValid(const SettingsIni *settings, const QString &keyLatest);
46 static QString getKeyFmt(const QString &key);
47};
48
49/*****************************/
50/* End namespace */
51/*****************************/
52
53} // namespace tbq
54
55/*****************************/
56/* End file */
57/*****************************/
58
59#endif // TBQ_WIDGETS_FILECHOOSER_H
Used to choose a file from user-space.
Definition filechooser.h:23
Class used to manage INI configuration file.
Definition settingsini.h:15
Namespace used for ToolBoxQt library.
Definition array2d.h:12