aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.ja7
-rw-r--r--configure.in6
-rw-r--r--src/folderview.c2
-rw-r--r--src/mainwindow.c2
-rw-r--r--src/summary_search.c74
-rw-r--r--src/summary_search.h4
7 files changed, 57 insertions, 45 deletions
diff --git a/ChangeLog b/ChangeLog
index 6059a7c8..8115d016 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
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]
libsylph/folder.[ch]
libsylph/filter.[ch]
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 050b6e03..800c1480 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,12 @@
2005-12-19
+ * src/summary_search.[ch]
+ src/folderview.c
+ src/mainwindow.c: summary_search() の引数から SummaryView* を削除。
+ 検索フォルダとして保存するときにフォルダをあらかじめ指定。
+
+2005-12-19
+
* libsylph/virtual.[ch]
libsylph/folder.[ch]
libsylph/filter.[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 <glib.h>
-#include "summaryview.h"
#include "folder.h"
-void summary_search (SummaryView *summaryview,
- FolderItem *item);
+void summary_search (FolderItem *item);
#endif /* __SUMMARY_SEARCH_H__ */