X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-account-view.c;h=7a828fb789938dc849c2011d9ea7d70f4bb1af8e;hb=3ddc19113ea89a4ec61a855f4856bde2143c4694;hp=ebd618fc6e3267369e74b2d40ba9a82fefee45c0;hpb=69c85e3b653f739a565bfcd09c5400bad6f4f3c7;p=modest diff --git a/src/widgets/modest-account-view.c b/src/widgets/modest-account-view.c index ebd618f..7a828fb 100644 --- a/src/widgets/modest-account-view.c +++ b/src/widgets/modest-account-view.c @@ -32,6 +32,7 @@ #include #include +#include #include #include @@ -255,9 +256,9 @@ update_account_view (ModestAccountMgr *account_mgr, ModestAccountView *view) static void on_account_busy_changed(ModestAccountMgr *account_mgr, - const gchar *account_name, - gboolean busy, - ModestAccountView *self) + const gchar *account_name, + gboolean busy, + ModestAccountView *self) { GtkListStore *model = GTK_LIST_STORE(gtk_tree_view_get_model (GTK_TREE_VIEW(self))); GtkTreeIter iter; @@ -325,17 +326,41 @@ on_account_changed (TnyAccountStore *account_store, TnyAccount *account, gpointer user_data) { - ModestAccountView *self; - ModestAccountViewPrivate *priv; - + ModestAccountView *self = NULL; + ModestAccountViewPrivate *priv = NULL; + TnyTransportAccount *transport_account = NULL; + ModestTnySendQueue *send_queue = NULL; + g_return_if_fail (MODEST_IS_ACCOUNT_VIEW (user_data)); + g_return_if_fail (account); + g_return_if_fail (TNY_IS_ACCOUNT (account)); self = MODEST_ACCOUNT_VIEW (user_data); priv = MODEST_ACCOUNT_VIEW_GET_PRIVATE (self); g_warning ("account changed: %s", tny_account_get_id(account)); + /* Update account view */ update_account_view (priv->account_mgr, self); + + /* Get transport account */ + const gchar *modest_account_name = + modest_tny_account_get_parent_modest_account_name_for_server_account (account); + g_return_if_fail (modest_account_name); + + transport_account = (TnyTransportAccount*) + modest_tny_account_store_get_transport_account_for_open_connection (modest_runtime_get_account_store(), + modest_account_name); + + /* Restart send queue */ + if (transport_account) { + g_return_if_fail (TNY_IS_TRANSPORT_ACCOUNT(transport_account)); + send_queue = modest_runtime_get_send_queue (transport_account); + g_return_if_fail (MODEST_IS_TNY_SEND_QUEUE(send_queue)); + modest_tny_send_queue_try_to_send (send_queue); + + g_object_unref (transport_account); + } } @@ -460,10 +485,11 @@ init_view (ModestAccountView *self) * * djcb: indeed, they have been removed for post-bora, i added the ifdefs... */ -#ifdef MODEST_HILDON_VERSION_0 +#ifdef MODEST_HAVE_HILDON0_WIDGETS g_object_set(G_OBJECT(self), "allow-checkbox-mode", FALSE, NULL); g_object_set(G_OBJECT(toggle_renderer), "checkbox-mode", FALSE, NULL); -#endif /*MODEST_HILDON_VERSION_0 */ +#endif /* MODEST_HAVE_HILDON0_WIDGETS */ + g_signal_connect (G_OBJECT(toggle_renderer), "toggled", G_CALLBACK(on_account_default_toggled), self);