From dd4cc5ad59b75269648e083aebce4a13522f8f2c Mon Sep 17 00:00:00 2001 From: hiro Date: Mon, 19 Dec 2005 08:14:29 +0000 Subject: removed SummaryView* from the argument of summary_search(). Preset folder when saving as search folder. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@837 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 7 +++++ ChangeLog.ja | 7 +++++ configure.in | 6 ++--- src/folderview.c | 2 +- src/mainwindow.c | 2 +- src/summary_search.c | 74 ++++++++++++++++++++++++++-------------------------- src/summary_search.h | 4 +-- 7 files changed, 57 insertions(+), 45 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6059a7c8..8115d016 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-12-19 + + * src/summary_search.[ch] + src/folderview.c + src/mainwindow.c: removed SummaryView* from the argument of + summary_search(). Preset folder when saving as search folder. + 2005-12-19 * libsylph/virtual.[ch] diff --git a/ChangeLog.ja b/ChangeLog.ja index 050b6e03..800c1480 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,10 @@ +2005-12-19 + + * src/summary_search.[ch] + src/folderview.c + src/mainwindow.c: summary_search() の引数から SummaryView* を削除。 + 検索フォルダとして保存するときにフォルダをあらかじめ指定。 + 2005-12-19 * libsylph/virtual.[ch] diff --git a/configure.in b/configure.in index ce76847c..155ee6a0 100644 --- a/configure.in +++ b/configure.in @@ -5,11 +5,11 @@ PACKAGE=sylpheed dnl version number MAJOR_VERSION=2 -MINOR_VERSION=1 -MICRO_VERSION=9 +MINOR_VERSION=2 +MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION= +EXTRA_VERSION=beta1 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/folderview.c b/src/folderview.c index 42965160..50b8ef10 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -2629,7 +2629,7 @@ static void folderview_search_cb(FolderView *folderview, guint action, item = folderview_get_selected_item(folderview); if (item) - summary_search(folderview->summaryview, item); + summary_search(item); } static void folderview_property_cb(FolderView *folderview, guint action, diff --git a/src/mainwindow.c b/src/mainwindow.c index d7f90d19..60e6fa3c 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -2762,7 +2762,7 @@ static void search_cb(MainWindow *mainwin, guint action, GtkWidget *widget) FolderItem *item; item = folderview_get_selected_item(mainwin->folderview); - summary_search(mainwin->summaryview, item); + summary_search(item); } else message_search(mainwin->messageview); } diff --git a/src/summary_search.c b/src/summary_search.c index d6a76017..e63f1ef9 100644 --- a/src/summary_search.c +++ b/src/summary_search.c @@ -100,8 +100,6 @@ static struct SummarySearchWindow { GtkWidget *save_btn; GtkWidget *close_btn; - SummaryView *summaryview; - FilterRule *rule; gboolean requires_full_headers; @@ -169,7 +167,7 @@ static gboolean key_pressed (GtkWidget *widget, gpointer data); -void summary_search(SummaryView *summaryview, FolderItem *item) +void summary_search(FolderItem *item) { gchar *id; @@ -178,8 +176,6 @@ void summary_search(SummaryView *summaryview, FolderItem *item) else gtk_widget_hide(search_window.window); - search_window.summaryview = summaryview; - if (item) { id = folder_item_get_identifier(item); gtk_entry_set_text(GTK_ENTRY(search_window.folder_entry), id); @@ -225,6 +221,7 @@ static void summary_search_create(void) GtkWidget *status_label; + GtkWidget *btn_hbox; GtkWidget *hbbox; GtkWidget *save_btn; GtkWidget *close_btn; @@ -382,20 +379,18 @@ static void summary_search_create(void) gtk_box_pack_start(GTK_BOX(confirm_area), status_label, FALSE, FALSE, 0); - hbbox = gtk_hbutton_box_new(); + btn_hbox = gtk_hbox_new(FALSE, 6); + gtk_widget_show(btn_hbox); + gtk_box_pack_end(GTK_BOX(confirm_area), btn_hbox, FALSE, FALSE, 0); + + gtkut_stock_button_set_create(&hbbox, &close_btn, GTK_STOCK_CLOSE, + NULL, NULL, NULL, NULL); gtk_widget_show(hbbox); - gtk_button_box_set_layout(GTK_BUTTON_BOX(hbbox), GTK_BUTTONBOX_END); - gtk_box_set_spacing(GTK_BOX(hbbox), 6); - gtk_box_pack_end(GTK_BOX(confirm_area), hbbox, FALSE, FALSE, 0); + gtk_box_pack_end(GTK_BOX(btn_hbox), hbbox, FALSE, FALSE, 0); save_btn = gtk_button_new_with_mnemonic(_("_Save as search folder")); - gtk_box_pack_start(GTK_BOX(hbbox), save_btn, FALSE, FALSE, 0); gtk_widget_show(save_btn); - - close_btn = gtk_button_new_from_stock(GTK_STOCK_CLOSE); - GTK_WIDGET_SET_FLAGS(close_btn, GTK_CAN_DEFAULT); - gtk_box_pack_start(GTK_BOX(hbbox), close_btn, FALSE, FALSE, 0); - gtk_widget_show(close_btn); + gtk_box_pack_end(GTK_BOX(btn_hbox), save_btn, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(clear_btn), "clicked", G_CALLBACK(summary_search_clear), NULL); @@ -878,11 +873,15 @@ static SummarySearchSaveDialog *summary_search_save_dialog_create(void) &cancel_btn, GTK_STOCK_CANCEL, NULL, NULL); gtk_box_pack_end(GTK_BOX(confirm_area), hbbox, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS(ok_btn, GTK_CAN_DEFAULT); + gtk_widget_grab_default(ok_btn); g_signal_connect(G_OBJECT(ok_btn), "clicked", G_CALLBACK(summary_search_save_ok), dialog); g_signal_connect(G_OBJECT(cancel_btn), "clicked", G_CALLBACK(summary_search_save_cancel), dialog); + gtk_widget_grab_focus(name_entry); + gtk_widget_show_all(window); dialog->window = window; @@ -960,35 +959,36 @@ static void summary_search_vfolder_update_rule(FolderItem *item) static void summary_search_save(GtkButton *button, gpointer data) { SummarySearchSaveDialog *dialog; + const gchar *id, *name; + FolderItem *parent, *item; dialog = summary_search_save_dialog_create(); + id = gtk_entry_get_text(GTK_ENTRY(search_window.folder_entry)); + if (id && *id) + gtk_entry_set_text(GTK_ENTRY(dialog->folder_entry), id); while (!dialog->finished) gtk_main_iteration(); - if (!dialog->cancelled) { - const gchar *id, *name; - FolderItem *parent, *item; - - id = gtk_entry_get_text(GTK_ENTRY(dialog->folder_entry)); - parent = folder_find_item_from_identifier(id); - name = gtk_entry_get_text(GTK_ENTRY(dialog->name_entry)); - if (parent && name && *name) { - if (folder_find_child_item_by_name(parent, name)) { - alertpanel_error - (_("The folder `%s' already exists."), + if (dialog->cancelled) { + summary_search_save_dialog_destroy(dialog); + return; + } + + id = gtk_entry_get_text(GTK_ENTRY(dialog->folder_entry)); + parent = folder_find_item_from_identifier(id); + name = gtk_entry_get_text(GTK_ENTRY(dialog->name_entry)); + if (parent && name && *name) { + if (folder_find_child_item_by_name(parent, name)) { + alertpanel_error(_("The folder `%s' already exists."), name); - } else { - item = summary_search_create_vfolder - (parent, name); - if (item) { - summary_search_vfolder_update_rule - (item); - folderview_append_item(folderview_get(), - NULL, item, - TRUE); - folder_write_list(); - } + } else { + item = summary_search_create_vfolder(parent, name); + if (item) { + summary_search_vfolder_update_rule(item); + folderview_append_item(folderview_get(), + NULL, item, TRUE); + folder_write_list(); } } } diff --git a/src/summary_search.h b/src/summary_search.h index 2b0d3cc6..128007cd 100644 --- a/src/summary_search.h +++ b/src/summary_search.h @@ -22,10 +22,8 @@ #include -#include "summaryview.h" #include "folder.h" -void summary_search (SummaryView *summaryview, - FolderItem *item); +void summary_search (FolderItem *item); #endif /* __SUMMARY_SEARCH_H__ */ -- cgit v1.2.3