182
183
VcsData* data = user_data;
183
184
FileModelPrivate *priv = FILE_MODEL_GET_PRIVATE (data->model);
184
185
gchar* path = g_file_get_path (file);
186
187
GtkTreePath* tree_path = gtk_tree_row_reference_get_path (data->ref);
189
192
GdkPixbuf* file_icon = NULL;
190
193
GdkPixbuf* emblem = NULL;
191
194
GtkTreeIter iter;
192
196
GtkTreeModel* model = gtk_tree_row_reference_get_model (data->ref);
194
198
gtk_tree_model_get_iter (model,
201
gtk_tree_model_get (model, &iter,
202
COLUMN_FILE, &dir, -1);
204
parent = g_file_get_parent (file);
198
if (priv->filter_unversioned &&
199
(status == ANJUTA_VCS_STATUS_UNVERSIONED ||
200
status == ANJUTA_VCS_STATUS_IGNORED))
202
gtk_tree_store_remove (GTK_TREE_STORE (model), &iter);
206
emblem = get_vcs_emblem (status);
206
if (gtk_tree_model_iter_children (model, &child, &iter) &&
207
g_file_equal (dir, parent))
209
gtk_tree_model_get (model, &iter,
210
COLUMN_PIXBUF, &file_icon,
213
gtk_tree_model_get (model, &child,
220
if (g_file_equal (file, child_file))
216
new_icon = gdk_pixbuf_copy (file_icon);
217
gdk_pixbuf_composite (emblem,
220
gdk_pixbuf_get_width (file_icon),
221
gdk_pixbuf_get_height (file_icon),
226
gtk_tree_store_set (GTK_TREE_STORE (model),
231
DEBUG_PRINT ("%s", "setting emblem");
232
g_object_unref (new_icon);
233
g_object_unref (file_icon);
223
if (priv->filter_unversioned &&
224
(status == ANJUTA_VCS_STATUS_UNVERSIONED ||
225
status == ANJUTA_VCS_STATUS_IGNORED))
227
gtk_tree_store_remove (GTK_TREE_STORE (model), &child);
231
emblem = get_vcs_emblem (status);
234
gtk_tree_model_get (model, &child,
235
COLUMN_PIXBUF, &file_icon,
241
new_icon = gdk_pixbuf_copy (file_icon);
242
gdk_pixbuf_composite (emblem,
245
gdk_pixbuf_get_width (file_icon),
246
gdk_pixbuf_get_height (file_icon),
251
gtk_tree_store_set (GTK_TREE_STORE (model),
256
DEBUG_PRINT ("%s", "setting emblem");
257
g_object_unref (new_icon);
258
g_object_unref (file_icon);
260
g_object_unref (emblem);
263
gtk_tree_store_set (GTK_TREE_STORE (model),
269
g_object_unref (child_file);
235
g_object_unref (emblem);
238
gtk_tree_store_set (GTK_TREE_STORE (model),
273
while (gtk_tree_model_iter_next (model, &child));
244
275
gtk_tree_path_free (tree_path);
276
g_object_unref (dir);
277
g_object_unref (parent);
328
362
COLUMN_STATUS, ANJUTA_VCS_STATUS_NONE,
329
363
COLUMN_IS_DIR, is_dir,
330
364
COLUMN_SORT, g_file_info_get_sort_order(file_info),
334
370
file_model_add_dummy(model, iter);
336
371
file_model_get_vcs_status (model, iter, file);
377
gtk_tree_model_iter_parent (GTK_TREE_MODEL (model), &parent, iter);
378
gtk_tree_model_get (GTK_TREE_MODEL (model), &parent,
379
COLUMN_FILE, &dir, -1);
380
file_model_get_vcs_status (model, &parent, dir);
381
g_object_unref (dir);
339
385
g_object_unref (pixbuf);
721
768
g_object_new (FILE_TYPE_MODEL, "base_uri", base_uri, NULL);
722
769
GType types[N_COLUMNS] = {GDK_TYPE_PIXBUF, G_TYPE_STRING,
723
770
G_TYPE_STRING, G_TYPE_UINT, G_TYPE_OBJECT,
724
G_TYPE_BOOLEAN, G_TYPE_INT};
771
G_TYPE_BOOLEAN, G_TYPE_INT, G_TYPE_BOOLEAN};
725
772
FileModelPrivate* priv = FILE_MODEL_GET_PRIVATE(model);
727
774
g_signal_connect (G_OBJECT (tree_view), "row-collapsed",