Revision: d8bd7bb08319
Author:   Etsushi Kato <[email protected]>
Date:     Mon Apr 30 21:39:16 2012
Log:      * gtk2/immodule/uim-cand-win-horizontal-gtk.c (label_draw)
  - Redraw unselected text with normal color in GTK+3 horizontal
    candidate window.
* gtk2/candwin/horizontal-gtk.c (label_draw)
  - Ditto.

http://code.google.com/p/uim/source/detail?r=d8bd7bb08319

Modified:
 /gtk2/candwin/horizontal-gtk.c
 /gtk2/immodule/uim-cand-win-horizontal-gtk.c

=======================================
--- /gtk2/candwin/horizontal-gtk.c      Wed Jan 11 00:17:24 2012
+++ /gtk2/candwin/horizontal-gtk.c      Mon Apr 30 21:39:16 2012
@@ -279,32 +279,33 @@
   if (selected)
     selected_label = gtk_bin_get_child(GTK_BIN(selected->button));

-  if (label == selected_label) {
-    GdkRGBA *bg_color, *fg_color;
-    GtkStyleContext *context;
-    PangoLayout *layout;
-    gint x, y;
-    GtkStateFlags state;
-
-    layout = gtk_label_get_layout(GTK_LABEL(label));
-    gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
-
-    context = gtk_widget_get_style_context(label);
-
+  GdkRGBA *bg_color, *fg_color;
+  GtkStyleContext *context;
+  PangoLayout *layout;
+  gint x, y;
+  GtkStateFlags state;
+
+  layout = gtk_label_get_layout(GTK_LABEL(label));
+  gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
+
+  context = gtk_widget_get_style_context(label);
+
+  if (label == selected_label)
     state = GTK_STATE_FLAG_SELECTED;
- gtk_style_context_get (context, state, "background-color", &bg_color, "color", &fg_color, NULL);
-
-    cairo_save(cr);
-    gdk_cairo_set_source_rgba(cr, bg_color);
-    cairo_paint(cr);
-    cairo_restore(cr);
-    gdk_rgba_free(bg_color);
-    gdk_rgba_free(fg_color);
-
-
-    gtk_style_context_set_state (context, state);
-    gtk_render_layout (context, cr, x, y, layout);
-  }
+  else
+    state = GTK_STATE_FLAG_NORMAL;
+
+ gtk_style_context_get (context, state, "background-color", &bg_color, "color", &fg_color, NULL);
+
+  cairo_save(cr);
+  gdk_cairo_set_source_rgba(cr, bg_color);
+  cairo_paint(cr);
+  cairo_restore(cr);
+  gdk_rgba_free(bg_color);
+  gdk_rgba_free(fg_color);
+
+  gtk_style_context_set_state (context, state);
+  gtk_render_layout (context, cr, x, y, layout);

   return FALSE;
 }
=======================================
--- /gtk2/immodule/uim-cand-win-horizontal-gtk.c        Wed Jan 11 00:17:24 2012
+++ /gtk2/immodule/uim-cand-win-horizontal-gtk.c        Mon Apr 30 21:39:16 2012
@@ -216,32 +216,33 @@
   if (selected)
     selected_label = gtk_bin_get_child(GTK_BIN(selected->button));

-  if (label == selected_label) {
-    GdkRGBA *bg_color, *fg_color;
-    GtkStyleContext *context;
-    PangoLayout *layout;
-    gint x, y;
-    GtkStateFlags state;
-
-    layout = gtk_label_get_layout(GTK_LABEL(label));
-    gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
-
-    context = gtk_widget_get_style_context(label);
-
+  GdkRGBA *bg_color, *fg_color;
+  GtkStyleContext *context;
+  PangoLayout *layout;
+  gint x, y;
+  GtkStateFlags state;
+
+  layout = gtk_label_get_layout(GTK_LABEL(label));
+  gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
+
+  context = gtk_widget_get_style_context(label);
+
+  if (label == selected_label)
     state = GTK_STATE_FLAG_SELECTED;
- gtk_style_context_get (context, state, "background-color", &bg_color, "color", &fg_color, NULL);
-
-    cairo_save(cr);
-    gdk_cairo_set_source_rgba(cr, bg_color);
-    cairo_paint(cr);
-    cairo_restore(cr);
-    gdk_rgba_free(bg_color);
-    gdk_rgba_free(fg_color);
-
-
-    gtk_style_context_set_state (context, state);
-    gtk_render_layout (context, cr, x, y, layout);
-  }
+  else
+    state = GTK_STATE_FLAG_NORMAL;
+
+ gtk_style_context_get (context, state, "background-color", &bg_color, "color", &fg_color, NULL);
+
+  cairo_save(cr);
+  gdk_cairo_set_source_rgba(cr, bg_color);
+  cairo_paint(cr);
+  cairo_restore(cr);
+  gdk_rgba_free(bg_color);
+  gdk_rgba_free(fg_color);
+
+  gtk_style_context_set_state (context, state);
+  gtk_render_layout (context, cr, x, y, layout);

   return FALSE;
 }

Reply via email to