7#include <oclero/qlementine.hpp>
11#include "plugin_version.h"
12#include "style_helpers.h"
24 bool restoreLastSession =
true;
50 QString theme =
"Dark";
73 QString generationDir = QCoreApplication::applicationDirPath() +
"/generation";
101 return !(*
this == s);
110 QString defaultPlugin =
"";
126 Status pluginStatus(
const QString& pluginName)
const
129 if (p.name == pluginName)
130 return p.enabled ? Status::Enabled : Status::Disabled;
132 return Status::Unknown;
150 SettingsManager(oclero::qlementine::ThemeManager* themeManager, QObject* parent =
nullptr);
232 VoidResult
registerSettings(
const QString&
id,
const maki::PluginVersion version,
const QString& iconPath,
233 const QVector<maki::SettingField>& settings)
override;
257 Result<oclero::qlementine::Theme>
themeByName(
const QString& themeName)
const;
293 oclero::qlementine::ThemeManager* mThemeManager;
304 maki::SettingField
settingFromName(
const QVector<maki::SettingField>& settings,
const QString& fieldName)
const;
static QStringList pluginSearchPaths()
Returns a list of directories to search for plugins.
Definition app_paths.cpp:83
GeneralSettings mGeneral
Settings storage.
Definition settings_manager.h:282
SettingsManager(oclero::qlementine::ThemeManager *themeManager, QObject *parent=nullptr)
Constructs a new SettingsManager object.
Definition settings_manager.cpp:33
void setPlugins(const PluginSettings &s)
Sets the list of plugins.
Definition settings_manager.cpp:319
void setAppearance(const AppearanceSettings &s)
Sets the appearance settings.
Definition settings_manager.cpp:309
void load()
Loads settings from a file.
Definition settings_manager.cpp:82
AppearanceSettings mAppearance
Current general settings.
Definition settings_manager.h:283
Result< oclero::qlementine::Theme > themeByName(const QString &themeName) const
Get a theme based on its metadata name.
Definition settings_manager.cpp:67
GenerationSettings mGeneration
Current appearance settings.
Definition settings_manager.h:284
void addRecentFile(const QString &s)
Adds a file to the recent files list.
Definition settings_manager.cpp:324
void setGeneral(const GeneralSettings &s)
Sets the general settings.
Definition settings_manager.cpp:304
void settingsChanged()
Emitted when settings change.
PluginSettings plugins() const
Gets the list of plugins.
Definition settings_manager.cpp:57
PluginSettings mPluginSettings
Current generation settings.
Definition settings_manager.h:285
void themeCreated(const QString &themePath)
Handles a theme creation event.
Definition settings_manager.cpp:76
GeneralSettings general() const
Gets the general settings.
Definition settings_manager.cpp:42
GeneralSettings mTmpGeneral
Current plugin settings.
Definition settings_manager.h:288
AppearanceSettings appearance() const
Gets the appearance settings.
Definition settings_manager.cpp:47
void save()
Saves settings to a file.
Definition settings_manager.cpp:196
std::vector< oclero::qlementine::Theme > availableThemes() const
Gets the list of available themes.
Definition settings_manager.cpp:62
VoidResult registerSettings(const QString &id, const maki::PluginVersion version, const QString &iconPath, const QVector< maki::SettingField > &settings) override
Registers settings for a plugin.
Definition settings_manager.cpp:346
maki::SettingField settingFromName(const QVector< maki::SettingField > &settings, const QString &fieldName) const
Pointer to the ThemeManager.
Definition settings_manager.cpp:412
QVector< maki::SettingField > getPluginSettings(const QString &id) const override
Gets the settings for a specific plugin.
Definition settings_manager.cpp:337
void setGeneration(const GenerationSettings &s)
Sets the generation settings.
Definition settings_manager.cpp:314
void applySettings()
Applies the current temporary settings to the permanent settings and emits a signal indicating that s...
Definition settings_manager.cpp:271
GenerationSettings generation() const
Gets the generation settings.
Definition settings_manager.cpp:52
Holds appearance settings.
Definition settings_manager.h:49
oclero::qlementine::Theme themeVars
Start the log table filters collapsed or expanded.
Definition settings_manager.h:56
bool startLogFilterExpanded
Node corner radius.
Definition settings_manager.h:55
int edgeShape
The number of columns to use in the node paletter.
Definition settings_manager.h:58
int uiScalePercent
Current theme.
Definition settings_manager.h:51
bool operator!=(const AppearanceSettings &s) const
The shape of the transition arrows.
Definition settings_manager.h:60
int nodeCornerRadius
Whether to use the native menu bar.
Definition settings_manager.h:54
bool nativeMenuBar
Whether to show the canvas grid.
Definition settings_manager.h:53
bool showCanvasGrid
UI scale percentage.
Definition settings_manager.h:52
int numberOfColumns
Theme variables.
Definition settings_manager.h:57
Holds general application settings.
Definition settings_manager.h:23
bool operator!=(const GeneralSettings &s) const
Application language.
Definition settings_manager.h:36
QString language
Directory of the last opened file.
Definition settings_manager.h:34
int autosaveIntervalMinutes
Whether autosave is enabled.
Definition settings_manager.h:26
QVector< QString > recentFiles
Whether to show the welcome message.
Definition settings_manager.h:32
bool showWelcomeMessage
Size of the recent history list.
Definition settings_manager.h:31
QString lastOpenFileDir
List of recent files.
Definition settings_manager.h:33
bool confirmOnCloseWithExecution
Interval for autosave in minutes.
Definition settings_manager.h:27
bool enableDebugLogs
Whether to confirm close with execution.
Definition settings_manager.h:28
int recentHistorySize
How many rows to keep in the log table.
Definition settings_manager.h:30
bool autosaveEnabled
Whether to restore the last session on startup.
Definition settings_manager.h:25
int maximumLogHistory
Whether debug logs are enabled.
Definition settings_manager.h:29
Holds generation settings.
Definition settings_manager.h:72
QStringList pluginSearchPaths
Directory for generated files.
Definition settings_manager.h:74
bool operator!=(const GenerationSettings &s) const
Paths to search for plugins.
Definition settings_manager.h:76
Holds information about a plugin.
Definition settings_manager.h:86
bool enabled
Name of the plugin.
Definition settings_manager.h:88
QVector< maki::SettingField > settings
Version of the plugin.
Definition settings_manager.h:90
maki::PluginVersion version
Whether the plugin is enabled.
Definition settings_manager.h:89
QString icon
Settings for the plugin.
Definition settings_manager.h:91
Holds information about a plugin.
Definition settings_manager.h:109
QVector< PluginInfo > plugins
Whether the plugin logs should be printed with the normal logs.
Definition settings_manager.h:112
bool showCombinedLogs
The default plugin to be used.
Definition settings_manager.h:111
Status
The list of plugin settings.
Definition settings_manager.h:115