diff options
| author | Patrick Storz <eduard.braun2@gmx.de> | 2019-08-07 22:50:41 +0000 |
|---|---|---|
| committer | Patrick Storz <eduard.braun2@gmx.de> | 2019-08-31 14:50:39 +0000 |
| commit | 37e5d6dc66d7b98ce6716398f81eb5b0a89bded2 (patch) | |
| tree | 558122ae079f4acf8d41fad00d095ada4d14f460 | |
| parent | Make sure we have get_widget() (diff) | |
| download | inkscape-37e5d6dc66d7b98ce6716398f81eb5b0a89bded2.tar.gz inkscape-37e5d6dc66d7b98ce6716398f81eb5b0a89bded2.zip | |
Simplify pref_name() function
| -rw-r--r-- | src/extension/prefdialog/parameter-bool.cpp | 8 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter-color.cpp | 8 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter-float.cpp | 8 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter-int.cpp | 8 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter-notebook.cpp | 8 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter-optiongroup.cpp | 8 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter-string.cpp | 8 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter.cpp | 6 | ||||
| -rw-r--r-- | src/extension/prefdialog/parameter.h | 18 |
9 files changed, 23 insertions, 57 deletions
diff --git a/src/extension/prefdialog/parameter-bool.cpp b/src/extension/prefdialog/parameter-bool.cpp index c03bcb634..609e72774 100644 --- a/src/extension/prefdialog/parameter-bool.cpp +++ b/src/extension/prefdialog/parameter-bool.cpp @@ -37,20 +37,16 @@ ParamBool::ParamBool(Inkscape::XML::Node *xml, Inkscape::Extension::Extension *e } } - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - _value = prefs->getBool(extension_pref_root + pref_name, _value); - g_free(pref_name); + _value = prefs->getBool(pref_name(), _value); } bool ParamBool::set(bool in) { _value = in; - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool(extension_pref_root + pref_name, _value); - g_free(pref_name); + prefs->setBool(pref_name(), _value); return _value; } diff --git a/src/extension/prefdialog/parameter-color.cpp b/src/extension/prefdialog/parameter-color.cpp index 57e7486b6..4e80af2a8 100644 --- a/src/extension/prefdialog/parameter-color.cpp +++ b/src/extension/prefdialog/parameter-color.cpp @@ -40,10 +40,8 @@ ParamColor::ParamColor(Inkscape::XML::Node *xml, Inkscape::Extension::Extension } } - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - _value = prefs->getUInt(extension_pref_root + pref_name, _value); - g_free(pref_name); + _value = prefs->getUInt(pref_name(), _value); _color.setValue(_value); @@ -86,10 +84,8 @@ Gtk::Widget *ParamColor::get_widget(sigc::signal<void> *changeSignal) void ParamColor::_onColorChanged() { - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setUInt(extension_pref_root + pref_name, _color.value()); - g_free(pref_name); + prefs->setUInt(pref_name(), _color.value()); if (_changeSignal) _changeSignal->emit(); diff --git a/src/extension/prefdialog/parameter-float.cpp b/src/extension/prefdialog/parameter-float.cpp index 7e363a74b..f6abd5c63 100644 --- a/src/extension/prefdialog/parameter-float.cpp +++ b/src/extension/prefdialog/parameter-float.cpp @@ -36,10 +36,8 @@ ParamFloat::ParamFloat(Inkscape::XML::Node *xml, Inkscape::Extension::Extension } } - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - _value = prefs->getDouble(extension_pref_root + pref_name, _value); - g_free(pref_name); + _value = prefs->getDouble(pref_name(), _value); // parse and apply limits const char *min = xml->attribute("min"); @@ -96,10 +94,8 @@ float ParamFloat::set(float in) _value = _min; } - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble(extension_pref_root + pref_name, _value); - g_free(pref_name); + prefs->setDouble(pref_name(), _value); return _value; } diff --git a/src/extension/prefdialog/parameter-int.cpp b/src/extension/prefdialog/parameter-int.cpp index 2475a6785..1d768ca00 100644 --- a/src/extension/prefdialog/parameter-int.cpp +++ b/src/extension/prefdialog/parameter-int.cpp @@ -37,10 +37,8 @@ ParamInt::ParamInt(Inkscape::XML::Node *xml, Inkscape::Extension::Extension *ext } } - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - _value = prefs->getInt(extension_pref_root + pref_name, _value); - g_free(pref_name); + _value = prefs->getInt(pref_name(), _value); // parse and apply limits const char *min = xml->attribute("min"); @@ -89,10 +87,8 @@ int ParamInt::set(int in) _value = _min; } - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt(extension_pref_root + pref_name, _value); - g_free(pref_name); + prefs->setInt(pref_name(), _value); return _value; } diff --git a/src/extension/prefdialog/parameter-notebook.cpp b/src/extension/prefdialog/parameter-notebook.cpp index b59f2a43d..6c2d5b314 100644 --- a/src/extension/prefdialog/parameter-notebook.cpp +++ b/src/extension/prefdialog/parameter-notebook.cpp @@ -128,10 +128,8 @@ ParamNotebook::ParamNotebook(Inkscape::XML::Node *xml, Inkscape::Extension::Exte } // get value (initialize with value of first page if pref is empty) - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - _value = prefs->getString(extension_pref_root + pref_name); - g_free(pref_name); + _value = prefs->getString(pref_name()); if (_value.empty()) { if (!_children.empty()) { @@ -158,10 +156,8 @@ const Glib::ustring& ParamNotebook::set(const int in) if (page) { _value = page->_name; - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(extension_pref_root + pref_name, _value); - g_free(pref_name); + prefs->setString(pref_name(), _value); } return _value; diff --git a/src/extension/prefdialog/parameter-optiongroup.cpp b/src/extension/prefdialog/parameter-optiongroup.cpp index 1358f33bb..a1b3e0a52 100644 --- a/src/extension/prefdialog/parameter-optiongroup.cpp +++ b/src/extension/prefdialog/parameter-optiongroup.cpp @@ -62,10 +62,8 @@ ParamOptionGroup::ParamOptionGroup(Inkscape::XML::Node *xml, Inkscape::Extension } // get value (initialize with value of first choice if pref is empty) - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - _value = prefs->getString(extension_pref_root + pref_name); - g_free(pref_name); + _value = prefs->getString(pref_name()); if (_value.empty()) { if (!choices.empty()) { @@ -108,10 +106,8 @@ const Glib::ustring& ParamOptionGroup::set(Glib::ustring in) { if (contains(in)) { _value = in; - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(extension_pref_root + pref_name, _value.c_str()); - g_free(pref_name); + prefs->setString(pref_name(), _value.c_str()); } else { g_warning("Could not set value ('%s') for parameter '%s' in extension '%s'. Not a valid choice.", in.c_str(), _name, _extension->get_id()); diff --git a/src/extension/prefdialog/parameter-string.cpp b/src/extension/prefdialog/parameter-string.cpp index 337893528..bf8ad14a3 100644 --- a/src/extension/prefdialog/parameter-string.cpp +++ b/src/extension/prefdialog/parameter-string.cpp @@ -28,10 +28,8 @@ ParamString::ParamString(Inkscape::XML::Node *xml, Inkscape::Extension::Extensio value = xml->firstChild()->content(); } - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - _value = prefs->getString(extension_pref_root + pref_name); - g_free(pref_name); + _value = prefs->getString(pref_name()); if (_value.empty() && value) { _value = value; @@ -70,10 +68,8 @@ const Glib::ustring& ParamString::set(const Glib::ustring in) { _value = in; - char *pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(extension_pref_root + pref_name, _value); - g_free(pref_name); + prefs->setString(pref_name(), _value); return _value; } diff --git a/src/extension/prefdialog/parameter.cpp b/src/extension/prefdialog/parameter.cpp index 4c104573a..46e101ad1 100644 --- a/src/extension/prefdialog/parameter.cpp +++ b/src/extension/prefdialog/parameter.cpp @@ -259,9 +259,9 @@ InxParameter::~InxParameter() _description = nullptr; } -char *InxParameter::pref_name() const +Glib::ustring InxParameter::pref_name() const { - return g_strdup_printf("%s.%s", _extension->get_id(), _name); + return Glib::ustring::compose("/extensions/%1.%2", _extension->get_id(), _name); } std::string InxParameter::value_to_string() const @@ -272,8 +272,6 @@ std::string InxParameter::value_to_string() const return ""; } -const Glib::ustring InxParameter::extension_pref_root = "/extensions/"; - } // namespace Extension } // namespace Inkscape diff --git a/src/extension/prefdialog/parameter.h b/src/extension/prefdialog/parameter.h index f9baab190..a5f58c922 100644 --- a/src/extension/prefdialog/parameter.h +++ b/src/extension/prefdialog/parameter.h @@ -132,21 +132,17 @@ protected: char *_description = nullptr; - /** - * The root directory in the preferences database for extension-related parameters. - * - * The directory path has both a leading and a trailing slash, so that extension_pref_root + pref_name works - * without having to append a separator. - */ - static const Glib::ustring extension_pref_root; - - /* **** member functions **** */ /** - * Build the name to write the parameter from the extension's ID and the name of this parameter. + * Build preference name for the current parameter. + * + * Returns a preference name that can be used with setters and getters from Inkscape::Preferences. + * The name is assembled from a fixed root ("/extensions/"), extension ID and parameter name. + * + * @return: Preference name */ - char *pref_name() const; + Glib::ustring pref_name() const; }; } // namespace Extension |
