diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2009-11-29 19:05:54 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2009-11-29 19:05:54 +0000 |
| commit | 2642ea862ab9749236d41ca96f109b46e27af9ce (patch) | |
| tree | c714ce9b38e9b75680b61e7e0992aa2ab40e2584 /src/preferences.cpp | |
| parent | Deprecation warning fix on xcf export (diff) | |
| parent | First GSoC node tool commit to Bazaar (diff) | |
| download | inkscape-2642ea862ab9749236d41ca96f109b46e27af9ce.tar.gz inkscape-2642ea862ab9749236d41ca96f109b46e27af9ce.zip | |
GSoC node tool
(bzr r8846.2.1)
Diffstat (limited to 'src/preferences.cpp')
| -rw-r--r-- | src/preferences.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/preferences.cpp b/src/preferences.cpp index 39a9e4d69..315c668b4 100644 --- a/src/preferences.cpp +++ b/src/preferences.cpp @@ -11,6 +11,7 @@ */ #include <cstring> +#include <sstream> #include <glibmm/fileutils.h> #include <glibmm/i18n.h> #include <glib.h> @@ -446,6 +447,13 @@ void Preferences::setDouble(Glib::ustring const &pref_path, double value) _setRawValue(pref_path, buf); } +void Preferences::setColor(Glib::ustring const &pref_path, guint32 value) +{ + gchar buf[16]; + g_snprintf(buf, 16, "#%08x", value); + _setRawValue(pref_path, buf); +} + /** * @brief Set a string attribute of a preference * @param pref_path Path of the preference to modify @@ -732,6 +740,20 @@ Glib::ustring Preferences::_extractString(Entry const &v) return Glib::ustring(static_cast<gchar const *>(v._value)); } +guint32 Preferences::_extractColor(Entry const &v) +{ + gchar const *s = static_cast<gchar const *>(v._value); + std::istringstream hr(s); + guint32 color; + if (s[0] == '#') { + hr.ignore(1); + hr >> std::hex >> color; + } else { + hr >> color; + } + return color; +} + SPCSSAttr *Preferences::_extractStyle(Entry const &v) { SPCSSAttr *style = sp_repr_css_attr_new(); |
