diff -Nur gimageview-0.2.10-old/src/gfileutil.c gimageview-0.2.10/src/gfileutil.c --- gimageview-0.2.10-old/src/gfileutil.c Fri Nov 22 19:38:29 2002 +++ gimageview-0.2.10/src/gfileutil.c Thu Dec 5 00:01:37 2002 @@ -193,6 +193,8 @@ filelist = g_list_sort (filelist, gtkutil_comp_spel); if (dirlist) dirlist = g_list_sort (dirlist, gtkutil_comp_spel); + } else { + g_warning ("cannot open directory: %s", dirname); } /* recursive get */ diff -Nur gimageview-0.2.10-old/src/thumbnail_window.c gimageview-0.2.10/src/thumbnail_window.c --- gimageview-0.2.10-old/src/thumbnail_window.c Sun Nov 24 00:15:14 2002 +++ gimageview-0.2.10/src/thumbnail_window.c Wed Dec 4 23:59:49 2002 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Id: thumbnail_window.c,v 1.110.2.8 2002/11/23 15:15:14 makeinu Exp $ + * $Id: thumbnail_window.c,v 1.110.2.10 2002/12/04 13:24:36 makeinu Exp $ */ #include @@ -590,7 +590,6 @@ if (!tv) { gtk_widget_set_sensitive (tw->menuitem.select, FALSE); gtk_widget_set_sensitive (tw->menuitem.unselect, FALSE); - gtk_widget_set_sensitive (tw->menuitem.find_sim, FALSE); } gtk_widget_set_sensitive (tw->menuitem.refresh, FALSE); gtk_widget_set_sensitive (tw->menuitem.reload, FALSE); @@ -2300,23 +2299,18 @@ static void cb_location_entry_enter (GtkEditable *entry, ThumbWindow *tw) { - const gchar *path; - gchar *text; - gint len; + const gchar *path_internal; + gchar *path, *dir; g_return_if_fail (tw); - path = gtk_entry_get_text (GTK_ENTRY (entry)); + path_internal = gtk_entry_get_text (GTK_ENTRY (entry)); + path = charset_internal_to_locale (path_internal); if (isdir (path)) { - len = strlen (path); - if (path[len - 1] != '/') { - text = g_strconcat (path, "/", NULL); - } else { - text = g_strdup (path); - } - open_dir_images (text, tw, LOAD_CACHE, conf.scan_dir_recursive); - g_free (text); + dir = add_slash (path); + open_dir_images (dir, tw, LOAD_CACHE, conf.scan_dir_recursive); + g_free (dir); } else if (file_exists (path)) { if (fr_archive_utils_get_file_name_ext (path)) { open_archive_images (path, tw, LOAD_CACHE); @@ -2326,6 +2320,8 @@ imageview_change_image (tw->iv, info); } } + + g_free (path); } #endif /* USE_GTK2 */ @@ -2335,9 +2331,7 @@ GdkEventKey *event, ThumbWindow *tw) { - const gchar *path; - gchar *text, *dirname; - gint n, len; + const gchar *path_internal; guint comp_key1 = 0, comp_key2 = 0; GdkModifierType comp_mods1 = 0, comp_mods2 = 0; @@ -2351,17 +2345,15 @@ &comp_key2, &comp_mods2); if (event->keyval == GDK_Return || event->keyval == GDK_KP_Enter) { - path = gtk_entry_get_text (GTK_ENTRY (widget)); + gchar *path; + + path_internal = gtk_entry_get_text (GTK_ENTRY (widget)); + path = charset_internal_to_locale (path_internal); if (isdir (path)) { - len = strlen (path); - if (path[len - 1] != '/') { - text = g_strconcat (path, "/", NULL); - } else { - text = g_strdup (path); - } - open_dir_images (text, tw, LOAD_CACHE, conf.scan_dir_recursive); - g_free (text); + gchar *dir = add_slash (path); + open_dir_images (dir, tw, LOAD_CACHE, conf.scan_dir_recursive); + g_free (dir); } else if (file_exists (path)) { if (fr_archive_utils_get_file_name_ext (path)) { open_archive_images (path, tw, LOAD_CACHE); @@ -2372,14 +2364,19 @@ } } + g_free (path); + return TRUE; } else if (event->keyval == GDK_Tab || (event->keyval == comp_key1 && (!comp_mods1 || (event->state & comp_mods1))) || (event->keyval == comp_key2 && (!comp_mods2 || (event->state & comp_mods2)))) { - path = gtk_entry_get_text (GTK_ENTRY (widget)); - n = auto_compl_get_n_alternatives (path); + gchar *text, *dirname; + gint n; + + path_internal = gtk_entry_get_text (GTK_ENTRY (widget)); + n = auto_compl_get_n_alternatives (path_internal); if (n < 1) return TRUE;