summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Neumair <cneumair@gnome.org>2008-09-17 15:19:22 +0000
committerChristian Neumair <cneumair@src.gnome.org>2008-09-17 15:19:22 +0000
commit679fdc5e5cb3caa4801967ebe9a8df62eb46cf33 (patch)
tree807324e6779aca5cc60d3887ae5b0a54e94ee038
parentde35d2a7f0c53583668bc2ecefd821e99a9fbc67 (diff)
downloadnautilus-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--ChangeLog9
-rw-r--r--src/file-manager/fm-list-model.c18
-rw-r--r--src/file-manager/fm-list-model.h4
-rw-r--r--src/file-manager/fm-list-view.c9
4 files changed, 21 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 99de5f05e..c6e53baf6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,