summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-06-21 20:34:09 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-07-08 21:04:16 +0000
commita5a5e6514c63e5a822c6c5f560a69ed86ca967a2 (patch)
tree81235e375cce03f10ecc444cdce893be52f25fe1 /src
parentRefctor of Adam Belis icons to fit new system and fix bug compiling (diff)
downloadinkscape-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.cpp21
-rw-r--r--src/ui/widget/color-picker.cpp17
-rw-r--r--src/ui/widget/color-picker.h4
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;
};