diff options
| author | Jabiertxof <jabier.arraiza@marker.es> | 2018-11-08 18:36:18 +0000 |
|---|---|---|
| committer | Jabiertxof <jabier.arraiza@marker.es> | 2018-11-09 10:44:36 +0000 |
| commit | 0ddbdf18a2cfcf54f591b1372bb3eb9dde9728e2 (patch) | |
| tree | 90fe83ef220a34b5df3877e7b7dc01af82b78a4c /src/inkscape.cpp | |
| parent | Add README to src/ui/view (diff) | |
| download | inkscape-0ddbdf18a2cfcf54f591b1372bb3eb9dde9728e2.tar.gz inkscape-0ddbdf18a2cfcf54f591b1372bb3eb9dde9728e2.zip | |
This improve symbolic icon rendering moving it to CSS only. There is places in the UI whar we claim for a Pixbuf. Currently its not possible render them as symbolic without the previos hack
Diffstat (limited to 'src/inkscape.cpp')
| -rw-r--r-- | src/inkscape.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/inkscape.cpp b/src/inkscape.cpp index 027dd9dce..a0dfa0a61 100644 --- a/src/inkscape.cpp +++ b/src/inkscape.cpp @@ -378,15 +378,26 @@ Application::add_style_sheet() // Add style sheet (GTK3) auto const screen = Gdk::Screen::get_default(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - // symbolic auto provider = Gtk::CssProvider::create(); Glib::ustring css_str = ""; if (prefs->getBool("/theme/symbolicIcons", false)) { + int colorset = prefs->getInt("/theme/symbolicColor", 0x000000ff); gchar colornamed[64]; - sp_svg_write_color(colornamed, sizeof(colornamed), prefs->getInt("/theme/symbolicColor", 0x000000ff)); - css_str += "*{-gtk-icon-style: symbolic;}toolbutton image{ color: "; + sp_svg_write_color(colornamed, sizeof(colornamed), colorset); + // Use in case the special widgets have inverse theme background and symbolic + int colorset_inverse = colorset ^ 0xffffff00; + gchar colornamed_inverse[64]; + sp_svg_write_color(colornamed_inverse, sizeof(colornamed_inverse), colorset_inverse); + css_str += "*{ -gtk-icon-style: symbolic;}"; + css_str += "image{ color:"; css_str += colornamed; 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;}"; } GtkSettings *settings = gtk_settings_get_default(); const gchar *gtk_font_name = ""; @@ -518,6 +529,7 @@ Application::Application(const char* argv, bool use_gui) : g_object_set(settings, "gtk-application-prefer-dark-theme", prefs->getBool("/theme/darkTheme", gtkApplicationPreferDarkTheme), NULL); } + load_menus(); Inkscape::DeviceManager::getManager().loadConfig(); } |
