X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-platform.c;h=f325631c93a411c17495ea8b34e523ed24b052cd;hp=f34538cd73b26b7a20af7ee655fa04521ae3b503;hb=6dfdd25404174f69b0b3b5da601b070b4450a047;hpb=d5dfd55a2963018c969e5a0c4a8da194d4b34f75 diff --git a/src/maemo/modest-platform.c b/src/maemo/modest-platform.c index f34538c..f325631 100644 --- a/src/maemo/modest-platform.c +++ b/src/maemo/modest-platform.c @@ -1336,12 +1336,52 @@ modest_platform_set_update_interval (guint minutes) return TRUE; } +void +modest_platform_push_email_notification(void) +{ + gboolean play_sound; + ModestWindow *main_window; + gboolean screen_on = TRUE, app_in_foreground; + + /* Check whether or not we should play a sound */ + play_sound = modest_conf_get_bool (modest_runtime_get_conf (), + MODEST_CONF_PLAY_SOUND_MSG_ARRIVE, + NULL); + + /* Get the screen status */ + main_window = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (), FALSE); + if (main_window) + screen_on = modest_main_window_screen_is_on (MODEST_MAIN_WINDOW (main_window)); + + /* Get the window status */ + app_in_foreground = hildon_program_get_is_topmost (hildon_program_get_instance ()); + + /* If the screen is on and the app is in the + foreground we don't show anything */ + if (!(screen_on && app_in_foreground)) { + /* Play a sound */ + if (play_sound) + hildon_play_system_sound (MODEST_NEW_MAIL_SOUND_FILE); + + /* Activate LED. This must be deactivated by + modest_platform_remove_new_mail_notifications */ +#ifdef MODEST_HAVE_MCE + osso_rpc_run_system (modest_maemo_utils_get_osso_context (), + MCE_SERVICE, + MCE_REQUEST_PATH, + MCE_REQUEST_IF, + MCE_ACTIVATE_LED_PATTERN, + NULL, + DBUS_TYPE_STRING, MODEST_NEW_MAIL_LIGHTING_PATTERN, + DBUS_TYPE_INVALID); +#endif + } +} + void modest_platform_on_new_headers_received (TnyList *header_list, gboolean show_visual) { - gboolean play_sound; - g_return_if_fail (TNY_IS_LIST(header_list)); if (tny_list_get_length(header_list) == 0) { @@ -1349,48 +1389,20 @@ modest_platform_on_new_headers_received (TnyList *header_list, return; } - /* Check whether or not we should play a sound */ - play_sound = modest_conf_get_bool (modest_runtime_get_conf (), - MODEST_CONF_PLAY_SOUND_MSG_ARRIVE, - NULL); - if (!show_visual) { - gboolean screen_on = TRUE, app_in_foreground; - ModestWindow *main_window; - - /* Get the screen status */ - main_window = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (), FALSE); - if (main_window) - screen_on = modest_main_window_screen_is_on (MODEST_MAIN_WINDOW (main_window)); - - /* Get the window status */ - app_in_foreground = hildon_program_get_is_topmost (hildon_program_get_instance ()); - - /* If the screen is on and the app is in the - foreground we don't show anything */ - if (!(screen_on && app_in_foreground)) { - /* Play a sound */ - if (play_sound) - hildon_play_system_sound (MODEST_NEW_MAIL_SOUND_FILE); - - /* Activate LED. This must be deactivated by - modest_platform_remove_new_mail_notifications */ -#ifdef MODEST_HAVE_MCE - osso_rpc_run_system (modest_maemo_utils_get_osso_context (), - MCE_SERVICE, - MCE_REQUEST_PATH, - MCE_REQUEST_IF, - MCE_ACTIVATE_LED_PATTERN, - NULL, - DBUS_TYPE_STRING, MODEST_NEW_MAIL_LIGHTING_PATTERN, - DBUS_TYPE_INVALID); -#endif - } + modest_platform_push_email_notification (); /* We do a return here to avoid indentation with an else */ return; } #ifdef MODEST_HAVE_HILDON_NOTIFY + gboolean play_sound; + + /* Check whether or not we should play a sound */ + play_sound = modest_conf_get_bool (modest_runtime_get_conf (), + MODEST_CONF_PLAY_SOUND_MSG_ARRIVE, + NULL); + HildonNotification *notification; TnyIterator *iter; GSList *notifications_list = NULL;