LibrePCB Developers Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
application.h
Go to the documentation of this file.
1/*
2 * LibrePCB - Professional EDA for everyone!
3 * Copyright (C) 2013 LibrePCB Developers, see AUTHORS.md for contributors.
4 * https://librepcb.org/
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef LIBREPCB_CORE_APPLICATION_H
21#define LIBREPCB_CORE_APPLICATION_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
26#include <QtCore>
27
28/*******************************************************************************
29 * Namespace / Forward Declarations
30 ******************************************************************************/
31namespace librepcb {
32
33class FilePath;
34class StrokeFont;
35class StrokeFontPool;
36class Version;
37
38/*******************************************************************************
39 * Class Application
40 ******************************************************************************/
41
45class Application final {
46public:
47 // Constructors / Destructor
48 Application() = delete;
49 Application(const Application& other) = delete;
50 ~Application() = delete;
51
52 // Getters
53
61 static QString getVersion() noexcept;
62
70 static QString getGitRevision() noexcept;
71
79 static QDateTime getBuildDate() noexcept;
80
88 static QString getBuildAuthor() noexcept;
89
97 static const Version& getFileFormatVersion() noexcept;
98
107 static bool isFileFormatStable() noexcept;
108
117 static QString buildFullVersionDetails() noexcept;
118
127 static FilePath getCacheDir() noexcept;
128
136 static const FilePath& getResourcesDir() noexcept;
137
143 static QStringList getTranslationLocales() noexcept;
144
154 static const QFont& getDefaultSansSerifFont() noexcept;
155
165 static const QFont& getDefaultMonospaceFont() noexcept;
166
174 static const StrokeFontPool& getStrokeFonts() noexcept;
175
183 static const StrokeFont& getDefaultStrokeFont() noexcept;
184
192 static QString getDefaultStrokeFontName() noexcept;
193
194 // General Methods
195
201 static void loadBundledFonts() noexcept;
202
208 static void setTranslationLocale(const QLocale& locale) noexcept;
209
219 static void cleanTemporaryDirectory() noexcept;
220
221 // Operator Overloadings
222 Application& operator=(const Application& rhs) = delete;
223};
224
225/*******************************************************************************
226 * End of File
227 ******************************************************************************/
228
229} // namespace librepcb
230
231#endif
Static functions to access some global application configuration.
Definition application.h:45
static const FilePath & getResourcesDir() noexcept
Get the path to the resources directory.
Definition application.cpp:120
static bool isFileFormatStable() noexcept
Check whether the used file format is stable.
Definition application.cpp:75
static const QFont & getDefaultSansSerifFont() noexcept
Get the default sans serif font.
Definition application.cpp:190
static const QFont & getDefaultMonospaceFont() noexcept
Get the default monospace font.
Definition application.cpp:203
static QString getGitRevision() noexcept
Get the git revision of the sources used to build the application.
Definition application.cpp:52
static QString getDefaultStrokeFontName() noexcept
Get the name of the default stroke font.
Definition application.cpp:239
Application(const Application &other)=delete
static QString buildFullVersionDetails() noexcept
Build a copyable text with all the version numbers etc.
Definition application.cpp:79
static QString getVersion() noexcept
Get the application version.
Definition application.cpp:48
static const Version & getFileFormatVersion() noexcept
Get the used file format version.
Definition application.cpp:68
static QStringList getTranslationLocales() noexcept
Get all available translation locales.
Definition application.cpp:173
static void setTranslationLocale(const QLocale &locale) noexcept
Install all translators for a given locale.
Definition application.cpp:260
static const StrokeFont & getDefaultStrokeFont() noexcept
Get the default stroke font.
Definition application.cpp:235
static QDateTime getBuildDate() noexcept
Get the date/time when the application was built.
Definition application.cpp:56
static void cleanTemporaryDirectory() noexcept
Clean up old files & folders in the temporary directory.
Definition application.cpp:304
static FilePath getCacheDir() noexcept
Get the path to the cache directory.
Definition application.cpp:102
static void loadBundledFonts() noexcept
Load all bundled fonts to make them available in the application.
Definition application.cpp:247
static QString getBuildAuthor() noexcept
Get the author who has built the application.
Definition application.cpp:64
static const StrokeFontPool & getStrokeFonts() noexcept
Get all globally available stroke fonts.
Definition application.cpp:216
This class represents absolute, well-formatted paths to files or directories.
Definition filepath.h:127
The StrokeFont class.
Definition strokefont.h:56
The StrokeFontPool class.
Definition strokefontpool.h:46
The Version class represents a version number in the format "1.42.7".
Definition version.h:58
Definition occmodel.cpp:77