diff options
| author | Jabiertxof <jabier.arraiza@marker.es> | 2019-06-21 20:34:09 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-07-08 21:04:16 +0000 |
| commit | a5a5e6514c63e5a822c6c5f560a69ed86ca967a2 (patch) | |
| tree | 81235e375cce03f10ecc444cdce893be52f25fe1 /src | |
| parent | Refctor of Adam Belis icons to fit new system and fix bug compiling (diff) | |
| download | inkscape-a5a5e6514c63e5a822c6c5f560a69ed86ca967a2.tar.gz inkscape-a5a5e6514c63e5a822c6c5f560a69ed86ca967a2.zip | |
Allow pop in front and disable color buttons view
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.cpp | 21 | ||||
| -rw-r--r-- | src/ui/widget/color-picker.cpp | 17 | ||||
| -rw-r--r-- | src/ui/widget/color-picker.h | 4 |
3 files changed, 21 insertions, 21 deletions
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 723d69500..a19f71d4d 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -797,11 +797,7 @@ void InkscapePreferences::themeChange() window->get_style_context()->add_class("bright"); window->get_style_context()->remove_class("dark"); } - if (!prefs->getEntry("/theme/" + themeiconname + "/symbolicBaseColor").isValid()) { - resetIconsColors(); - } else { - changeIconsColors(); - } + resetIconsColors(); INKSCAPE.signal_change_theme.emit(); } } @@ -1121,17 +1117,18 @@ void InkscapePreferences::initPageUI() _symbolic_success_color.get_style_context()->add_class("system_success_color"); _symbolic_warning_color.get_style_context()->add_class("system_warning_color"); _symbolic_error_color.get_style_context()->add_class("system_error_color"); + _symbolic_base_color.get_style_context()->add_class("symboliccolors"); + _symbolic_success_color.get_style_context()->add_class("symboliccolors"); + _symbolic_warning_color.get_style_context()->add_class("symboliccolors"); + _symbolic_error_color.get_style_context()->add_class("symboliccolors"); _symbolic_base_color.connectChanged(sigc::mem_fun(this, &InkscapePreferences::changeIconsColor)); _symbolic_warning_color.connectChanged(sigc::mem_fun(this, &InkscapePreferences::changeIconsColor)); _symbolic_success_color.connectChanged(sigc::mem_fun(this, &InkscapePreferences::changeIconsColor)); _symbolic_error_color.connectChanged(sigc::mem_fun(this, &InkscapePreferences::changeIconsColor)); - Glib::RefPtr<Gdk::Window> window = get_parent_window(); - if (window) { - _symbolic_base_color.setTransientFor(window); - _symbolic_success_color.setTransientFor(window); - _symbolic_warning_color.setTransientFor(window); - _symbolic_error_color.setTransientFor(window); - } + _symbolic_base_color.setParentDialog(this); + _symbolic_success_color.setParentDialog(this); + _symbolic_warning_color.setParentDialog(this); + _symbolic_error_color.setParentDialog(this); Gtk::Box *icon_buttons = Gtk::manage(new Gtk::Box()); icon_buttons->pack_start(_symbolic_base_color, true, true, 4); _page_theme.add_line(false, "", *icon_buttons, _("Icon color"), diff --git a/src/ui/widget/color-picker.cpp b/src/ui/widget/color-picker.cpp index 692d216c7..a53466106 100644 --- a/src/ui/widget/color-picker.cpp +++ b/src/ui/widget/color-picker.cpp @@ -37,6 +37,7 @@ ColorPicker::ColorPicker (const Glib::ustring& title, const Glib::ustring& tip, _preview.show(); add (_preview); set_tooltip_text (tip); + _parent_dialog = nullptr; _selected_color.signal_changed.connect(sigc::mem_fun(this, &ColorPicker::_onSelectedColorChanged)); _selected_color.signal_dragged.connect(sigc::mem_fun(this, &ColorPicker::_onSelectedColorChanged)); _selected_color.signal_released.connect(sigc::mem_fun(this, &ColorPicker::_onSelectedColorChanged)); @@ -57,18 +58,12 @@ void ColorPicker::setupDialog(const Glib::ustring &title) _colorSelectorDialog.set_border_width (4); _color_selector = Gtk::manage(new ColorNotebook(_selected_color)); - if (_transientwindow) { - Glib::RefPtr<Gdk::Window> window = get_parent_window(); - if (window) { - window->set_transient_for(_transientwindow); - } - } _colorSelectorDialog.get_content_area()->pack_start ( *_color_selector, true, true, 0); _color_selector->show(); } -void ColorPicker::setTransientFor(Glib::RefPtr<Gdk::Window> transientwindow) { _transientwindow = transientwindow; } +void ColorPicker::setParentDialog(Gtk::Widget *parent_dialog) { _parent_dialog = parent_dialog; } void ColorPicker::setSensitive(bool sensitive) { set_sensitive(sensitive); } @@ -99,11 +94,19 @@ void ColorPicker::on_clicked() _selected_color.setValue(_rgba); _updating = false; } + Gtk::Window *originalwindow = dynamic_cast<Gtk::Window *>(_parent_dialog->get_toplevel()); + if (originalwindow) { + originalwindow->hide(); + } _colorSelectorDialog.show(); Glib::RefPtr<Gdk::Window> window = get_parent_window(); if (window) { window->focus(1); } + if (originalwindow) { + originalwindow->show(); + } + } void ColorPicker::on_changed (guint32) diff --git a/src/ui/widget/color-picker.h b/src/ui/widget/color-picker.h index d4005d397..ffe9ef2e0 100644 --- a/src/ui/widget/color-picker.h +++ b/src/ui/widget/color-picker.h @@ -48,7 +48,7 @@ public: void setRgba32 (guint32 rgba); void setSensitive(bool sensitive); void closeWindow(); - void setTransientFor(Glib::RefPtr<Gdk::Window> transientwindow); + void setParentDialog(Gtk::Widget *parent_dialog); sigc::connection connectChanged (const sigc::slot<void,guint>& slot) { return _changed_signal.connect (slot); } @@ -71,7 +71,7 @@ protected: //Inkscape::UI::Dialog::Dialog _colorSelectorDialog; Gtk::Dialog _colorSelectorDialog; SelectedColor _selected_color; - Glib::RefPtr<Gdk::Window> _transientwindow; + Gtk::Widget *_parent_dialog; Gtk::Widget *_color_selector; }; |
