From cb2af4c518371ac1af7c0fdd48cd2e979ae54753 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Dapena=20Paz?= Date: Tue, 2 Feb 2010 17:57:37 +0100 Subject: [PATCH] Move live search support from modest accounts window to view. --- src/hildon2/modest-accounts-window.c | 26 +----------------------- src/widgets/modest-account-view.c | 36 ++++++++++++++++++++++++++++++++++ src/widgets/modest-account-view.h | 12 ++++++++++++ 3 files changed, 49 insertions(+), 25 deletions(-) diff --git a/src/hildon2/modest-accounts-window.c b/src/hildon2/modest-accounts-window.c index aba2350..497b1d3 100644 --- a/src/hildon2/modest-accounts-window.c +++ b/src/hildon2/modest-accounts-window.c @@ -338,25 +338,6 @@ modest_accounts_window_new_real (void) return MODEST_WINDOW(self); } -static gboolean -live_search_visible_func (GtkTreeModel *model, - GtkTreeIter *iter, - gchar *text, - gpointer data) -{ - gchar *display_name; - gboolean result; - gtk_tree_model_get(model, iter, - 1, - &display_name, -1); - - result = modest_text_utils_live_search_find (display_name, text); - - g_free (display_name); - - return result; -} - ModestWindow * modest_accounts_window_new (void) @@ -378,12 +359,7 @@ modest_accounts_window_new (void) priv = MODEST_ACCOUNTS_WINDOW_GET_PRIVATE(self); priv->account_view = GTK_WIDGET (modest_account_view_new (modest_runtime_get_account_mgr ())); #ifdef MODEST_TOOLKIT_HILDON2 - live_search = hildon_live_search_new (); - hildon_live_search_set_filter (HILDON_LIVE_SEARCH (live_search), - GTK_TREE_MODEL_FILTER (modest_account_view_get_filter (MODEST_ACCOUNT_VIEW (priv->account_view)))); - hildon_live_search_set_visible_func (HILDON_LIVE_SEARCH (live_search), live_search_visible_func, self, NULL); - hildon_live_search_set_text_column (HILDON_LIVE_SEARCH (live_search), - 1); + live_search = modest_account_view_setup_live_search (MODEST_ACCOUNT_VIEW (priv->account_view)); hildon_live_search_widget_hook (HILDON_LIVE_SEARCH (live_search), GTK_WIDGET (self), priv->account_view); gtk_box_pack_start (GTK_BOX (priv->box), live_search, FALSE, FALSE, 0); #endif diff --git a/src/widgets/modest-account-view.c b/src/widgets/modest-account-view.c index 19ad7e3..f78c5da 100644 --- a/src/widgets/modest-account-view.c +++ b/src/widgets/modest-account-view.c @@ -46,6 +46,7 @@ #include #ifdef MODEST_TOOLKIT_HILDON2 #include +#include #endif #ifdef MODEST_USE_LIBTIME #include @@ -988,3 +989,38 @@ modest_account_view_get_filter (ModestAccountView *self) return priv->filter; } + +#ifdef MODEST_TOOLKIT_HILDON2 +static gboolean +live_search_visible_func (GtkTreeModel *model, + GtkTreeIter *iter, + gchar *text, + gpointer data) +{ + gchar *display_name; + gboolean result; + gtk_tree_model_get(model, iter, + MODEST_ACCOUNT_VIEW_DISPLAY_NAME_COLUMN, + &display_name, -1); + + result = modest_text_utils_live_search_find (display_name, text); + + g_free (display_name); + + return result; +} + +GtkWidget * +modest_account_view_setup_live_search (ModestAccountView *self) +{ + GtkWidget *live_search; + live_search = hildon_live_search_new (); + hildon_live_search_set_filter (HILDON_LIVE_SEARCH (live_search), + GTK_TREE_MODEL_FILTER (modest_account_view_get_filter (MODEST_ACCOUNT_VIEW (self)))); + hildon_live_search_set_visible_func (HILDON_LIVE_SEARCH (live_search), live_search_visible_func, self, NULL); + hildon_live_search_set_text_column (HILDON_LIVE_SEARCH (live_search), + MODEST_ACCOUNT_VIEW_DISPLAY_NAME_COLUMN); + + return live_search; +} +#endif diff --git a/src/widgets/modest-account-view.h b/src/widgets/modest-account-view.h index 5bd761f..e1dc2a0 100644 --- a/src/widgets/modest-account-view.h +++ b/src/widgets/modest-account-view.h @@ -153,6 +153,18 @@ GtkTreeModel *modest_account_view_get_model (ModestAccountView *self); */ GtkTreeModel *modest_account_view_get_filter (ModestAccountView *self); +#ifdef MODEST_TOOLKIT_HILDON2 +/** + * modest_account_view_setup_live_search: + * @self: a #ModestAccountView + * + * obtains a properly set up #HildonLiveSearch for @self + * + * Returns: a #HildonLiveSearch + */ +GtkWidget *modest_account_view_setup_live_search (ModestAccountView *self); +#endif + G_END_DECLS #endif /* __MODEST_ACCOUNT_VIEW_H__ */ -- 1.7.9.5