summaryrefslogtreecommitdiffstats
path: root/src/ui/widget
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-06-18 19:18:20 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-07-08 21:01:34 +0000
commit6a7e32e1b6bea253f6484136beaf21c3df0de535 (patch)
tree3c95f52c150518add2b9e5d2a1d786e78b40f19d /src/ui/widget
parentDisplay spiro pen preview right after backspace (diff)
downloadinkscape-6a7e32e1b6bea253f6484136beaf21c3df0de535.tar.gz
inkscape-6a7e32e1b6bea253f6484136beaf21c3df0de535.zip
Initial code to fix
Diffstat (limited to 'src/ui/widget')
-rw-r--r--src/ui/widget/color-picker.cpp12
-rw-r--r--src/ui/widget/color-picker.h12
2 files changed, 17 insertions, 7 deletions
diff --git a/src/ui/widget/color-picker.cpp b/src/ui/widget/color-picker.cpp
index ad74a10cc..b3b6db451 100644
--- a/src/ui/widget/color-picker.cpp
+++ b/src/ui/widget/color-picker.cpp
@@ -37,7 +37,6 @@ ColorPicker::ColorPicker (const Glib::ustring& title, const Glib::ustring& tip,
_preview.show();
add (_preview);
set_tooltip_text (tip);
-
_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));
@@ -58,12 +57,21 @@ 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::setSensitive(bool sensitive) { _color_selector->set_sensitive(sensitive); }
+
void ColorPicker::setRgba32 (guint32 rgba)
{
if (_in_use) return;
diff --git a/src/ui/widget/color-picker.h b/src/ui/widget/color-picker.h
index f0252550b..d4005d397 100644
--- a/src/ui/widget/color-picker.h
+++ b/src/ui/widget/color-picker.h
@@ -18,11 +18,12 @@
#include <cstddef>
-#include <gtkmm/dialog.h>
-#include <gtkmm/button.h>
-#include <sigc++/sigc++.h>
#include "ui/selected-color.h"
#include "ui/widget/color-preview.h"
+#include <gtkmm/button.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/window.h>
+#include <sigc++/sigc++.h>
struct SPColorSelector;
@@ -45,9 +46,9 @@ public:
~ColorPicker() override;
void setRgba32 (guint32 rgba);
-
+ void setSensitive(bool sensitive);
void closeWindow();
-
+ void setTransientFor(Glib::RefPtr<Gdk::Window> transientwindow);
sigc::connection connectChanged (const sigc::slot<void,guint>& slot)
{ return _changed_signal.connect (slot); }
@@ -70,6 +71,7 @@ protected:
//Inkscape::UI::Dialog::Dialog _colorSelectorDialog;
Gtk::Dialog _colorSelectorDialog;
SelectedColor _selected_color;
+ Glib::RefPtr<Gdk::Window> _transientwindow;
Gtk::Widget *_color_selector;
};