static void
list_size_data_func (GtkTreeViewColumn *tree_column,
		     GtkCellRenderer   *cell,
		     GtkTreeModel      *tree_model,
		     GtkTreeIter       *iter,
		     gpointer           data)
{
  GtkFileChooserDefault *impl;
  const GtkFileInfo *info;
  gint64 size;
  gchar *str;
  gboolean sensitive = TRUE;
  long long converted_size_for_printf;

  impl = data;

  info = get_list_file_info (impl, iter);

  if ((!info) || gtk_file_info_get_is_folder (info))
    {
      g_object_set (cell,
		    "text", "",
		    "sensitive", TRUE,
		    NULL);
      return;
    }

  /* per bug 141155 comment 7: show ALL sizes in KB.
   * use integer division, after adding 512, to accomplish rounding.
   */
  size = (gtk_file_info_get_size (info) + 512) / 1024;
  converted_size_for_printf = (unsigned long long) size;

  str = g_strdup_printf (_(" %lld KB "), converted_size_for_printf);

  if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
      impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
    sensitive = FALSE;

  g_object_set (cell,
  		"text", str,
		"sensitive", sensitive,
		NULL);

  g_free (str);
}
