forked from AuroraMiddleware/gtk
gtkplacessidebar: insert bookmark by dnd in correct position
Add needed COLUMN INDEX to "new bookmark" row based on previous bookmark index plus one. Fixes bug 742727
This commit is contained in:
parent
54806d1295
commit
f26986a50a
@ -1690,14 +1690,33 @@ start_drop_feedback (GtkPlacesSidebar *sidebar,
|
||||
if (need_feedback_row)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkTreeIter iter_prev;
|
||||
GtkTreePath *path_prev;
|
||||
gint new_bookmark_col_index;
|
||||
SectionType section_type;
|
||||
|
||||
/* Use column index of previous bookmark to calculate index for "new bookmark" */
|
||||
path_prev = gtk_tree_path_new_from_indices (sidebar->new_bookmark_index - 1, -1);
|
||||
if (gtk_tree_model_get_iter (GTK_TREE_MODEL (sidebar->store), &iter_prev, path_prev))
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (sidebar->store), &iter_prev,
|
||||
PLACES_SIDEBAR_COLUMN_SECTION_TYPE, §ion_type,
|
||||
PLACES_SIDEBAR_COLUMN_INDEX, &new_bookmark_col_index, -1);
|
||||
|
||||
if (section_type != SECTION_BOOKMARKS)
|
||||
new_bookmark_col_index = 0;
|
||||
else
|
||||
new_bookmark_col_index++;
|
||||
|
||||
sidebar->new_bookmark_index = new_bookmark_index;
|
||||
gtk_list_store_insert_with_values (sidebar->store, &iter, sidebar->new_bookmark_index,
|
||||
PLACES_SIDEBAR_COLUMN_ROW_TYPE, PLACES_DROP_FEEDBACK,
|
||||
PLACES_SIDEBAR_COLUMN_SECTION_TYPE, SECTION_BOOKMARKS,
|
||||
PLACES_SIDEBAR_COLUMN_NAME, _("New bookmark"),
|
||||
PLACES_SIDEBAR_COLUMN_INDEX, new_bookmark_col_index,
|
||||
PLACES_SIDEBAR_COLUMN_NO_EJECT, TRUE,
|
||||
-1);
|
||||
|
||||
gtk_tree_path_free (path_prev);
|
||||
}
|
||||
|
||||
new_path = gtk_tree_path_new_from_indices (sidebar->new_bookmark_index, -1);
|
||||
|
Loading…
Reference in New Issue
Block a user