summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick Storz <eduard.braun2@gmx.de>2019-08-07 22:50:41 +0000
committerPatrick Storz <eduard.braun2@gmx.de>2019-08-31 14:50:39 +0000
commit37e5d6dc66d7b98ce6716398f81eb5b0a89bded2 (patch)
tree558122ae079f4acf8d41fad00d095ada4d14f460 /src
parentMake sure we have get_widget() (diff)
downloadinkscape-37e5d6dc66d7b98ce6716398f81eb5b0a89bded2.tar.gz
inkscape-37e5d6dc66d7b98ce6716398f81eb5b0a89bded2.zip
Simplify pref_name() function
Diffstat (limited to 'src')
-rw-r--r--src/extension/prefdialog/parameter-bool.cpp8
-rw-r--r--src/extension/prefdialog/parameter-color.cpp8
-rw-r--r--src/extension/prefdialog/parameter-float.cpp8
-rw-r--r--src/extension/prefdialog/parameter-int.cpp8
-rw-r--r--src/extension/prefdialog/parameter-notebook.cpp8
-rw-r--r--src/extension/prefdialog/parameter-optiongroup.cpp8
-rw-r--r--src/extension/prefdialog/parameter-string.cpp8
-rw-r--r--src/extension/prefdialog/parameter.cpp6
-rw-r--r--src/extension/prefdialog/parameter.h18
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