1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
void setting_sourceview_settings(GtkSourceView *view) {
/** Configure the GtkSourceView according to configuration. **/
#ifdef DEBUG
DEBUG_FUNC_MARK
#endif
gtk_source_view_set_auto_indent(view, settings.use_auto_indent) ;
gtk_source_view_set_indent_on_tab(view, TRUE);
gtk_source_view_set_indent_width(view, settings.indent_width) ;
gtk_source_view_set_insert_spaces_instead_of_tabs(view, settings.use_spaces_as_tabs);
/** FIXME: ??? gtk_source_view_set_smart_home_end(view, GTK_SOURCE_SMART_HOME_END_BEFORE) ; ??? **/
gtk_source_view_set_show_line_numbers(view, settings.display_line_numbers) ;
gtk_source_view_set_tab_width(view, settings.tabs_width) ;
if (settings.display_tabs_chars) {
gtk_source_view_set_draw_spaces(view, GTK_SOURCE_DRAW_SPACES_TAB) ;
}
/** This part of the function can be replace,
GtkCssProvider *provider = gtk_css_provider_new ();
gchar *text_css = g_strconcat("GtkTextView {\n"
"font : ",
settings.editor_font,
"}\n",
NULL) ;
gtk_css_provider_load_from_data(provider, text_css, -1, NULL) ;
g_free(text_css) ;
GdkDisplay *display = gdk_display_get_default() ;
GdkScreen *screen = gdk_display_get_default_screen(display) ;
gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER) ;
g_object_unref(provider) ;
*/
/** By this GtkTextView configuration setting: **/
gtk_text_view_set_monospace( GTK_TEXT_VIEW(view), TRUE ) ;
return ;
} |
Partager