diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-06-20 04:23:22 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-07-08 21:04:14 +0000 |
| commit | 3cc699e9dff14c6c48cb718d968d5c82977e4d6d (patch) | |
| tree | 97a4cf32c120ef61b068a8b2729a0f796fe5a818 /src/inkscape.cpp | |
| parent | add improvements to color handling (diff) | |
| download | inkscape-3cc699e9dff14c6c48cb718d968d5c82977e4d6d.tar.gz inkscape-3cc699e9dff14c6c48cb718d968d5c82977e4d6d.zip | |
working wth colors for icons
Diffstat (limited to 'src/inkscape.cpp')
| -rw-r--r-- | src/inkscape.cpp | 119 |
1 files changed, 59 insertions, 60 deletions
diff --git a/src/inkscape.cpp b/src/inkscape.cpp index 47e66db52..c4e1f8dbe 100644 --- a/src/inkscape.cpp +++ b/src/inkscape.cpp @@ -368,53 +368,6 @@ void Application::autosave_init() } } -Glib::ustring Application::get_symbolic_colors() -{ - Glib::ustring css_str; - gchar colornamed[64]; - gchar colornamedsuccess[64]; - gchar colornamedwarning[64]; - gchar colornamederror[64]; - gchar colornamed_inverse[64]; - Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring themeiconname = prefs->getString("/theme/iconTheme"); - int colorset = 0x2E3436ff; - int colorset_inverse = colorset ^ 0xffffff00; - int colorsetsuccess = 0x4AD589ff; - int colorsetwarning = 0xF57900ff; - int colorseterror = 0xcc0000ff; - get_higlight_colors(colorset, colorsetsuccess, colorsetwarning, colorseterror); - colorset = prefs->getInt("/theme/" + themeiconname + "/symbolicColor", colorset); - sp_svg_write_color(colornamed, sizeof(colornamed), colorset); - colorsetsuccess = prefs->getInt("/theme/" + themeiconname + "/symbolicSuccessColor", colorsetsuccess); - sp_svg_write_color(colornamedsuccess, sizeof(colornamedsuccess), colorsetsuccess); - colorsetwarning = prefs->getInt("/theme/" + themeiconname + "/symbolicWarningColor", colorsetwarning); - sp_svg_write_color(colornamedwarning, sizeof(colornamedwarning), colorsetwarning); - colorseterror = prefs->getInt("/theme/" + themeiconname + "/symbolicErrorColor", colorseterror); - sp_svg_write_color(colornamederror, sizeof(colornamederror), colorseterror); - 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 += ".invertstyle image"; - css_str += "{color:"; - css_str += colornamed_inverse; - css_str += ";}"; - return css_str; -} - - /* \brief Constructor for the application. * Creates a new Inkscape::Application. * @@ -539,7 +492,53 @@ Application::~Application() // gtk_main_quit (); } -void Application::get_higlight_colors(int &colorset, int &colorsetsuccess, int &colorsetwarning, int &colorseterror) + +Glib::ustring Application::get_symbolic_colors() +{ + Glib::ustring css_str; + gchar colornamed[64]; + gchar colornamedsuccess[64]; + gchar colornamedwarning[64]; + gchar colornamederror[64]; + gchar colornamed_inverse[64]; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring themeiconname = prefs->getString("/theme/iconTheme"); + int colorsetbase = 0x2E3436ff; + int colorsetbase_inverse = colorsetbase^ 0xffffff00; + int colorsetsuccess = 0x4AD589ff; + int colorsetwarning = 0xF57900ff; + int colorseterror = 0xcc0000ff; + colorsetbase = prefs->getInt("/theme/" + themeiconname + "/symbolicBaseColor", colorsetbase); + sp_svg_write_color(colornamed, sizeof(colornamed), colorsetbase); + colorsetsuccess = prefs->getInt("/theme/" + themeiconname + "/symbolicSuccessColor", colorsetsuccess); + sp_svg_write_color(colornamedsuccess, sizeof(colornamedsuccess), colorsetsuccess); + colorsetwarning = prefs->getInt("/theme/" + themeiconname + "/symbolicWarningColor", colorsetwarning); + sp_svg_write_color(colornamedwarning, sizeof(colornamedwarning), colorsetwarning); + colorseterror = prefs->getInt("/theme/" + themeiconname + "/symbolicErrorColor", colorseterror); + sp_svg_write_color(colornamederror, sizeof(colornamederror), colorseterror); + sp_svg_write_color(colornamed_inverse, sizeof(colornamed_inverse), colorsetbase_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 += ".invertstyle image"; + css_str += "{color:"; + css_str += colornamed_inverse; + css_str += ";}"; + return css_str; +} + +void Application::get_higlight_colors(int &colorsetbase, int &colorsetsuccess, int &colorsetwarning, int &colorseterror) { using namespace Inkscape::IO::Resource; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); @@ -552,13 +551,24 @@ void Application::get_higlight_colors(int &colorset, int &colorsetsuccess, int & std::ifstream ifs(higlight); std::string content((std::istreambuf_iterator<char>(ifs)), (std::istreambuf_iterator<char>())); Glib::ustring result; - size_t startpos = content.find(".success"); + size_t startpos = content.find(".base"); size_t endpos = content.find("}"); if (startpos != std::string::npos) { result = content.substr(startpos, endpos - startpos); startpos = result.find("fill:"); endpos = result.find(";"); result = content.substr(startpos + 5, endpos - (startpos + 5)); + Gdk::RGBA base_color = Gdk::RGBA(result); + SPColor base_color_sp(base_color.get_red(), base_color.get_green(), base_color.get_blue()); + colorsetbase = base_color_sp.toRGBA32(1); + } + startpos = content.find(".success"); + endpos = content.find("}"); + if (startpos != std::string::npos) { + result = content.substr(startpos, endpos - startpos); + startpos = result.find("fill:"); + endpos = result.find(";"); + result = content.substr(startpos + 5, endpos - (startpos + 5)); Gdk::RGBA success_color = Gdk::RGBA(result); SPColor success_color_sp(success_color.get_red(), success_color.get_green(), success_color.get_blue()); colorsetsuccess = success_color_sp.toRGBA32(1); @@ -585,17 +595,6 @@ void Application::get_higlight_colors(int &colorset, int &colorsetsuccess, int & SPColor error_color_sp(error_color.get_red(), error_color.get_green(), error_color.get_blue()); colorseterror = error_color_sp.toRGBA32(1); } - startpos = content.find(".base"); - endpos = content.find("}"); - if (startpos != std::string::npos) { - result = content.substr(startpos, endpos - startpos); - startpos = result.find("fill:"); - endpos = result.find(";"); - result = content.substr(startpos + 5, endpos - (startpos + 5)); - Gdk::RGBA base_color = Gdk::RGBA(result); - SPColor base_color_sp(base_color.get_red(), base_color.get_green(), base_color.get_blue()); - colorset = base_color_sp.toRGBA32(1); - } } } |
