From d7a0fe5bf1000c07717f0ec086742c1800bb1941 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 22 Nov 2010 23:01:27 -0500 Subject: [PATCH] Document predefined style provider priorites Also, rename GTK_STYLE_PROVIDER_PRIORITY_DEFAULT to _THEME and use it for themes. --- docs/reference/gtk/gtk3-sections.txt | 4 +-- gtk/gtksettings.c | 2 +- gtk/gtkstyleprovider.h | 42 +++++++++++++++++++++++++++- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index aa75160258..cc35d43522 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5297,10 +5297,10 @@ gtk_widget_path_prepend_type GtkStyleProvider GtkStyleProviderIface GtkStyleProvider -GTK_STYLE_PROVIDER_PRIORITY_APPLICATION -GTK_STYLE_PROVIDER_PRIORITY_DEFAULT GTK_STYLE_PROVIDER_PRIORITY_FALLBACK +GTK_STYLE_PROVIDER_PRIORITY_THEME GTK_STYLE_PROVIDER_PRIORITY_SETTINGS +GTK_STYLE_PROVIDER_PRIORITY_APPLICATION GTK_STYLE_PROVIDER_PRIORITY_USER gtk_style_provider_get_icon_factory gtk_style_provider_get_style diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 4c55eec1ae..8b70038827 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -2639,7 +2639,7 @@ settings_update_theme (GtkSettings *settings) { gtk_style_context_add_provider_for_screen (settings->screen, GTK_STYLE_PROVIDER (new_provider), - GTK_STYLE_PROVIDER_PRIORITY_SETTINGS - 1); + GTK_STYLE_PROVIDER_PRIORITY_THEME); g_object_ref (new_provider); } diff --git a/gtk/gtkstyleprovider.h b/gtk/gtkstyleprovider.h index e901a20fbf..a920256d91 100644 --- a/gtk/gtkstyleprovider.h +++ b/gtk/gtkstyleprovider.h @@ -33,10 +33,50 @@ G_BEGIN_DECLS #define GTK_IS_STYLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_STYLE_PROVIDER)) #define GTK_STYLE_PROVIDER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GTK_TYPE_STYLE_PROVIDER, GtkStyleProviderIface)) +/** + * GTK_STYLE_PROVIDER_PRIORITY_FALLBACK: + * + * The priority used for default style information + * that is used in the absence of themes. + */ #define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK 1 -#define GTK_STYLE_PROVIDER_PRIORITY_DEFAULT 200 + +/** + * GTK_STYLE_PROVIDER_PRIORITY_DEFAULT: + * + * The priority used for style information provided + * by themes. + */ +#define GTK_STYLE_PROVIDER_PRIORITY_THEME 200 + +/** + * GTK_STYLE_PROVIDER_PRIORITY_SETTINGS: + * + * The priority used for style information provided + * via #GtkSettings. + * + * This priority is higher than #GTK_STYLE_PROVIDER_PRIORITY_THEME + * to let settings override themes. + */ #define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS 400 + +/** + * GTK_STYLE_PROVIDER_PRIORITY_APPLICATION: + * + * A priority that can be used when adding a #GtkStyleProvider + * for application-specific style information. + */ #define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600 + +/** + * GTK_STYLE_PROVIDER_PRIORITY_USER: + * + * The priority used for the style information from + * ~/.gtk-3.0.css. + * + * You should not use priorities higher than this, to + * give the user the last word. + */ #define GTK_STYLE_PROVIDER_PRIORITY_USER 800 typedef struct _GtkStyleProviderIface GtkStyleProviderIface;