X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-comments.c;h=dcbe4ddaca898d586d454bc8fc1b760cc975f515;hb=7d4150d7cba15550753a0a574685de26656c0633;hp=c500f1fad8bd660fb069936610c4ac57331ab7f1;hpb=7293c1a383d325c371bd708401e5a1d7586a4d90;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-comments.c b/src/ui/gui/psppire-dialog-action-comments.c index c500f1fad8..dcbe4ddaca 100644 --- a/src/ui/gui/psppire-dialog-action-comments.c +++ b/src/ui/gui/psppire-dialog-action-comments.c @@ -188,20 +188,42 @@ psppire_dialog_action_comments_activate (PsppireDialogAction *pda) act->check = get_widget_assert (xml, "comments-checkbutton1"); g_signal_connect_swapped (pda->dialog, "show", G_CALLBACK (retrieve_comments), pda); - + { PangoContext * context ; PangoLayout * layout ; PangoRectangle rect; + /* Since we're going to truncate lines to 80 chars, we need a monospaced font otherwise it'll look silly */ PangoFontDescription *font_desc = pango_font_description_from_string ("monospace"); - - gtk_widget_override_font (act->textview, font_desc); - - /* and let's just make sure that a complete line fits into the + { + GtkStyleContext *style = gtk_widget_get_style_context (GTK_WIDGET (act->textview)); + GtkCssProvider *cssp = gtk_css_provider_new (); + + gchar *str = pango_font_description_to_string (font_desc); + gchar *css = + g_strdup_printf ("* {font: %s}", str); + g_free (str); + + GError *err = NULL; + gtk_css_provider_load_from_data (cssp, css, -1, &err); + if (err) + { + g_warning ("Failed to load font css \"%s\": %s", css, err->message); + g_error_free (err); + } + g_free (css); + + gtk_style_context_add_provider (style, + GTK_STYLE_PROVIDER (cssp), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + g_object_unref (cssp); + } + + /* And let's just make sure that a complete line fits into the widget's width */ context = gtk_widget_create_pango_context (act->textview); layout = pango_layout_new (context); @@ -220,7 +242,7 @@ psppire_dialog_action_comments_activate (PsppireDialogAction *pda) pango_font_description_free (font_desc); } - + g_signal_connect (buffer, "mark-set", G_CALLBACK (set_column_number), label); @@ -230,12 +252,9 @@ psppire_dialog_action_comments_activate (PsppireDialogAction *pda) gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0); gtk_text_buffer_place_cursor (buffer, &iter); } - + psppire_dialog_action_set_valid_predicate (pda, dialog_state_valid); psppire_dialog_action_set_refresh (pda, refresh); - - - } static void