summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2019-06-23 17:15:35 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-06-23 17:15:53 +0000
commite82a32013c7837f830b11637182ce3da8a097372 (patch)
tree3be83a1533bb0d22ca4c6ef1d89aa636fedf2d00 /src/ui
parentUpdate macOS build pipeline (diff)
downloadinkscape-e82a32013c7837f830b11637182ce3da8a097372.tar.gz
inkscape-e82a32013c7837f830b11637182ce3da8a097372.zip
Remove experimental code to work in MR and fixes for selectors
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/dialog-manager.cpp5
-rw-r--r--src/ui/dialog/dialog.cpp27
-rw-r--r--src/ui/dialog/dialog.h4
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp36
-rw-r--r--src/ui/dialog/inkscape-preferences.h5
-rw-r--r--src/ui/dialog/selectorsdialog.cpp60
-rw-r--r--src/ui/dialog/selectorsdialog.h2
-rw-r--r--src/ui/dialog/styledialog.cpp20
-rw-r--r--src/ui/dialog/symbols.cpp2
9 files changed, 85 insertions, 76 deletions
diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp
index 727e578e2..66a682de6 100644
--- a/src/ui/dialog/dialog-manager.cpp
+++ b/src/ui/dialog/dialog-manager.cpp
@@ -16,14 +16,14 @@
#include "ui/dialog/dialog-manager.h"
-#include "ui/dialog/prototype.h"
+#include "style.h"
#include "ui/dialog/align-and-distribute.h"
#include "ui/dialog/document-metadata.h"
#include "ui/dialog/document-properties.h"
#include "ui/dialog/extension-editor.h"
#include "ui/dialog/fill-and-stroke.h"
-#include "ui/dialog/filter-effects-dialog.h"
#include "ui/dialog/filter-editor.h"
+#include "ui/dialog/filter-effects-dialog.h"
#include "ui/dialog/find.h"
#include "ui/dialog/glyphs.h"
#include "ui/dialog/inkscape-preferences.h"
@@ -31,6 +31,7 @@
#include "ui/dialog/livepatheffect-editor.h"
#include "ui/dialog/memory.h"
#include "ui/dialog/messages.h"
+#include "ui/dialog/prototype.h"
#include "ui/dialog/symbols.h"
#include "ui/dialog/tile.h"
diff --git a/src/ui/dialog/dialog.cpp b/src/ui/dialog/dialog.cpp
index 2ba2856ff..3baec5106 100644
--- a/src/ui/dialog/dialog.cpp
+++ b/src/ui/dialog/dialog.cpp
@@ -74,11 +74,13 @@ Dialog::Dialog(Behavior::BehaviorFactory behavior_factory, const char *prefs_pat
INKSCAPE.signal_dialogs_hide.connect(sigc::mem_fun(*this, &Dialog::onHideF12));
INKSCAPE.signal_dialogs_unhide.connect(sigc::mem_fun(*this, &Dialog::onShowF12));
INKSCAPE.signal_shut_down.connect(sigc::mem_fun(*this, &Dialog::onShutdown));
+ INKSCAPE.signal_change_theme.connect(sigc::mem_fun(*this, &Dialog::addTopWindowClasses));
Glib::wrap(gobj())->signal_event().connect(sigc::mem_fun(*this, &Dialog::_onEvent));
Glib::wrap(gobj())->signal_key_press_event().connect(sigc::mem_fun(*this, &Dialog::_onKeyPress));
read_geometry();
+ addTopWindowClasses();
}
Dialog::~Dialog()
@@ -308,6 +310,31 @@ Dialog::_getSelection()
return SP_ACTIVE_DESKTOP->getSelection();
}
+void Dialog::addTopWindowClasses()
+{
+ SPDesktop *desktop = SP_ACTIVE_DESKTOP;
+ if (desktop) {
+ Gtk::Widget *canvas = Glib::wrap(GTK_WIDGET(desktop->canvas));
+ Gtk::Window *toplevel_window = dynamic_cast<Gtk::Window *>(canvas->get_toplevel());
+ if (toplevel_window) {
+ if (toplevel_window->get_style_context()->has_class("dark")) {
+ Glib::wrap(gobj())->get_style_context()->add_class("dark");
+ Glib::wrap(gobj())->get_style_context()->remove_class("bright");
+ } else {
+ Glib::wrap(gobj())->get_style_context()->add_class("bright");
+ Glib::wrap(gobj())->get_style_context()->remove_class("dark");
+ }
+ if (toplevel_window->get_style_context()->has_class("symbolic")) {
+ Glib::wrap(gobj())->get_style_context()->add_class("symbolic");
+ Glib::wrap(gobj())->get_style_context()->remove_class("regular");
+ } else {
+ Glib::wrap(gobj())->get_style_context()->remove_class("symbolic");
+ Glib::wrap(gobj())->get_style_context()->add_class("regular");
+ }
+ }
+ }
+}
+
} // namespace Dialog
} // namespace UI
} // namespace Inkscape
diff --git a/src/ui/dialog/dialog.h b/src/ui/dialog/dialog.h
index 404f4f9a3..7b668a4ba 100644
--- a/src/ui/dialog/dialog.h
+++ b/src/ui/dialog/dialog.h
@@ -144,9 +144,11 @@ protected:
sigc::connection _dialogs_hidden_connection;
sigc::connection _dialogs_unhidden_connection;
sigc::connection _shutdown_connection;
+ sigc::connection _change_theme_connection;
-private:
+ private:
Behavior::Behavior* _behavior;
+ void addTopWindowClasses();
Dialog() = delete; // no constructor without params
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 6151eeef0..0b7b68304 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -480,7 +480,7 @@ void InkscapePreferences::initPageTools()
cb->init ( _("Show font samples in the drop-down list"), "/tools/text/show_sample_in_list", true);
_page_text.add_line( false, "", *cb, "", _("Show font samples alongside font names in the drop-down list in Text bar"));
- _font_dialog.init ( _("Show font substitution warning dialog"), "/options/font/substitutedlg", false);
+ _font_dialog.init ( _("Show font substitution inng dialog"), "/options/font/substitutedlg", false);
_page_text.add_line( false, "", _font_dialog, "", _("Show font substitution warning dialog when requested fonts are not available on the system"));
cb = Gtk::manage(new PrefCheckButton);
@@ -651,28 +651,12 @@ void InkscapePreferences::symbolicStyling()
Glib::ustring css_str = "";
if (prefs->getBool("/theme/symbolicIcons", false)) {
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:";
@@ -694,6 +678,7 @@ void InkscapePreferences::symbolicStyling()
window->get_style_context()->remove_class("symbolic");
}
}
+ INKSCAPE.signal_change_theme.emit();
try {
INKSCAPE.colorizeprovider->load_from_data(css_str);
} catch (const Gtk::CssProviderError &ex) {
@@ -732,9 +717,15 @@ void InkscapePreferences::themeChange()
window->get_style_context()->add_class("bright");
window->get_style_context()->remove_class("dark");
}
+ INKSCAPE.signal_change_theme.emit();
}
}
+void InkscapePreferences::changeIconsColor(guint32 /*color*/)
+{
+ symbolicStyling();
+}
+
void InkscapePreferences::initPageUI()
{
Gtk::TreeModel::iterator iter_ui = this->AddPage(_page_ui, _("Interface"), PREFS_PAGE_UI);
@@ -964,24 +955,15 @@ void InkscapePreferences::initPageUI()
_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);
- _symbolic_warning_color.init(_("Color for symbolic warning icons:"), "/theme/symbolicWarningColor", 0xF57900ff);
- _symbolic_error_color.init(_("Color for symbolic error icons:"), "/theme/symbolicErrorColor", 0xcc0000ff);
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::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));
Gtk::Box *icon_buttons = Gtk::manage(new Gtk::Box());
icon_buttons->pack_start(*_symbolic_color_label, true, true, 4);
icon_buttons->pack_start(_symbolic_color, true, true, 4);
- icon_buttons->pack_start(_symbolic_success_color, true, true, 4);
- icon_buttons->pack_start(_symbolic_warning_color, true, true, 4);
- icon_buttons->pack_start(_symbolic_error_color, true, true, 4);
- icon_buttons->pack_start(*apply_color, true, true, 4);
icon_buttons->pack_start(*theme_decide_color, true, true, 4);
+ _symbolic_color.connectChanged(sigc::mem_fun(this, &InkscapePreferences::changeIconsColor));
_page_theme.add_line(false,"", *icon_buttons, "", _("Color for symbolic icons, theme based or custom. Some icon color changes need reload"), false );
{
Glib::ustring sizeLabels[] = { C_("Icon size", "Larger"), C_("Icon size", "Large"), C_("Icon size", "Small"),
diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h
index c946eb6bd..3e0134e4d 100644
--- a/src/ui/dialog/inkscape-preferences.h
+++ b/src/ui/dialog/inkscape-preferences.h
@@ -246,14 +246,10 @@ protected:
UI::Widget::PrefCheckButton _dark_theme;
UI::Widget::PrefCheckButton _symbolic_icons;
UI::Widget::PrefColorPicker _symbolic_color;
- UI::Widget::PrefColorPicker _symbolic_warning_color;
- UI::Widget::PrefColorPicker _symbolic_error_color;
- UI::Widget::PrefColorPicker _symbolic_success_color;
UI::Widget::PrefCombo _misc_small_toolbar;
UI::Widget::PrefCombo _misc_small_secondary;
UI::Widget::PrefCombo _misc_small_tools;
UI::Widget::PrefCombo _menu_icons;
- Gtk::Button _apply_theme;
UI::Widget::PrefRadioButton _win_dockable;
UI::Widget::PrefRadioButton _win_floating;
@@ -591,6 +587,7 @@ protected:
private:
void themeChange();
+ void changeIconsColor(guint32 /*color*/);
void symbolicThemeCheck();
void symbolicStyling();
void symbolicDefaultColor();
diff --git a/src/ui/dialog/selectorsdialog.cpp b/src/ui/dialog/selectorsdialog.cpp
index acb8eea6e..4300adacf 100644
--- a/src/ui/dialog/selectorsdialog.cpp
+++ b/src/ui/dialog/selectorsdialog.cpp
@@ -315,8 +315,16 @@ SelectorsDialog::SelectorsDialog()
if ( col ) {
col->add_attribute(addRenderer->property_icon(), _mColumns._colType);
}
- _treeView.append_column("CSS Selector", _mColumns._colSelector);
+
+ Gtk::CellRendererText *label = Gtk::manage(new Gtk::CellRendererText());
+ addCol = _treeView.append_column("CSS Selector", *label) - 1;
+ col = _treeView.get_column(addCol);
+ if (col) {
+ col->add_attribute(label->property_text(),_mColumns._colSelector);
+ col->add_attribute(label->property_weight(), _mColumns._colSelected);
+ }
_treeView.set_expander_column(*(_treeView.get_column(1)));
+
// Signal handlers
_treeView.signal_button_release_event().connect( // Needs to be release, not press.
@@ -484,7 +492,6 @@ Inkscape::XML::Node *SelectorsDialog::_getStyleTextNode()
return textNode;
}
-
/**
* Fill the Gtk::TreeStore from the svg:style element.
*/
@@ -585,6 +592,7 @@ void SelectorsDialog::_readStyleElement()
row[_mColumns._colObj] = objVec;
row[_mColumns._colProperties] = properties;
row[_mColumns._colVisible] = true;
+ row[_mColumns._colSelected] = 400;
// Add as children, objects that match selector.
for (auto &obj : objVec) {
Gtk::TreeModel::Row childrow = *(_store->append(row->children()));
@@ -595,6 +603,7 @@ void SelectorsDialog::_readStyleElement()
childrow[_mColumns._colObj] = std::vector<SPObject *>(1, obj);
childrow[_mColumns._colProperties] = ""; // Unused
childrow[_mColumns._colVisible] = true; // Unused
+ childrow[_mColumns._colSelected] = 400;
}
}
@@ -628,7 +637,6 @@ void SelectorsDialog::_writeStyleElement()
}
_updating = true;
SPDocument *document = SP_ACTIVE_DOCUMENT;
- document->setStyleSheet(nullptr);
Glib::ustring styleContent;
for (auto& row: _store->children()) {
Glib::ustring selector = row[_mColumns._colSelector];
@@ -645,10 +653,11 @@ void SelectorsDialog::_writeStyleElement()
// harm in keeping it around ...
Inkscape::XML::Node *textNode = _getStyleTextNode();
textNode->setContent(styleContent.c_str());
-
+ INKSCAPE.readStyleSheets(true);
DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_SELECTORS, _("Edited style element."));
_updating = false;
+
g_debug("SelectorsDialog::_writeStyleElement(): | %s |", styleContent.c_str());
}
@@ -811,6 +820,7 @@ void SelectorsDialog::_addToSelector(Gtk::TreeModel::Row row)
childrow[_mColumns._colObj] = std::vector<SPObject *>(1, obj);
childrow[_mColumns._colProperties] = ""; // Unused
childrow[_mColumns._colVisible] = true; // Unused
+ childrow[_mColumns._colSelected] = 400;
}
objVec = _getObjVec(multiselector);
row[_mColumns._colSelector] = multiselector;
@@ -835,6 +845,7 @@ void SelectorsDialog::_removeFromSelector(Gtk::TreeModel::Row row)
SPObject *obj = nullptr;
Glib::ustring objectLabel = row[_mColumns._colSelector];
Gtk::TreeModel::iterator iter = row->parent();
+ Inkscape::Selection *selection = getDesktop()->getSelection();
if (iter) {
Gtk::TreeModel::Row parent = *iter;
Glib::ustring multiselector = parent[_mColumns._colSelector];
@@ -871,10 +882,6 @@ void SelectorsDialog::_removeFromSelector(Gtk::TreeModel::Row row)
// Add entry to style element
_writeStyleElement();
- if (obj) {
- obj->style->readFromObject(obj);
- obj->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
- }
}
}
@@ -1025,14 +1032,14 @@ void SelectorsDialog::_removeClass(SPObject *obj, const Glib::ustring &className
void SelectorsDialog::_selectObjects(int eventX, int eventY)
{
g_debug("SelectorsDialog::_selectObjects: %d, %d", eventX, eventY);
- getDesktop()->selection->clear();
Gtk::TreeViewColumn *col = _treeView.get_column(1);
Gtk::TreeModel::Path path;
int x2 = 0;
int y2 = 0;
// To do: We should be able to do this via passing in row.
if (_treeView.get_path_at_pos(eventX, eventY, path, col, x2, y2)) {
- if (col == _treeView.get_column(1)) {
+ if (col == _treeView.get_column(1) && x2 > 25) {
+ getDesktop()->selection->clear();
Gtk::TreeModel::iterator iter = _store->get_iter(path);
if (iter) {
Gtk::TreeModel::Row row = *iter;
@@ -1159,6 +1166,7 @@ void SelectorsDialog::_addSelector()
row[_mColumns._colObj] = objVec;
row[_mColumns._colProperties] = "";
row[_mColumns._colVisible] = true;
+ row[_mColumns._colSelected] = 400;
for (auto &obj : objVec) {
Gtk::TreeModel::Row childrow = *(_store->append(row->children()));
childrow[_mColumns._colSelector] = "#" + Glib::ustring(obj->getId());
@@ -1167,6 +1175,7 @@ void SelectorsDialog::_addSelector()
childrow[_mColumns._colObj] = std::vector<SPObject *>(1, obj);
childrow[_mColumns._colProperties] = ""; // Unused
childrow[_mColumns._colVisible] = true; // Unused
+ childrow[_mColumns._colSelected] = 400;
}
// Add entry to style element
_writeStyleElement();
@@ -1219,18 +1228,11 @@ bool SelectorsDialog::_handleButtonEvent(GdkEventButton *event)
if (_treeView.get_path_at_pos(x, y, path, col, x2, y2)) {
if (col == _treeView.get_column(0)) {
- bool remove_parent = false;
Gtk::TreeModel::iterator iter = _store->get_iter(path);
Gtk::TreeModel::Row row = *iter;
- Glib::RefPtr<Gtk::TreeSelection> sel = _treeView.get_selection();
- sel->select(row);
- // Add or remove objects from a
- Gtk::TreeModel::Row row_to_sel;
if (!row.parent()) {
- row_to_sel = row;
_addToSelector(row);
} else {
- row_to_sel = *row.parent();
_removeFromSelector(row);
}
}
@@ -1377,20 +1379,26 @@ void SelectorsDialog::_selectRow()
} else {
_style_dialog->setCurrentSelector("");
}
-
for (auto row : children) {
- std::vector<SPObject *> objVec = row[_mColumns._colObj];
- if (obj) {
- for (auto & i : objVec) {
- if (obj->getId() == i->getId()) {
+ Gtk::TreeModel::Children subchildren = row->children();
+ for (auto subrow : subchildren) {
+ subrow[_mColumns._colSelected] = 400;
+ }
+ }
+ for (auto obj: selection->items()) {
+ for (auto row : children) {
+ Gtk::TreeModel::Children subchildren = row->children();
+ for (auto subrow : subchildren) {
+ std::vector<SPObject *> objVec = subrow[_mColumns._colObj];
+ if (obj->getId() == objVec[0]->getId()) {
_treeView.get_selection()->select(row);
row[_mColumns._colVisible] = true;
- break;
+ subrow[_mColumns._colSelected] = 700;
}
}
- }
- if (row[_mColumns._colExpand]) {
- _treeView.expand_to_path(Gtk::TreePath(row));
+ if (row[_mColumns._colExpand]) {
+ _treeView.expand_to_path(Gtk::TreePath(row));
+ }
}
}
}
diff --git a/src/ui/dialog/selectorsdialog.h b/src/ui/dialog/selectorsdialog.h
index 109ffaf22..4a0e8dc1b 100644
--- a/src/ui/dialog/selectorsdialog.h
+++ b/src/ui/dialog/selectorsdialog.h
@@ -80,6 +80,7 @@ class SelectorsDialog : public Widget::Panel {
add(_colObj);
add(_colProperties);
add(_colVisible);
+ add(_colSelected);
}
Gtk::TreeModelColumn<Glib::ustring> _colSelector; // Selector or matching object id.
Gtk::TreeModelColumn<bool> _colExpand; // Open/Close store row.
@@ -87,6 +88,7 @@ class SelectorsDialog : public Widget::Panel {
Gtk::TreeModelColumn<std::vector<SPObject *> > _colObj; // List of matching objects.
Gtk::TreeModelColumn<Glib::ustring> _colProperties; // List of properties.
Gtk::TreeModelColumn<bool> _colVisible; // Make visible or not.
+ Gtk::TreeModelColumn<gint> _colSelected; // Make selected.
};
ModelColumns _mColumns;
diff --git a/src/ui/dialog/styledialog.cpp b/src/ui/dialog/styledialog.cpp
index fe9c6ed3b..3cdf5092b 100644
--- a/src/ui/dialog/styledialog.cpp
+++ b/src/ui/dialog/styledialog.cpp
@@ -130,17 +130,6 @@ class StyleDialog::NodeWatcher : public Inkscape::XML::NodeObserver {
if (name == "id" || name == "class" || name == "style") {
_styledialog->_nodeChanged(node);
}
- SPObject *obj = SP_ACTIVE_DOCUMENT->getObjectById(node.attribute("id"));
- if (obj) {
- for (auto iter : obj->style->properties()) {
- if (iter->name == name) {
- obj->style->readFromObject(obj);
- obj->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
- _styledialog->_nodeChanged(node);
- break;
- }
- }
- }
}
}
@@ -291,11 +280,11 @@ Inkscape::XML::Node *StyleDialog::_getStyleTextNode()
styleNode = SP_ACTIVE_DOCUMENT->getReprDoc()->createElement("svg:style");
textNode = SP_ACTIVE_DOCUMENT->getReprDoc()->createTextNode("");
- styleNode->appendChild(textNode);
- Inkscape::GC::release(textNode);
-
root->addChild(styleNode, nullptr);
Inkscape::GC::release(styleNode);
+
+ styleNode->appendChild(textNode);
+ Inkscape::GC::release(textNode);
}
if (_textNode != textNode) {
@@ -307,6 +296,7 @@ Inkscape::XML::Node *StyleDialog::_getStyleTextNode()
return textNode;
}
+
Glib::RefPtr<Gtk::TreeModel> StyleDialog::_selectTree(Glib::ustring selector)
{
Gtk::Label *selectorlabel;
@@ -915,7 +905,6 @@ void StyleDialog::_writeStyleElement(Glib::RefPtr<Gtk::TreeStore> store, Glib::u
// We could test if styleContent is empty and then delete the style node here but there is no
// harm in keeping it around ...
SPDocument *document = SP_ACTIVE_DOCUMENT;
- document->setStyleSheet(nullptr);
std::string pos = std::to_string(selectorpos);
std::string selectormatch = "(";
for (selectorpos; selectorpos > 1; selectorpos--) {
@@ -928,6 +917,7 @@ void StyleDialog::_writeStyleElement(Glib::RefPtr<Gtk::TreeStore> store, Glib::u
std::string result;
std::regex_replace(std::back_inserter(result), content.begin(), content.end(), e, "$1" + styleContent + "$3");
textNode->setContent(result.c_str());
+ INKSCAPE.readStyleSheets(true);
for (auto iter : document->getObjectsBySelector(selector)) {
iter->style->readFromObject(iter);
iter->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp
index a269ae094..37e522d5d 100644
--- a/src/ui/dialog/symbols.cpp
+++ b/src/ui/dialog/symbols.cpp
@@ -211,9 +211,9 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) :
// No results
overlay_icon = sp_get_icon_image("searching", Gtk::ICON_SIZE_DIALOG);
overlay_icon->set_pixel_size(110);
- overlay_icon->get_style_context()->add_class("iconsymbolic");
overlay_icon->set_halign(Gtk::ALIGN_CENTER);
overlay_icon->set_valign(Gtk::ALIGN_START);
+
overlay_icon->set_margin_top(45);
overlay_title = new Gtk::Label();