X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fdbus_api%2Fmodest-dbus-callbacks.c;h=d8d2abb35cf9e26d5d84cf259bcd9e3d99f2c605;hb=cdd7a6d4dad11f659c34d0d3841b79a01f21d0e8;hp=9832c3c7a66af967dfe395addb2abdec6438a84f;hpb=94bf2a181e8b2644f037246b2fc3a70c865c22e2;p=modest diff --git a/src/dbus_api/modest-dbus-callbacks.c b/src/dbus_api/modest-dbus-callbacks.c index 9832c3c..d8d2abb 100644 --- a/src/dbus_api/modest-dbus-callbacks.c +++ b/src/dbus_api/modest-dbus-callbacks.c @@ -46,12 +46,20 @@ #include #include #ifdef MODEST_HAVE_HILDON0_WIDGETS +#include #include #else +#include #include #endif #include +#ifdef MODEST_TOOLKIT_HILDON2 +#include +#include +#include +#endif + #include #include #include @@ -398,15 +406,17 @@ typedef struct { GtkWidget *animation; } OpenMsgPerformerInfo; +#ifndef MODEST_TOOLKIT_HILDON2 static gboolean on_show_opening_animation (gpointer userdata) { OpenMsgPerformerInfo *info = (OpenMsgPerformerInfo *) userdata; info->animation = modest_platform_animation_banner (NULL, NULL, _("mail_me_opening")); info->animation_timeout = 0; - + return FALSE; } +#endif static gboolean on_find_msg_async_destroy (gpointer userdata) @@ -575,7 +585,7 @@ on_open_message_performer (gboolean canceled, if (!account) { ModestTnyAccountStore *account_store; ModestTnyLocalFoldersAccount *local_folders_account; - + account_store = modest_runtime_get_account_store (); local_folders_account = MODEST_TNY_LOCAL_FOLDERS_ACCOUNT ( modest_tny_account_store_get_local_folders_account (account_store)); @@ -590,8 +600,9 @@ on_open_message_performer (gboolean canceled, on_find_msg_async_destroy (info); return; } - +#ifndef MODEST_TOOLKIT_HILDON2 info->animation_timeout = g_timeout_add (1000, on_show_opening_animation, info); +#endif /* Get message */ tny_folder_find_msg_async (folder, info->uri, find_msg_async_cb, NULL, info); g_object_unref (folder); @@ -708,7 +719,6 @@ on_remove_msgs_finished (ModestMailOperation *mail_op, { TnyHeader *header; ModestWindow *main_win = NULL, *msg_view = NULL; - ModestHeaderView *header_view; header = (TnyHeader *) user_data; @@ -727,12 +737,10 @@ on_remove_msgs_finished (ModestMailOperation *mail_op, } g_object_unref (header); - /* Refilter the header view explicitly */ - header_view = (ModestHeaderView *) - modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(main_win), - MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW); - if (header_view && MODEST_IS_HEADER_VIEW (header_view)) - modest_header_view_refilter (header_view); + /* Refilter the header views explicitely */ + + /* TODO: call modest_window_mgr_refilter_header_views */ + /* this call will go through all the windows, get the header views and refilter them */ } static gpointer @@ -1149,7 +1157,40 @@ on_open_default_inbox(GArray * arguments, gpointer data, osso_rpc_t * retval) return OSSO_OK; } +#ifdef MODEST_TOOLKIT_HILDON2 +static gboolean +on_idle_top_application (gpointer user_data) +{ + HildonWindowStack *stack; + GtkWidget *window; + + /* This is a GDK lock because we are an idle callback and + * the code below is or does Gtk+ code */ + + gdk_threads_enter (); /* CHECKED */ + stack = hildon_window_stack_get_default (); + window = GTK_WIDGET (hildon_window_stack_peek (stack)); + + if (window) { + gtk_window_present (GTK_WINDOW (window)); + } else { + ModestWindowMgr *mgr; + + mgr = modest_runtime_get_window_mgr (); + window = (GtkWidget *) modest_window_mgr_show_initial_window (mgr); + if (window) { + modest_platform_remove_new_mail_notifications (FALSE); + } else { + g_printerr ("modest: failed to get main window instance\n"); + } + } + + gdk_threads_leave (); /* CHECKED */ + + return FALSE; /* Do not call this callback again. */ +} +#else static gboolean on_idle_top_application (gpointer user_data) { @@ -1161,11 +1202,6 @@ on_idle_top_application (gpointer user_data) gdk_threads_enter (); /* CHECKED */ -#ifdef MODEST_TOOLKIT_HILDON2 - main_win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (), - TRUE); - new_window = TRUE; -#else main_win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (), FALSE); @@ -1174,7 +1210,6 @@ on_idle_top_application (gpointer user_data) TRUE); new_window = TRUE; } -#endif if (main_win) { /* If we're showing an already existing window then @@ -1187,17 +1222,16 @@ on_idle_top_application (gpointer user_data) } } -#ifndef MODEST_TOOLKIT_HILDON2 if (main_win) { gtk_widget_show_all (GTK_WIDGET (main_win)); gtk_window_present (GTK_WINDOW (main_win)); } -#endif gdk_threads_leave (); /* CHECKED */ return FALSE; /* Do not call this callback again. */ } +#endif static gint on_top_application(GArray * arguments, gpointer data, osso_rpc_t * retval) @@ -1673,6 +1707,7 @@ add_folders_to_list (TnyFolderStore *folder_store, GList** list) tny_folder_store_get_folders (folder_store, all_folders, NULL /* query */, + FALSE, NULL /* error */); TnyIterator *iter = tny_list_create_iterator (all_folders);