From 1df38b62029b7ca6ad6a0861650bcbb5a463b5eb Mon Sep 17 00:00:00 2001 From: John Smith Date: Tue, 30 Oct 2012 11:59:53 +0900 Subject: Fix for 1071426 : Swatches dialog doesn't update when swatch is renamed (bzr r11852) --- src/ui/dialog/color-item.cpp | 19 +++++++++++++++++++ src/ui/dialog/color-item.h | 1 + 2 files changed, 20 insertions(+) (limited to 'src') diff --git a/src/ui/dialog/color-item.cpp b/src/ui/dialog/color-item.cpp index 969aac7ab..0c4fe3686 100644 --- a/src/ui/dialog/color-item.cpp +++ b/src/ui/dialog/color-item.cpp @@ -355,6 +355,24 @@ void ColorItem::setGradient(SPGradient *grad) _grad = grad; // TODO regen and push to listeners } + + setName( _grad->defaultLabel() ); +} + +void ColorItem::setName(const Glib::ustring name) +{ + def.descr = name; + + for ( std::vector::iterator it = _previews.begin(); it != _previews.end(); ++it ) { + Gtk::Widget* widget = *it; + if ( IS_EEK_PREVIEW(widget->gobj()) ) { + EekPreview * preview = EEK_PREVIEW(widget->gobj()); + gtk_widget_set_tooltip_text(GTK_WIDGET(preview), def.descr.c_str()); + } + else if ( GTK_IS_LABEL(widget->gobj()) ) { + gtk_label_set_text(GTK_LABEL(widget->gobj()), def.descr.c_str()); + } + } } void ColorItem::setPattern(cairo_pattern_t *pattern) @@ -366,6 +384,7 @@ void ColorItem::setPattern(cairo_pattern_t *pattern) cairo_pattern_destroy(_pattern); } _pattern = pattern; + _updatePreviews(); } diff --git a/src/ui/dialog/color-item.h b/src/ui/dialog/color-item.h index f54586192..3a0b33193 100644 --- a/src/ui/dialog/color-item.h +++ b/src/ui/dialog/color-item.h @@ -60,6 +60,7 @@ public: void setGradient(SPGradient *grad); SPGradient * getGradient() const { return _grad; } void setPattern(cairo_pattern_t *pattern); + void setName(const Glib::ustring name); void setState( bool fill, bool stroke ); bool isFill() { return _isFill; } -- cgit v1.2.3