gpointer user_data);
static gboolean
-download_uncached_messages (TnyList *header_list, GtkWindow *win,
- gboolean reply_fwd);
+download_uncached_messages (TnyList *header_list, GtkWindow *win);
static gint
TnyList *headers);
-static void
-run_account_setup_wizard (ModestWindow *win)
+/* Show the account creation wizard dialog.
+ * returns: TRUE if an account was created. FALSE if the user cancelled.
+ */
+gboolean
+modest_run_account_setup_wizard (ModestWindow *win)
{
+ gboolean result = FALSE;
ModestEasysetupWizardDialog *wizard;
- g_return_if_fail (MODEST_IS_WINDOW(win));
+ if (!win)
+ win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr ());
+
+ g_return_val_if_fail (MODEST_IS_WINDOW(win), FALSE);
wizard = modest_easysetup_wizard_dialog_new ();
gtk_window_set_transient_for (GTK_WINDOW (wizard), GTK_WINDOW (win));
* be unusable, freezing the UI: */
/* gtk_window_set_modal (GTK_WINDOW (wizard), TRUE); */
- gtk_dialog_run (GTK_DIALOG (wizard));
+ gint dialog_response = gtk_dialog_run (GTK_DIALOG (wizard));
+ if (dialog_response == GTK_RESPONSE_CANCEL)
+ result = FALSE;
+ else {
+ /* Check whether an account was created: */
+ result = modest_account_mgr_has_accounts(modest_runtime_get_account_mgr(), TRUE);
+ }
+
gtk_widget_destroy (GTK_WIDGET (wizard));
+
+ return result;
}
if (TNY_IS_CAMEL_IMAP_FOLDER (folder))
/* tny_folder_sync_async(folder, FALSE, NULL, NULL, NULL); /\* FALSE --> don't expunge *\/ */
tny_folder_sync (folder, FALSE, &err); /* FALSE --> don't expunge */
-/* else if (TNY_IS_CAMEL_POP_FOLDER (folder)) */
+ else if (TNY_IS_CAMEL_POP_FOLDER (folder))
/* tny_folder_sync_async(folder, FALSE, NULL, NULL, NULL); /\* TRUE --> dont expunge *\/ */
-/* tny_folder_sync (folder, TRUE, &err); /\* TRUE --> expunge *\/ */
+ tny_folder_sync (folder, TRUE, &err); /* TRUE --> expunge */
else
/* local folders */
/* tny_folder_sync_async(folder, TRUE, NULL, NULL, NULL); /\* TRUE --> expunge *\/ */
/* This is currently only implemented for Maemo */
#ifdef MODEST_PLATFORM_MAEMO /* Defined in config.h */
if (!modest_account_mgr_has_accounts(modest_runtime_get_account_mgr(), TRUE)) {
- run_account_setup_wizard (win);
+ modest_run_account_setup_wizard (win);
return;
} else {
/* Show the list of accounts: */
/* if there are no accounts yet, just show the wizard */
if (!modest_account_mgr_has_accounts (modest_runtime_get_account_mgr(), TRUE)) {
- run_account_setup_wizard (win);
- return;
+ const gboolean created = modest_run_account_setup_wizard (win);
+ if (!created)
+ return;
}
account_name = modest_account_mgr_get_default_account (modest_runtime_get_account_mgr ());
goto cleanup;
}
- if (modest_account_mgr_get_bool (modest_runtime_get_account_mgr (), account_name,
- MODEST_ACCOUNT_USE_SIGNATURE, FALSE)) {
- signature = modest_account_mgr_get_string (modest_runtime_get_account_mgr (), account_name,
- MODEST_ACCOUNT_SIGNATURE, FALSE);
+ gboolean use_signature = FALSE;
+ signature = modest_account_mgr_get_signature (modest_runtime_get_account_mgr (), account_name, &use_signature);
+
+ if (use_signature) {
blank_and_signature = g_strconcat ("\n", signature, NULL);
- g_free (signature);
} else {
blank_and_signature = g_strdup ("");
}
+ g_free (signature);
+
msg = modest_tny_msg_new ("", from_str, "", "", "", blank_and_signature, NULL);
if (!msg) {
g_printerr ("modest: failed to create new msg\n");
/* Create and register edit window */
- /* This is destroyed by TOOD. */
+ /* This is destroyed by TODO. */
msg_win = modest_msg_edit_window_new (msg, account_name, FALSE);
mgr = modest_runtime_get_window_mgr ();
modest_window_mgr_register_window (mgr, msg_win);
(folder_type == TNY_FOLDER_TYPE_OUTBOX)) {
/* we cannot edit without a valid account... */
if (!modest_account_mgr_has_accounts(modest_runtime_get_account_mgr(), TRUE)) {
- run_account_setup_wizard(parent_win);
- goto cleanup;
+ const gboolean created = modest_run_account_setup_wizard(parent_win);
+ if (!created)
+ goto cleanup;
}
win = modest_msg_edit_window_new (msg, account, TRUE);
g_list_foreach (sel_list, (GFunc) gtk_tree_path_free, NULL);
g_list_free (sel_list);
- win = modest_msg_view_window_new_with_header_model (msg,
- account,
- (const gchar*) uid,
- model,
- row_reference);
+ win = modest_msg_view_window_new_with_header_model (
+ msg, account, (const gchar*) uid,
+ model, row_reference);
gtk_tree_row_reference_free (row_reference);
} else {
- win = modest_msg_view_window_new (msg, account, (const gchar*) uid);
+ win = modest_msg_view_window_new_for_attachment (msg, account, (const gchar*) uid);
}
} else {
- win = modest_msg_view_window_new (msg, account, (const gchar*) uid);
+ win = modest_msg_view_window_new_for_attachment (msg, account, (const gchar*) uid);
}
g_free (uid);
}
*/
static gboolean
download_uncached_messages (TnyList *header_list,
- GtkWindow *win,
- gboolean reply_fwd)
+ GtkWindow *win)
{
TnyIterator *iter;
gboolean retval;
/* Ask for user permission to download the messages */
retval = TRUE;
if (uncached_messages > 0) {
- GtkResponseType response;
- if (reply_fwd)
- response = modest_platform_run_confirmation_dialog (GTK_WINDOW (win),
- _("emev_nc_include_original"));
- else
- response =
+ gboolean download = TRUE;
+ if (!tny_device_is_online (modest_runtime_get_device())) {
+ GtkResponseType response =
modest_platform_run_confirmation_dialog (GTK_WINDOW (win),
ngettext("mcen_nc_get_msg",
"mcen_nc_get_msgs",
uncached_messages));
- if (response == GTK_RESPONSE_CANCEL)
- retval = FALSE;
- else {
+ if (response == GTK_RESPONSE_CANCEL) download = FALSE;
+ }
+ if (download) {
/* If a download will be necessary, make sure that we have a connection: */
retval = modest_platform_connect_and_wait(win, NULL);
+ } else {
+ retval = FALSE;
}
}
return retval;
/* we need an account when editing */
if (!modest_account_mgr_has_accounts(modest_runtime_get_account_mgr(), TRUE)) {
- run_account_setup_wizard (win);
- return;
+ const gboolean created = modest_run_account_setup_wizard (win);
+ if (!created)
+ return;
}
header_list = get_selected_headers (win);
/* Check that the messages have been previously downloaded */
do_retrieve = (action == ACTION_FORWARD) || (reply_forward_type != MODEST_TNY_MSG_REPLY_TYPE_CITE);
if (do_retrieve)
- continue_download = download_uncached_messages (header_list, GTK_WINDOW (win), TRUE);
+ continue_download = download_uncached_messages (header_list, GTK_WINDOW (win));
if (!continue_download) {
g_object_unref (header_list);
return;
gpointer user_data)
{
ModestMainWindow *win = NULL;
+ GtkWidget *folder_view = NULL;
+ TnyFolderStore *folder = NULL;
gboolean folder_empty = FALSE;
g_return_if_fail (MODEST_IS_MAIN_WINDOW (user_data));
win = MODEST_MAIN_WINDOW (user_data);
- if (new_messages == 0)
- return;
-
/* Set contents style of headers view */
- folder_empty = modest_main_window_get_style (win);
- if (folder_empty) {
- modest_main_window_set_contents_style (win,
+ if (modest_main_window_get_contents_style (win) == MODEST_MAIN_WINDOW_CONTENTS_STYLE_EMPTY) {
+ folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win),
+ MODEST_WIDGET_TYPE_FOLDER_VIEW);
+ folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view));
+
+
+ folder_empty = (tny_folder_get_all_count (TNY_FOLDER (folder)) == 0);
+
+ if (!folder_empty)
+ modest_main_window_set_contents_style (win,
MODEST_MAIN_WINDOW_CONTENTS_STYLE_HEADERS);
}
+ /* Notify new messages have been downloaded */
+ if (new_messages > 0)
+ modest_platform_on_new_msg ();
}
/*
ModestMainWindow *win = NULL;
GtkWidget *header_view;
TnyFolder *current_folder;
+ gboolean folder_empty = TRUE;
+ gboolean all_marked_as_deleted = TRUE;
g_return_if_fail (TNY_IS_FOLDER (folder));
}
/* Check if folder is empty and set headers view contents style */
- if (tny_folder_get_all_count (folder) == 0) {
+ folder_empty = (tny_folder_get_all_count (folder) == 0);
+ all_marked_as_deleted = modest_header_view_is_empty (MODEST_HEADER_VIEW(header_view));
+ folder_empty = folder_empty || all_marked_as_deleted ;
+ if (folder_empty) {
+
printf ("DEBUG: %s: tny_folder_get_all_count() returned 0.\n", __FUNCTION__);
modest_main_window_set_contents_style (win,
MODEST_MAIN_WINDOW_CONTENTS_STYLE_EMPTY);
if (!account_name) {
/* Run account setup wizard */
- run_account_setup_wizard(MODEST_WINDOW(edit_window));
- return;
+ const gboolean created = modest_run_account_setup_wizard(MODEST_WINDOW(edit_window));
+ if (!created)
+ return;
}
MsgData *data = modest_msg_edit_window_get_msg_data (edit_window);
account_name));
if (!transport_account) {
/* Run account setup wizard */
- run_account_setup_wizard(MODEST_WINDOW(edit_window));
- return;
+ const gboolean created = modest_run_account_setup_wizard(MODEST_WINDOW(edit_window));
+ if (!created)
+ return;
}
gchar *from = modest_account_mgr_get_from_string (account_mgr, account_name);
- /* mail content checks and dialogs */
- if (data->subject == NULL || data->subject[0] == '\0') {
- GtkResponseType response;
- response = modest_platform_run_confirmation_dialog (GTK_WINDOW (edit_window),
- _("mcen_nc_subject_is_empty_send"));
- if (response == GTK_RESPONSE_CANCEL) {
- g_free (account_name);
- return;
- }
- }
-
if (data->plain_body == NULL || data->plain_body[0] == '\0') {
GtkResponseType response;
gchar *note_message;
modest_ui_actions_rename_folder_error_handler (ModestMailOperation *mail_op,
gpointer user_data)
{
- GObject *win = modest_mail_operation_get_source (mail_op);
+ ModestMainWindow *window = MODEST_MAIN_WINDOW (user_data);
const GError *error = NULL;
const gchar *message = NULL;
message = _("!!! FIXME: Unable to rename");
}
- /* Show notification dialog */
- modest_platform_run_information_dialog ((win) ? GTK_WINDOW (win) : NULL, message);
- g_object_unref (win);
+ modest_platform_information_banner (GTK_WIDGET (window), NULL,
+ message);
}
void
ModestMailOperation *mail_op;
mail_op =
- modest_mail_operation_new_with_error_handling (MODEST_MAIL_OPERATION_TYPE_INFO,
+ modest_mail_operation_new_with_error_handling (MODEST_MAIL_OPERATION_TYPE_INFO,
G_OBJECT(main_window),
modest_ui_actions_rename_folder_error_handler,
- NULL);
-
+ main_window);
modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
mail_op);
modest_folder_view_select_folder (MODEST_FOLDER_VIEW(folder_view),
TNY_FOLDER(folder), TRUE);
-
modest_header_view_clear ((ModestHeaderView *) header_view);
modest_mail_operation_rename_folder (mail_op,
/* Check that the messages have been previously downloaded */
gboolean continue_download = TRUE;
if (ask)
- continue_download = download_uncached_messages (header_list, GTK_WINDOW (window), FALSE);
+ continue_download = download_uncached_messages (header_list, GTK_WINDOW (window));
if (continue_download)
modest_header_view_copy_selection (MODEST_HEADER_VIEW (focused_widget));
g_object_unref (header_list);