blob: 9f53726aeda658fbfcdac0be29597681fbd09195 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
* Copyright 2018-2019, Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef CALAMARESAPPLICATION_H
#define CALAMARESAPPLICATION_H
#include <QApplication>
class CalamaresWindow;
namespace Calamares
{
class ModuleManager;
}
/**
* @brief The CalamaresApplication class extends QApplication to handle
* Calamares startup and lifetime of main components.
*/
class CalamaresApplication : public QApplication
{
Q_OBJECT
public:
CalamaresApplication( int& argc, char* argv[] );
virtual ~CalamaresApplication();
/**
* @brief init handles the first part of Calamares application startup.
* After the main window shows up, the latter part of the startup sequence
* (including modules loading) happens asynchronously.
*/
void init();
static CalamaresApplication* instance();
/**
* @brief setDebug controls whether debug mode is enabled
*/
void setDebug( bool enabled );
/**
* @brief isDebug returns true if running in debug mode, otherwise false.
*/
bool isDebug();
/**
* @brief mainWindow returns the Calamares application main window.
*/
CalamaresWindow* mainWindow();
private slots:
void initView();
void initViewSteps();
void initFailed( const QStringList& l );
private:
void initQmlPath();
void initSettings();
void initBranding();
void initModuleManager();
void initJobQueue();
CalamaresWindow* m_mainwindow;
Calamares::ModuleManager* m_moduleManager;
bool m_debugMode;
};
#endif //CALAMARESAPPLICATION_H
|