[byzanz] Replace-deprecated-func-in-paneltogglebutton.c
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [byzanz] Replace-deprecated-func-in-paneltogglebutton.c
- Date: Wed, 10 Oct 2012 23:17:19 +0000 (UTC)
commit 74a1e9273edbf077c0b1fadf5718c0cf734bebc8
Author: Markus Koschany <apo gambaru de>
Date: Mon Oct 1 12:36:06 2012 +0200
Replace-deprecated-func-in-paneltogglebutton.c
Use gtk_widget_get_preferred_size and gtk_render_background
instead of their deprecated counterparts in
src/paneltogglebutton.c which fixes a FTBFS with GTK 3.4.
https://bugzilla.gnome.org/show_bug.cgi?id=685310
src/paneltogglebutton.c | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
---
diff --git a/src/paneltogglebutton.c b/src/paneltogglebutton.c
index 2a76e28..d1ab637 100644
--- a/src/paneltogglebutton.c
+++ b/src/paneltogglebutton.c
@@ -35,7 +35,7 @@ panel_toggle_button_size_request (GtkWidget *widget,
child = gtk_bin_get_child (GTK_BIN (widget));
if (child) {
- gtk_widget_size_request (child, requisition);
+ gtk_widget_get_preferred_size (child, requisition, NULL);
} else {
requisition->width = requisition->height = 0;
}
@@ -91,6 +91,8 @@ panel_toggle_button_draw (GtkWidget *widget, cairo_t *cr)
GtkStateType state_type;
GtkShadowType shadow_type;
GtkAllocation allocation;
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkStateFlags flags = 0;
state_type = gtk_widget_get_state (widget);
@@ -107,9 +109,34 @@ panel_toggle_button_draw (GtkWidget *widget, cairo_t *cr)
state_type = GTK_STATE_SELECTED;
/* FIXME: better detail? */
gtk_widget_get_allocation (widget, &allocation);
- gtk_paint_flat_box (gtk_widget_get_style (widget), cr, state_type, shadow_type,
- widget, "togglebutton", allocation.x,
- allocation.y, allocation.width, allocation.height);
+ gtk_style_context_add_class (context, "togglebutton");
+ switch (state_type)
+ {
+ case GTK_STATE_PRELIGHT:
+ flags |= GTK_STATE_FLAG_PRELIGHT;
+ break;
+ case GTK_STATE_SELECTED:
+ flags |= GTK_STATE_FLAG_SELECTED;
+ break;
+ case GTK_STATE_INSENSITIVE:
+ flags |= GTK_STATE_FLAG_INSENSITIVE;
+ break;
+ case GTK_STATE_ACTIVE:
+ flags |= GTK_STATE_FLAG_ACTIVE;
+ break;
+ case GTK_STATE_FOCUSED:
+ flags |= GTK_STATE_FLAG_FOCUSED;
+ break;
+ case GTK_STATE_NORMAL:
+ case GTK_STATE_INCONSISTENT:
+ default:
+ break;
+ }
+
+ gtk_style_context_set_state (context, flags);
+ gtk_render_background (context, cr, (gdouble) allocation.x, (gdouble) allocation.y,
+ (gdouble) allocation.width, (gdouble) allocation.height);
+ (void) shadow_type;
if (child)
gtk_container_propagate_draw (GTK_CONTAINER (widget), child, cr);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]