diff options
| -rw-r--r-- | share/ui/dialog-livepatheffect-add.ui | 1 | ||||
| -rw-r--r-- | share/ui/style.css | 141 | ||||
| -rw-r--r-- | src/inkscape.cpp | 142 | ||||
| -rw-r--r-- | src/inkscape.h | 3 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.cpp | 113 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.h | 2 | ||||
| -rw-r--r-- | src/ui/dialog/symbols.cpp | 3 | ||||
| -rw-r--r-- | src/ui/icon-loader.cpp | 4 |
8 files changed, 151 insertions, 258 deletions
diff --git a/share/ui/dialog-livepatheffect-add.ui b/share/ui/dialog-livepatheffect-add.ui index ebcbfba50..7f11ea768 100644 --- a/share/ui/dialog-livepatheffect-add.ui +++ b/share/ui/dialog-livepatheffect-add.ui @@ -235,7 +235,6 @@ </child> <style> <class name="iconsymbolic"/> - <class name="colordefault"/> </style> </object> <object class="GtkPopover" id="LPESelectorEffectInfoPop"> diff --git a/share/ui/style.css b/share/ui/style.css index 3a965efa4..910e3353c 100644 --- a/share/ui/style.css +++ b/share/ui/style.css @@ -56,120 +56,59 @@ /* Inkscape CSS helper - * to add a class to a widget do some thing like - * widget->get_style_context()->add_class("mycoolclass"); - * we define a bunch of helper CSS styles - * Ecah Inkscape desktop has a class in top level window - * call "dark" so you can style using 2 clases with or without - * "dark" by this way you can always know if the UI is in dark mode - * Also added some helper clases: - * ::::::: Color based - * ::::::: apply to colors - * ::::::: scope widget and all his childs - * ".colordefault" use default window color - * ".colorinverse" invert window colors - * ".colorbright" force bright colors no matter the UI is dark or bright - * ".colordark" same but dark - * ::::::: Background based - * ::::::: apply to backgrounds - * ::::::: scope widget and all his childs - * ".backgrounddefault" use default window color - * ".backgroundinverse" invert window colors - * ".backgroundbright" force bright colors no matter the UI is dark or bright - * ".backgrounddark" same but daLPESelectorButtonBoxk - * :::::::: Icon Based. - * :::::::: apply to color (foreground) - * :::::::: scope widget and all nested images - * ".iconsymbolic" Force icon symbolic - * ".iconregular" Force colorful icons - * ".iconcolordefault" Theme color default - * ".iconcolorinverse" Inverse color from theme - * ".iconcolorbright, Force clear icon - * ".iconcolordark" Force dark icon - * ".iconcolornamed" Icon in prefs selected color; - * ".iconcolornamedinverse" Icon in inverse color from prefs" - * :::::::: Combo box. - * "..combobright" Combo bright - * ".regular ..." Inkscape is in regular icon mode - * ".symbolic ..." Inkscape is in symbolic icon mode - */ - -.colordefault, -.colordefault * { - color: @theme_fg_color; -} - -.colorinverse, -.colorinverse * { - color: @theme_bg_color; -} - -.colorbright, -.colorbright * { - color: @theme_fg_color; -} - -.dark .colorbright, -.dark .colorbright * { - color: @theme_bg_color; + * to add a class to a widget do some thing like + * widget->get_style_context()->add_class("mycoolclass"); + * we define a bunch of helper CSS styles + * Each Inkscape desktop has some classes in top level window + * called "dark|bright" and "symbolic|regular" so you can style using this clases + * by this way you can always know if the UI is in dark mode + * Also added some helper clases: + * ::::::: Color based + * ::::::: apply to colors + * ::::::: scope widget and all his childs + * ".inversestyle" invert window colors + * ".brightstyle" force bright colors no matter the UI is dark or bright + * ".darkstyle" same but dark + * ".defaultstyle" use default window color for child wigets inside a modified one + * :::::::: Icon Based. + * ".iconsymbolic" Force icon symbolic + * ".iconregular" Force colorful icons + * :::::::: Combo box. + * "..combobright" Combo bright + */ + +* { + -gtk-icon-palette: default; +} + +.symbolic image { + -gtk-icon-style: symbolic; } -.colordark, -.colordark * { - color: @theme_bg_color; +.regular image { + -gtk-icon-style: regular; } -.dark .colordark, -.dark .colordark * { +.bright .brightstyle, +.bright .brightstyle *, +.dark .darkstyle, +.dark .darkstyle * { color: @theme_fg_color; -} - -.backgrounddefault, -.backgrounddefault * { - background-color: @theme_bg_color; - background-image: image(@theme_bg_color); -} - -.backgroundinverse, -.backgroundinverse * { - background-color: @theme_fg_color; - background-image: image(@theme_fg_color); -} - -.backgroundbright, -.backgroundbright * { background-color: @theme_bg_color; background-image: image(@theme_bg_color); } -.dark .backgroundbright, -.dark .backgroundbright * { - background-color: @theme_fg_color; - background-image: image(@theme_fg_color); -} - -.backgrounddark, -.backgrounddark * { +.bright .darkstyle, +.bright .darkstyle *, +.dark .brightstyle, +.dark .brightstyle *, +.inversestyle, +.inversestyle * { + color: @theme_bg_color; background-color: @theme_fg_color; background-image: image(@theme_fg_color); } -.dark .backgrounddark, -.dark .backgrounddark * { - background-color: @theme_bg_color; - background-image: image(@theme_bg_color); -} - -.iconsymbolic, -.iconsymbolic image { - -gtk-icon-style: symbolic; -} - -.iconregular, -.iconregular image { - -gtk-icon-style: regular; -} - .combobright * { color: @theme_text_color; background-color: @theme_base_color; diff --git a/src/inkscape.cpp b/src/inkscape.cpp index cec0d9407..36ae48a38 100644 --- a/src/inkscape.cpp +++ b/src/inkscape.cpp @@ -23,7 +23,6 @@ #include <glibmm/fileutils.h> #include <glibmm/regex.h> -#include <gtkmm/cssprovider.h> #include <gtkmm/icontheme.h> #include <gtkmm/messagedialog.h> @@ -371,57 +370,6 @@ Application::add_gtk_css() // Add style sheet (GTK3) auto const screen = Gdk::Screen::get_default(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - auto provider = Gtk::CssProvider::create(); - Glib::ustring css_str = ""; - gchar colornamed[64]; - gchar colornamedsuccess[64]; - gchar colornamedwarning[64]; - gchar colornamederror[64]; - gchar colornamed_inverse[64]; - int colorset = prefs->getInt("/theme/symbolicColor", 0x2E3436ff); - sp_svg_write_color(colornamed, sizeof(colornamed), colorset); - int colorsetsuccess = prefs->getInt("/theme/symbolicSuccessColor", 0x4AD589ff); - sp_svg_write_color(colornamedsuccess, sizeof(colornamedsuccess), colorsetsuccess); - int colorsetwarning = prefs->getInt("/theme/symbolicWarningColor", 0xF57900ff); - sp_svg_write_color(colornamedwarning, sizeof(colornamedwarning), colorsetwarning); - int colorseterror = prefs->getInt("/theme/symbolicErrorColor", 0xcc0000ff); - sp_svg_write_color(colornamederror, sizeof(colornamederror), colorseterror); - // Use in case the special widgets have inverse theme background and symbolic - int colorset_inverse = colorset ^ 0xffffff00; - sp_svg_write_color(colornamed_inverse, sizeof(colornamed_inverse), colorset_inverse); - if (prefs->getBool("/theme/symbolicIcons", false)) { - if (prefs->getBool("/theme/symbolicIconsDefaultColor", true)) { - css_str += "*{ -gtk-icon-style: symbolic;}"; - css_str += ".dark,.bright,.dark image,.bright image{ color: @theme_fg_color}"; - css_str += "iconinverse{ color: @theme_bg_color;}"; - css_str += "iconregular{ -gtk-icon-style: regular;}"; - } else { - css_str += "*{ -gtk-icon-style: symbolic;}"; - css_str += ".dark *,.bright *{ color: @theme_fg_color;}"; - css_str += ".dark,.bright,.dark image,.bright image{ color:"; - css_str += colornamed; - css_str += ";"; - css_str += "-gtk-icon-palette: success "; - css_str += colornamedsuccess; - css_str += ", warning "; - css_str += colornamedwarning; - css_str += ", error "; - css_str += colornamederror; - css_str += ";}"; - css_str += "#iconinverse{ color:"; - css_str += colornamed_inverse; - css_str += ";}"; - css_str += "#iconregular{ -gtk-icon-style: regular;}"; - } - } else { - css_str += "*{-gtk-icon-style: regular;}"; - } - css_str += ".iconcolornamed, .iconcolornamed image{ color:"; - css_str += colornamed; - css_str += ";}"; - css_str += ".iconcolornamedinverse, .colornamedinverse image{ color:"; - css_str += colornamed_inverse; - css_str += ";}"; const gchar *gtk_font_name = ""; const gchar *gtkThemeName; const gchar *gtkIconThemeName; @@ -449,32 +397,10 @@ Application::add_gtk_css() } g_object_get(settings, "gtk-font-name", >k_font_name, NULL); } - if (!strncmp(gtk_font_name, "Cantarell", 9)) { - css_str += "#monoStrokeWidth,"; - css_str += "#fillEmptySpace,"; - css_str += "#SelectStatus,"; - css_str += "#CoordinateStatusX,"; - css_str += "#CoordinateStatusY,"; - css_str += "#DesktopMainTable spinbutton{"; - css_str += " font-family: sans-serif"; - css_str += "}"; // we also can add to * but seems to me Cantarell looks better for other places - } - - try { - provider->load_from_data(css_str); - } catch (const Gtk::CssProviderError &ex) { - g_critical("CSSProviderError::load_from_data(): failed to load '%s'\n(%s)", css_str.c_str(), ex.what().c_str()); - } - - Gtk::StyleContext::add_provider_for_screen(screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - - // we want a tiny file with 3 or 4 lines, so we can load without removing context - // is more understandable than record previously applied + + auto provider = Gtk::CssProvider::create(); Glib::ustring style = get_filename(UIS, "style.css"); if (!style.empty()) { - auto provider = Gtk::CssProvider::create(); - - // From 3.16, throws an error which we must catch. try { provider->load_from_path (style); } catch (const Gtk::CssProviderError& ex) @@ -482,9 +408,71 @@ Application::add_gtk_css() g_critical("CSSProviderError::load_from_path(): failed to load '%s'\n(%s)", style.c_str(), ex.what().c_str()); } - Gtk::StyleContext::add_provider_for_screen (screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } + colorizeprovider = Gtk::CssProvider::create(); + Glib::ustring css_str = ""; + if (prefs->getBool("/theme/symbolicIcons", false)) { + if (!prefs->getBool("/theme/symbolicIconsDefaultColor", true)) { + gchar colornamed[64]; + gchar colornamedsuccess[64]; + gchar colornamedwarning[64]; + gchar colornamederror[64]; + gchar colornamed_inverse[64]; + int colorset = prefs->getInt("/theme/symbolicColor", 0x2E3436ff); + sp_svg_write_color(colornamed, sizeof(colornamed), colorset); + int colorsetsuccess = prefs->getInt("/theme/symbolicSuccessColor", 0x4AD589ff); + sp_svg_write_color(colornamedsuccess, sizeof(colornamedsuccess), colorsetsuccess); + int colorsetwarning = prefs->getInt("/theme/symbolicWarningColor", 0xF57900ff); + sp_svg_write_color(colornamedwarning, sizeof(colornamedwarning), colorsetwarning); + int colorseterror = prefs->getInt("/theme/symbolicErrorColor", 0xcc0000ff); + sp_svg_write_color(colornamederror, sizeof(colornamederror), colorseterror); + // Use in case the special widgets have inverse theme background and symbolic + int colorset_inverse = colorset ^ 0xffffff00; + sp_svg_write_color(colornamed_inverse, sizeof(colornamed_inverse), colorset_inverse); + + css_str += "*{-gtk-icon-palette: success "; + css_str += colornamedsuccess; + css_str += ", warning "; + css_str += colornamedwarning; + css_str += ", error "; + css_str += colornamederror; + css_str += ";}"; + css_str += "SPRuler, ruler-widget,"; + css_str += ".bright image, .dark image"; + css_str += "{color:"; + css_str += colornamed; + css_str += ";}"; + css_str += ".dark .brightstyle image,"; + css_str += ".bright .darkstyle image,"; + css_str += ".inversestyle image"; + css_str += "{color:"; + css_str += colornamed_inverse; + css_str += ";}"; + } + } + try { + colorizeprovider->load_from_data(css_str); + } catch (const Gtk::CssProviderError &ex) { + g_critical("CSSProviderError::load_from_data(): failed to load '%s'\n(%s)", css_str.c_str(), ex.what().c_str()); + } + Gtk::StyleContext::add_provider_for_screen(screen, colorizeprovider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + if (!strncmp(gtk_font_name, "Cantarell", 9)) { + css_str = "#monoStrokeWidth,"; + css_str += "#fillEmptySpace,"; + css_str += "#SelectStatus,"; + css_str += "#CoordinateStatusX,"; + css_str += "#CoordinateStatusY,"; + css_str += "#DesktopMainTable spinbutton{"; + css_str += " font-family: sans-serif;"; + css_str += "}"; // we also can add to * but seems to me Cantarell looks better for other places + try { + provider->load_from_data(css_str); + } catch (const Gtk::CssProviderError &ex) { + g_critical("CSSProviderError::load_from_data(): failed to load '%s'\n(%s)", css_str.c_str(), ex.what().c_str()); + } + Gtk::StyleContext::add_provider_for_screen(screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + } } /* \brief Constructor for the application. diff --git a/src/inkscape.h b/src/inkscape.h index d14420352..95c0f5296 100644 --- a/src/inkscape.h +++ b/src/inkscape.h @@ -20,6 +20,7 @@ #include <glib-object.h> #include <sigc++/signal.h> #include "layer-model.h" +#include <gtkmm/cssprovider.h> #include "selection.h" class SPDesktop; @@ -108,7 +109,7 @@ public: Inkscape::UI::Tools::ToolBase * active_event_context(); SPDocument * active_document(); SPDesktop * active_desktop(); - + Glib::RefPtr< Gtk::StyleProvider > colorizeprovider; // Use this function to get selection model etc for a document Inkscape::ActionContext action_context_for_document(SPDocument *doc); Inkscape::ActionContext active_action_context(); diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 5f1f98c01..e67a80c58 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -629,109 +629,74 @@ void InkscapePreferences::symbolicThemeCheck() } void InkscapePreferences::symbolicDefaultColor(){ + auto const screen = Gdk::Screen::get_default(); + Gtk::StyleContext::remove_provider_for_screen(screen, INKSCAPE.colorizeprovider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); prefs->setBool("/theme/symbolicIconsDefaultColor", true); - auto const screen = Gdk::Screen::get_default(); - auto provider = Gtk::CssProvider::create(); - Glib::ustring css_str = ""; - if (prefs->getBool("/theme/symbolicIcons", false)) { - css_str += "*{ -gtk-icon-style: symbolic;}"; - css_str += ".dark,.bright,.dark image,.bright image{ color: @theme_fg_color;-gtk-icon-palette: default;}"; - css_str += "iconinverse{ color: @theme_bg_color;}"; - css_str += "iconregular{ -gtk-icon-style: regular;}"; - } else { - css_str += "*{-gtk-icon-style: regular;}"; - } - - try { - provider->load_from_data(css_str); - } catch (const Gtk::CssProviderError &ex) { - g_critical("CSSProviderError::load_from_data(): failed to load '%s'\n(%s)", css_str.c_str(), ex.what().c_str()); - } - - Gtk::StyleContext::add_provider_for_screen(screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - } -void InkscapePreferences::symbolicAddClass() +void InkscapePreferences::symbolicStyling() { + auto const screen = Gdk::Screen::get_default(); + Gtk::StyleContext::remove_provider_for_screen(screen, INKSCAPE.colorizeprovider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); using namespace Inkscape::IO::Resource; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); prefs->setBool("/theme/symbolicIconsDefaultColor", false); - auto const screen = Gdk::Screen::get_default(); - auto provider = Gtk::CssProvider::create(); - Glib::ustring css_str = ""; - gchar colornamed[64]; - gchar colornamedsuccess[64]; - gchar colornamedwarning[64]; - gchar colornamederror[64]; - gchar colornamed_inverse[64]; - int colorset = prefs->getInt("/theme/symbolicColor", 0x2E3436ff); - sp_svg_write_color(colornamed, sizeof(colornamed), colorset); - int colorsetsuccess = prefs->getInt("/theme/symbolicSuccessColor", 0x4AD589ff); - sp_svg_write_color(colornamedsuccess, sizeof(colornamedsuccess), colorsetsuccess); - int colorsetwarning = prefs->getInt("/theme/symbolicWarningColor", 0xF57900ff); - sp_svg_write_color(colornamedwarning, sizeof(colornamedwarning), colorsetwarning); - int colorseterror = prefs->getInt("/theme/symbolicErrorColor", 0xcc0000ff); - sp_svg_write_color(colornamederror, sizeof(colornamederror), colorseterror); - // Use in case the special widgets have inverse theme background and symbolic - int colorset_inverse = colorset ^ 0xffffff00; - sp_svg_write_color(colornamed_inverse, sizeof(colornamed_inverse), colorset_inverse); Gtk::Window *window = SP_ACTIVE_DESKTOP->getToplevel(); + Glib::ustring css_str = ""; if (prefs->getBool("/theme/symbolicIcons", false)) { - css_str += "*{ -gtk-icon-style: symbolic;}"; - css_str += ".dark *,.bright *{ color: @theme_fg_color;}"; - css_str += ".dark,.bright,.dark image,.bright image{ color:"; - css_str += colornamed; - css_str += ";"; - css_str += "-gtk-icon-palette: success "; + gchar colornamed[64]; + gchar colornamedsuccess[64]; + gchar colornamedwarning[64]; + gchar colornamederror[64]; + gchar colornamed_inverse[64]; + int colorset = prefs->getInt("/theme/symbolicColor", 0x2E3436ff); + sp_svg_write_color(colornamed, sizeof(colornamed), colorset); + int colorsetsuccess = prefs->getInt("/theme/symbolicSuccessColor", 0x4AD589ff); + sp_svg_write_color(colornamedsuccess, sizeof(colornamedsuccess), colorsetsuccess); + int colorsetwarning = prefs->getInt("/theme/symbolicWarningColor", 0xF57900ff); + sp_svg_write_color(colornamedwarning, sizeof(colornamedwarning), colorsetwarning); + int colorseterror = prefs->getInt("/theme/symbolicErrorColor", 0xcc0000ff); + sp_svg_write_color(colornamederror, sizeof(colornamederror), colorseterror); + // Use in case the special widgets have inverse theme background and symbolic + int colorset_inverse = colorset ^ 0xffffff00; + sp_svg_write_color(colornamed_inverse, sizeof(colornamed_inverse), colorset_inverse); + css_str += "*{-gtk-icon-palette: success "; css_str += colornamedsuccess; css_str += ", warning "; css_str += colornamedwarning; css_str += ", error "; css_str += colornamederror; css_str += ";}"; + css_str += "SPRuler, ruler-widget,"; + css_str += ".bright image, .dark image"; + css_str += "{color:"; + css_str += colornamed; + css_str += ";}"; + css_str += ".dark .brightstyle image,"; + css_str += ".bright .darkstyle image,"; + css_str += ".inversestyle image"; + css_str += "{color:"; + css_str += colornamed_inverse; + css_str += ";}"; if (window ) { window->get_style_context()->add_class("symbolic"); window->get_style_context()->remove_class("regular"); } } else { - css_str += "*{-gtk-icon-style: regular;}"; if (window) { window->get_style_context()->add_class("regular"); window->get_style_context()->remove_class("symbolic"); } } - css_str += ".iconcolornamed, .iconcolornamed image{ color:"; - css_str += colornamed; - css_str += ";}"; - css_str += ".iconcolornamedinverse, .colornamedinverse image{ color:"; - css_str += colornamed_inverse; - css_str += ";}"; - try { - provider->load_from_data(css_str); + INKSCAPE.colorizeprovider->load_from_data(css_str); } catch (const Gtk::CssProviderError &ex) { g_critical("CSSProviderError::load_from_data(): failed to load '%s'\n(%s)", css_str.c_str(), ex.what().c_str()); } - - Gtk::StyleContext::add_provider_for_screen(screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - // we want a tiny file with 3 or 4 lines, so we can load without removing context - // is more understandable than record previously applied - Glib::ustring style = get_filename(UIS, "style.css"); - if (!style.empty()) { - auto provider = Gtk::CssProvider::create(); - - try { - provider->load_from_path(style); - } catch (const Gtk::CssProviderError &ex) { - g_critical("CSSProviderError::load_from_path(): failed to load '%s'\n(%s)", style.c_str(), - ex.what().c_str()); - } - - Gtk::StyleContext::add_provider_for_screen(screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - } + Gtk::StyleContext::add_provider_for_screen(screen, INKSCAPE.colorizeprovider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } + void InkscapePreferences::themeChange() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); @@ -990,7 +955,7 @@ void InkscapePreferences::initPageUI() _icon_theme.signal_changed().connect(sigc::mem_fun(*this, &InkscapePreferences::symbolicThemeCheck)); } _symbolic_icons.init(_("Use symbolic icons"), "/theme/symbolicIcons", true); - _symbolic_icons.signal_clicked().connect(sigc::mem_fun(*this, &InkscapePreferences::symbolicAddClass)); + _symbolic_icons.signal_clicked().connect(sigc::mem_fun(*this, &InkscapePreferences::symbolicStyling)); _page_theme.add_line(true, "", _symbolic_icons, "", "", true); _symbolic_color.init(_("Color for symbolic icons:"), "/theme/symbolicColor", 0x2E3436ff); _symbolic_success_color.init(_("Color for symbolic success icons:"), "/theme/symbolicSuccessColor", 0x4AD589ff); @@ -999,7 +964,7 @@ void InkscapePreferences::initPageUI() Gtk::Label *_symbolic_color_label = Gtk::manage(new Gtk::Label(_("Change colors:"))); Gtk::Button *apply_color = Gtk::manage(new Gtk::Button(_("Apply color"))); apply_color->set_tooltip_text(_("Apply color to symbolic icons)")); - apply_color->signal_clicked().connect(sigc::mem_fun(*this, &InkscapePreferences::symbolicAddClass)); + apply_color->signal_clicked().connect(sigc::mem_fun(*this, &InkscapePreferences::symbolicStyling)); Gtk::Button *theme_decide_color = Gtk::manage(new Gtk::Button(_("Theme decides"))); theme_decide_color->set_tooltip_text(_("Theme decide symbolic icon color)")); theme_decide_color->signal_clicked().connect(sigc::mem_fun(*this, &InkscapePreferences::symbolicDefaultColor)); diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h index c7fe41ebf..c946eb6bd 100644 --- a/src/ui/dialog/inkscape-preferences.h +++ b/src/ui/dialog/inkscape-preferences.h @@ -592,7 +592,7 @@ protected: private: void themeChange(); void symbolicThemeCheck(); - void symbolicAddClass(); + void symbolicStyling(); void symbolicDefaultColor(); InkscapePreferences(); diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp index d4b48258d..9eaec21dc 100644 --- a/src/ui/dialog/symbols.cpp +++ b/src/ui/dialog/symbols.cpp @@ -199,8 +199,7 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) : overlay->set_hexpand(); overlay->set_vexpand(); overlay->add(* scroller); - overlay->get_style_context()->add_class("colorbright"); - overlay->get_style_context()->add_class("backgroundbright"); + overlay->get_style_context()->add_class("brightstyle"); scroller->set_size_request(100, 250); table->attach(*Gtk::manage(overlay),0,row,2,1); diff --git a/src/ui/icon-loader.cpp b/src/ui/icon-loader.cpp index e4a917e6c..54cdd9e6b 100644 --- a/src/ui/icon-loader.cpp +++ b/src/ui/icon-loader.cpp @@ -64,7 +64,9 @@ Glib::RefPtr<Gdk::Pixbuf> sp_get_icon_pixbuf(Glib::ustring icon_name, gint size) Gtk::IconInfo iconinfo = icon_theme->lookup_icon(icon_name + Glib::ustring("-symbolic"), size, Gtk::ICON_LOOKUP_FORCE_SIZE); if (iconinfo && SP_ACTIVE_DESKTOP->getToplevel()) { bool was_symbolic = false; - _icon_pixbuf = iconinfo.load_symbolic(SP_ACTIVE_DESKTOP->getToplevel()->get_style_context(), was_symbolic); + Glib::RefPtr< Gtk::StyleContext > stylecontext = SP_ACTIVE_DESKTOP->getToplevel()->get_style_context(); + stylecontext->add_provider(INKSCAPE.colorizeprovider, 1); + _icon_pixbuf = iconinfo.load_symbolic(stylecontext, was_symbolic); } else { Gtk::IconInfo iconinfo = icon_theme->lookup_icon(icon_name, size, Gtk::ICON_LOOKUP_FORCE_SIZE); _icon_pixbuf = iconinfo.load_icon(); |
