mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Replace deprecated Gtk3.16 gtk_override_background_color
Use css to make changes to the background color of widgets
This commit is contained in:
parent
009520498e
commit
54465dd8a9
@ -2296,6 +2296,11 @@ main_window_update_page_color (GncPluginPage *page,
|
||||
|
||||
if (want_color && gdk_rgba_parse(&tab_color, color_string) && priv->show_color_tabs)
|
||||
{
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
GtkCssProvider *provider = gtk_css_provider_new();
|
||||
GtkStyleContext *stylectxt;
|
||||
gchar *col_str, *widget_css;
|
||||
#endif
|
||||
if (!GTK_IS_EVENT_BOX (tab_widget))
|
||||
{
|
||||
GtkWidget *event_box = gtk_event_box_new ();
|
||||
@ -2306,8 +2311,21 @@ main_window_update_page_color (GncPluginPage *page,
|
||||
g_object_unref (tab_widget);
|
||||
tab_widget = event_box;
|
||||
}
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
stylectxt = gtk_widget_get_style_context (GTK_WIDGET (tab_widget));
|
||||
col_str = gdk_rgba_to_string (&tab_color);
|
||||
widget_css = g_strconcat ("*{\n background-color:", col_str, ";\n}\n", NULL);
|
||||
|
||||
gtk_css_provider_load_from_data (provider, widget_css, -1, NULL);
|
||||
gtk_style_context_add_provider (stylectxt, GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
g_object_unref (provider);
|
||||
g_free (col_str);
|
||||
g_free (widget_css);
|
||||
#else
|
||||
gtk_widget_override_background_color (tab_widget, GTK_STATE_NORMAL, &tab_color);
|
||||
gtk_widget_override_background_color (tab_widget, GTK_STATE_ACTIVE, &tab_color);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2942,8 +2960,11 @@ gnc_main_window_open_page (GncMainWindow *window,
|
||||
image = gtk_image_new_from_icon_name (icon, GTK_ICON_SIZE_MENU);
|
||||
gtk_widget_show (image);
|
||||
gtk_box_pack_start (GTK_BOX (tab_hbox), image, FALSE, FALSE, 0);
|
||||
#if GTK_CHECK_VERSION(3,12,0)
|
||||
gtk_widget_set_margin_start (GTK_WIDGET(image), 5);
|
||||
|
||||
#else
|
||||
gtk_widget_set_margin_left (GTK_WIDGET(image), 5);
|
||||
#endif
|
||||
gtk_box_pack_start (GTK_BOX (tab_hbox), label, TRUE, TRUE, 0);
|
||||
}
|
||||
else
|
||||
|
@ -5798,7 +5798,23 @@ gtv_sr_editable_start_editing_cb (GtkCellRenderer *cr, GtkCellEditable *editable
|
||||
if (gdk_rgba_parse (&color, row_color))
|
||||
{
|
||||
if (entry != NULL)
|
||||
{
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
GtkStyleContext *stylectxt = gtk_widget_get_style_context (GTK_WIDGET (entry));
|
||||
GtkCssProvider *provider = gtk_css_provider_new();
|
||||
gchar *col_str = gdk_rgba_to_string (&color);
|
||||
gchar *widget_css = g_strconcat ("*{\n background-color:", col_str, ";\n}\n", NULL);
|
||||
|
||||
gtk_css_provider_load_from_data (provider, widget_css, -1, NULL);
|
||||
gtk_style_context_add_provider (stylectxt, GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
g_object_unref (provider);
|
||||
g_free (col_str);
|
||||
g_free (widget_css);
|
||||
#else
|
||||
gtk_widget_override_background_color (GTK_WIDGET (entry), GTK_STATE_FLAG_NORMAL, &color);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,6 +200,26 @@ on_matcher_help_close_clicked (GtkButton *button, gpointer user_data)
|
||||
gtk_widget_destroy(help_dialog);
|
||||
}
|
||||
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
static void
|
||||
gnc_override_background_color (GtkWidget *widget,
|
||||
GdkRGBA *rgba)
|
||||
{
|
||||
GtkCssProvider *provider = gtk_css_provider_new();
|
||||
GtkStyleContext *stylectxt = gtk_widget_get_style_context (widget);
|
||||
gchar *col_str = gdk_rgba_to_string (rgba);
|
||||
gchar *widget_css = g_strconcat ("*{\n background-color:", col_str, ";\n}\n", NULL);
|
||||
|
||||
gtk_css_provider_load_from_data (provider, widget_css, -1, NULL);
|
||||
gtk_style_context_add_provider (stylectxt, GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
g_object_unref (provider);
|
||||
g_free (col_str);
|
||||
g_free (widget_css);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
on_matcher_help_clicked (GtkButton *button, gpointer user_data)
|
||||
{
|
||||
@ -215,14 +235,28 @@ on_matcher_help_clicked (GtkButton *button, gpointer user_data)
|
||||
gnc_builder_add_from_file (builder, "dialog-import.glade", "matcher_help_dialog");
|
||||
|
||||
box = GTK_WIDGET(gtk_builder_get_object (builder, "red"));
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
gnc_override_background_color (box, &info->color_back_red);
|
||||
#else
|
||||
gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
|
||||
&info->color_back_red);
|
||||
#endif
|
||||
|
||||
box = GTK_WIDGET(gtk_builder_get_object (builder, "yellow"));
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
gnc_override_background_color (box, &info->color_back_yellow);
|
||||
#else
|
||||
gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
|
||||
&info->color_back_yellow);
|
||||
#endif
|
||||
|
||||
box = GTK_WIDGET(gtk_builder_get_object (builder, "green"));
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
gnc_override_background_color (box, &info->color_back_green);
|
||||
#else
|
||||
gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
|
||||
&info->color_back_green);
|
||||
#endif
|
||||
|
||||
help_dialog = GTK_WIDGET(gtk_builder_get_object (builder, "matcher_help_dialog"));
|
||||
gtk_window_set_transient_for(GTK_WINDOW(help_dialog),
|
||||
|
Loading…
Reference in New Issue
Block a user