1#ifndef APPLICATION_UTILITIES_RESOURCES_H
2#define APPLICATION_UTILITIES_RESOURCES_H
7#include <QtContainerFwd>
10#include <initializer_list>
13QT_FORWARD_DECLARE_CLASS(QString)
14QT_FORWARD_DECLARE_CLASS(QSettings)
15#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
16QT_FORWARD_DECLARE_CLASS(QStringList)
25#define SET_QT_DESKTOP_FILE_NAME
26#if defined(Q_OS_LINUX) && defined(qGuiApp) && defined(APP_ID)
27#undef SET_QT_DESKTOP_FILE_NAME
28#define SET_QT_DESKTOP_FILE_NAME QGuiApplication::setDesktopFileName(QStringLiteral(APP_ID));
36#define SET_QT_APPLICATION_INFO \
37 QCoreApplication::setOrganizationName(QStringLiteral(APP_AUTHOR)); \
38 QCoreApplication::setOrganizationDomain(QStringLiteral(APP_DOMAIN)); \
39 QCoreApplication::setApplicationName(QStringLiteral(APP_NAME)); \
40 QCoreApplication::setApplicationVersion(QStringLiteral(APP_VERSION)); \
41 SET_QT_DESKTOP_FILE_NAME \
42 ::QtUtilities::setupCommonQtApplicationAttributes()
47#define LOAD_QT_TRANSLATIONS \
48 QtUtilities::TranslationFiles::loadQtTranslationFile(QT_TRANSLATION_FILES); \
49 QtUtilities::TranslationFiles::loadApplicationTranslationFile(QStringLiteral(PROJECT_CONFIG_NAME), APP_SPECIFIC_QT_TRANSLATION_FILES)
53namespace QtUtilitiesResources {
59namespace TranslationFiles {
68 const QString &configName,
const std::initializer_list<QString> &applicationNames,
const QString &localeName);
72namespace ApplicationInstances {
74#if defined(QT_UTILITIES_GUI_QTWIDGETS)
77#if defined(QT_UTILITIES_GUI_QTWIDGETS) || defined(QT_UTILITIES_GUI_QTQUICK)
#define QT_UTILITIES_EXPORT
Marks the symbol to be exported by the qtutilities library.
QT_UTILITIES_EXPORT bool hasCoreApp()
Returns whether a QCoreApplication has been instantiated yet.
QT_UTILITIES_EXPORT void init()
Initiates the resources used and provided by this library.
QT_UTILITIES_EXPORT void cleanup()
Frees the resources used and provided by this library.
QT_UTILITIES_EXPORT void loadQtTranslationFile(std::initializer_list< QString > repositoryNames)
Loads and installs the appropriate Qt translation file for the current locale.
QT_UTILITIES_EXPORT void clearTranslationFiles()
Clears all translation files previously loaded via the load-functions in this namespace.
QT_UTILITIES_EXPORT void loadApplicationTranslationFile(const QString &configName, const QString &applicationName)
Loads and installs the appropriate application translation file for the current locale.
QT_UTILITIES_EXPORT QString & additionalTranslationFilePath()
Allows to set an additional search path for translation files.
QT_UTILITIES_EXPORT std::unique_ptr< QSettings > getSettings(const QString &organization, const QString &application=QString())
Returns the settings object for the specified organization and application.
QT_UTILITIES_EXPORT void setupCommonQtApplicationAttributes()
Sets Qt application attributes which are commonly used within my Qt applications.
QT_UTILITIES_EXPORT QString errorMessageForSettings(const QSettings &settings)
Returns an error message for the specified settings or an empty string if there's no error.