[anjal] More tab specific search.
- From: Srinivasa Ragavan <sragavan src gnome org>
- To: svn-commits-list gnome org
- Subject: [anjal] More tab specific search.
- Date: Fri, 5 Jun 2009 04:56:44 -0400 (EDT)
commit 54dd8c5151172df3cee1be6b3a596d39b25111b4
Author: Srinivasa Ragavan <sragavan novell com>
Date: Fri Jun 5 14:27:29 2009 +0530
More tab specific search.
---
src/mail-folder-view.c | 22 ++++++++++++++++++++--
src/mail-folder-view.h | 1 +
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/src/mail-folder-view.c b/src/mail-folder-view.c
index 6ec18a4..3ff6377 100644
--- a/src/mail-folder-view.c
+++ b/src/mail-folder-view.c
@@ -70,6 +70,7 @@ enum {
MESSAGE_SHOWN,
VIEW_CLOSE,
MESSAGE_NEW,
+ SEARCH_SET,
LAST_SIGNAL
};
@@ -179,6 +180,10 @@ mfv_save (MailFolderView *mfv)
pos = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment ((GtkScrolledWindow *)mfv->priv->view_scroller));
state = g_strdup_printf ("%lf", pos);
camel_object_meta_set (mfv->priv->folder, "anjal:scroll_position", state);
+ camel_object_meta_set (mfv->priv->folder, "anjal:search_state", mfv->search_state);
+ camel_object_meta_set (mfv->priv->folder, "anjal:search", mfv->search);
+ camel_object_meta_set (mfv->priv->folder, "anjal:search_str", mfv->search_str);
+
camel_object_state_write(mfv->priv->folder);
g_free(state);
}
@@ -374,6 +379,10 @@ mfv_got_folder(char *uri, CamelFolder *folder, void *data)
}
camel_object_ref(folder);
+
+ mfv->search = camel_object_meta_get (folder, "anjal:search");
+ mfv->search_state = camel_object_meta_get (folder, "anjal:search_state");
+ mfv->search_str = camel_object_meta_get (folder, "anjal:search_str");
mfv_db_load (mfv, uri, folder);
}
@@ -405,7 +414,7 @@ void
mail_folder_view_set_folder (MailFolderView *mfv, CamelFolder *folder, const char *uri)
{
- if (mfv->priv->folder) {
+ if (mfv->priv->folder && 0) {
gtk_tree_view_set_model (GTK_TREE_VIEW (mfv->tree), NULL);
camel_object_unref (mfv->priv->folder);
g_object_unref (mfv->model);
@@ -449,6 +458,8 @@ mail_folder_view_set_folder (MailFolderView *mfv, CamelFolder *folder, const cha
}
}
gtk_widget_grab_focus ((GtkWidget *)mfv->tree);
+ if (mfv->search_str && *mfv->search_str)
+ g_signal_emit (mfv, signals[SEARCH_SET], 0);
/* FIXME: Set a signal emit and listen for it at note book and set the title appropriately */
}
@@ -487,7 +498,14 @@ mail_folder_view_class_init (MailFolderViewClass *klass)
e_marshal_VOID__POINTER_POINTER,
#endif
G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
-
+ signals[SEARCH_SET] =
+ g_signal_new ("search-set",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (MailFolderViewClass , search_set),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
mail_folder_view_parent_class = g_type_class_peek_parent (klass);
object_class->finalize = mail_folder_view_finalize;
diff --git a/src/mail-folder-view.h b/src/mail-folder-view.h
index 403c3f0..6a0746c 100644
--- a/src/mail-folder-view.h
+++ b/src/mail-folder-view.h
@@ -64,6 +64,7 @@ typedef struct _MailFolderViewClass {
void (*message_shown) (MailConvView *);
void (*view_close) (MailConvView *);
void (*message_new) (MailConvView *, gpointer, gpointer);
+ void (*search_set) (MailFolderView *);
} MailFolderViewClass;
MailFolderView * mail_folder_view_new (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]