[gimp] app: simplify how the colormap editor sets FG/BG colors



commit 0829e5b028773a6b80e8ebcb9944b749628ee81a
Author: Michael Natterer <mitch gimp org>
Date:   Thu Oct 28 03:09:53 2010 +0200

    app: simplify how the colormap editor sets FG/BG colors
    
    Set the FG/BG on the widget's own context and remove the "selected"
    signal and its callback in dialogs-constructors.c

 app/dialogs/dialogs-constructors.c |   45 +-----------------------------------
 app/widgets/gimpcolormapeditor.c   |   34 ++++++++------------------
 app/widgets/gimpcolormapeditor.h   |    3 --
 3 files changed, 12 insertions(+), 70 deletions(-)
---
diff --git a/app/dialogs/dialogs-constructors.c b/app/dialogs/dialogs-constructors.c
index 5a7eeb5..a3c1f88 100644
--- a/app/dialogs/dialogs-constructors.c
+++ b/app/dialogs/dialogs-constructors.c
@@ -26,8 +26,6 @@
 
 #include "core/gimp.h"
 #include "core/gimpcontext.h"
-#include "core/gimpimage.h"
-#include "core/gimpimage-colormap.h"
 
 #include "config/gimpguiconfig.h"
 
@@ -84,13 +82,6 @@
 #include "gimp-intl.h"
 
 
-/*  local function prototypes  */
-
-static void   dialogs_indexed_palette_selected (GimpColormapEditor *editor,
-                                                GdkModifierType     state,
-                                                gpointer            data);
-
-
 /**********************/
 /*  toplevel dialogs  */
 /**********************/
@@ -659,15 +650,7 @@ dialogs_colormap_editor_new (GimpDialogFactory *factory,
                              GimpUIManager     *ui_manager,
                              gint               view_size)
 {
-  GtkWidget *view;
-
-  view = gimp_colormap_editor_new (gimp_dialog_factory_get_menu_factory (factory));
-
-  g_signal_connect (view, "selected",
-                    G_CALLBACK (dialogs_indexed_palette_selected),
-                    NULL);
-
-  return view;
+  return gimp_colormap_editor_new (gimp_dialog_factory_get_menu_factory (factory));
 }
 
 GtkWidget *
@@ -785,29 +768,3 @@ dialogs_tool_preset_editor_get (GimpDialogFactory *factory,
   return gimp_tool_preset_editor_new (context,
                                       gimp_dialog_factory_get_menu_factory (factory));
 }
-
-
-/*  private functions  */
-
-static void
-dialogs_indexed_palette_selected (GimpColormapEditor *editor,
-                                  GdkModifierType     state,
-                                  gpointer            data)
-{
-  GimpImageEditor *image_editor = GIMP_IMAGE_EDITOR (editor);
-
-  if (image_editor->image)
-    {
-      GimpRGB color;
-      gint    index;
-
-      index = gimp_colormap_editor_get_index (editor, NULL);
-
-      gimp_image_get_colormap_entry (image_editor->image, index, &color);
-
-      if (state & GDK_CONTROL_MASK)
-        gimp_context_set_background (image_editor->context, &color);
-      else
-        gimp_context_set_foreground (image_editor->context, &color);
-    }
-}
diff --git a/app/widgets/gimpcolormapeditor.c b/app/widgets/gimpcolormapeditor.c
index bc79cbd..e98b4c0 100644
--- a/app/widgets/gimpcolormapeditor.c
+++ b/app/widgets/gimpcolormapeditor.c
@@ -27,6 +27,7 @@
 #include "widgets-types.h"
 
 #include "core/gimp.h"
+#include "core/gimpcontext.h"
 #include "core/gimpcontainer.h"
 #include "core/gimpimage.h"
 #include "core/gimpimage-colormap.h"
@@ -44,14 +45,7 @@
 #include "gimp-intl.h"
 
 
