diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ChangeLog.ja | 7 | ||||
-rw-r--r-- | src/compose.c | 14 | ||||
-rw-r--r-- | src/folderview.c | 2 | ||||
-rw-r--r-- | src/summaryview.c | 2 |
5 files changed, 30 insertions, 2 deletions
@@ -1,3 +1,10 @@ +2005-07-19 + + * src/compose.c: don't remove drag source on GDK_ACTION_MOVE. + Explicitly call gtk_drag_finish(). + * src/summaryview.c + src/folderview.c: made GtkTargetEntry static. + 2005-07-15 * src/summaryview.c: summary_modify_threads(): select correct row diff --git a/ChangeLog.ja b/ChangeLog.ja index a3dfb23a..bf2b62ad 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,10 @@ +2005-07-19 + + * src/compose.c: GDK_ACTION_MOVE の際に drag source を削除しないよう + にした。明示的に gtk_drag_finish() を呼ぶようにした。 + * src/summaryview.c + src/folderview.c: GtkTargetEntry を static にした。 + 2005-07-15 * src/summaryview.c: summary_modify_threads(): ソートが有効になって diff --git a/src/compose.c b/src/compose.c index 31827999..20ed6ef8 100644 --- a/src/compose.c +++ b/src/compose.c @@ -6239,6 +6239,9 @@ static void compose_attach_drag_received_cb (GtkWidget *widget, if (info == DRAG_TYPE_RFC822) content_type = "message/rfc822"; + debug_print("compose_attach_drag_received_cb(): received %s\n", + (const gchar *)data->data); + list = uri_list_extract_filenames((const gchar *)data->data); for (cur = list; cur != NULL; cur = cur->next) { path = (gchar *)cur->data; @@ -6249,6 +6252,10 @@ static void compose_attach_drag_received_cb (GtkWidget *widget, } if (list) compose_changed_cb(NULL, compose); g_list_free(list); + + if ((drag_context->actions & GDK_ACTION_MOVE) != 0) + drag_context->action = 0; + gtk_drag_finish(drag_context, TRUE, FALSE, time); } static void compose_insert_drag_received_cb (GtkWidget *widget, @@ -6263,11 +6270,18 @@ static void compose_insert_drag_received_cb (GtkWidget *widget, Compose *compose = (Compose *)user_data; GList *list, *cur; + debug_print("compose_insert_drag_received_cb(): received %s\n", + (const gchar *)data->data); + list = uri_list_extract_filenames((const gchar *)data->data); for (cur = list; cur != NULL; cur = cur->next) compose_insert_file(compose, (const gchar *)cur->data, TRUE); list_free_strings(list); g_list_free(list); + + if ((drag_context->actions & GDK_ACTION_MOVE) != 0) + drag_context->action = 0; + gtk_drag_finish(drag_context, TRUE, FALSE, time); } static void to_activated(GtkWidget *widget, Compose *compose) diff --git a/src/folderview.c b/src/folderview.c index 17272c3b..382ca84c 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -221,7 +221,7 @@ static void folderview_drag_received_cb (GtkWidget *widget, guint time, FolderView *folderview); -GtkTargetEntry folderview_drag_types[] = +static GtkTargetEntry folderview_drag_types[] = { {"text/plain", GTK_TARGET_SAME_APP, 0} }; diff --git a/src/summaryview.c b/src/summaryview.c index e0661ea3..5332ce92 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -358,7 +358,7 @@ enum N_DRAG_TYPES }; -GtkTargetEntry summary_drag_types[] = +static GtkTargetEntry summary_drag_types[] = { {"text/plain", GTK_TARGET_SAME_APP, DRAG_TYPE_TEXT}, {"message/rfc822", GTK_TARGET_SAME_APP, DRAG_TYPE_RFC822}, |