Maki
Formally verfied low-code orchestration
Loading...
Searching...
No Matches
SettingsManager Class Reference

Manages application settings and provides access to them. More...

#include <settings_manager.h>

Inheritance diagram for SettingsManager:

Public Slots

void addRecentFile (const QString &s)
 Adds a file to the recent files list.

Signals

void settingsChanged ()
 Emitted when settings change.

Public Member Functions

 SettingsManager (oclero::qlementine::ThemeManager *themeManager, QObject *parent=nullptr)
 Constructs a new SettingsManager object.
GeneralSettings general () const
 Gets the general settings.
AppearanceSettings appearance () const
 Gets the appearance settings.
GenerationSettings generation () const
 Gets the generation settings.
PluginSettings plugins () const
 Gets the list of plugins.
void applySettings ()
 Applies the current temporary settings to the permanent settings and emits a signal indicating that settings have changed.
void setGeneral (const GeneralSettings &s)
 Sets the general settings.
void setAppearance (const AppearanceSettings &s)
 Sets the appearance settings.
void setGeneration (const GenerationSettings &s)
 Sets the generation settings.
void setPlugins (const PluginSettings &s)
 Sets the list of plugins.
QVector< maki::SettingField > getPluginSettings (const QString &id) const override
 Gets the settings for a specific plugin.
VoidResult registerSettings (const QString &id, const maki::PluginVersion version, const QString &iconPath, const QVector< maki::SettingField > &settings) override
 Registers settings for a plugin.
void load ()
 Loads settings from a file.
void save ()
 Saves settings to a file.
std::vector< oclero::qlementine::Theme > availableThemes () const
 Gets the list of available themes.
Result< oclero::qlementine::Theme > themeByName (const QString &themeName) const
 Get a theme based on its metadata name.
void themeCreated (const QString &themePath)
 Handles a theme creation event.

Private Member Functions

maki::SettingField settingFromName (const QVector< maki::SettingField > &settings, const QString &fieldName) const
 Pointer to the ThemeManager.

Private Attributes

GeneralSettings mGeneral
 Settings storage.
AppearanceSettings mAppearance
 Current general settings.
GenerationSettings mGeneration
 Current appearance settings.
PluginSettings mPluginSettings
 Current generation settings.
GeneralSettings mTmpGeneral
 Current plugin settings.

Detailed Description

Manages application settings and provides access to them.

Constructor & Destructor Documentation

◆ SettingsManager()

SettingsManager::SettingsManager ( oclero::qlementine::ThemeManager * themeManager,
QObject * parent = nullptr )

Constructs a new SettingsManager object.

Parameters
themeManagerPointer to the ThemeManager.
parentParent object.

Member Function Documentation

◆ addRecentFile

void SettingsManager::addRecentFile ( const QString & s)
slot

Adds a file to the recent files list.

Parameters
sPath to the file.

◆ appearance()

AppearanceSettings SettingsManager::appearance ( ) const

Gets the appearance settings.

Returns
AppearanceSettings The current appearance settings.

◆ applySettings()

void SettingsManager::applySettings ( )

Applies the current temporary settings to the permanent settings and emits a signal indicating that settings have changed.

This function is called to save any changes made during the user interface session. It copies the temporary settings to their corresponding permanent settings, and then calls save() to persist these changes to storage.

◆ availableThemes()

std::vector< oclero::qlementine::Theme > SettingsManager::availableThemes ( ) const

Gets the list of available themes.

Returns
std::vector<oclero::qlementine::Theme> List of available themes.

◆ general()

GeneralSettings SettingsManager::general ( ) const

Gets the general settings.

Returns
GeneralSettings The current general settings.

◆ generation()

GenerationSettings SettingsManager::generation ( ) const

Gets the generation settings.

Returns
GenerationSettings The current generation settings.

◆ getPluginSettings()

QVector< maki::SettingField > SettingsManager::getPluginSettings ( const QString & id) const
override

Gets the settings for a specific plugin.

Parameters
idID of the plugin.
Returns
QVector<maki::SettingField> List of settings for the plugin.

◆ plugins()

PluginSettings SettingsManager::plugins ( ) const

Gets the list of plugins.

Returns
PluginSettings The current plugin settings

◆ registerSettings()

VoidResult SettingsManager::registerSettings ( const QString & id,
const maki::PluginVersion version,
const QString & iconPath,
const QVector< maki::SettingField > & settings )
override

Registers settings for a plugin.

Parameters
idID of the plugin.
versionVersion of the plugin.
settingsList of settings for the plugin.
callbackCallback function for the plugin.

◆ setAppearance()

void SettingsManager::setAppearance ( const AppearanceSettings & s)

Sets the appearance settings.

Parameters
sThe new appearance settings.

◆ setGeneral()

void SettingsManager::setGeneral ( const GeneralSettings & s)

Sets the general settings.

Parameters
sThe new general settings.

◆ setGeneration()

void SettingsManager::setGeneration ( const GenerationSettings & s)

Sets the generation settings.

Parameters
sThe new generation settings.

◆ setPlugins()

void SettingsManager::setPlugins ( const PluginSettings & s)

Sets the list of plugins.

Parameters
sThe new list of plugin information.

◆ settingFromName()

maki::SettingField SettingsManager::settingFromName ( const QVector< maki::SettingField > & settings,
const QString & fieldName ) const
private

Pointer to the ThemeManager.

Retrieves a setting field from a list of settings by its name.

This function searches through the provided vector of maki::SettingField objects to find one with a matching name.

Parameters
settingsThe vector of settings to search through.
fieldNameThe name of the setting field to retrieve.
Returns
maki::SettingField A copy of the found setting field, or an empty field if not found.

◆ themeByName()

Result< oclero::qlementine::Theme > SettingsManager::themeByName ( const QString & themeName) const

Get a theme based on its metadata name.

Returns
In case the theme exists, it is returned. Otherwise Result is set to Failed

◆ themeCreated()

void SettingsManager::themeCreated ( const QString & themePath)

Handles a theme creation event.

Parameters
themePathPath to the created theme.

Member Data Documentation

◆ mTmpGeneral

GeneralSettings SettingsManager::mTmpGeneral
private

Current plugin settings.

Temporaty copies until apply is called


The documentation for this class was generated from the following files:
  • /__w/maki/maki/app/widgets/settings_manager.h
  • /__w/maki/maki/app/widgets/settings_manager.cpp