diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2008-09-16 17:15:22 +0000 |
|---|---|---|
| committer | tweenk <tweenk@users.sourceforge.net> | 2008-09-16 17:15:22 +0000 |
| commit | 9d87d30b72145fdee954992a9dc70f8c60174d7d (patch) | |
| tree | 194a94ece6ed668ad7dc529de2cdd09b7565c6fe /src/extension | |
| parent | fix leak of the arena and arenaitem (diff) | |
| download | inkscape-9d87d30b72145fdee954992a9dc70f8c60174d7d.tar.gz inkscape-9d87d30b72145fdee954992a9dc70f8c60174d7d.zip | |
Refactored preferences handling into a new version of
the Inkscape::Preferences class. Removed all use of
prefs_get_string_attribute(), pref_path_get_nth_child() and
create_pref() in favor of the new API. Replaced some "0 or 1" integer
preferences with booleans.
(bzr r6823)
Diffstat (limited to 'src/extension')
| -rw-r--r-- | src/extension/implementation/script.cpp | 7 | ||||
| -rw-r--r-- | src/extension/init.cpp | 13 | ||||
| -rw-r--r-- | src/extension/param/color.cpp | 12 | ||||
| -rw-r--r-- | src/extension/param/enum.cpp | 13 | ||||
| -rw-r--r-- | src/extension/param/notebook.cpp | 9 | ||||
| -rw-r--r-- | src/extension/param/radiobutton.cpp | 12 | ||||
| -rw-r--r-- | src/extension/param/string.cpp | 11 | ||||
| -rw-r--r-- | src/extension/prefdialog.cpp | 1 |
8 files changed, 47 insertions, 31 deletions
diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp index 7955d90ff..1f6d973c3 100644 --- a/src/extension/implementation/script.cpp +++ b/src/extension/implementation/script.cpp @@ -45,7 +45,7 @@ FIXME: #include "selection.h" #include "sp-namedview.h" #include "io/sys.h" -#include "prefs-utils.h" +#include "preferences.h" #include "../system.h" #include "extension/effect.h" #include "extension/output.h" @@ -136,9 +136,10 @@ resolveInterpreterExecutable(const Glib::ustring &interpNameArg) interpName = interp->defaultval; // 1. Check preferences - gchar const *prefInterp = prefs_get_string_attribute("extensions", interp->prefstring); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring prefInterp = prefs->getString("extensions", interp->prefstring); - if (prefInterp) { + if (!prefInterp.empty()) { interpName = prefInterp; return interpName; } diff --git a/src/extension/init.cpp b/src/extension/init.cpp index 940726df5..9a5aea86c 100644 --- a/src/extension/init.cpp +++ b/src/extension/init.cpp @@ -59,7 +59,7 @@ #ifdef WITH_LIBWPG #include "internal/wpg-input.h" #endif -#include "prefs-utils.h" +#include "preferences.h" #include "io/sys.h" #ifdef WITH_IMAGE_MAGICK @@ -127,7 +127,8 @@ static void update_pref(gchar const *pref_path, gchar const *pref_attr, gchar const *pref_default) // , GSList *extension_family) { - gchar const *pref = prefs_get_string_attribute(pref_path,pref_attr); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring pref = prefs->getString(pref_path, pref_attr); /* gboolean missing=TRUE; for (GSList *list = extension_family; list; list = g_slist_next(list)) { @@ -139,8 +140,8 @@ update_pref(gchar const *pref_path, gchar const *pref_attr, if (!strcmp(extension->get_id(),pref)) missing=FALSE; } */ - if (!Inkscape::Extension::db.get( pref ) /*missing*/) { - prefs_set_string_attribute(pref_path, pref_attr, pref_default); + if (!Inkscape::Extension::db.get( pref.data() ) /*missing*/) { + prefs->setString(pref_path, pref_attr, pref_default); } } @@ -154,6 +155,8 @@ update_pref(gchar const *pref_path, gchar const *pref_attr, void init() { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + /* TODO: Change to Internal */ Internal::Svg::init(); Internal::Svgz::init(); @@ -161,7 +164,7 @@ init() //Internal::EpsOutput::init(); // disabled, to be deleted, replaced by CairoEpsOutput Internal::PrintPS::init(); #ifdef HAVE_CAIRO_PDF - if (prefs_get_int_attribute("options.useoldpdfexporter", "value", 1) == 1) { + if (prefs->getInt("options.useoldpdfexporter", "value", 1) == 1) { //g_print ("Using CairoPdfOutput: old pdf exporter\n"); Internal::CairoPdfOutput::init(); Internal::PrintCairoPDF::init(); diff --git a/src/extension/param/color.cpp b/src/extension/param/color.cpp index 845a04824..555461bc7 100644 --- a/src/extension/param/color.cpp +++ b/src/extension/param/color.cpp @@ -25,6 +25,7 @@ #include <color.h> #include "widgets/sp-color-selector.h" #include "widgets/sp-color-notebook.h" +#include "preferences.h" namespace Inkscape { @@ -47,7 +48,9 @@ ParamColor::set( guint32 in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node* gchar * prefname = this->pref_name(); std::string value; string(value); - prefs_set_string_attribute(PREF_DIR, prefname, value.c_str()); + + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setString(PREF_DIR, prefname, value); g_free(prefname); return _value; @@ -62,11 +65,12 @@ ParamColor::ParamColor (const gchar * name, const gchar * guitext, const gchar * defaulthex = sp_repr_children(xml)->content(); gchar * pref_name = this->pref_name(); - const gchar * paramval = prefs_get_string_attribute(PREF_DIR, pref_name); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); g_free(pref_name); - if (paramval != NULL) - defaulthex = paramval; + if (!paramval.empty()) + defaulthex = paramval.data(); _value = atoi(defaulthex); diff --git a/src/extension/param/enum.cpp b/src/extension/param/enum.cpp index 89db25d03..33c153434 100644 --- a/src/extension/param/enum.cpp +++ b/src/extension/param/enum.cpp @@ -33,6 +33,7 @@ #include <sp-object.h> #include "enum.h" +#include "preferences.h" /** \brief The root directory in the preferences database for extension related parameters. */ @@ -104,13 +105,14 @@ ParamComboBox::ParamComboBox (const gchar * name, const gchar * guitext, const g defaultval = sp_repr_children(xml)->attribute("value"); gchar * pref_name = this->pref_name(); - const gchar * paramval = prefs_get_string_attribute(PREF_DIR, pref_name); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); g_free(pref_name); - if (paramval != NULL) - defaultval = paramval; + if (!paramval.empty()) + defaultval = paramval.data(); if (defaultval != NULL) - _value = g_strdup(defaultval); // allocate space for _value + _value = g_strdup(defaultval); return; } @@ -157,7 +159,8 @@ ParamComboBox::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node if (_value != NULL) g_free(_value); _value = g_strdup(settext->c_str()); gchar * prefname = this->pref_name(); - prefs_set_string_attribute(PREF_DIR, prefname, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setString(PREF_DIR, prefname, _value); g_free(prefname); } diff --git a/src/extension/param/notebook.cpp b/src/extension/param/notebook.cpp index 1a2623fbf..bce6bc3d0 100644 --- a/src/extension/param/notebook.cpp +++ b/src/extension/param/notebook.cpp @@ -27,7 +27,7 @@ #include <xml/node.h> #include <extension/extension.h> -#include "prefs-utils.h" +#include "preferences.h" #include "document-private.h" #include "sp-object.h" @@ -263,11 +263,12 @@ ParamNotebook::ParamNotebook (const gchar * name, const gchar * guitext, const g } gchar * pref_name = this->pref_name(); - const gchar * paramval = prefs_get_string_attribute(PREF_DIR, pref_name); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); g_free(pref_name); - if (paramval != NULL) - defaultval = paramval; + if (!paramval.empty()) + defaultval = paramval.data(); if (defaultval != NULL) _value = g_strdup(defaultval); // allocate space for _value diff --git a/src/extension/param/radiobutton.cpp b/src/extension/param/radiobutton.cpp index 76c3506af..c05191b58 100644 --- a/src/extension/param/radiobutton.cpp +++ b/src/extension/param/radiobutton.cpp @@ -31,7 +31,7 @@ #include <xml/node.h> #include <extension/extension.h> -#include "prefs-utils.h" +#include "preferences.h" #include "document-private.h" #include "sp-object.h" @@ -112,11 +112,12 @@ ParamRadioButton::ParamRadioButton (const gchar * name, defaultval = ((optionentry*) choices->data)->value->c_str(); gchar * pref_name = this->pref_name(); - const gchar * paramval = prefs_get_string_attribute(PREF_DIR, pref_name); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); g_free(pref_name); - if (paramval != NULL) - defaultval = paramval; + if (!paramval.empty()) + defaultval = paramval.data(); if (defaultval != NULL) _value = g_strdup(defaultval); // allocate space for _value @@ -165,7 +166,8 @@ ParamRadioButton::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::No if (_value != NULL) g_free(_value); _value = g_strdup(settext->c_str()); gchar * prefname = this->pref_name(); - prefs_set_string_attribute(PREF_DIR, prefname, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setString(PREF_DIR, prefname, _value); g_free(prefname); } diff --git a/src/extension/param/string.cpp b/src/extension/param/string.cpp index 3dd2a2328..56ceeaad5 100644 --- a/src/extension/param/string.cpp +++ b/src/extension/param/string.cpp @@ -17,6 +17,7 @@ #include <extension/extension.h> #include "string.h" +#include "preferences.h" namespace Inkscape { namespace Extension { @@ -51,7 +52,8 @@ ParamString::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node * _value = g_strdup(in); gchar * prefname = this->pref_name(); - prefs_set_string_attribute(PREF_DIR, prefname, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setString(PREF_DIR, prefname, _value); g_free(prefname); return _value; @@ -77,11 +79,12 @@ ParamString::ParamString (const gchar * name, const gchar * guitext, const gchar defaultval = sp_repr_children(xml)->content(); gchar * pref_name = this->pref_name(); - const gchar * paramval = prefs_get_string_attribute(PREF_DIR, pref_name); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); g_free(pref_name); - if (paramval != NULL) - defaultval = paramval; + if (!paramval.empty()) + defaultval = paramval.data(); if (defaultval != NULL) _value = g_strdup(defaultval); diff --git a/src/extension/prefdialog.cpp b/src/extension/prefdialog.cpp index c35ffed92..9d3abae76 100644 --- a/src/extension/prefdialog.cpp +++ b/src/extension/prefdialog.cpp @@ -19,7 +19,6 @@ #include "inkscape.h" #include "desktop.h" -#include "preferences.h" #include "effect.h" #include "implementation/implementation.h" |
