#include <tny-camel-folder.h>
#include <tny-camel-imap-folder.h>
#include <tny-camel-pop-folder.h>
+#ifdef MODEST_TOOLKIT_HILDON2
+#include <hildon/hildon-pannable-area.h>
+#endif
#ifdef MODEST_PLATFORM_MAEMO
#include "maemo/modest-osso-state-saving.h"
if (header) {
gchar *subject;
subject = tny_header_dup_subject (header);
+ if (!subject)
+ subject = g_strdup (_("mail_va_no_subject"));
desc = g_strdup_printf ("%s", subject);
g_free (subject);
g_object_unref (header);
}
/* Free */
- if (next_row_reference != NULL)
+ if (gtk_tree_row_reference_valid (next_row_reference))
gtk_tree_row_reference_free (next_row_reference);
if (next_path != NULL)
gtk_tree_path_free (next_path);
- if (prev_row_reference != NULL)
+ if (gtk_tree_row_reference_valid (prev_row_reference))
gtk_tree_row_reference_free (prev_row_reference);
if (prev_path != NULL)
gtk_tree_path_free (prev_path);
error->code == TNY_SERVICE_ERROR_MESSAGE_NOT_AVAILABLE)) {
gchar *subject, *msg;
subject = tny_header_dup_subject (header);
+ if (!subject)
+ subject = g_strdup (_("mail_va_no_subject"));;
msg = g_strdup_printf (_("emev_ni_ui_imap_message_not_available_in_server"),
subject);
modest_platform_run_information_dialog (NULL, msg, FALSE);
protocol = modest_protocol_registry_get_protocol_by_type (protocol_registry, proto);
error_msg = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_MSG_NOT_AVAILABLE, subject);
- g_free (subject);
+ if (subject)
+ g_free (subject);
g_object_unref (header);
g_object_unref (iter);
gpointer user_data)
{
- GtkWidget *dialog;
-
- /* Create dialog */
- dialog = modest_details_dialog_new_with_header (GTK_WINDOW (window), header);
-
- /* Run dialog */
- modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (dialog), (GtkWindow *) window);
- gtk_widget_show_all (dialog);
-
- g_signal_connect_swapped (dialog, "response",
- G_CALLBACK (gtk_widget_destroy),
- dialog);
-}
-
-/*
- * Show the folder details in a ModestDetailsDialog widget
- */
-static void
-show_folder_details (TnyFolder *folder,
- GtkWindow *window)
-{
- GtkWidget *dialog;
-
- /* Create dialog */
- dialog = modest_details_dialog_new_with_folder (window, folder);
-
- /* Run dialog */
- gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
- gtk_widget_show_all (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
-
- gtk_widget_destroy (dialog);
+ modest_platform_run_header_details_dialog (GTK_WINDOW (window), header);
}
/*
/* This function should not be called for account items,
* because we dim the menu item for them. */
if (TNY_IS_FOLDER (folder_store)) {
- show_folder_details (TNY_FOLDER (folder_store), GTK_WINDOW (win));
+ modest_platform_run_folder_details_dialog (GTK_WINDOW (win),
+ TNY_FOLDER (folder_store));
}
g_object_unref (folder_store);
MODEST_PROTOCOL_REGISTRY_STORE_HAS_FOLDERS));
}
g_object_unref (local_account);
- g_object_unref (mmc_account);
+
+ /* It could not exist */
+ if (mmc_account)
+ g_object_unref (mmc_account);
}
/* Check the target folder rules */
GtkWidget *folder_view,
GtkWidget **tree_view)
{
- GtkWidget *dialog, *scroll;
+ GtkWidget *dialog;
+#ifdef MODEST_TOOLKIT_HILDON2
+ GtkWidget *pannable;
+#else
+ GtkWidget *scroll;
+#endif
GtkWidget *new_button, *ok_button;
dialog = gtk_dialog_new_with_buttons (_("mcen_ti_moveto_folders_title"),
g_object_set_data (G_OBJECT (dialog), MOVE_FOLDER_NEW_BUTTON, new_button);
/* Create scrolled window */
+#ifdef MODEST_TOOLKIT_HILDON2
+ pannable = hildon_pannable_area_new ();
+#else
scroll = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
+#endif
#ifdef MODEST_TOOLKIT_GTK
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN);
/* Hide special folders */
modest_folder_view_show_non_move_folders (MODEST_FOLDER_VIEW (*tree_view), FALSE);
+#ifdef MODEST_TOOLKIT_HILDON2
+ gtk_container_add (GTK_CONTAINER (pannable), *tree_view);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
+ pannable, TRUE, TRUE, 0);
+#else
gtk_container_add (GTK_CONTAINER (scroll), *tree_view);
-
/* Add scroll to dialog */
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
scroll, TRUE, TRUE, 0);
+#endif
+
gtk_widget_show_all (GTK_WIDGET(GTK_DIALOG(dialog)->vbox));
#ifndef MODEST_TOOLKIT_GTK
gtk_widget_destroy (GTK_WIDGET (helper->banner));
g_object_unref (helper->banner);
}
- if (helper->reference != NULL)
+ if (gtk_tree_row_reference_valid (helper->reference)) {
gtk_tree_row_reference_free (helper->reference);
+ helper->reference = NULL;
+ }
g_free (helper);
}
/* No more messages to view, so close this window */
modest_ui_actions_on_close_window (NULL, MODEST_WINDOW(self));
}
- } else if (MODEST_IS_MAIN_WINDOW (object) && helper->reference != NULL) {
+ } else if (MODEST_IS_MAIN_WINDOW (object) &&
+ gtk_tree_row_reference_valid (helper->reference)) {
GtkWidget *header_view;
GtkTreePath *path;
GtkTreeSelection *sel;
subject = tny_header_dup_subject (header);
msg = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_MSG_NOT_AVAILABLE, subject);
- g_free (subject);
+ if (subject)
+ g_free (subject);
if (msg == NULL) {
msg = g_strdup_printf (_("mail_ni_ui_folder_get_msg_folder_error"));
}