]> git.mxchange.org Git - flightgear.git/blob - src/GUI/SetupRootDialog.hxx
Very crude work on GUI base package selection.
[flightgear.git] / src / GUI / SetupRootDialog.hxx
1
2 #include <QDialog>
3 #include <QScopedPointer>
4 #include <QString>
5
6 namespace Ui
7 {
8     class SetupRootDialog;
9 }
10
11 class SetupRootDialog : public QDialog
12 {
13     Q_OBJECT
14 public:
15     SetupRootDialog(bool usedDefaultPath);
16
17     ~SetupRootDialog();
18
19     static bool restoreUserSelectedRoot();
20 private slots:
21
22     void onBrowse();
23
24     void onDownload();
25
26     void updatePromptText();
27 private:
28
29     static bool validatePath(QString path);
30     static bool validateVersion(QString path);
31
32     enum PromptState
33     {
34         DefaultPathCheckFailed,
35         ExplicitPathCheckFailed,
36         VersionCheckFailed,
37         ChoseInvalidLocation,
38         ChoseInvalidVersion
39     };
40
41     PromptState m_promptState;
42     QScopedPointer<Ui::SetupRootDialog> m_ui;
43     QString m_browsedPath;
44 };