From 79acfb0d9e8e1ade6eedcc636cba74f7e9cfd939 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz Date: Mon, 22 Sep 2008 20:45:00 +0000 Subject: [PATCH] * Lots of build fixes due to a very bad commit with the merge not finished. pmo-trunk-r5680 --- src/maemo/modest-maemo-security-options-view.c | 10 +- src/maemo/modest-main-window.c | 20 +- src/modest-plugin-factory.c | 2 +- src/modest-runtime.h | 4 - src/modest-singletons.c | 29 --- src/modest-singletons.h | 15 -- src/modest-tny-account-store.c | 17 +- src/modest-utils.c | 255 ------------------------ src/modest-utils.h | 27 --- 9 files changed, 16 insertions(+), 363 deletions(-) diff --git a/src/maemo/modest-maemo-security-options-view.c b/src/maemo/modest-maemo-security-options-view.c index 9595fca..8593897 100644 --- a/src/maemo/modest-maemo-security-options-view.c +++ b/src/maemo/modest-maemo-security-options-view.c @@ -144,7 +144,7 @@ create_incoming_security (ModestSecurityOptionsView* self, GtkSizeGroup *size_group) { ModestSecurityOptionsViewPrivate *ppriv; - GtkWidget *combo_caption, *check_caption, *entry_caption; + GtkWidget *combo_caption, *check_caption, *entry_caption = NULL; ppriv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self); @@ -241,8 +241,8 @@ create_outgoing_security (ModestSecurityOptionsView* self, GtkSizeGroup *size_group) { ModestSecurityOptionsViewPrivate *ppriv; - GtkWidget *sec_caption, *auth_caption, *user_caption; - GtkWidget *pwd_caption, *port_caption; + GtkWidget *sec_caption, *auth_caption, *user_caption = NULL; + GtkWidget *pwd_caption = NULL, *port_caption = NULL; ppriv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self); @@ -434,12 +434,12 @@ modest_maemo_security_options_view_changed (ModestSecurityOptionsView* self, ModestSecurityOptionsViewPrivate *ppriv; gint server_port; + ppriv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self); + /* If we're not showing the port number then it never changes */ if (!ppriv->full) return FALSE; - ppriv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self); - if (self->type == MODEST_SECURITY_OPTIONS_INCOMING) server_settings = modest_account_settings_get_store_settings (settings); else diff --git a/src/maemo/modest-main-window.c b/src/maemo/modest-main-window.c index 7edf963..e252f7f 100644 --- a/src/maemo/modest-main-window.c +++ b/src/maemo/modest-main-window.c @@ -3056,10 +3056,9 @@ on_window_destroy (GtkObject *widget, remove_banners (MODEST_MAIN_WINDOW (widget)); } -<<<<<<< .working static void opening_banner_destroyed (gpointer data, - GObject *where_the_object_was) + GObject *where_the_object_was) { ModestMainWindowPrivate *priv = NULL; @@ -3068,19 +3067,6 @@ opening_banner_destroyed (gpointer data, priv->opening_banner = NULL; } -======= -static void -retrieving_banner_destroyed (gpointer data, - GObject *where_the_object_was) -{ - ModestMainWindowPrivate *priv = NULL; - - priv = MODEST_MAIN_WINDOW_GET_PRIVATE (data); - - priv->retrieving_banner = NULL; -} - ->>>>>>> .merge-right.r5668 static gboolean show_opening_banner (gpointer user_data) { @@ -3106,8 +3092,8 @@ show_opening_banner (gpointer user_data) /* We need this because banners in Maemo could be destroyed by dialogs so we need to properly update our reference to it */ - g_object_weak_ref (G_OBJECT (priv->retrieving_banner), - retrieving_banner_destroyed, + g_object_weak_ref (G_OBJECT (priv->updating_banner), + updating_banner_destroyed, user_data); gdk_threads_leave (); } diff --git a/src/modest-plugin-factory.c b/src/modest-plugin-factory.c index f7905b2..185a02e 100644 --- a/src/modest-plugin-factory.c +++ b/src/modest-plugin-factory.c @@ -189,7 +189,7 @@ modest_plugin_factory_load_all (ModestPluginFactory *self) static ModestPlugin* modest_plugin_factory_load (const gchar *file) { - ModestPlugin *plugin; + ModestPlugin *plugin = NULL; GKeyFile *plugin_file = NULL; gchar *plugin_name, *dir, *path; GTypeModule *type_module; diff --git a/src/modest-runtime.h b/src/modest-runtime.h index 0d45ae0..c2177d8 100644 --- a/src/modest-runtime.h +++ b/src/modest-runtime.h @@ -42,13 +42,9 @@ #include #include #include "widgets/modest-window-mgr.h" -<<<<<<< .working -#include -======= #include #include #include ->>>>>>> .merge-right.r5668 G_BEGIN_DECLS diff --git a/src/modest-singletons.c b/src/modest-singletons.c index 28f50a1..1883f20 100644 --- a/src/modest-singletons.c +++ b/src/modest-singletons.c @@ -48,13 +48,9 @@ struct _ModestSingletonsPrivate { TnyPlatformFactory *platform_fact; TnyDevice *device; ModestWindowMgr *window_mgr; -<<<<<<< .working - TnyStreamCache *images_cache; -======= ModestProtocolRegistry *protocol_registry; ModestPluginFactory *plugin_factory; TnyStreamCache *images_cache; ->>>>>>> .merge-right.r5668 }; #define MODEST_SINGLETONS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ MODEST_TYPE_SINGLETONS, \ @@ -113,9 +109,6 @@ modest_singletons_init (ModestSingletons *obj) priv->platform_fact = NULL; priv->device = NULL; priv->window_mgr = NULL; -<<<<<<< .working - priv->images_cache = NULL; -======= priv->protocol_registry = NULL; priv->plugin_factory = NULL; @@ -126,7 +119,6 @@ modest_singletons_init (ModestSingletons *obj) } modest_protocol_registry_set_to_default (priv->protocol_registry); priv->images_cache = NULL; ->>>>>>> .merge-right.r5668 priv->conf = modest_conf_new (); if (!priv->conf) { @@ -175,16 +167,6 @@ modest_singletons_init (ModestSingletons *obj) g_printerr ("modest: cannot create modest window manager instance\n"); return; } -<<<<<<< .working - - images_cache_path = g_build_filename (g_get_home_dir (), MODEST_DIR, MODEST_IMAGES_CACHE_DIR, NULL); - priv->images_cache = tny_fs_stream_cache_new (images_cache_path, MODEST_IMAGES_CACHE_SIZE); - g_free (images_cache_path); - if (!priv->images_cache) { - g_printerr ("modest: cannot create images cache instance\n"); - return; - } -======= priv->plugin_factory = modest_plugin_factory_new (); if (!priv->plugin_factory) { @@ -200,7 +182,6 @@ modest_singletons_init (ModestSingletons *obj) return; } ->>>>>>> .merge-right.r5668 } static void @@ -358,15 +339,6 @@ modest_singletons_get_window_mgr (ModestSingletons *self) g_return_val_if_fail (self, NULL); return MODEST_SINGLETONS_GET_PRIVATE(self)->window_mgr; } -<<<<<<< .working - -TnyStreamCache* -modest_singletons_get_images_cache (ModestSingletons *self) -{ - g_return_val_if_fail (self, NULL); - return MODEST_SINGLETONS_GET_PRIVATE(self)->images_cache; -} -======= ModestProtocolRegistry* modest_singletons_get_protocol_registry (ModestSingletons *self) @@ -389,4 +361,3 @@ modest_singletons_get_plugin_factory (ModestSingletons *self) return MODEST_SINGLETONS_GET_PRIVATE (self)->plugin_factory; } ->>>>>>> .merge-right.r5668 diff --git a/src/modest-singletons.h b/src/modest-singletons.h index a54b0b0..d2669ef 100644 --- a/src/modest-singletons.h +++ b/src/modest-singletons.h @@ -41,12 +41,8 @@ #include #include "modest-plugin-factory.h" #include "widgets/modest-window-mgr.h" -<<<<<<< .working -#include -======= #include "modest-protocol-registry.h" #include ->>>>>>> .merge-right.r5668 G_BEGIN_DECLS @@ -194,16 +190,6 @@ ModestMailOperationQueue* modest_singletons_get_mail_operation_queue (ModestSing **/ ModestWindowMgr* modest_singletons_get_window_mgr (ModestSingletons *self); -<<<<<<< .working -/** - * modest_singletons_get_images_cache: - * @self: a #ModestSingletons - * - * Gets the #TnyStreamCache used to store the external images cache. - */ -TnyStreamCache* modest_singletons_get_images_cache (ModestSingletons *self); - -======= /** * modest_singletons_get_protocol_registry: * @self: @@ -231,7 +217,6 @@ TnyStreamCache* modest_singletons_get_images_cache (ModestSing */ ModestPluginFactory* modest_singletons_get_plugin_factory (ModestSingletons *self); ->>>>>>> .merge-right.r5668 G_END_DECLS #endif /* __MODEST_SINGLETONS_H__ */ diff --git a/src/modest-tny-account-store.c b/src/modest-tny-account-store.c index f63e495..5344694 100644 --- a/src/modest-tny-account-store.c +++ b/src/modest-tny-account-store.c @@ -490,13 +490,6 @@ show_password_warning_only (const gchar *msg) static void show_wrong_password_dialog (TnyAccount *account) { -<<<<<<< .working - /* This is easier than using a struct for the user_data: */ - ModestTnyAccountStore *self = modest_runtime_get_account_store(); - GtkWidget *dialog = NULL; - -======= ->>>>>>> .merge-right.r5668 if (g_object_get_data (G_OBJECT (account), "connection_specific") != NULL) { modest_ui_actions_on_smtp_servers (NULL, NULL); } else { @@ -1043,7 +1036,7 @@ modest_tny_account_store_alert (TnyAccountStore *self, GError *error) { ModestProtocolType protocol_type = MODEST_PROTOCOL_REGISTRY_TYPE_INVALID; - ModestProtocol *protocol; + ModestProtocol *protocol = NULL; const gchar* server_name = ""; gchar *prompt = NULL; gboolean retval = TRUE; @@ -1077,7 +1070,9 @@ modest_tny_account_store_alert (TnyAccountStore *self, case TNY_SERVICE_ERROR_UNAVAILABLE: /* You must be working online for this operation */ case TNY_SERVICE_ERROR_CONNECT: - prompt = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_CONNECT_ERROR, server_name); + if (protocol) { + prompt = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_CONNECT_ERROR, server_name); + } if (!prompt) { g_return_val_if_reached (FALSE); } @@ -1087,7 +1082,9 @@ modest_tny_account_store_alert (TnyAccountStore *self, /* It seems that there's no better error to show with * POP and IMAP because TNY_SERVICE_ERROR_AUTHENTICATE * may appear if there's a timeout during auth */ - prompt = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_AUTH_ERROR, server_name); + if (protocol) { + prompt = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_AUTH_ERROR, server_name); + } if (!prompt) { g_return_val_if_reached (FALSE); } diff --git a/src/modest-utils.c b/src/modest-utils.c index cffea3b..67a4b02 100644 --- a/src/modest-utils.c +++ b/src/modest-utils.c @@ -43,14 +43,9 @@ #include #include "modest-utils.h" #include "modest-platform.h" -<<<<<<< .working -#include "modest-account-mgr-helpers.h" -#include "modest-text-utils.h" -======= #include #include "modest-account-mgr-helpers.h" #include "modest-text-utils.h" ->>>>>>> .merge-right.r5668 #include #include "widgets/modest-header-view.h" #include "widgets/modest-main-window.h" @@ -542,255 +537,6 @@ modest_utils_get_available_space (const gchar *maildir_path) return (guint64) size; } -<<<<<<< .working - -static void -on_destroy_dialog (GtkDialog *dialog) -{ - gtk_widget_destroy (GTK_WIDGET(dialog)); - if (gtk_events_pending ()) - gtk_main_iteration (); -} - -static guint -checked_modest_sort_criterium_view_add_sort_key (ModestSortCriteriumView *view, const gchar* key, guint max) -{ - gint sort_key; - - g_return_val_if_fail (view && MODEST_IS_SORT_CRITERIUM_VIEW(view), 0); - g_return_val_if_fail (key, 0); - - sort_key = modest_sort_criterium_view_add_sort_key (view, key); - if (sort_key < 0 || sort_key >= max) { - g_warning ("%s: out of range (%d) for %s", __FUNCTION__, sort_key, key); - return 0; - } else - return (guint)sort_key; -} - -static void -launch_sort_headers_dialog (GtkWindow *parent_window, - GtkDialog *dialog) -{ - ModestHeaderView *header_view = NULL; - GList *cols = NULL; - GtkSortType sort_type; - gint sort_key; - gint default_key = 0; - gint result; - gboolean outgoing = FALSE; - gint current_sort_colid = -1; - GtkSortType current_sort_type; - gint attachments_sort_id; - gint priority_sort_id; - GtkTreeSortable *sortable; - - /* Get header window */ - if (MODEST_IS_MAIN_WINDOW (parent_window)) { - header_view = MODEST_HEADER_VIEW(modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(parent_window), - MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW)); - } - if (!header_view) - return; - - /* Add sorting keys */ - cols = modest_header_view_get_columns (header_view); - if (cols == NULL) - return; -#define SORT_ID_NUM 6 - int sort_model_ids[SORT_ID_NUM]; - int sort_ids[SORT_ID_NUM]; - - outgoing = (GPOINTER_TO_INT (g_object_get_data(G_OBJECT(cols->data), MODEST_HEADER_VIEW_COLUMN))== - MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT); - - sort_key = checked_modest_sort_criterium_view_add_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), _("mcen_li_sort_sender_recipient"), - SORT_ID_NUM); - if (outgoing) { - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_TO_COLUMN; - sort_ids[sort_key] = MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT; - } else { - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_FROM_COLUMN; - sort_ids[sort_key] = MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN; - } - - sort_key = checked_modest_sort_criterium_view_add_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), _("mcen_li_sort_date"), - SORT_ID_NUM); - if (outgoing) { - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_DATE_SENT_TIME_T_COLUMN; - sort_ids[sort_key] = MODEST_HEADER_VIEW_COLUMN_COMPACT_SENT_DATE; - } else { - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_DATE_RECEIVED_TIME_T_COLUMN; - sort_ids[sort_key] = MODEST_HEADER_VIEW_COLUMN_COMPACT_RECEIVED_DATE; - } - default_key = sort_key; - - sort_key = checked_modest_sort_criterium_view_add_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), _("mcen_li_sort_subject"), - SORT_ID_NUM); - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_SUBJECT_COLUMN; - if (outgoing) - sort_ids[sort_key] = MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT; - else - sort_ids[sort_key] = MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN; - - sort_key = checked_modest_sort_criterium_view_add_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), _("mcen_li_sort_attachment"), - SORT_ID_NUM); - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN; - sort_ids[sort_key] = TNY_HEADER_FLAG_ATTACHMENTS; - attachments_sort_id = sort_key; - - sort_key = checked_modest_sort_criterium_view_add_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), _("mcen_li_sort_size"), - SORT_ID_NUM); - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_MESSAGE_SIZE_COLUMN; - sort_ids[sort_key] = 0; - - sort_key = checked_modest_sort_criterium_view_add_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), _("mcen_li_sort_priority"), - SORT_ID_NUM); - sort_model_ids[sort_key] = TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN; - sort_ids[sort_key] = TNY_HEADER_FLAG_PRIORITY_MASK; - priority_sort_id = sort_key; - - sortable = GTK_TREE_SORTABLE (gtk_tree_model_filter_get_model - (GTK_TREE_MODEL_FILTER (gtk_tree_view_get_model (GTK_TREE_VIEW (header_view))))); - /* Launch dialogs */ - if (!gtk_tree_sortable_get_sort_column_id (sortable, - ¤t_sort_colid, ¤t_sort_type)) { - modest_sort_criterium_view_set_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), default_key); - modest_sort_criterium_view_set_sort_order (MODEST_SORT_CRITERIUM_VIEW (dialog), GTK_SORT_DESCENDING); - } else { - modest_sort_criterium_view_set_sort_order (MODEST_SORT_CRITERIUM_VIEW (dialog), current_sort_type); - if (current_sort_colid == TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN) { - gpointer flags_sort_type_pointer; - flags_sort_type_pointer = g_object_get_data (G_OBJECT (cols->data), MODEST_HEADER_VIEW_FLAG_SORT); - if (GPOINTER_TO_INT (flags_sort_type_pointer) == TNY_HEADER_FLAG_PRIORITY_MASK) - modest_sort_criterium_view_set_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), priority_sort_id); - else - modest_sort_criterium_view_set_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), attachments_sort_id); - } else { - gint current_sort_keyid = 0; - while (current_sort_keyid < 6) { - if (sort_model_ids[current_sort_keyid] == current_sort_colid) - break; - else - current_sort_keyid++; - } - modest_sort_criterium_view_set_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog), current_sort_keyid); - } - } - - result = gtk_dialog_run (GTK_DIALOG (dialog)); - if (result == GTK_RESPONSE_OK) { - sort_key = modest_sort_criterium_view_get_sort_key (MODEST_SORT_CRITERIUM_VIEW (dialog)); - if (sort_key < 0 || sort_key > SORT_ID_NUM -1) { - g_warning ("%s: out of range (%d)", __FUNCTION__, sort_key); - sort_key = 0; - } - - sort_type = modest_sort_criterium_view_get_sort_order (MODEST_SORT_CRITERIUM_VIEW (dialog)); - if (sort_model_ids[sort_key] == TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN) { - g_object_set_data (G_OBJECT(cols->data), MODEST_HEADER_VIEW_FLAG_SORT, - GINT_TO_POINTER (sort_ids[sort_key])); - /* This is a hack to make it resort rows always when flag fields are - * selected. If we do not do this, changing sort field from priority to - * attachments does not work */ - modest_header_view_sort_by_column_id (header_view, 0, sort_type); - } else { - gtk_tree_view_column_set_sort_column_id (GTK_TREE_VIEW_COLUMN (cols->data), - sort_model_ids[sort_key]); - } - - modest_header_view_sort_by_column_id (header_view, sort_model_ids[sort_key], sort_type); - gtk_tree_sortable_sort_column_changed (sortable); - } - - modest_widget_memory_save (modest_runtime_get_conf (), - G_OBJECT (header_view), MODEST_CONF_HEADER_VIEW_KEY); - - /* free */ - g_list_free(cols); -} - -void -modest_utils_run_sort_dialog (GtkWindow *parent_window, - ModestSortDialogType type) -{ - GtkWidget *dialog = NULL; - - /* Build dialog */ - dialog = modest_platform_create_sort_dialog (parent_window); - if (dialog == NULL) - return; - modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), - GTK_WINDOW (dialog)); - - /* Fill sort keys */ - switch (type) { - case MODEST_SORT_HEADERS: - launch_sort_headers_dialog (parent_window, - GTK_DIALOG(dialog)); - break; - } - - /* Free */ - on_destroy_dialog (GTK_DIALOG(dialog)); -} - - -gchar * -modest_images_cache_get_id (const gchar *account, const gchar *uri) -{ - GnomeVFSURI *vfs_uri; - gchar *result; - - vfs_uri = gnome_vfs_uri_new (uri); - if (vfs_uri == NULL) - return NULL; - - result = g_strdup_printf ("%s__%x", account, gnome_vfs_uri_hash (vfs_uri)); - gnome_vfs_uri_unref (vfs_uri); - - return result; -} - -gchar * -modest_utils_get_account_name_from_recipient (const gchar *from_header) -{ - gchar *account_name = NULL; - ModestAccountMgr *mgr = NULL; - GSList *accounts = NULL, *node = NULL; - - g_return_val_if_fail (from_header, NULL); - - mgr = modest_runtime_get_account_mgr (); - accounts = modest_account_mgr_account_names (mgr, TRUE); - - for (node = accounts; node != NULL; node = g_slist_next (node)) { - gchar *from = - modest_account_mgr_get_from_string (mgr, node->data); - - if (from) { - gchar *from_email = - modest_text_utils_get_email_address (from); - - if (from_email) { - if (!modest_text_utils_utf8_strcmp (from_header, from_email, TRUE)) { - account_name = g_strdup (node->data); - g_free (from); - g_free (from_email); - break; - } - g_free (from_email); - } - g_free (from); - } - } - g_slist_foreach (accounts, (GFunc) g_free, NULL); - g_slist_free (accounts); - - return account_name; -} -======= - static void on_destroy_dialog (GtkDialog *dialog) { @@ -1055,4 +801,3 @@ modest_utils_on_entry_invalid_character (ModestValidatingEntry *self, modest_platform_information_banner (GTK_WIDGET (self), NULL, message); g_free (message); } ->>>>>>> .merge-right.r5668 diff --git a/src/modest-utils.h b/src/modest-utils.h index ff453b6..76a2027 100644 --- a/src/modest-utils.h +++ b/src/modest-utils.h @@ -161,32 +161,6 @@ gint modest_list_index (TnyList *list, GObject *object); */ guint64 modest_utils_get_available_space (const gchar *maildir_path); -<<<<<<< .working -/** - * modest_images_cache_get_id: - * @account: a #TnyAccount - * @uri: an uri string - * - * obtains the hash corresponding to an image external resource to be - * stored in image cache. - * - * Returns: a newly allocated string containing the hash key - */ -gchar *modest_images_cache_get_id (const gchar *account, const gchar *uri); - - -/** - * modest_utils_get_account_name_from_recipient: - * @from: the result of a call to tny_header_dup_from - * - * returns the account name that corresponds to the given from address - * - * Returns: a newly allocated string containing the account name or - * %NULL in case of error - */ -gchar *modest_utils_get_account_name_from_recipient (const gchar *from); - -======= /** * modest_images_cache_get_id: * @account: a #TnyAccount @@ -215,5 +189,4 @@ void modest_utils_on_entry_invalid_character (ModestValidatingEntry *self, const gchar* character, gpointer user_data); ->>>>>>> .merge-right.r5668 #endif /*__MODEST_MAEMO_UTILS_H__*/ -- 1.7.9.5