[gnome-control-center/gtk-style-context] Make build with GtkStyleContext
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/gtk-style-context] Make build with GtkStyleContext
- Date: Tue, 16 Nov 2010 04:58:06 +0000 (UTC)
commit 2cc0d34ee45375277d57a5cf018127df76c7ab90
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Nov 15 23:57:07 2010 -0500
Make build with GtkStyleContext
Very preliminary port from gtk_paint_ to gtk_render_.
panels/user-accounts/um-password-dialog.c | 33 ++++++++++++++++++++------
panels/user-accounts/um-photo-dialog.c | 36 ++++++++++++++++++++++------
2 files changed, 53 insertions(+), 16 deletions(-)
---
diff --git a/panels/user-accounts/um-password-dialog.c b/panels/user-accounts/um-password-dialog.c
index 1e4aaa6..8f75441 100644
--- a/panels/user-accounts/um-password-dialog.c
+++ b/panels/user-accounts/um-password-dialog.c
@@ -81,17 +81,34 @@ generate_draw (GtkWidget *widget,
cairo_t *cr,
UmPasswordDialog *um)
{
+ GtkStyleContext *context;
+ GtkStateFlags flags = 0;
+
if (!gtk_widget_is_sensitive (widget))
return;
- gtk_paint_expander (gtk_widget_get_style (widget),
- cr,
- gtk_widget_get_state (widget),
- widget,
- NULL,
- gtk_widget_get_allocated_width (widget) - 12,
- gtk_widget_get_allocated_height (widget) - 12,
- GTK_EXPANDER_EXPANDED);
+ flags = GTK_STATE_ACTIVE;
+
+ switch (gtk_widget_get_state (widget)) {
+ case GTK_STATE_PRELIGHT:
+ flags |= GTK_STATE_FLAG_PRELIGHT;
+ break;
+ case GTK_STATE_SELECTED:
+ flags |= GTK_STATE_FLAG_SELECTED;
+ break;
+ default: ;
+ }
+
+ context = gtk_widget_get_style_context (widget);
+ gtk_style_context_save (context);
+ gtk_style_context_set_state (context, flags);
+
+ gtk_render_expander (context, cr,
+ gtk_widget_get_allocated_width (widget) - 12,
+ gtk_widget_get_allocated_height (widget) - 12,
+ 12, 12);
+
+ gtk_style_context_restore (context);
}
static void
diff --git a/panels/user-accounts/um-photo-dialog.c b/panels/user-accounts/um-photo-dialog.c
index 18819f4..55af364 100644
--- a/panels/user-accounts/um-photo-dialog.c
+++ b/panels/user-accounts/um-photo-dialog.c
@@ -501,19 +501,39 @@ popup_button_draw (GtkWidget *widget,
cairo_t *cr,
UmPhotoDialog *um)
{
+ GtkStyleContext *context;
+ GtkStateFlags flags = 0;
+
if (gtk_widget_get_state (gtk_bin_get_child (GTK_BIN (widget))) != GTK_STATE_PRELIGHT &&
!gtk_widget_is_focus (widget)) {
return;
}
- gtk_paint_expander (gtk_widget_get_style (widget),
- cr,
- gtk_widget_get_state (widget),
- widget,
- NULL,
- gtk_widget_get_allocated_width (widget) - 12,
- gtk_widget_get_allocated_height (widget) - 12,
- GTK_EXPANDER_EXPANDED);
+ flags = GTK_STATE_ACTIVE;
+
+ switch (gtk_widget_get_state (widget)) {
+ 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;
+ default: ;
+ }
+
+ context = gtk_widget_get_style_context (widget);
+ gtk_style_context_save (context);
+ gtk_style_context_set_state (context, flags);
+
+ gtk_render_expander (context, cr,
+ gtk_widget_get_allocated_width (widget) - 12,
+ gtk_widget_get_allocated_height (widget) - 12,
+ 12, 12);
+
+ gtk_style_context_restore (context);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]