Commit af6a559f authored by Paolo Bacchilega's avatar Paolo Bacchilega Committed by Paolo Bacchilega

[ gthumb 2.2.1 released ]

2004-01-24  Paolo Bacchilega  <paolo.bacch@tin.it>

        [ gthumb 2.2.1 released ]

        * src/gthumb-window.c: fix dnd.
        (key_press_cb):

        Fix bug #130382 (gthumb keyboard usability issue).

        * src/dlg-file-utils.c (folder_copy): remove old comment cache before
        copying.
parent f6b4eeb4
2004-01-24 Paolo Bacchilega <paolo.bacch@tin.it>
[ gthumb 2.2.1 released ]
* src/gthumb-window.c: fix dnd.
(key_press_cb):
Fix bug #130382 (gthumb keyboard usability issue).
* src/dlg-file-utils.c (folder_copy): remove old comment cache before
copying.
2004-01-21 Paolo Bacchilega <paolo.bacch@tin.it>
* src/gthumb-window.c (dir_list_drag_leave):
......
version 2.2.1
-------------
* Fix Drag and Drop.
* Fix bug #130823 (gthumb does not maintain permissions on files).
* Fix bug #130824 (gthumb does not complain about lack of permissions).
* Fix bug #130829 (gthumb ignores current directory when starting).
* Fix bug #131853 (Changing folders produces flicker in image viewer).
* Fix bug #126292 (Date shows badly if locale charset is not utf8).
Patch by Egmont Koblinger.
* Fix bug #129858 (libgthumb-jpegutils.a isn't libtool library,
does not link on non-x86).
* Fix bug #130382 (gthumb keyboard usability issue).
* Update the gnome-print-font-picker code from gedit.
version 2.2.0
-------------
* Bugfixes.
......
......@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
AC_INIT(gthumb, 2.2.0, http://bugzilla.gnome.org/enter_bug.cgi?product=gthumb)
AC_INIT(gthumb, 2.2.1, http://bugzilla.gnome.org/enter_bug.cgi?product=gthumb)
AC_CONFIG_SRCDIR(src/main.c)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
......
......@@ -2215,9 +2215,12 @@ folder_copy (GThumbWindow *window,
src_list = g_list_append (src_list,
new_uri_from_path (src_cache));
if (fcdata->file_op != FILE_OP_DELETE)
if (fcdata->file_op != FILE_OP_DELETE) {
if (path_is_dir (dest_cache) && !overwrite_all)
rmdir_recursive (dest_cache);
dest_list = g_list_append (dest_list,
new_uri_from_path (dest_cache));
}
}
g_free (src_cache);
......
......@@ -2851,6 +2851,11 @@ key_press_cb (GtkWidget *widget,
edit_edit_categories_command_impl (NULL, window, NULL);
return TRUE;
case GDK_Escape:
if (window->image_pane_visible)
window_hide_image_pane (window);
return TRUE;
default:
break;
}
......@@ -3394,7 +3399,9 @@ image_list_drag_data_received (GtkWidget *widget,
char *dest_dir = NULL;
if (! ((data->length >= 0) && (data->format == 8))
|| (window->sidebar_content != GTH_SIDEBAR_DIR_LIST)) {
|| (window->sidebar_content != GTH_SIDEBAR_DIR_LIST)
|| (context->action & GDK_ACTION_COPY != GDK_ACTION_COPY)
|| (context->action & GDK_ACTION_MOVE != GDK_ACTION_MOVE)) {
gtk_drag_finish (context, FALSE, FALSE, time);
return;
}
......@@ -3409,7 +3416,7 @@ image_list_drag_data_received (GtkWidget *widget,
dlg_copy_items (window,
list,
dest_dir,
TRUE,
(context->action & GDK_ACTION_MOVE == GDK_ACTION_MOVE),
TRUE,
move_items__continue,
window);
......@@ -3435,7 +3442,10 @@ dir_list_drag_data_received (GtkWidget *widget,
char *dest_dir = NULL;
const char *current_dir;
if (! ((data->length >= 0) && (data->format == 8))) {
if ((data->length < 0)
|| (data->format != 8)
|| ((context->actions & GDK_ACTION_COPY) != GDK_ACTION_COPY)
|| ((context->actions & GDK_ACTION_MOVE) != GDK_ACTION_MOVE)) {
gtk_drag_finish (context, FALSE, FALSE, time);
return;
}
......@@ -3472,7 +3482,7 @@ dir_list_drag_data_received (GtkWidget *widget,
dlg_copy_items (window,
list,
dest_dir,
TRUE,
(context->actions & GDK_ACTION_MOVE) == GDK_ACTION_MOVE,
TRUE,
move_items__continue,
window);
......@@ -3573,7 +3583,7 @@ dir_list_drag_begin (GtkWidget *widget,
dir_list_tree_path = NULL;
}
if (dir_list_drag_data) {
if (dir_list_drag_data != NULL) {
g_free (dir_list_drag_data);
dir_list_drag_data = NULL;
}
......@@ -3586,6 +3596,18 @@ dir_list_drag_begin (GtkWidget *widget,
}
static void
dir_list_drag_end (GtkWidget *widget,
GdkDragContext *context,
gpointer extra_data)
{
if (dir_list_drag_data != NULL) {
g_free (dir_list_drag_data);
dir_list_drag_data = NULL;
}
}
static void
dir_list_drag_leave (GtkWidget *widget,
GdkDragContext *context,
......@@ -3626,14 +3648,15 @@ dir_list_drag_data_get (GtkWidget *widget,
}
g_free (target);
context->actions = GDK_ACTION_COPY | GDK_ACTION_MOVE;
context->suggested_action = GDK_ACTION_MOVE;
uri = g_strconcat ("file://", dir_list_drag_data, "\n", NULL);
gtk_selection_data_set (selection_data,
selection_data->target,
8,
dir_list_drag_data,
strlen (uri));
g_free (dir_list_drag_data);
dir_list_drag_data = NULL;
g_free (uri);
}
......@@ -4578,13 +4601,13 @@ create_new_file_list (GThumbWindow *window)
gtk_drag_dest_set (file_list->root_widget,
GTK_DEST_DEFAULT_ALL,
target_table,
G_N_ELEMENTS(target_table),
GDK_ACTION_COPY);
G_N_ELEMENTS (target_table),
GDK_ACTION_COPY | GDK_ACTION_MOVE);
gtk_drag_source_set (file_list->root_widget,
GDK_BUTTON1_MASK,
target_table,
G_N_ELEMENTS(target_table),
GDK_ACTION_COPY);
G_N_ELEMENTS (target_table),
GDK_ACTION_COPY | GDK_ACTION_MOVE);
/*
gtk_drag_dest_set (file_list->root_widget,
......@@ -4905,11 +4928,11 @@ window_new (void)
window->dir_list = dir_list_new ();
gtk_drag_dest_set (window->dir_list->root_widget,
GTK_DEST_DEFAULT_ALL,
target_table, G_N_ELEMENTS(target_table),
target_table, G_N_ELEMENTS (target_table),
GDK_ACTION_MOVE);
gtk_drag_source_set (window->dir_list->list_view,
GDK_BUTTON1_MASK,
target_table, G_N_ELEMENTS(target_table),
target_table, G_N_ELEMENTS (target_table),
GDK_ACTION_MOVE | GDK_ACTION_COPY);
g_signal_connect (G_OBJECT (window->dir_list->root_widget),
"drag_data_received",
......@@ -4919,6 +4942,10 @@ window_new (void)
"drag_begin",
G_CALLBACK (dir_list_drag_begin),
window);
g_signal_connect (G_OBJECT (window->dir_list->list_view),
"drag_end",
G_CALLBACK (dir_list_drag_end),
window);
g_signal_connect (G_OBJECT (window->dir_list->root_widget),
"drag_motion",
G_CALLBACK (dir_list_drag_motion),
......@@ -5768,6 +5795,11 @@ close__step5 (GThumbWindow *window)
gth_file_list_drag_data = NULL;
}
if (dir_list_drag_data != NULL) {
g_free (dir_list_drag_data);
dir_list_drag_data = NULL;
}
gtk_object_destroy (GTK_OBJECT (window->tooltips));
gtk_widget_destroy (window->app);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment