summaryrefslogtreecommitdiffstats
path: root/src/extension
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2008-09-16 17:15:22 +0000
committertweenk <tweenk@users.sourceforge.net>2008-09-16 17:15:22 +0000
commit9d87d30b72145fdee954992a9dc70f8c60174d7d (patch)
tree194a94ece6ed668ad7dc529de2cdd09b7565c6fe /src/extension
parentfix leak of the arena and arenaitem (diff)
downloadinkscape-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.cpp7
-rw-r--r--src/extension/init.cpp13
-rw-r--r--src/extension/param/color.cpp12
-rw-r--r--src/extension/param/enum.cpp13
-rw-r--r--src/extension/param/notebook.cpp9
-rw-r--r--src/extension/param/radiobutton.cpp12
-rw-r--r--src/extension/param/string.cpp11
-rw-r--r--src/extension/prefdialog.cpp1
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"