X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-platform.c;h=7a451b5f67da89cf48b8a0e3f34489e520dbde67;hp=c9364d7b2f8cdbd3bb52c926893126fb07030fe6;hb=a51b8c5d142db46e4d6828c054eb491bf7e1bd04;hpb=3bdc64c81733aabfe8af0b1b1e4119623d078f03 diff --git a/src/hildon2/modest-platform.c b/src/hildon2/modest-platform.c index c9364d7..7a451b5 100644 --- a/src/hildon2/modest-platform.c +++ b/src/hildon2/modest-platform.c @@ -109,6 +109,8 @@ #define FOLDER_PICKER_CURRENT_FOLDER "current-folder" #define MODEST_ALARMD_APPID PACKAGE_NAME +static ca_context *ca_con = NULL; + static void modest_platform_play_email_tone (void); @@ -163,23 +165,16 @@ gboolean modest_platform_init (int argc, char *argv[]) { osso_context_t *osso_context; - osso_hw_state_t hw_state = { 0 }; - DBusConnection *con; + DBusConnection *con; GSList *acc_names; - + if (!check_required_files ()) { g_printerr ("modest: missing required files\n"); return FALSE; } - - osso_context = osso_initialize(PACKAGE,PACKAGE_VERSION, - FALSE, NULL); - if (!osso_context) { - g_printerr ("modest: failed to acquire osso context\n"); - return FALSE; - } - modest_maemo_utils_set_osso_context (osso_context); + + osso_context = modest_maemo_utils_get_osso_context(); if ((con = osso_get_dbus_connection (osso_context)) == NULL) { g_printerr ("modest: could not get dbus connection\n"); @@ -710,20 +705,25 @@ folder_chooser_dialog_run (ModestFolderView *original, MODEST_FOLDER_VIEW (folder_view)); if (TNY_IS_ACCOUNT (current)) { - /* If the current account is the local folders account - then it's because we're creating a new folder from - folders view (we force the local account to be the - default location for new folders */ - if (modest_tny_account_is_virtual_local_folders (TNY_ACCOUNT (current))) + /* Local folders and MMC account are always shown + along with the currently visible server account */ + if (modest_tny_account_is_virtual_local_folders (TNY_ACCOUNT (current)) || + modest_tny_account_is_memory_card_account (TNY_ACCOUNT (current))) visible_id = g_strdup (modest_folder_view_get_account_id_of_visible_server_account (MODEST_FOLDER_VIEW (original))); else visible_id = g_strdup (tny_account_get_id (TNY_ACCOUNT (current))); - } else if (TNY_IS_FOLDER (current)) { + } else if (TNY_IS_FOLDER (current) && !TNY_IS_MERGE_FOLDER (current)) { TnyAccount *account; account = tny_folder_get_account (TNY_FOLDER (current)); if (account) { - visible_id = g_strdup (tny_account_get_id (account)); + if (modest_tny_account_is_virtual_local_folders (TNY_ACCOUNT (account)) || + modest_tny_account_is_memory_card_account (TNY_ACCOUNT (account))) { + visible_id = + g_strdup (modest_folder_view_get_account_id_of_visible_server_account (MODEST_FOLDER_VIEW (original))); + } else { + visible_id = g_strdup (tny_account_get_id (account)); + } g_object_unref (account); } } else { @@ -2594,7 +2594,6 @@ modest_platform_play_email_tone (void) gchar *mail_tone; gint mail_volume_int; int ret; - ca_context *ca_con = NULL; ca_proplist *pl = NULL; #ifdef MODEST_USE_PROFILE @@ -2622,14 +2621,15 @@ modest_platform_play_email_tone (void) if (mail_volume_int > 0) { - if ((ret = ca_context_create(&ca_con)) != CA_SUCCESS) { - g_warning("ca_context_create: %s\n", ca_strerror(ret)); - return; + if (ca_con == NULL) { + if ((ret = ca_context_create (&ca_con)) != CA_SUCCESS) { + g_warning("ca_context_create: %s\n", ca_strerror(ret)); + return; + } } if ((ret = ca_context_open(ca_con)) != CA_SUCCESS) { g_warning("ca_context_open: %s\n", ca_strerror(ret)); - ca_context_destroy(ca_con); return; } @@ -2641,7 +2641,6 @@ modest_platform_play_email_tone (void) g_debug("ca_context_play_full (vol %f): %s\n", (gfloat) mail_volume_int, ca_strerror(ret)); ca_proplist_destroy(pl); - ca_context_destroy(ca_con); } g_free (mail_tone);