Settings
Glaxnimate uses an internal settings framework that automates saving/loading settings and also what is displayed in the settings dialog.
Settings are organized into groups, which will result into tabs in the user-facing settings dialog.
Reading and writing settings is easy enough, an example follows:
#include <QString>
#include "app/settings/settings.hpp"
void myfunc()
{
// loads the current value stored in settings
QString mycolor = app::settings::get<QString>("group_name", "setting_name");
// ...
// updates the value stored in settings
// it will get saved when the application exits
app::settings::set("group_name", "setting_name", mycolor);
}
Defining new settings
To add a new setting, you need to register it in src/gui/glaxnimate_app.cpp
.
User-facing settings have more options, that will affect the settings dialog.
Otherwise, if a setting is used only to store some internal state, you can define an internal setting that can leave most fields empty.
See GlaxnimateApp::load_settings_metadata() for examples of how the current settings are defined.