mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 22:41:43 +00:00
filechooserwidget: Move location to column view
Move the entire location column, which only contains the location renderer, to the column view. The code to generate locations from the current folder is essentially intact.
This commit is contained in:
parent
9984f00781
commit
7899fc03c4
@ -28,6 +28,7 @@
|
|||||||
#include "deprecated/gtkcellrenderertext.h"
|
#include "deprecated/gtkcellrenderertext.h"
|
||||||
#include "gtkdropdown.h"
|
#include "gtkdropdown.h"
|
||||||
#include "gtkcolumnview.h"
|
#include "gtkcolumnview.h"
|
||||||
|
#include "gtkcolumnviewcolumn.h"
|
||||||
#include "gtkcssnumbervalueprivate.h"
|
#include "gtkcssnumbervalueprivate.h"
|
||||||
#include "gtkdragsource.h"
|
#include "gtkdragsource.h"
|
||||||
#include "gtkdroptarget.h"
|
#include "gtkdroptarget.h"
|
||||||
@ -42,6 +43,7 @@
|
|||||||
#include "gtkgrid.h"
|
#include "gtkgrid.h"
|
||||||
#include "gtkicontheme.h"
|
#include "gtkicontheme.h"
|
||||||
#include "gtklabel.h"
|
#include "gtklabel.h"
|
||||||
|
#include "gtklistitem.h"
|
||||||
#include "gtkmarshalers.h"
|
#include "gtkmarshalers.h"
|
||||||
#include "gtkmessagedialog.h"
|
#include "gtkmessagedialog.h"
|
||||||
#include "gtkmountoperation.h"
|
#include "gtkmountoperation.h"
|
||||||
@ -282,8 +284,8 @@ struct _GtkFileChooserWidget
|
|||||||
GtkCellRenderer *list_size_renderer;
|
GtkCellRenderer *list_size_renderer;
|
||||||
GtkTreeViewColumn *list_type_column;
|
GtkTreeViewColumn *list_type_column;
|
||||||
GtkCellRenderer *list_type_renderer;
|
GtkCellRenderer *list_type_renderer;
|
||||||
GtkTreeViewColumn *list_location_column;
|
|
||||||
GtkCellRenderer *list_location_renderer;
|
GtkColumnViewColumn *column_view_location_column;
|
||||||
|
|
||||||
guint location_changed_id;
|
guint location_changed_id;
|
||||||
|
|
||||||
@ -365,7 +367,6 @@ enum {
|
|||||||
MODEL_COL_SIZE_TEXT,
|
MODEL_COL_SIZE_TEXT,
|
||||||
MODEL_COL_DATE_TEXT,
|
MODEL_COL_DATE_TEXT,
|
||||||
MODEL_COL_TIME_TEXT,
|
MODEL_COL_TIME_TEXT,
|
||||||
MODEL_COL_LOCATION_TEXT,
|
|
||||||
MODEL_COL_ELLIPSIZE,
|
MODEL_COL_ELLIPSIZE,
|
||||||
MODEL_COL_NUM_COLUMNS
|
MODEL_COL_NUM_COLUMNS
|
||||||
};
|
};
|
||||||
@ -384,7 +385,6 @@ enum {
|
|||||||
G_TYPE_STRING, /* MODEL_COL_SIZE_TEXT */ \
|
G_TYPE_STRING, /* MODEL_COL_SIZE_TEXT */ \
|
||||||
G_TYPE_STRING, /* MODEL_COL_DATE_TEXT */ \
|
G_TYPE_STRING, /* MODEL_COL_DATE_TEXT */ \
|
||||||
G_TYPE_STRING, /* MODEL_COL_TIME_TEXT */ \
|
G_TYPE_STRING, /* MODEL_COL_TIME_TEXT */ \
|
||||||
G_TYPE_STRING, /* MODEL_COL_LOCATION_TEXT */ \
|
|
||||||
PANGO_TYPE_ELLIPSIZE_MODE /* MODEL_COL_ELLIPSIZE */
|
PANGO_TYPE_ELLIPSIZE_MODE /* MODEL_COL_ELLIPSIZE */
|
||||||
|
|
||||||
#define DEFAULT_RECENT_FILES_LIMIT 50
|
#define DEFAULT_RECENT_FILES_LIMIT 50
|
||||||
@ -2134,6 +2134,70 @@ long_press_cb (GtkGesture *gesture,
|
|||||||
file_list_show_popover (impl, x, y);
|
file_list_show_popover (impl, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
column_view_get_location (GtkListItem *list_item)
|
||||||
|
{
|
||||||
|
GtkFileChooserWidget *impl;
|
||||||
|
GtkFileSystemItem *item;
|
||||||
|
GFile *home_location;
|
||||||
|
GFile *dir_location;
|
||||||
|
GFile *file;
|
||||||
|
char *location;
|
||||||
|
|
||||||
|
item = gtk_list_item_get_item (list_item);
|
||||||
|
if (!item)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
file = _gtk_file_system_item_get_file (item);
|
||||||
|
|
||||||
|
home_location = g_file_new_for_path (g_get_home_dir ());
|
||||||
|
if (file)
|
||||||
|
dir_location = g_file_get_parent (file);
|
||||||
|
else
|
||||||
|
dir_location = NULL;
|
||||||
|
|
||||||
|
if (dir_location && file_is_recent_uri (dir_location))
|
||||||
|
{
|
||||||
|
const char *target_uri;
|
||||||
|
GFileInfo *info;
|
||||||
|
GFile *target;
|
||||||
|
|
||||||
|
info = _gtk_file_system_item_get_file_info (item);
|
||||||
|
target_uri = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);
|
||||||
|
target = g_file_new_for_uri (target_uri);
|
||||||
|
g_object_unref (dir_location);
|
||||||
|
dir_location = g_file_get_parent (target);
|
||||||
|
g_clear_object (&target);
|
||||||
|
}
|
||||||
|
|
||||||
|
impl = GTK_FILE_CHOOSER_WIDGET (gtk_widget_get_ancestor (gtk_list_item_get_child (list_item),
|
||||||
|
GTK_TYPE_FILE_CHOOSER_WIDGET));
|
||||||
|
g_assert (impl != NULL);
|
||||||
|
|
||||||
|
if (!dir_location)
|
||||||
|
location = g_strdup ("/");
|
||||||
|
else if (impl->current_folder && g_file_equal (impl->current_folder, dir_location))
|
||||||
|
location = g_strdup ("");
|
||||||
|
else if (g_file_equal (home_location, dir_location))
|
||||||
|
location = g_strdup (_("Home"));
|
||||||
|
else if (g_file_has_prefix (dir_location, home_location))
|
||||||
|
{
|
||||||
|
char *relative_path;
|
||||||
|
|
||||||
|
relative_path = g_file_get_relative_path (home_location, dir_location);
|
||||||
|
location = g_filename_display_name (relative_path);
|
||||||
|
|
||||||
|
g_free (relative_path);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
location = g_file_get_path (dir_location);
|
||||||
|
|
||||||
|
g_clear_object (&dir_location);
|
||||||
|
g_clear_object (&home_location);
|
||||||
|
|
||||||
|
return g_steal_pointer (&location);
|
||||||
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
OperationMode operation_mode;
|
OperationMode operation_mode;
|
||||||
int general_column;
|
int general_column;
|
||||||
@ -2152,7 +2216,6 @@ file_list_set_sort_column_ids (GtkFileChooserWidget *impl)
|
|||||||
gtk_tree_view_column_set_sort_column_id (impl->list_time_column, MODEL_COL_TIME);
|
gtk_tree_view_column_set_sort_column_id (impl->list_time_column, MODEL_COL_TIME);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_size_column, MODEL_COL_SIZE);
|
gtk_tree_view_column_set_sort_column_id (impl->list_size_column, MODEL_COL_SIZE);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_type_column, MODEL_COL_TYPE);
|
gtk_tree_view_column_set_sort_column_id (impl->list_type_column, MODEL_COL_TYPE);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_location_column, MODEL_COL_LOCATION_TEXT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -3665,20 +3728,6 @@ compare_time (GtkFileSystemModel *model,
|
|||||||
return ta < tb ? -1 : (ta == tb ? 0 : 1);
|
return ta < tb ? -1 : (ta == tb ? 0 : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
compare_location (GtkFileSystemModel *model,
|
|
||||||
GtkTreeIter *a,
|
|
||||||
GtkTreeIter *b,
|
|
||||||
GtkFileChooserWidget *impl)
|
|
||||||
{
|
|
||||||
const char *key_a, *key_b;
|
|
||||||
|
|
||||||
key_a = g_value_get_string (_gtk_file_system_model_get_value (model, a, MODEL_COL_LOCATION_TEXT));
|
|
||||||
key_b = g_value_get_string (_gtk_file_system_model_get_value (model, b, MODEL_COL_LOCATION_TEXT));
|
|
||||||
|
|
||||||
return g_strcmp0 (key_a, key_b);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sort callback for the filename column */
|
/* Sort callback for the filename column */
|
||||||
static int
|
static int
|
||||||
name_sort_func (GtkTreeModel *model,
|
name_sort_func (GtkTreeModel *model,
|
||||||
@ -3770,9 +3819,6 @@ recent_sort_func (GtkTreeModel *model,
|
|||||||
if (result == 0)
|
if (result == 0)
|
||||||
result = compare_name (fs_model, a, b, impl);
|
result = compare_name (fs_model, a, b, impl);
|
||||||
|
|
||||||
if (result == 0)
|
|
||||||
result = compare_location (fs_model, a, b, impl);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3786,10 +3832,7 @@ search_sort_func (GtkTreeModel *model,
|
|||||||
GtkFileChooserWidget *impl = user_data;
|
GtkFileChooserWidget *impl = user_data;
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
result = compare_location (fs_model, a, b, impl);
|
result = compare_name (fs_model, a, b, impl);
|
||||||
|
|
||||||
if (result == 0)
|
|
||||||
result = compare_name (fs_model, a, b, impl);
|
|
||||||
|
|
||||||
if (result == 0)
|
if (result == 0)
|
||||||
result = compare_time (fs_model, a, b, impl);
|
result = compare_time (fs_model, a, b, impl);
|
||||||
@ -3840,9 +3883,9 @@ update_columns (GtkFileChooserWidget *impl,
|
|||||||
{
|
{
|
||||||
gboolean need_resize = FALSE;
|
gboolean need_resize = FALSE;
|
||||||
|
|
||||||
if (gtk_tree_view_column_get_visible (impl->list_location_column) != location_visible)
|
if (gtk_column_view_column_get_visible (impl->column_view_location_column) != location_visible)
|
||||||
{
|
{
|
||||||
gtk_tree_view_column_set_visible (impl->list_location_column, location_visible);
|
gtk_column_view_column_set_visible (impl->column_view_location_column, location_visible);
|
||||||
need_resize = TRUE;
|
need_resize = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3855,7 +3898,6 @@ update_columns (GtkFileChooserWidget *impl,
|
|||||||
if (need_resize)
|
if (need_resize)
|
||||||
{
|
{
|
||||||
/* This undoes user resizing of columns when the columns change. */
|
/* This undoes user resizing of columns when the columns change. */
|
||||||
gtk_tree_view_column_set_expand (impl->list_location_column, TRUE);
|
|
||||||
gtk_tree_view_columns_autosize (GTK_TREE_VIEW (impl->browse_files_tree_view));
|
gtk_tree_view_columns_autosize (GTK_TREE_VIEW (impl->browse_files_tree_view));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4514,55 +4556,6 @@ file_system_model_set (GtkFileSystemModel *model,
|
|||||||
case MODEL_COL_ELLIPSIZE:
|
case MODEL_COL_ELLIPSIZE:
|
||||||
g_value_set_enum (value, info ? PANGO_ELLIPSIZE_END : PANGO_ELLIPSIZE_NONE);
|
g_value_set_enum (value, info ? PANGO_ELLIPSIZE_END : PANGO_ELLIPSIZE_NONE);
|
||||||
break;
|
break;
|
||||||
case MODEL_COL_LOCATION_TEXT:
|
|
||||||
{
|
|
||||||
GFile *home_location;
|
|
||||||
GFile *dir_location;
|
|
||||||
char *location;
|
|
||||||
|
|
||||||
home_location = g_file_new_for_path (g_get_home_dir ());
|
|
||||||
if (file)
|
|
||||||
dir_location = g_file_get_parent (file);
|
|
||||||
else
|
|
||||||
dir_location = NULL;
|
|
||||||
|
|
||||||
if (dir_location && file_is_recent_uri (dir_location))
|
|
||||||
{
|
|
||||||
const char *target_uri;
|
|
||||||
GFile *target;
|
|
||||||
|
|
||||||
target_uri = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);
|
|
||||||
target = g_file_new_for_uri (target_uri);
|
|
||||||
g_object_unref (dir_location);
|
|
||||||
dir_location = g_file_get_parent (target);
|
|
||||||
g_object_unref (target);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!dir_location)
|
|
||||||
location = g_strdup ("/");
|
|
||||||
else if (impl->current_folder && g_file_equal (impl->current_folder, dir_location))
|
|
||||||
location = g_strdup ("");
|
|
||||||
else if (g_file_equal (home_location, dir_location))
|
|
||||||
location = g_strdup (_("Home"));
|
|
||||||
else if (g_file_has_prefix (dir_location, home_location))
|
|
||||||
{
|
|
||||||
char *relative_path;
|
|
||||||
|
|
||||||
relative_path = g_file_get_relative_path (home_location, dir_location);
|
|
||||||
location = g_filename_display_name (relative_path);
|
|
||||||
|
|
||||||
g_free (relative_path);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
location = g_file_get_path (dir_location);
|
|
||||||
|
|
||||||
g_value_take_string (value, location);
|
|
||||||
|
|
||||||
if (dir_location)
|
|
||||||
g_object_unref (dir_location);
|
|
||||||
g_object_unref (home_location);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
break;
|
break;
|
||||||
@ -6575,7 +6568,6 @@ search_setup_model (GtkFileChooserWidget *impl)
|
|||||||
gtk_tree_view_column_set_sort_column_id (impl->list_time_column, -1);
|
gtk_tree_view_column_set_sort_column_id (impl->list_time_column, -1);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_size_column, -1);
|
gtk_tree_view_column_set_sort_column_id (impl->list_size_column, -1);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_type_column, -1);
|
gtk_tree_view_column_set_sort_column_id (impl->list_type_column, -1);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_location_column, -1);
|
|
||||||
|
|
||||||
update_columns (impl, TRUE, _("Modified"));
|
update_columns (impl, TRUE, _("Modified"));
|
||||||
}
|
}
|
||||||
@ -6814,7 +6806,6 @@ recent_start_loading (GtkFileChooserWidget *impl)
|
|||||||
gtk_tree_view_column_set_sort_column_id (impl->list_time_column, -1);
|
gtk_tree_view_column_set_sort_column_id (impl->list_time_column, -1);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_size_column, -1);
|
gtk_tree_view_column_set_sort_column_id (impl->list_size_column, -1);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_type_column, -1);
|
gtk_tree_view_column_set_sort_column_id (impl->list_type_column, -1);
|
||||||
gtk_tree_view_column_set_sort_column_id (impl->list_location_column, -1);
|
|
||||||
|
|
||||||
update_columns (impl, TRUE, _("Accessed"));
|
update_columns (impl, TRUE, _("Accessed"));
|
||||||
}
|
}
|
||||||
@ -7030,12 +7021,6 @@ update_cell_renderer_attributes (GtkFileChooserWidget *impl)
|
|||||||
"sensitive", MODEL_COL_IS_SENSITIVE,
|
"sensitive", MODEL_COL_IS_SENSITIVE,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
gtk_tree_view_column_set_attributes (impl->list_location_column,
|
|
||||||
impl->list_location_renderer,
|
|
||||||
"text", MODEL_COL_LOCATION_TEXT,
|
|
||||||
"sensitive", MODEL_COL_IS_SENSITIVE,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
update_time_renderer_visible (impl);
|
update_time_renderer_visible (impl);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7620,6 +7605,7 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
|
|||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_new_folder_button);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_new_folder_button);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_path_bar_size_group);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_path_bar_size_group);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_path_bar);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_path_bar);
|
||||||
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, column_view_location_column);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, filter_combo_hbox);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, filter_combo_hbox);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, filter_combo);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, filter_combo);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, extra_align);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, extra_align);
|
||||||
@ -7634,8 +7620,6 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
|
|||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_size_renderer);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_size_renderer);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_type_column);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_type_column);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_type_renderer);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_type_renderer);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_location_column);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, list_location_renderer);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, new_folder_name_entry);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, new_folder_name_entry);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, new_folder_create_button);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, new_folder_create_button);
|
||||||
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, new_folder_error_stack);
|
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, new_folder_error_stack);
|
||||||
@ -7667,6 +7651,7 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
|
|||||||
gtk_widget_class_bind_template_callback (widget_class, rename_file_end);
|
gtk_widget_class_bind_template_callback (widget_class, rename_file_end);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, click_cb);
|
gtk_widget_class_bind_template_callback (widget_class, click_cb);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, long_press_cb);
|
gtk_widget_class_bind_template_callback (widget_class, long_press_cb);
|
||||||
|
gtk_widget_class_bind_template_callback (widget_class, column_view_get_location);
|
||||||
|
|
||||||
gtk_widget_class_set_css_name (widget_class, I_("filechooser"));
|
gtk_widget_class_set_css_name (widget_class, I_("filechooser"));
|
||||||
|
|
||||||
|
@ -186,6 +186,38 @@
|
|||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkColumnViewColumn" id="column_view_location_column">
|
||||||
|
<property name="title" translatable="yes">Location</property>
|
||||||
|
<property name="resizable">1</property>
|
||||||
|
<property name="visible">0</property>
|
||||||
|
<property name="expand">1</property>
|
||||||
|
<property name="factory">
|
||||||
|
<object class="GtkBuilderListItemFactory">
|
||||||
|
<property name="bytes"><![CDATA[
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<template class="GtkListItem">
|
||||||
|
<property name="child">
|
||||||
|
<object class="GtkInscription">
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="min-chars">10</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="margin-end">6</property>
|
||||||
|
<binding name="text">
|
||||||
|
<closure type="gchararray" function="column_view_get_location" />
|
||||||
|
</binding>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</template>
|
||||||
|
</interface>
|
||||||
|
]]></property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
@ -238,22 +270,6 @@
|
|||||||
<signal name="changed" handler="list_selection_changed" swapped="no"/>
|
<signal name="changed" handler="list_selection_changed" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
|
||||||
<object class="GtkTreeViewColumn" id="list_location_column">
|
|
||||||
<property name="title" translatable="yes">Location</property>
|
|
||||||
<property name="resizable">1</property>
|
|
||||||
<property name="visible">0</property>
|
|
||||||
<property name="expand">1</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkCellRendererText" id="list_location_renderer">
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="width-chars">10</property>
|
|
||||||
<property name="ellipsize">1</property>
|
|
||||||
<property name="xpad">6</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkTreeViewColumn" id="list_size_column">
|
<object class="GtkTreeViewColumn" id="list_size_column">
|
||||||
<property name="title" translatable="yes">Size</property>
|
<property name="title" translatable="yes">Size</property>
|
||||||
|
Loading…
Reference in New Issue
Block a user