diff options
author | Wolfgang Ulbrich <[email protected]> | 2016-01-07 04:55:59 +0100 |
---|---|---|
committer | Wolfgang Ulbrich <[email protected]> | 2016-01-13 15:05:41 +0100 |
commit | 5a7203f46bcccc29271058d1f03ed149d6c2860b (patch) | |
tree | 57b1f07442a66969a1465f7958ba25ee8ee826d8 | |
parent | 39ce5849c81c688c53245316584489db5bc354ab (diff) | |
download | caja-5a7203f46bcccc29271058d1f03ed149d6c2860b.tar.bz2 caja-5a7203f46bcccc29271058d1f03ed149d6c2860b.tar.xz |
GTK3 notebook: port to GtkStyleContext
taken from:
https://git.gnome.org/browse/nautilus/commit/?h=gnome-3-0&id=bc5d290
-rw-r--r-- | src/caja-notebook.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/caja-notebook.c b/src/caja-notebook.c index b5b6420e..035ef769 100644 --- a/src/caja-notebook.c +++ b/src/caja-notebook.c @@ -82,6 +82,7 @@ caja_notebook_class_init (CajaNotebookClass *klass) notebook_class->insert_page = caja_notebook_insert_page; +#if !GTK_CHECK_VERSION (3, 0, 0) gtk_rc_parse_string ("style \"caja-tab-close-button-style\"\n" "{\n" "GtkWidget::focus-padding = 0\n" @@ -90,6 +91,7 @@ caja_notebook_class_init (CajaNotebookClass *klass) "ythickness = 0\n" "}\n" "widget \"*.caja-tab-close-button\" style \"caja-tab-close-button-style\""); +#endif signals[TAB_CLOSE_REQUEST] = g_signal_new ("tab-close-request", @@ -239,6 +241,31 @@ button_press_cb (CajaNotebook *notebook, static void caja_notebook_init (CajaNotebook *notebook) { +#if GTK_CHECK_VERSION (3, 0, 0) + static const gchar css_custom[] = + "#caja-tab-close-button {" + " -GtkWidget-focus-padding : 0;" + " -GtkWidget-focus-line-width: 0;" + " xthickness: 0;" + " ythickness: 0;" + "}"; + + GError *error = NULL; + GtkCssProvider *provider = gtk_css_provider_new (); + gtk_css_provider_load_from_data (provider, css_custom, -1, &error); + + if (error != NULL) { + g_warning ("Can't parse CajaNotebook's CSS custom description: %s\n", error->message); + g_error_free (error); + } else { + gtk_style_context_add_provider (gtk_widget_get_style_context (GTK_WIDGET (notebook)), + GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + } + + g_object_unref (provider); +#endif + gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE); gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE); gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE); |