BibleTime
bibletimeapp.h
Go to the documentation of this file.
1/*********
2*
3* In the name of the Father, and of the Son, and of the Holy Spirit.
4*
5* This file is part of BibleTime's source code, https://bibletime.info/
6*
7* Copyright 1999-2026 by the BibleTime developers.
8* The BibleTime source code is licensed under the GNU General Public License
9* version 2.0.
10*
11**********/
12
13#pragma once
14
15#include <QApplication>
16
17#include "../backend/managers/cswordbackend.h"
18#include <optional>
19#include <QObject>
20#include <QString>
21
22
23/**
24 The BibleTimeApp class is used to clean up all instances of the backend and to
25 delete all created module objects.
26*/
27class BibleTimeApp : public QApplication {
28
29 Q_OBJECT
30
31public: // methods:
32
33 BibleTimeApp(int &argc, char **argv);
34 ~BibleTimeApp() override;
35
36 void startInit() { m_init = true; }
37
38 bool initBtConfig();
41 void initBackends();
42
43 bool debugMode() const noexcept { return m_debugMode; }
44 void setDebugMode(bool const debugMode) noexcept
46
47private: // fields:
48
49 bool m_init;
51 std::optional<CSwordBackend> m_backend;
52
53};
54
55#define btApp (static_cast<BibleTimeApp *>(BibleTimeApp::instance()))
void startInit()
bool initDisplayTemplateManager()
std::optional< CSwordBackend > m_backend
bool debugMode() const noexcept
void setDebugMode(bool const debugMode) noexcept
void initLightDarkPalette()
~BibleTimeApp() override