1 #ifndef APPLICATION_UTILITIES_RESOURCES_H
2 #define APPLICATION_UTILITIES_RESOURCES_H
3
4 #include "../global.h"
5
6 #include <QtContainerFwd>
7 #include <QtGlobal>
8
9 #include <initializer_list>
10
11 QT_FORWARD_DECLARE_CLASS(QString)
QT_FORWARD_DECLARE_CLASS(QSettings)12 QT_FORWARD_DECLARE_CLASS(QSettings)
13 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
14 QT_FORWARD_DECLARE_CLASS(QStringList)
15 #endif
16
17 /*!
18 * \brief Sets the application meta data in the QCoreApplication singleton and attributes commonly used
19 * within my applications.
20 * \sa ::QtUtilities::setupCommonQtApplicationAttributes()
21 */
22 #define SET_QT_APPLICATION_INFO \
23 QCoreApplication::setOrganizationName(QStringLiteral(APP_AUTHOR)); \
24 QCoreApplication::setOrganizationDomain(QStringLiteral(APP_DOMAIN)); \
25 QCoreApplication::setApplicationName(QStringLiteral(APP_NAME)); \
26 QCoreApplication::setApplicationVersion(QStringLiteral(APP_VERSION)); \
27 ::QtUtilities::setupCommonQtApplicationAttributes()
28
29 /*!
30 * \brief Loads translations for Qt, other dependencies and the application.
31 */
32 #define LOAD_QT_TRANSLATIONS \
33 QtUtilities::TranslationFiles::loadQtTranslationFile(QT_TRANSLATION_FILES); \
34 QtUtilities::TranslationFiles::loadApplicationTranslationFile(QStringLiteral(PROJECT_CONFIG_NAME), APP_SPECIFIC_QT_TRANSLATION_FILES)
35
36 namespace QtUtilities {
37
38 namespace QtUtilitiesResources {
39
40 QT_UTILITIES_EXPORT void init();
41 QT_UTILITIES_EXPORT void cleanup();
42 } // namespace QtUtilitiesResources
43
44 namespace TranslationFiles {
45
46 QT_UTILITIES_EXPORT QString &additionalTranslationFilePath();
47 QT_UTILITIES_EXPORT void loadQtTranslationFile(std::initializer_list<QString> repositoryNames);
48 QT_UTILITIES_EXPORT void loadQtTranslationFile(std::initializer_list<QString> repositoryNames, const QString &localeName);
49 QT_UTILITIES_EXPORT void loadApplicationTranslationFile(const QString &configName, const QString &applicationName);
50 QT_UTILITIES_EXPORT void loadApplicationTranslationFile(const QString &configName, const QString &applicationName, const QString &localeName);
51 QT_UTILITIES_EXPORT void loadApplicationTranslationFile(const QString &configName, const std::initializer_list<QString> &applicationNames);
52 QT_UTILITIES_EXPORT void loadApplicationTranslationFile(
53 const QString &configName, const std::initializer_list<QString> &applicationNames, const QString &localeName);
54 } // namespace TranslationFiles
55
56 namespace ApplicationInstances {
57
58 #if defined(QT_UTILITIES_GUI_QTWIDGETS)
59 QT_UTILITIES_EXPORT bool hasWidgetsApp();
60 #endif
61 #if defined(QT_UTILITIES_GUI_QTWIDGETS) || defined(QT_UTILITIES_GUI_QTQUICK)
62 QT_UTILITIES_EXPORT bool hasGuiApp();
63 #endif
64 QT_UTILITIES_EXPORT bool hasCoreApp();
65 } // namespace ApplicationInstances
66
67 QT_UTILITIES_EXPORT void setupCommonQtApplicationAttributes();
68
69 } // namespace QtUtilities
70
71 #endif // APPLICATION_UTILITIES_RESOURCES_H
72