# HG changeset patch # User masneyb # Date 1099357324 0 # Node ID 76d372913c71382e8807b6f0d3b04bc7cb34a7fe # Parent 89216879202f8ae00d88bbfc76681834ee2d5bc1 2004-11-1 Brian Masney * src/gtk/bookmarks.c - don't allow the main bookmarks dialog to be closed if a child entry is being edited. Fixes for a toplevel folder that has no children diff -r 89216879202f -r 76d372913c71 ChangeLog --- a/ChangeLog Tue Nov 02 00:19:09 2004 +0000 +++ b/ChangeLog Tue Nov 02 01:02:04 2004 +0000 @@ -1,4 +1,8 @@ 2004-11-1 Brian Masney + * src/gtk/bookmarks.c - don't allow the main bookmarks dialog to be + closed if a child entry is being edited. Fixes for a toplevel folder + that has no children + * src/gtk/transfer.c (update_file_status) - if the % transferred goes over 100%, then set the update string to unknown percentage transfered. This will occur whenever the reported transfer size is different than @@ -2985,7 +2989,7 @@ * cvsclean - added this script - * *.[ch] - added $Id: ChangeLog,v 1.352 2004/11/02 00:19:09 masneyb Exp $ tags + * *.[ch] - added $Id: ChangeLog,v 1.353 2004/11/02 01:02:04 masneyb Exp $ tags * debian/* - updated files from Debian maintainer diff -r 89216879202f -r 76d372913c71 src/gtk/bookmarks.c --- a/src/gtk/bookmarks.c Tue Nov 02 00:19:09 2004 +0000 +++ b/src/gtk/bookmarks.c Tue Nov 02 01:02:04 2004 +0000 @@ -286,6 +286,12 @@ gftp_bookmarks_var * tempentry, * delentry; char *tempstr; + if (bm_dialog != NULL) + { + gtk_widget_grab_focus (bm_dialog); + return; + } + if (gftp_bookmarks != NULL) { tempentry = gftp_bookmarks->children; @@ -372,10 +378,7 @@ bm_close_dialog (GtkWidget * widget, GtkWidget * dialog) { if (bm_dialog != NULL) - { - gtk_widget_grab_focus (bm_dialog); - return; - } + return; if (new_bookmarks_htable != NULL) { @@ -612,32 +615,46 @@ } else { - pos = tempentry->path; - while ((pos = strchr (pos, '/')) != NULL) - { - *pos = '\0'; - str = g_strdup (tempentry->path); - *pos = '/'; - preventry = g_hash_table_lookup (new_bookmarks_htable, str); - if (preventry->cnode == NULL) - { - if ((prevpos = strrchr (str, '/')) == NULL) - prevpos = str; - else - prevpos++; - text[0] = text[1] = prevpos; - preventry->cnode = gtk_ctree_insert_node (GTK_CTREE (tree), - preventry->prev->cnode, NULL, text, - 5, closedir_pixmap, closedir_bitmap, - opendir_pixmap, opendir_bitmap, - FALSE, FALSE); - gtk_ctree_node_set_row_data (GTK_CTREE (tree), - preventry->cnode, preventry); - } - - g_free (str); - pos++; - } + if (strchr (tempentry->path, '/') == NULL && tempentry->isfolder) + { + text[0] = text[1] = tempentry->path; + tempentry->cnode = gtk_ctree_insert_node (GTK_CTREE (tree), + tempentry->prev->cnode, NULL, text, + 5, closedir_pixmap, closedir_bitmap, + opendir_pixmap, opendir_bitmap, + FALSE, FALSE); + gtk_ctree_node_set_row_data (GTK_CTREE (tree), tempentry->cnode, + tempentry); + } + else + { + pos = tempentry->path; + while ((pos = strchr (pos, '/')) != NULL) + { + *pos = '\0'; + str = g_strdup (tempentry->path); + *pos = '/'; + preventry = g_hash_table_lookup (new_bookmarks_htable, str); + if (preventry->cnode == NULL) + { + if ((prevpos = strrchr (str, '/')) == NULL) + prevpos = str; + else + prevpos++; + text[0] = text[1] = prevpos; + preventry->cnode = gtk_ctree_insert_node (GTK_CTREE (tree), + preventry->prev->cnode, NULL, text, + 5, closedir_pixmap, closedir_bitmap, + opendir_pixmap, opendir_bitmap, + FALSE, FALSE); + gtk_ctree_node_set_row_data (GTK_CTREE (tree), + preventry->cnode, preventry); + } + + g_free (str); + pos++; + } + } } if ((pos = strrchr (tempentry->path, '/')) == NULL)