aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-23 09:03:38 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-23 09:03:38 +0000
commitc356b65808cbd96d12f041870f22dc748295e832 (patch)
treece01aa3d8155d74ef1b813ff28373769f659f208
parent097cfaa8c74632e62a24bf748c3793d217ec4231 (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--ChangeLog5
-rw-r--r--ChangeLog.ja6
-rw-r--r--src/foldersel.c2
-rw-r--r--src/folderview.c17
-rw-r--r--src/folderview.h3
5 files changed, 27 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 6569ae09..f78596bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);