From 153748330acf978907576ea60eb59534004f70fa Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Wed, 13 Jul 2005 17:03:44 +0000 Subject: [PATCH] added new public function gimp_dockable_blink_cancel() which stops title 2005-07-13 Michael Natterer * app/widgets/gimpdockable.[ch]: added new public function gimp_dockable_blink_cancel() which stops title blinking. * app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked): cancel blinking when updating a picked color so the dockable doesn't flicker for each cursor movement. --- ChangeLog | 9 +++++++++ app/tools/gimpcolorpickertool.c | 5 +++++ app/widgets/gimpdockable.c | 18 +++++++++++++----- app/widgets/gimpdockable.h | 1 + 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index f309072982..ebeda0f781 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2005-07-13 Michael Natterer + + * app/widgets/gimpdockable.[ch]: added new public function + gimp_dockable_blink_cancel() which stops title blinking. + + * app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked): + cancel blinking when updating a picked color so the dockable + doesn't flicker for each cursor movement. + 2005-07-13 Michael Natterer * app/widgets/gimppaletteeditor.c (gimp_palette_editor_pick_color): diff --git a/app/tools/gimpcolorpickertool.c b/app/tools/gimpcolorpickertool.c index 51d7edd382..8972047241 100644 --- a/app/tools/gimpcolorpickertool.c +++ b/app/tools/gimpcolorpickertool.c @@ -33,6 +33,7 @@ #include "widgets/gimpcolorframe.h" #include "widgets/gimpdialogfactory.h" +#include "widgets/gimpdockable.h" #include "widgets/gimphelp-ids.h" #include "widgets/gimppaletteeditor.h" #include "widgets/gimptooldialog.h" @@ -301,6 +302,10 @@ gimp_color_picker_tool_picked (GimpColorTool *color_tool, "gimp-palette-editor", -1); + /* don't blink like mad when updating */ + if (pick_state == GIMP_COLOR_PICK_STATE_UPDATE) + gimp_dockable_blink_cancel (GIMP_DOCKABLE (dockable)); + palette_editor = gtk_bin_get_child (GTK_BIN (dockable)); data = gimp_data_editor_get_data (GIMP_DATA_EDITOR (palette_editor)); diff --git a/app/widgets/gimpdockable.c b/app/widgets/gimpdockable.c index af1891a390..356b52ba87 100644 --- a/app/widgets/gimpdockable.c +++ b/app/widgets/gimpdockable.c @@ -258,11 +258,7 @@ gimp_dockable_destroy (GtkObject *object) } if (dockable->blink_timeout_id) - { - g_source_remove (dockable->blink_timeout_id); - dockable->blink_timeout_id = 0; - dockable->blink_counter = 0; - } + gimp_dockable_blink_cancel (dockable); GTK_OBJECT_CLASS (parent_class)->destroy (object); } @@ -871,6 +867,18 @@ gimp_dockable_blink (GimpDockable *dockable) gimp_dockable_blink_timeout (dockable); } +void +gimp_dockable_blink_cancel (GimpDockable *dockable) +{ + g_return_if_fail (GIMP_IS_DOCKABLE (dockable)); + + if (dockable->blink_timeout_id) + { + g_source_remove (dockable->blink_timeout_id); + dockable->blink_timeout_id = 0; + dockable->blink_counter = 0; + } +} /* private functions */ diff --git a/app/widgets/gimpdockable.h b/app/widgets/gimpdockable.h index 7d46bb6ec3..a9bbf9b1c5 100644 --- a/app/widgets/gimpdockable.h +++ b/app/widgets/gimpdockable.h @@ -90,6 +90,7 @@ GimpUIManager * gimp_dockable_get_menu (GimpDockable *dockable, void gimp_dockable_detach (GimpDockable *dockable); void gimp_dockable_blink (GimpDockable *dockable); +void gimp_dockable_blink_cancel (GimpDockable *dockable); #endif /* __GIMP_DOCKABLE_H__ */