/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
return NULL;
}
-#if 0
-static gint vflist_find_sidecar_list_idx(GList *work, FileData *fd)
-{
- gint i = 0;
- while (work)
- {
- FileData *fd_p = work->data;
- if (fd == fd_p) return i;
-
- i++;
-
- GList *work2 = fd_p->sidecar_files;
- while (work2)
- {
- fd_p = work2->data;
- if (fd == fd_p) return i;
-
- i++;
- work2 = work2->next;
- }
- work = work->next;
- }
- return -1;
-}
-
-static gint vflist_sidecar_list_count(GList *work)
-{
- gint i = 0;
- while (work)
- {
- FileData *fd = work->data;
- i++;
-
- GList *work2 = fd->sidecar_files;
- while (work2)
- {
- i++;
- work2 = work2->next;
- }
- work = work->next;
- }
- return i;
-}
-#endif
-
static gboolean vflist_store_clear_cb(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
{
FileData *fd;
gtk_tree_model_get(model, iter, FILE_COLUMN_POINTER, &fd, -1);
+
+ /* it seems that gtk_tree_store_clear may call some callbacks
+ that use the column. Set the pointer to NULL to be safe. */
+ gtk_tree_store_set(GTK_TREE_STORE(model), iter, FILE_COLUMN_POINTER, NULL, -1);
file_data_unref(fd);
return FALSE;
}
gtk_tree_path_free(tpath);
}
-#if 0
-static gint vflist_column_idx(ViewFile *vf, gint store_idx)
-{
- GList *columns, *work;
- gint i = 0;
-
- columns = gtk_tree_view_get_columns(GTK_TREE_VIEW(vf->listview));
- work = columns;
- while (work)
- {
- GtkTreeViewColumn *column = work->data;
- if (store_idx == GPOINTER_TO_INT(g_object_get_data(G_OBJECT(column), "column_store_idx")))
- break;
- work = work->next;
- i++;
- }
-
- g_list_free(columns);
- return i;
-}
-#endif
/*
*-----------------------------------------------------------------------------
{
ViewFile *vf = data;
GList *list = NULL;
- gchar *uri_text = NULL;
- gint total;
if (!VFLIST(vf)->click_fd) return;
}
if (!list) return;
-
- uri_text = uri_text_from_filelist(list, &total, (info == TARGET_TEXT_PLAIN));
+ uri_selection_data_set_uris_from_filelist(selection_data, list);
filelist_free(list);
-
- DEBUG_1("%s", uri_text);
-
- gtk_selection_data_set(selection_data, selection_data->target,
- 8, (guchar *)uri_text, total);
- g_free(uri_text);
}
static void vflist_dnd_begin(GtkWidget *widget, GdkDragContext *context, gpointer data)
vflist_color_set(vf, VFLIST(vf)->click_fd, FALSE);
- if (context->action == GDK_ACTION_MOVE)
+ if (gdk_drag_context_get_selected_action(context) == GDK_ACTION_MOVE)
{
vf_refresh(vf);
}
if (fd) {
/* Add keywords to file */
- gchar *str = g_strndup((gchar *)selection->data, selection->length);
+ gchar *str = gtk_selection_data_get_text(selection);
GList *kw_list = string_to_keywords_list(str);
metadata_append_list(fd, KEYWORD_KEY, kw_list);
string_list_free(kw_list);
g_free(str);
-/*
-file notification should handle this automatically
- if (vf->layout && vf->layout->bar_info) {
- bar_set_fd(vf->layout->bar_info, fd);
- }
-*/
}
}
}
ViewFile *vf = data;
GtkTreePath *tpath;
- if (event->keyval != GDK_Menu) return FALSE;
+ if (event->keyval != GDK_KEY_Menu) return FALSE;
gtk_tree_view_get_cursor(GTK_TREE_VIEW(vf->listview), &tpath, NULL);
if (tpath)
gtk_tree_model_get_iter(store, &iter, tpath);
gtk_tree_model_get(store, &iter, FILE_COLUMN_POINTER, &fd, -1);
-#if 0
- gtk_tree_view_set_cursor(GTK_TREE_VIEW(widget), tpath, NULL, FALSE);
-#endif
gtk_tree_path_free(tpath);
}
return (gtk_tree_selection_count_selected_rows(selection) > 1);
}
-#if 1
if (bevent->button == MOUSE_BUTTON_LEFT && bevent->type == GDK_2BUTTON_PRESS)
{
if (vf->layout) layout_image_full_screen_start(vf->layout);
}
-#endif
return FALSE;
}
gtk_tree_selection_unselect_all(selection);
gtk_tree_selection_select_iter(selection, &iter);
vflist_move_cursor(vf, &iter);
-// return TRUE;// FIXME - expand
}
return FALSE;
*-----------------------------------------------------------------------------
*/
-/*
-static gboolean vflist_dummy_select_cb(GtkTreeSelection *selection, GtkTreeModel *store, GtkTreePath *tpath,
- gboolean path_currently_selected, gpointer data)
-{
- return TRUE;
-}
-*/
static gchar* vflist_get_formatted(ViewFile *vf, const gchar *name, const gchar *sidecars, const gchar *size, const gchar *time, gboolean expanded)
{
gtk_tree_view_column_set_fixed_width(column, options->thumbnails.max_width + 4);
-#if GTK_CHECK_VERSION(2,18,0)
list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
-#else
- list = gtk_tree_view_column_get_cell_renderers(column);
-#endif
if (!list) return;
cell = list->data;
g_list_free(list);
}
g_list_free(columns);
- //vf_refresh(vf);
}
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */