summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/inkscape-preferences.cpp
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-06-21 11:34:29 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-07-08 21:04:15 +0000
commit5bbb588114194345fb4b865ccb678f08471b6936 (patch)
tree7b9951509623cb128a8d54ca77894fda189a326a /src/ui/dialog/inkscape-preferences.cpp
parentFix coding style (diff)
downloadinkscape-5bbb588114194345fb4b865ccb678f08471b6936.tar.gz
inkscape-5bbb588114194345fb4b865ccb678f08471b6936.zip
Bug fixes and add Adam Belis icon set
Diffstat (limited to 'src/ui/dialog/inkscape-preferences.cpp')
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 63efd790b..6b796b8c8 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -621,8 +621,6 @@ void InkscapePreferences::symbolicThemeCheck()
}
if (_symbolic_icons.get_parent()) {
if (!symbolic) {
- // 2 first order might important
- _symbolic_base_colors.set_active(true);
_symbolic_icons.set_active(false);
_symbolic_icons.get_parent()->hide();
_symbolic_base_colors.get_parent()->hide();
@@ -642,14 +640,16 @@ void InkscapePreferences::symbolicThemeCheck()
void InkscapePreferences::resetIconsColors()
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ Glib::ustring themeiconname = prefs->getString("/theme/iconTheme");
if (!prefs->getBool("/theme/symbolicIcons", false)) {
_symbolic_base_colors.set_sensitive(false);
_symbolic_base_color.setSensitive(false);
_symbolic_success_color.setSensitive(false);
_symbolic_warning_color.setSensitive(false);
_symbolic_error_color.setSensitive(false);
- } else if (prefs->getBool("/theme/symbolicDefaultColors", true)) {
- Glib::ustring themeiconname = prefs->getString("/theme/iconTheme");
+ } else if (prefs->getBool("/theme/symbolicDefaultColors", true) ||
+ !prefs->getEntry("/theme/" + themeiconname + "/symbolicBaseColor").isValid())
+ {
Gdk::RGBA normal_color = _symbolic_base_color.get_style_context()->get_color();
Gdk::RGBA success_color = _symbolic_success_color.get_style_context()->get_color();
Gdk::RGBA warning_color = _symbolic_warning_color.get_style_context()->get_color();
@@ -797,13 +797,16 @@ void InkscapePreferences::toggleSymbolic()
window->get_style_context()->remove_class("regular");
}
_symbolic_base_colors.set_sensitive(true);
- resetIconsColors();
+ changeIconsColors();
} else {
if (window) {
window->get_style_context()->add_class("regular");
window->get_style_context()->remove_class("symbolic");
}
- _symbolic_base_colors.set_active(true);
+ auto const screen = Gdk::Screen::get_default();
+ if (INKSCAPE.colorizeprovider) {
+ Gtk::StyleContext::remove_provider_for_screen(screen, INKSCAPE.colorizeprovider);
+ }
_symbolic_base_colors.set_sensitive(false);
}
INKSCAPE.signal_change_theme.emit();