[gedit/gnome-3-16] open file selector: use context save/restore
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/gnome-3-16] open file selector: use context save/restore
- Date: Sun, 16 Aug 2015 15:02:43 +0000 (UTC)
commit 2ca4f5157ebead1acfbd82f8c802e0aba2ded7cd
Author: Paolo Borelli <pborelli gnome org>
Date: Sun Aug 16 16:52:36 2015 +0200
open file selector: use context save/restore
Instead of manually removing a class, use save and restore.
This is more efficient with newer gtk since gtk can tell
that the context was unaffected.
gedit/gedit-open-document-selector.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
---
diff --git a/gedit/gedit-open-document-selector.c b/gedit/gedit-open-document-selector.c
index f1d8776..2951f52 100644
--- a/gedit/gedit-open-document-selector.c
+++ b/gedit/gedit-open-document-selector.c
@@ -1035,21 +1035,24 @@ name_renderer_datafunc (GtkTreeViewColumn *column,
{
GeditOpenDocumentSelectorPrivate *priv = selector->priv;
GtkStyleContext *context;
+ GtkStateFlags state;
GdkRGBA label_color;
gdouble font_size;
context = gtk_widget_get_style_context (priv->treeview);
+ state = gtk_style_context_get_state (context);
/* Name label foreground and font size styling */
+ gtk_style_context_save (context);
gtk_style_context_add_class (context, "open-document-selector-name-label");
- gtk_style_context_get_color (context, GTK_STATE_FLAG_NORMAL, &label_color);
+ gtk_style_context_get_color (context, state, &label_color);
g_object_set (priv->name_renderer, "foreground-rgba", &label_color, NULL);
- gtk_style_context_get (context, GTK_STATE_FLAG_NORMAL, "font-size", &font_size, NULL);
+ gtk_style_context_get (context, state, "font-size", &font_size, NULL);
g_object_set (priv->name_renderer, "size-points", font_size, NULL);
- gtk_style_context_remove_class (context, "open-document-selector-name-label");
+ gtk_style_context_restore (context);
}
static void
@@ -1061,21 +1064,24 @@ path_renderer_datafunc (GtkTreeViewColumn *column,
{
GeditOpenDocumentSelectorPrivate *priv = selector->priv;
GtkStyleContext *context;
+ GtkStateFlags state;
GdkRGBA label_color;
gdouble font_size;
context = gtk_widget_get_style_context (priv->treeview);
+ state = gtk_style_context_get_state (context);
/* Path label foreground and font size styling */
+ gtk_style_context_save (context);
gtk_style_context_add_class (context, "open-document-selector-path-label");
- gtk_style_context_get_color (context, GTK_STATE_FLAG_NORMAL, &label_color);
+ gtk_style_context_get_color (context, state, &label_color);
g_object_set (priv->path_renderer, "foreground-rgba", &label_color, NULL);
- gtk_style_context_get (context, GTK_STATE_FLAG_NORMAL, "font-size", &font_size, NULL);
+ gtk_style_context_get (context, state, "font-size", &font_size, NULL);
g_object_set (priv->path_renderer, "size-points", font_size, NULL);
- gtk_style_context_remove_class (context, "open-document-selector-path-label");
+ gtk_style_context_restore (context);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]