Move asdbus stuff to src/hildon2, as it's hildon/maemo specific.
[modest] / src / hildon2 / modest-account-view-window.c
index 5f3eeb0..4a05ea8 100644 (file)
@@ -45,7 +45,7 @@
 #include "modest-account-settings-dialog.h"
 #include <modest-utils.h>
 #include "widgets/modest-ui-constants.h"
-#include <hildon/hildon-pannable-area.h>
+#include <hildon/hildon.h>
 
 /* 'private'/'protected' functions */
 static void                            modest_account_view_window_class_init   (ModestAccountViewWindowClass *klass);
@@ -163,12 +163,12 @@ on_account_activated (GtkTreeView *account_view,
                      ModestAccountViewWindow *self)
 {
        ModestAccountViewWindowPrivate *priv = MODEST_ACCOUNT_VIEW_WINDOW_GET_PRIVATE (self);
-       
+
        gchar* account_name = modest_account_view_get_path_account (priv->account_view, path);
        if (!account_name)
                return;
-               
-       /* Check whether any connections are active, and cancel them if 
+
+       /* Check whether any connections are active, and cancel them if
         * the user wishes.
         */
        if (modest_ui_actions_check_for_active_account ((ModestWindow *) self, account_name)) {
@@ -176,19 +176,24 @@ on_account_activated (GtkTreeView *account_view,
                ModestProtocolType proto_type;
 
                /* Get proto */
-               proto_type = modest_account_mgr_get_store_protocol (modest_runtime_get_account_mgr (), 
+               proto_type = modest_account_mgr_get_store_protocol (modest_runtime_get_account_mgr (),
                                                                    account_name);
                proto = (ModestAccountProtocol *)
-                       modest_protocol_registry_get_protocol_by_type (modest_runtime_get_protocol_registry (), 
+                       modest_protocol_registry_get_protocol_by_type (modest_runtime_get_protocol_registry (),
                                                                       proto_type);
 
                /* Create and show the dialog */
                if (proto && MODEST_IS_ACCOUNT_PROTOCOL (proto)) {
                        ModestAccountSettingsDialog *dialog =
                                modest_account_protocol_get_account_settings_dialog (proto, account_name);
-                       modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (dialog), GTK_WINDOW (self));
-                       gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), FALSE);
-                       gtk_widget_show (GTK_WIDGET (dialog));
+
+                       if (dialog) {
+                               modest_window_mgr_set_modal (modest_runtime_get_window_mgr (),
+                                                            (GtkWindow *) dialog,
+                                                            (GtkWindow *) self);
+                               gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), FALSE);
+                               gtk_widget_show (GTK_WIDGET (dialog));
+                       }
                }
        }
        g_free (account_name);
@@ -206,7 +211,9 @@ modest_account_view_window_init (ModestAccountViewWindow *self)
        ModestAccountViewWindowPrivate *priv;
        GtkWidget *main_vbox, *pannable;
        GtkWidget *align;
-
+#ifdef MODEST_TOOLKIT_HILDON2
+       GtkWidget *live_search;
+#endif
 
        /* Specify a default size */
        gtk_window_set_default_size (GTK_WINDOW (self), -1, MODEST_DIALOG_WINDOW_MAX_HEIGHT);
@@ -223,9 +230,18 @@ modest_account_view_window_init (ModestAccountViewWindow *self)
        priv = MODEST_ACCOUNT_VIEW_WINDOW_GET_PRIVATE(self);
        priv->acc_removed_handler = 0;
        priv->account_view = modest_account_view_new (modest_runtime_get_account_mgr());
+
+#ifdef MODEST_TOOLKIT_HILDON2
+       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), GTK_WIDGET (priv->account_view));
+#endif
+
        modest_account_view_set_picker_mode (MODEST_ACCOUNT_VIEW (priv->account_view), TRUE);
 
        main_vbox = GTK_DIALOG (self)->vbox;
+#ifdef MODEST_TOOLKIT_HILDON2
+       gtk_box_pack_end (GTK_BOX (main_vbox), live_search, FALSE, FALSE, 0);
+#endif
 
        pannable = hildon_pannable_area_new ();
        gtk_widget_show (pannable);