aboutsummaryrefslogtreecommitdiffstats
path: root/src/gui/NodeView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/NodeView.cpp')
-rw-r--r--src/gui/NodeView.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/gui/NodeView.cpp b/src/gui/NodeView.cpp
index 4e27594..407961c 100644
--- a/src/gui/NodeView.cpp
+++ b/src/gui/NodeView.cpp
@@ -37,8 +37,8 @@ NodeView::NodeView(Gtk::Window* window,
: FlowCanvas::Ellipse(canvas, "", x, y, 20, 20, false)
, _window(window)
, _node(node)
- , _default_border_color(_border_color)
- , _old_color(_color)
+ , _default_border_color(get_border_color())
+ , _default_fill_color(get_fill_color())
{
signal_click().connect(
sigc::mem_fun(this, &NodeView::on_click));
@@ -133,14 +133,12 @@ NodeView::on_property(Machina::URIInt key, const Raul::Atom& value)
set_border_width(value.get_bool() ? 4.0 : 1.0);
} else if (key == URIs::instance().machina_active) {
if (value.get_bool()) {
- if (_color != active_color) {
- _old_color = _color;
- set_base_color(active_color);
+ if (get_fill_color() != active_color) {
+ set_fill_color(active_color);
set_border_color(active_border_color);
}
- } else if (_color == active_color) {
- set_base_color(_old_color);
- set_border_color(_default_border_color);
+ } else if (get_fill_color() == active_color) {
+ set_default_colors();
}
} else if (key == URIs::instance().machina_enter_action) {
const uint64_t action_id = value.get_int32();
@@ -160,3 +158,10 @@ NodeView::on_action_property(Machina::URIInt key, const Raul::Atom& value)
if (key == URIs::instance().machina_note_number)
show_label(true);
}
+
+void
+NodeView::set_default_colors()
+{
+ set_fill_color(_default_fill_color);
+ set_border_color(_default_border_color);
+}