diff options
author | Christian Neumair <cneumair@gnome.org> | 2008-09-17 15:19:22 +0000 |
---|---|---|
committer | Christian Neumair <cneumair@src.gnome.org> | 2008-09-17 15:19:22 +0000 |
commit | 679fdc5e5cb3caa4801967ebe9a8df62eb46cf33 (patch) | |
tree | 807324e6779aca5cc60d3887ae5b0a54e94ee038 | |
parent | de35d2a7f0c53583668bc2ecefd821e99a9fbc67 (diff) | |
download | nautilus-679fdc5e5cb3caa4801967ebe9a8df62eb46cf33.tar.gz |
Enable text drag target for list view. Fixes #552474.
2008-09-17 Christian Neumair <cneumair@gnome.org>
* src/file-manager/fm-list-model.c
(fm_list_model_multi_drag_data_get),
(fm_list_model_get_drag_target_list):
* src/file-manager/fm-list-model.h:
* src/file-manager/fm-list-view.c (motion_notify_callback):
Enable text drag target for list view. Fixes #552474.
svn path=/trunk/; revision=14634
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/file-manager/fm-list-model.c | 18 | ||||
-rw-r--r-- | src/file-manager/fm-list-model.h | 4 | ||||
-rw-r--r-- | src/file-manager/fm-list-view.c | 9 |
4 files changed, 21 insertions, 19 deletions
@@ -1,5 +1,14 @@ 2008-09-17 Christian Neumair <cneumair@gnome.org> + * src/file-manager/fm-list-model.c + (fm_list_model_multi_drag_data_get), + (fm_list_model_get_drag_target_list): + * src/file-manager/fm-list-model.h: + * src/file-manager/fm-list-view.c (motion_notify_callback): + Enable text drag target for list view. Fixes #552474. + +2008-09-17 Christian Neumair <cneumair@gnome.org> + * libnautilus-private/nautilus-file.c (nautilus_file_rename): When deciding whether name actually changed, compare target filename with display name for desktop files, and desktop icon diff --git a/src/file-manager/fm-list-model.c b/src/file-manager/fm-list-model.c index 22378c583..39025bdc4 100644 --- a/src/file-manager/fm-list-model.c +++ b/src/file-manager/fm-list-model.c @@ -855,10 +855,7 @@ fm_list_model_multi_drag_data_get (EggTreeMultiDragSource *drag_source, context.path_list = path_list; if (!drag_target_list) { - drag_target_list = gtk_target_list_new - (drag_types, G_N_ELEMENTS (drag_types)); - gtk_target_list_add_text_targets ( - drag_target_list, NAUTILUS_ICON_DND_TEXT); + drag_target_list = fm_list_model_get_drag_target_list (); } if (gtk_target_list_find (drag_target_list, @@ -1461,12 +1458,15 @@ fm_list_model_set_drag_view (FMListModel *model, model->details->drag_begin_y = drag_begin_y; } -void -fm_list_model_get_drag_types (const GtkTargetEntry **entries, - int *num_entries) +GtkTargetList * +fm_list_model_get_drag_target_list () { - *entries = drag_types; - *num_entries = G_N_ELEMENTS (drag_types); + GtkTargetList *target_list; + + target_list = gtk_target_list_new (drag_types, G_N_ELEMENTS (drag_types)); + gtk_target_list_add_text_targets (target_list, NAUTILUS_ICON_DND_TEXT); + + return target_list; } int diff --git a/src/file-manager/fm-list-model.h b/src/file-manager/fm-list-model.h index 829375feb..3957163d1 100644 --- a/src/file-manager/fm-list-model.h +++ b/src/file-manager/fm-list-model.h @@ -118,8 +118,8 @@ void fm_list_model_set_drag_view (FMListModel *model, int begin_x, int begin_y); -void fm_list_model_get_drag_types (const GtkTargetEntry **entries, - int *num_entries); +GtkTargetList * fm_list_model_get_drag_target_list (void); + int fm_list_model_compare_func (FMListModel *model, NautilusFile *file1, NautilusFile *file2); diff --git a/src/file-manager/fm-list-view.c b/src/file-manager/fm-list-view.c index 29b56bff0..c2be9af59 100644 --- a/src/file-manager/fm-list-view.c +++ b/src/file-manager/fm-list-view.c @@ -493,14 +493,7 @@ motion_notify_callback (GtkWidget *widget, if (view->details->drag_button != 0) { if (!source_target_list) { - const GtkTargetEntry *drag_types; - int n_drag_types; - - fm_list_model_get_drag_types (&drag_types, - &n_drag_types); - - source_target_list = gtk_target_list_new (drag_types, - n_drag_types); + source_target_list = fm_list_model_get_drag_target_list (); } if (gtk_drag_check_threshold (widget, |