#include <modest-defs.h>
#include "modest-utils.h"
#include "modest-platform.h"
+#include "modest-account-mgr-helpers.h"
+#include "modest-text-utils.h"
#include <modest-local-folder-info.h>
GQuark
__FUNCTION__, orig_name);
return NULL;
}
-
+
if (g_strstr_len (orig_name, strlen(orig_name), "/") != NULL) {
g_warning ("%s: filename contains '/' character(s) (%s)",
__FUNCTION__, orig_name);
return NULL;
}
-
+
/* make a random subdir under /tmp or /var/tmp */
if (hash_base != NULL) {
hash_number = g_str_hash (hash_base);
fd = g_open (filepath, O_CREAT|O_WRONLY|O_TRUNC, 0644);
if (fd == -1) {
g_warning ("%s: failed to create '%s': %s",
- __FUNCTION__, filepath, g_strerror(errno));
+ __FUNCTION__, filepath, g_strerror(errno));
g_free (filepath);
g_free (tmpdir);
return NULL;
info->cancel = TRUE;
}
}
+typedef struct {
+ GtkProgressBar *progress;
+ gboolean not_finished;
+} KeepPulsing;
+
+static gboolean
+keep_pulsing (gpointer user_data)
+{
+ KeepPulsing *info = (KeepPulsing *) user_data;
+
+ gtk_progress_bar_pulse (info->progress);
+
+ if (!info->not_finished) {
+ g_object_unref (info->progress);
+ g_slice_free (KeepPulsing, info);
+ return FALSE;
+ }
+
+ return TRUE;
+}
GList*
modest_utils_get_supported_secure_authentication_methods (ModestTransportStoreProtocol proto,
info->cancel = FALSE;
info->error = NULL;
info->progress = gtk_progress_bar_new();
- /* TODO: Need logical_ID for the title: */
- info->dialog = gtk_dialog_new_with_buttons(_("Authentication"),
+
+ /* FIXME: the title (first arg) here is empty; there should be 'accountwizard_fi_authentication',
+ * but that does not exist yet; see bug #82487. so, for now, we simply leave it empty
+ */
+ info->dialog = gtk_dialog_new_with_buttons(" ",
parent_window, GTK_DIALOG_MODAL,
_("mcen_bd_dialog_cancel"),
GTK_RESPONSE_REJECT,
g_signal_connect(G_OBJECT(info->dialog), "response", G_CALLBACK(on_secure_auth_cancel), info);
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(info->dialog)->vbox),
- gtk_label_new("Checking for supported authentication types..."));
+ gtk_label_new(_("emev_ni_checking_supported_auth_methods")));
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(info->dialog)->vbox), info->progress);
gtk_widget_show_all(info->dialog);
- gtk_progress_bar_pulse(GTK_PROGRESS_BAR(info->progress));
+
+ KeepPulsing *pi = g_slice_new (KeepPulsing);
+ pi->progress = (GtkProgressBar *) g_object_ref (info->progress);
+ pi->not_finished = TRUE;
+
+ /* Starts the pulsing of the progressbar */
+ g_timeout_add (500, keep_pulsing, pi);
printf ("DEBUG: %s: STARTING.\n", __FUNCTION__);
+
tny_camel_account_get_supported_secure_authentication (
TNY_CAMEL_ACCOUNT (tny_account),
on_camel_account_get_supported_secure_authentication,
gtk_dialog_run (GTK_DIALOG (info->dialog));
+ pi->not_finished = FALSE;
+ /* pi is freed in the timeout itself to avoid a GCond here */
+
gtk_widget_destroy(info->dialog);
GList *result = info->result;
}
guint64
-modest_folder_available_space (const gchar *maildir_path)
+modest_utils_get_available_space (const gchar *maildir_path)
{
gchar *folder;
gchar *uri_string;
if (uri) {
if (gnome_vfs_get_volume_free_space (uri, &size) != GNOME_VFS_OK)
- size = -1;
+ size = 0;
gnome_vfs_uri_unref (uri);
} else {
- size = -1;
+ size = 0;
}
return (guint64) size;
}
+
+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;
+}