/** * Called when the filename of a row of the upload stats should be updated */ void upload_stats_gui_update_name(struct ul_stats *us) { GtkCList *clist = clist_ul_stats(); int row; /* find this file in the clist_ul_stats */ row = ul_stats_get_row(us); g_return_if_fail(row >= 0); gtk_clist_set_text(clist, row, c_us_filename, lazy_utf8_to_ui_string(us->filename)); /* FIXME: use auto-sort? */ if (0 == clist->freeze_count) { gtk_clist_sort(clist); clist_sync_rows(clist, on_clist_ul_stats_row_moved); } }
static void set_text_buffer(GtkWidget *widget, const char *text) { GtkText *buffer; g_return_if_fail(widget); g_return_if_fail(text); buffer = GTK_TEXT(widget); g_return_if_fail(buffer); gtk_text_freeze(buffer); gtk_text_set_point(buffer, 0); gtk_text_forward_delete(buffer, gtk_text_get_length(buffer)); gtk_text_set_point(buffer, 0); gtk_text_insert(buffer, NULL, NULL, NULL, lazy_utf8_to_ui_string(text), (-1)); gtk_text_thaw(buffer); }
static void html_output_print(struct html_output *output, const struct array *text) { struct html_context *ctx; if (text->size <= 0) return; ctx = html_output_get_udata(output); if (ctx->title) { str_cat_len(ctx->title, text->data, text->size); return; } #if GTK_CHECK_VERSION(2,0,0) { GtkTextBuffer *buffer; GtkTextIter iter; buffer = gtk_text_view_get_buffer(ctx->html_view->widget); gtk_text_buffer_get_end_iter(buffer, &iter); gtk_text_buffer_insert(buffer, &iter, text->data, text->size); } #else { struct array str; gchar *to_free; if (locale_is_utf8()) { str = array_init(text->data, text->size); to_free = NULL; } else { to_free = h_strndup(text->data, text->size); str = array_from_string(lazy_utf8_to_ui_string(to_free)); } gtk_text_insert(ctx->html_view->widget, NULL, NULL, NULL, str.data, str.size); HFREE_NULL(to_free); } #endif }