summaryrefslogtreecommitdiffstats
path: root/src/inkscape.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2019-01-26 05:16:02 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-01-27 00:40:25 +0000
commite0471fb385a7250815528d23f0c2ecbbca675d42 (patch)
tree33ac5b8f91a55e7de73cd61dcb206f2e2e04ce78 /src/inkscape.cpp
parentAdd style file (diff)
downloadinkscape-e0471fb385a7250815528d23f0c2ecbbca675d42.tar.gz
inkscape-e0471fb385a7250815528d23f0c2ecbbca675d42.zip
Adding styling refactoring, moving after to other branch the CSS part
Diffstat (limited to 'src/inkscape.cpp')
-rw-r--r--src/inkscape.cpp72
1 files changed, 44 insertions, 28 deletions
diff --git a/src/inkscape.cpp b/src/inkscape.cpp
index 1418f5c3b..baefd6b9f 100644
--- a/src/inkscape.cpp
+++ b/src/inkscape.cpp
@@ -378,7 +378,15 @@ Application::add_gtk_css()
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
auto provider = Gtk::CssProvider::create();
Glib::ustring css_str = "";
+ gchar colornamed[64];
+ gchar colornamed_inverse[64];
+ int colorset = prefs->getInt("/theme/symbolicColor", 0x000000ff);
+ 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;
+ sp_svg_write_color(colornamed_inverse, sizeof(colornamed_inverse), colorset_inverse);
if (prefs->getBool("/theme/symbolicIcons", false)) {
+<<<<<<< HEAD
int colorset = prefs->getInt("/theme/symbolicColor", 0x000000ff);
gchar colornamed[64];
sp_svg_write_color(colornamed, sizeof(colornamed), colorset);
@@ -401,12 +409,47 @@ Application::add_gtk_css()
css_str += ";}";
css_str += "#iconregular{ -gtk-icon-style: regular;}";
}
+=======
+ css_str += "*{ -gtk-icon-style: symbolic;}";
+ css_str += "image{ color:";
+ css_str += colornamed;
+ css_str += ";}";
+>>>>>>> Adding styling refactoring, moving after to other branch the CSS part
} else {
css_str += "*{-gtk-icon-style: regular;}";
}
- GtkSettings *settings = gtk_settings_get_default();
+ 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;
+ gboolean gtkApplicationPreferDarkTheme;
+ GtkSettings *settings = gtk_settings_get_default();
if (settings) {
+ g_object_get(settings, "gtk-icon-theme-name", &gtkIconThemeName, NULL);
+ g_object_get(settings, "gtk-theme-name", &gtkThemeName, NULL);
+ g_object_get(settings, "gtk-application-prefer-dark-theme", &gtkApplicationPreferDarkTheme, NULL);
+ g_object_set(settings, "gtk-application-prefer-dark-theme",
+ prefs->getBool("/theme/darkTheme", gtkApplicationPreferDarkTheme), NULL);
+ prefs->setString("/theme/defaultIconTheme", Glib::ustring(gtkIconThemeName));
+ if (prefs->getString("/theme/gtkTheme") != "") {
+ g_object_set(settings, "gtk-theme-name", prefs->getString("/theme/gtkTheme").c_str(), NULL);
+ }
+ else {
+ prefs->setString("/theme/gtkTheme", Glib::ustring(gtkThemeName));
+ }
+
+ Glib::ustring themeiconname = prefs->getString("/theme/iconTheme");
+ if (themeiconname != "") {
+ g_object_set(settings, "gtk-icon-theme-name", themeiconname.c_str(), NULL);
+ }
+ else {
+ prefs->setString("/theme/iconTheme", Glib::ustring(gtkIconThemeName));
+ }
g_object_get(settings, "gtk-font-name", &gtk_font_name, NULL);
}
if (!strncmp(gtk_font_name, "Cantarell", 9)) {
@@ -509,33 +552,6 @@ Application::Application(const char* argv, bool use_gui) :
icon_theme->prepend_search_path(get_path_ustring(USER, ICONS));
add_gtk_css();
/* Load the preferences and menus */
- GtkSettings *settings = gtk_settings_get_default();
- if (settings) {
- const gchar *gtkThemeName;
- const gchar *gtkIconThemeName;
- gboolean gtkApplicationPreferDarkTheme;
- g_object_get(settings, "gtk-theme-name", &gtkThemeName, NULL);
- g_object_get(settings, "gtk-icon-theme-name", &gtkIconThemeName, NULL);
- g_object_get(settings, "gtk-application-prefer-dark-theme", &gtkApplicationPreferDarkTheme, NULL);
- g_object_set(settings, "gtk-application-prefer-dark-theme",
- prefs->getBool("/theme/darkTheme", gtkApplicationPreferDarkTheme), NULL);
- prefs->setString("/theme/defaultIconTheme", Glib::ustring(gtkIconThemeName));
- if (prefs->getString("/theme/gtkTheme") != "") {
- g_object_set(settings, "gtk-theme-name", prefs->getString("/theme/gtkTheme").c_str(), NULL);
- }
- else {
- prefs->setString("/theme/gtkTheme", Glib::ustring(gtkThemeName));
- }
-
- Glib::ustring themeiconname = prefs->getString("/theme/iconTheme");
- if (themeiconname != "") {
- g_object_set(settings, "gtk-icon-theme-name", themeiconname.c_str(), NULL);
- }
- else {
- prefs->setString("/theme/iconTheme", Glib::ustring(gtkIconThemeName));
- }
- }
-
load_menus();
Inkscape::DeviceManager::getManager().loadConfig();
}