-#define BORDER 6
-
-enum
-{
-  SELECTED,
-  LAST_SIGNAL
-};
-
+#define BORDER  6
 #define EPSILON 1e-10
 
 #define HAVE_COLORMAP(image) \
@@ -122,8 +116,6 @@ G_DEFINE_TYPE_WITH_CODE (GimpColormapEditor, gimp_colormap_editor,
 
 #define parent_class gimp_colormap_editor_parent_class
 
-static guint editor_signals[LAST_SIGNAL] = { 0 };
-
 static GimpDockedInterface *parent_docked_iface = NULL;
 
 
@@ -134,16 +126,6 @@ gimp_colormap_editor_class_init (GimpColormapEditorClass* klass)
   GtkWidgetClass       *widget_class       = GTK_WIDGET_CLASS (klass);
   GimpImageEditorClass *image_editor_class = GIMP_IMAGE_EDITOR_CLASS (klass);
 
-  editor_signals[SELECTED] =
-    g_signal_new ("selected",
-                  G_TYPE_FROM_CLASS (klass),
-                  G_SIGNAL_RUN_FIRST,
-                  G_STRUCT_OFFSET (GimpColormapEditorClass, selected),
-                  NULL, NULL,
-                  gimp_marshal_VOID__FLAGS,
-                  G_TYPE_NONE, 1,
-                  GDK_TYPE_MODIFIER_TYPE);
-
   object_class->constructor     = gimp_colormap_editor_constructor;
   object_class->dispose         = gimp_colormap_editor_dispose;
   object_class->finalize        = gimp_colormap_editor_finalize;
@@ -151,8 +133,6 @@ gimp_colormap_editor_class_init (GimpColormapEditorClass* klass)
   widget_class->unmap           = gimp_colormap_editor_unmap;
 
   image_editor_class->set_image = gimp_colormap_editor_set_image;
-
-  klass->selected               = NULL;
 }
 
 static void
@@ -593,8 +573,14 @@ gimp_colormap_editor_entry_clicked (GimpPaletteView    *view,
                                     GdkModifierType     state,
                                     GimpColormapEditor *editor)
 {
+  GimpImageEditor *image_editor = GIMP_IMAGE_EDITOR (editor);
+
   gimp_colormap_editor_set_index (editor, entry->position, NULL);
-  g_signal_emit (editor, editor_signals[SELECTED], 0, state);
+
+  if (state & GDK_CONTROL_MASK)
+    gimp_context_set_background (image_editor->context, &entry->color);
+  else
+    gimp_context_set_foreground (image_editor->context, &entry->color);
 }
 
 static void
@@ -613,6 +599,7 @@ gimp_colormap_editor_entry_activated (GimpPaletteView    *view,
                                       GimpColormapEditor *editor)
 {
   gimp_colormap_editor_set_index (editor, entry->position, NULL);
+
   gimp_ui_manager_activate_action (GIMP_EDITOR (editor)->ui_manager,
                                    "colormap",
                                    "colormap-edit-color");
@@ -624,6 +611,7 @@ gimp_colormap_editor_entry_context (GimpPaletteView    *view,
                                     GimpColormapEditor *editor)
 {
   gimp_colormap_editor_set_index (editor, entry->position, NULL);
+
   gimp_editor_popup_menu (GIMP_EDITOR (editor), NULL, NULL);
 }
 
diff --git a/app/widgets/gimpcolormapeditor.h b/app/widgets/gimpcolormapeditor.h
index a7cdabe..cc5db57 100644
--- a/app/widgets/gimpcolormapeditor.h
+++ b/app/widgets/gimpcolormapeditor.h
@@ -51,9 +51,6 @@ struct _GimpColormapEditor
 struct _GimpColormapEditorClass
 {
   GimpImageEditorClass  parent_class;
-
-  void (* selected) (GimpColormapEditor *editor,
-                     GdkModifierType     state);
 };
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]