diff options
Diffstat (limited to 'gtk/gtkcsssection.c')
-rw-r--r-- | gtk/gtkcsssection.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gtk/gtkcsssection.c b/gtk/gtkcsssection.c index 58383c6b98..9246d2d27c 100644 --- a/gtk/gtkcsssection.c +++ b/gtk/gtkcsssection.c @@ -303,3 +303,45 @@ gtk_css_section_get_end_position (const GtkCssSection *section) return section->end_position; } +void +_gtk_css_section_print (const GtkCssSection *section, + GString *string) +{ + if (section->file) + { + GFileInfo *info; + + info = g_file_query_info (section->file, G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, 0, NULL, NULL); + + if (info) + { + g_string_append (string, g_file_info_get_display_name (info)); + g_object_unref (info); + } + else + { + g_string_append (string, "<broken file>"); + } + } + else + { + g_string_append (string, "<data>"); + } + + g_string_append_printf (string, ":%u:%u", + gtk_css_section_get_end_line (section) + 1, + gtk_css_section_get_end_position (section)); +} + +char * +_gtk_css_section_to_string (const GtkCssSection *section) +{ + GString *string; + + g_return_val_if_fail (section != NULL, NULL); + + string = g_string_new (NULL); + _gtk_css_section_print (section, string); + + return g_string_free (string, FALSE); +} |