static GType nautilus_list_model_get_column_type (GtkTreeModel *tree_model, int index) { switch (index) { case NAUTILUS_LIST_MODEL_FILE_COLUMN: return NAUTILUS_TYPE_FILE; case NAUTILUS_LIST_MODEL_SUBDIRECTORY_COLUMN: return NAUTILUS_TYPE_DIRECTORY; case NAUTILUS_LIST_MODEL_SMALLEST_ICON_COLUMN: case NAUTILUS_LIST_MODEL_SMALLER_ICON_COLUMN: case NAUTILUS_LIST_MODEL_SMALL_ICON_COLUMN: case NAUTILUS_LIST_MODEL_STANDARD_ICON_COLUMN: case NAUTILUS_LIST_MODEL_LARGE_ICON_COLUMN: case NAUTILUS_LIST_MODEL_LARGER_ICON_COLUMN: case NAUTILUS_LIST_MODEL_LARGEST_ICON_COLUMN: return CAIRO_GOBJECT_TYPE_SURFACE; case NAUTILUS_LIST_MODEL_FILE_NAME_IS_EDITABLE_COLUMN: return G_TYPE_BOOLEAN; default: if (index < NAUTILUS_LIST_MODEL_NUM_COLUMNS + NAUTILUS_LIST_MODEL (tree_model)->details->columns->len) { return G_TYPE_STRING; } else { return G_TYPE_INVALID; } } }
static gboolean nautilus_list_model_multi_drag_data_get (EggTreeMultiDragSource *drag_source, GList *path_list, GtkSelectionData *selection_data) { NautilusListModel *model; DragDataGetInfo context; guint target_info; model = NAUTILUS_LIST_MODEL (drag_source); context.model = model; context.path_list = path_list; if (!drag_target_list) { drag_target_list = nautilus_list_model_get_drag_target_list (); } if (gtk_target_list_find (drag_target_list, gtk_selection_data_get_target (selection_data), &target_info)) { nautilus_drag_drag_data_get (NULL, NULL, selection_data, target_info, GDK_CURRENT_TIME, &context, each_path_get_data_binder); return TRUE; } else { return FALSE; } }
static gboolean nautilus_list_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter) { FileEntry *file_entry; if (iter == NULL) { return !nautilus_list_model_is_empty (NAUTILUS_LIST_MODEL (tree_model)); } file_entry = g_sequence_get (iter->user_data); return (file_entry->files != NULL && g_sequence_get_length (file_entry->files) > 0); }
static int nautilus_list_model_get_n_columns (GtkTreeModel *tree_model) { return NAUTILUS_LIST_MODEL_NUM_COLUMNS + NAUTILUS_LIST_MODEL (tree_model)->details->columns->len; }