diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2018-07-27 22:27:38 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2018-07-27 22:27:38 +0000 |
| commit | 04656355bd73375a6666c212b02be07a89808811 (patch) | |
| tree | 37e69bf3bb83cfe7842e747614352aaa9860abb2 /src/helper | |
| parent | Working on icons (diff) | |
| download | inkscape-04656355bd73375a6666c212b02be07a89808811.tar.gz inkscape-04656355bd73375a6666c212b02be07a89808811.zip | |
Refactor fo theme switcher
Diffstat (limited to 'src/helper')
| -rw-r--r-- | src/helper/icon-loader.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/helper/icon-loader.cpp b/src/helper/icon-loader.cpp index 1c21a492d..68326bdc9 100644 --- a/src/helper/icon-loader.cpp +++ b/src/helper/icon-loader.cpp @@ -27,13 +27,7 @@ Glib::RefPtr<Gdk::Pixbuf> sp_get_icon_pixbuf(Glib::ustring icon_name, gint size) { using namespace Inkscape::IO::Resource; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (prefs->getString("/theme/iconTheme") == "") { - prefs->setString("/theme/iconTheme", "hicolor"); - } - auto iconTheme = Gtk::IconTheme::create(); - iconTheme->set_custom_theme(prefs->getString("/theme/iconTheme")); - iconTheme->append_search_path(get_path_ustring(SYSTEM, ICONS)); - iconTheme->append_search_path(get_path_ustring(USER, ICONS)); + auto icon_theme = Gtk::IconTheme::get_default(); Glib::RefPtr<Gdk::Pixbuf> _icon_pixbuf; try { if (prefs->getBool("/theme/symbolicIcons", false)) { @@ -41,25 +35,22 @@ Glib::RefPtr<Gdk::Pixbuf> sp_get_icon_pixbuf(Glib::ustring icon_name, gint size) if (icon_name == "gtk-preferences") { icon_name = "preferences-system"; } - iconTheme->append_search_path(get_path_ustring(SYSTEM, ICONS) + "hicolor/symbolic"); - iconTheme->append_search_path(get_path_ustring(USER, ICONS)+ "hicolor/symbolic"); sp_svg_write_color(colornamed, sizeof(colornamed), prefs->getInt("/theme/symbolicColor", 0x000000ff)); Gdk::RGBA color; color.set(colornamed); Gtk::IconInfo iconinfo = - iconTheme->lookup_icon(icon_name + Glib::ustring("-symbolic"), size, Gtk::ICON_LOOKUP_FORCE_SIZE); + icon_theme->lookup_icon(icon_name + Glib::ustring("-symbolic"), size, Gtk::ICON_LOOKUP_FORCE_SIZE); if (bool(iconinfo)) { // TODO: view if we need parametrice other colors - bool was_symbolic = false; _icon_pixbuf = iconinfo.load_symbolic(color, color, color, color, was_symbolic); } else { - _icon_pixbuf = iconTheme->load_icon(icon_name + Glib::ustring("-symbolic"), size, Gtk::ICON_LOOKUP_FORCE_SIZE); + _icon_pixbuf = icon_theme->load_icon(icon_name, size, Gtk::ICON_LOOKUP_FORCE_SIZE); } } else { - _icon_pixbuf = iconTheme->load_icon(icon_name, size, Gtk::ICON_LOOKUP_FORCE_SIZE); + _icon_pixbuf = icon_theme->load_icon(icon_name, size, Gtk::ICON_LOOKUP_FORCE_SIZE); } } catch (const Gtk::IconThemeError &e) { |
