[balsa/gtk3] Set image background color from viewport
- From: Peter Bloomfield <PeterB src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/gtk3] Set image background color from viewport
- Date: Tue, 18 Jan 2011 03:24:06 +0000 (UTC)
commit f53c81571da8ee027b272cbd2590c834e68d8f92
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Mon Jan 17 22:20:41 2011 -0500
Set image background color from viewport
* src/balsa-mime-widget-image.c (bmwi_context_changed_cb),
(balsa_mime_widget_new_image): set background color from
viewport.
ChangeLog | 6 ++++++
src/balsa-mime-widget-image.c | 31 ++++++++++++++++++++++---------
2 files changed, 28 insertions(+), 9 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 63a430d..6cc0fa8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2011-01-17 Peter Bloomfield
+ * src/balsa-mime-widget-image.c (bmwi_context_changed_cb),
+ (balsa_mime_widget_new_image): set background color from
+ viewport.
+
+2011-01-17 Peter Bloomfield
+
* src/balsa-mime-widget-crypto.c
(balsa_mime_widget_signature_widget),
(balsa_mime_widget_crypto_frame): reorganize window-showing.
diff --git a/src/balsa-mime-widget-image.c b/src/balsa-mime-widget-image.c
index 9dfe6d9..f17d081 100644
--- a/src/balsa-mime-widget-image.c
+++ b/src/balsa-mime-widget-image.c
@@ -34,15 +34,27 @@ static gboolean balsa_image_button_press_cb(GtkWidget * widget, GdkEventButton *
GtkMenu * menu);
static gboolean img_check_size(GtkImage ** widget_p);
+static void
+bmwi_context_changed_cb(GtkStyleContext * context, BalsaMimeWidget * mw)
+{
+ GdkRGBA rgba;
+
+ gtk_style_context_get_background_color(context,
+ GTK_STATE_FLAG_NORMAL, &rgba);
+ gtk_widget_override_background_color(mw->widget,
+ GTK_STATE_FLAG_NORMAL, &rgba);
+}
BalsaMimeWidget *
-balsa_mime_widget_new_image(BalsaMessage * bm, LibBalsaMessageBody * mime_body,
+balsa_mime_widget_new_image(BalsaMessage * bm,
+ LibBalsaMessageBody * mime_body,
const gchar * content_type, gpointer data)
{
GdkPixbuf *pixbuf;
GtkWidget *image;
GError * load_err = NULL;
BalsaMimeWidget *mw;
+ GtkStyleContext *context;
g_return_val_if_fail(mime_body != NULL, NULL);
g_return_val_if_fail(content_type != NULL, NULL);
@@ -59,7 +71,16 @@ balsa_mime_widget_new_image(BalsaMessage * bm, LibBalsaMessageBody * mime_body,
}
mw = g_object_new(BALSA_TYPE_MIME_WIDGET, NULL);
+
mw->widget = gtk_event_box_new();
+ g_signal_connect(G_OBJECT(mw->widget), "button-press-event",
+ G_CALLBACK(balsa_image_button_press_cb), data);
+
+ context = gtk_widget_get_style_context(GTK_WIDGET(bm->cont_viewport));
+ bmwi_context_changed_cb(context, mw);
+ g_signal_connect(context, "changed",
+ G_CALLBACK(bmwi_context_changed_cb), mw);
+
image = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE,
GTK_ICON_SIZE_BUTTON);
g_object_set_data(G_OBJECT(image), "orig-width",
@@ -67,14 +88,6 @@ balsa_mime_widget_new_image(BalsaMessage * bm, LibBalsaMessageBody * mime_body,
g_object_set_data(G_OBJECT(image), "mime-body", mime_body);
g_object_unref(pixbuf);
gtk_container_add(GTK_CONTAINER(mw->widget), image);
-#if 0
- gtk_widget_modify_bg(mw->widget, GTK_STATE_NORMAL,
- >k_widget_get_style(GTK_WIDGET(bm))->
- light[GTK_STATE_NORMAL]);
-#endif
-
- g_signal_connect(G_OBJECT(mw->widget), "button-press-event",
- G_CALLBACK(balsa_image_button_press_cb), data);
return mw;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]