diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-06-23 09:03:38 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-06-23 09:03:38 +0000 |
commit | c356b65808cbd96d12f041870f22dc748295e832 (patch) | |
tree | ce01aa3d8155d74ef1b813ff28373769f659f208 | |
parent | 097cfaa8c74632e62a24bf748c3793d217ec4231 (diff) |
expand parent folder when new one is created.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@370 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.ja | 6 | ||||
-rw-r--r-- | src/foldersel.c | 2 | ||||
-rw-r--r-- | src/folderview.c | 17 | ||||
-rw-r--r-- | src/folderview.h | 3 |
5 files changed, 27 insertions, 6 deletions
@@ -1,5 +1,10 @@ 2005-06-23 + * src/foldersel.c + src/folderview.[ch]: expand parent folder when new one is created. + +2005-06-23 + * src/textview.c: added "Compose new message" and "Open with Web browser" to the context menu. diff --git a/ChangeLog.ja b/ChangeLog.ja index b9b534c8..9b5ed7f6 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,5 +1,11 @@ 2005-06-23 + * src/foldersel.c + src/folderview.[ch]: 新規フォルダが作成されたとき親フォルダを展開 + するようにした。 + +2005-06-23 + * src/textview.c: コンテキストメニューに「新規メッセージを作成」と 「Webブラウザで開く」を追加。 diff --git a/src/foldersel.c b/src/foldersel.c index 6c7f3ecb..89f43cf1 100644 --- a/src/foldersel.c +++ b/src/foldersel.c @@ -542,7 +542,7 @@ static void foldersel_new_folder(GtkButton *button, gpointer data) gtk_tree_path_free(new_child_p); gtk_tree_path_free(selected_p); - folderview_append_item(folderview_get(), NULL, new_item); + folderview_append_item(folderview_get(), NULL, new_item, TRUE); folder_write_list(); } diff --git a/src/folderview.c b/src/folderview.c index 1dceefe0..f5488fc8 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -718,7 +718,7 @@ void folderview_update_opened_msg_num(FolderView *folderview) } gboolean folderview_append_item(FolderView *folderview, GtkTreeIter *iter, - FolderItem *item) + FolderItem *item, gboolean expand_parent) { FolderItem *parent_item; GtkTreeModel *model = GTK_TREE_MODEL(folderview->store); @@ -746,6 +746,15 @@ gboolean folderview_append_item(FolderView *folderview, GtkTreeIter *iter, folderview_update_row(folderview, &child); if (iter) *iter = child; + if (expand_parent && iter_p) { + GtkTreePath *path; + + path = gtk_tree_model_get_path(model, iter_p); + gtk_tree_view_expand_row + (GTK_TREE_VIEW(folderview->treeview), + path, FALSE); + gtk_tree_path_free(path); + } return TRUE; } @@ -1252,7 +1261,7 @@ static void folderview_insert_item_recursive(FolderView *folderview, g_return_if_fail(item != NULL); - valid = folderview_append_item(folderview, &iter, item); + valid = folderview_append_item(folderview, &iter, item, FALSE); g_return_if_fail(valid == TRUE); for (node = item->node->children; node != NULL; node = node->next) { @@ -1926,7 +1935,7 @@ static void folderview_new_folder_cb(FolderView *folderview, guint action, return; } - folderview_append_item(folderview, NULL, new_item); + folderview_append_item(folderview, NULL, new_item, TRUE); folder_write_list(); } @@ -2287,7 +2296,7 @@ static void folderview_new_news_group_cb(FolderView *folderview, guint action, newitem = folder_item_new(name, name); folder_item_append(rootitem, newitem); - folderview_append_item(folderview, NULL, newitem); + folderview_append_item(folderview, NULL, newitem, TRUE); } if (new_subscr) { diff --git a/src/folderview.h b/src/folderview.h index f921b489..352ea6c7 100644 --- a/src/folderview.h +++ b/src/folderview.h @@ -86,7 +86,8 @@ void folderview_update_opened_msg_num (FolderView *folderview); gboolean folderview_append_item (FolderView *folderview, GtkTreeIter *iter, - FolderItem *item); + FolderItem *item, + gboolean expand_parent); void folderview_check_new (Folder *folder); void folderview_check_new_all (void); |