LibrePCB Developers Documentation
Loading...
Searching...
No Matches
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 getGitCommitDate() 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
139 static const FilePath& getResourcesDir(bool* valid = nullptr) noexcept;
140
146 static QStringList getTranslationLocales() noexcept;
147
157 static const QFont& getDefaultSansSerifFont() noexcept;
158
168 static const QFont& getDefaultMonospaceFont() noexcept;
169
177 static const StrokeFontPool& getStrokeFonts() noexcept;
178
186 static const StrokeFont& getDefaultStrokeFont() noexcept;
187
195 static QString getDefaultStrokeFontName() noexcept;
196
197 // General Methods
198
204 static void loadBundledFonts() noexcept;
205
211 static void setTranslationLocale(const QLocale& locale) noexcept;
212
222 static void cleanTemporaryDirectory() noexcept;
223
224 // Operator Overloadings
225 Application& operator=(const Application& rhs) = delete;
226};
227
228/*******************************************************************************
229 * End of File
230 ******************************************************************************/
231
232} // namespace librepcb
233
234#endif
Static functions to access some global application configuration.
Definition application.h:45
static bool isFileFormatStable() noexcept
Check whether the used file format is stable.
Definition application.cpp:77
static const QFont & getDefaultSansSerifFont() noexcept
Get the default sans serif font.
Definition application.cpp:206
static const QFont & getDefaultMonospaceFont() noexcept
Get the default monospace font.
Definition application.cpp:219
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:255
static QDateTime getGitCommitDate() noexcept
Get the commit datetime of the sources used to build the application.
Definition application.cpp:56
Application(const Application &other)=delete
static QString buildFullVersionDetails() noexcept
Build a copyable text with all the version numbers etc.
Definition application.cpp:81
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:70
static QStringList getTranslationLocales() noexcept
Get all available translation locales.
Definition application.cpp:189
static void setTranslationLocale(const QLocale &locale) noexcept
Install all translators for a given locale.
Definition application.cpp:276
static const StrokeFont & getDefaultStrokeFont() noexcept
Get the default stroke font.
Definition application.cpp:251
static void cleanTemporaryDirectory() noexcept
Clean up old files & folders in the temporary directory.
Definition application.cpp:320
static FilePath getCacheDir() noexcept
Get the path to the cache directory.
Definition application.cpp:111
static void loadBundledFonts() noexcept
Load all bundled fonts to make them available in the application.
Definition application.cpp:263
static QString getBuildAuthor() noexcept
Get the author who has built the application.
Definition application.cpp:66
static const FilePath & getResourcesDir(bool *valid=nullptr) noexcept
Get the path to the resources directory.
Definition application.cpp:129
static const StrokeFontPool & getStrokeFonts() noexcept
Get all globally available stroke fonts.
Definition application.cpp:232
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