- try to improve send/receive.
* runtime:
- add option "tny-test-accounts", to automagically add
the tny test accounts
* tny-account-store:
- fix bug with getting transport account
- cache the accounts
pmo-trunk-r865
g_return_if_fail (MODEST_IS_MAIL_OPERATION (self));
g_return_if_fail (TNY_IS_TRANSPORT_ACCOUNT (transport_account));
+ g_message ("modest: send mail");
+
send_queue = TNY_SEND_QUEUE (modest_runtime_get_send_queue (transport_account));
if (!TNY_IS_SEND_QUEUE(send_queue))
g_printerr ("modest: could not find send queue for account\n");
g_printerr ("modest: error adding msg to send queue: %s\n",
err->message);
g_error_free (err);
- }
+ } else
+ g_message ("modest: message added to send queue");
}
}
g_slice_free (RefreshFolderAsyncHelper, helper);
} else {
TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (helper->iter));
- tny_folder_refresh_async (folder, folder_refresh_cb,
- status_update_cb,
- helper);
- g_object_unref (G_OBJECT(folder));
+ if (folder) {
+ g_message ("modest: refreshing folder %s",
+ tny_folder_get_name (folder));
+ tny_folder_refresh_async (folder, folder_refresh_cb, status_update_cb, helper);
+ g_object_unref (G_OBJECT(folder)); // FIXME: don't unref yet
+ }
}
g_signal_emit (G_OBJECT (self), signals[PROGRESS_CHANGED_SIGNAL], 0, NULL);
}
/* Async refresh folders */
folder = TNY_FOLDER (tny_iterator_get_current (helper->iter));
- tny_folder_refresh_async (folder, folder_refresh_cb,
- status_update_cb, helper);
- g_object_unref (G_OBJECT(folder));
+ if (folder) {
+ g_message ("modest: refreshing folder %s", tny_folder_get_name (folder));
+ tny_folder_refresh_async (folder, folder_refresh_cb,
+ status_update_cb, helper);
+ }
+ //g_object_unref (G_OBJECT(folder)); /* FIXME -==> don't unref yet... */
}
gboolean
tny_folder_store_query_add_item (query, NULL, TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED);
tny_folder_store_get_folders_async (TNY_FOLDER_STORE (store_account),
folders, update_folders_cb, query, self);
- g_object_unref (query);
-
+ g_object_unref (query); /* FIXME */
+
return TRUE;
}
tny_folder_store_remove_folder (parent, folder, &(priv->error));
CHECK_EXCEPTION (priv, MODEST_MAIL_OPERATION_STATUS_FAILED, );
- if (parent) g_object_unref (G_OBJECT (parent));
+ if (parent)
+ g_object_unref (G_OBJECT (parent));
}
g_object_unref (G_OBJECT (account));
}
tny_list_prepend (headers, G_OBJECT (header));
tny_folder_transfer_msgs_async (src_folder, headers, folder,
- delete_original, transfer_msgs_cb, self);
+ delete_original, transfer_msgs_cb,
+ g_object_ref(self));
/* Free */
- g_object_unref (headers);
- g_object_unref (src_folder);
+ /* FIXME: don't free 'm yet */
+ ///g_object_unref (headers);
+ ///g_object_unref (src_folder);
return TRUE;
}
static void init_stock_icons (void);
static void init_debug_g_type (void);
static void init_debug_logging (void);
+static void init_test_accounts (ModestAccountMgr *acc_mgr);
+
static ModestSingletons *_singletons = NULL;
return FALSE;
}
+ /* create the test accounts if the debug flag for that is set */
+ if (modest_runtime_get_debug_flags () & MODEST_RUNTIME_DEBUG_TINY_TEST_ACCOUNTS)
+ init_test_accounts (modest_singletons_get_account_mgr (my_singletons));
+
/* don't initialize _singletons before all the other init stuff
* is done; thus, using any of the singleton stuff before
* runtime is fully init'ed is avoided
modest_runtime_get_debug_flags ()
{
static const GDebugKey debug_keys[] = {
- { "abort-on-warning", MODEST_RUNTIME_DEBUG_ABORT_ON_WARNING },
- { "log-actions", MODEST_RUNTIME_DEBUG_LOG_ACTIONS },
- { "debug-objects", MODEST_RUNTIME_DEBUG_DEBUG_OBJECTS },
- { "debug-signals", MODEST_RUNTIME_DEBUG_DEBUG_SIGNALS },
- { "factory-settings", MODEST_RUNTIME_DEBUG_FACTORY_SETTINGS }
+ { "abort-on-warning", MODEST_RUNTIME_DEBUG_ABORT_ON_WARNING },
+ { "log-actions", MODEST_RUNTIME_DEBUG_LOG_ACTIONS },
+ { "debug-objects", MODEST_RUNTIME_DEBUG_DEBUG_OBJECTS },
+ { "debug-signals", MODEST_RUNTIME_DEBUG_DEBUG_SIGNALS },
+ { "factory-settings", MODEST_RUNTIME_DEBUG_FACTORY_SETTINGS},
+ { "tiny-test-accounts", MODEST_RUNTIME_DEBUG_TINY_TEST_ACCOUNTS}
};
const gchar *str;
static ModestRuntimeDebugFlags debug_flags = -1;
static GtkStockItem items[] = {
{ MODEST_STOCK_MAIL_SEND, "send mail", 0, 0, NULL },
{ MODEST_STOCK_NEW_MAIL, "new mail", 0, 0, NULL },
-/* { MODEST_STOCK_SEND_RECEIVE, "send receive", 0, 0, NULL }, */
+ { MODEST_STOCK_SEND_RECEIVE, "send receive", 0, 0, NULL },
{ MODEST_STOCK_REPLY, "reply", 0, 0, NULL },
{ MODEST_STOCK_REPLY_ALL, "reply all", 0, 0, NULL },
{ MODEST_STOCK_FORWARD, "forward", 0, 0, NULL },
-/* { MODEST_STOCK_DELETE, "delete", 0, 0, NULL }, */
+ { MODEST_STOCK_DELETE, "delete", 0, 0, NULL },
/* { MODEST_STOCK_NEXT, "next", 0, 0, NULL }, */
/* { MODEST_STOCK_PREV, "prev", 0, 0, NULL }, */
/* { MODEST_STOCK_STOP, "stop", 0, 0, NULL } */
static gchar *items_names [] = {
MODEST_TOOLBAR_ICON_MAIL_SEND,
MODEST_TOOLBAR_ICON_NEW_MAIL,
-/* MODEST_TOOLBAR_ICON_SEND_RECEIVE, */
+ MODEST_TOOLBAR_ICON_SEND_RECEIVE,
MODEST_TOOLBAR_ICON_REPLY,
MODEST_TOOLBAR_ICON_REPLY_ALL,
MODEST_TOOLBAR_ICON_FORWARD,
-/* MODEST_TOOLBAR_ICON_DELETE, */
+ MODEST_TOOLBAR_ICON_DELETE,
/* MODEST_TOOLBAR_ICON_NEXT, */
/* MODEST_TOOLBAR_ICON_PREV, */
/* MODEST_TOOLBAR_ICON_STOP */
g_object_unref (factory);
}
}
+
+
+static void
+init_test_accounts (ModestAccountMgr *acc_mgr)
+{
+ const gchar *imap_test = "TnyImapTest";
+ const gchar *pop_test = "TnyPopTest";
+ const gchar *smtp_test = "TnySmtpTest";
+
+ if (!modest_account_mgr_account_exists (acc_mgr, imap_test, FALSE))
+ modest_account_mgr_add_server_account (acc_mgr,
+ imap_test,
+ "imap2.tinymail.org",
+ "tnytest", "tnytest",
+ MODEST_PROTOCOL_STORE_IMAP,
+ MODEST_PROTOCOL_SECURITY_NONE,
+ MODEST_PROTOCOL_AUTH_NONE);
+ if (!modest_account_mgr_account_exists (acc_mgr, pop_test, FALSE))
+ modest_account_mgr_add_server_account (acc_mgr,
+ pop_test,
+ "imap2.tinymail.org",
+ "tnytest", "tnytest",
+ MODEST_PROTOCOL_STORE_POP,
+ MODEST_PROTOCOL_SECURITY_NONE,
+ MODEST_PROTOCOL_AUTH_NONE);
+ if (!modest_account_mgr_account_exists (acc_mgr, smtp_test, FALSE))
+ modest_account_mgr_add_server_account (acc_mgr,
+ smtp_test,
+ "127.0.0.1",
+ NULL,NULL,
+ MODEST_PROTOCOL_TRANSPORT_SMTP,
+ MODEST_PROTOCOL_SECURITY_NONE,
+ MODEST_PROTOCOL_AUTH_NONE);
+
+ modest_account_mgr_add_account (acc_mgr, imap_test, imap_test, smtp_test);
+ modest_account_mgr_add_account (acc_mgr, pop_test, pop_test, smtp_test);
+}
MODEST_RUNTIME_DEBUG_LOG_ACTIONS = 1 << 1, /* not in use atm */
MODEST_RUNTIME_DEBUG_DEBUG_OBJECTS = 1 << 2, /* for g_type_init */
MODEST_RUNTIME_DEBUG_DEBUG_SIGNALS = 1 << 3, /* for g_type_init */
- MODEST_RUNTIME_DEBUG_FACTORY_SETTINGS = 1 << 4 /* reset to factory defaults */
+ MODEST_RUNTIME_DEBUG_FACTORY_SETTINGS = 1 << 4, /* reset to factory defaults */
+ MODEST_RUNTIME_DEBUG_TINY_TEST_ACCOUNTS = 1 << 5
} ModestRuntimeDebugFlags;
/**
GObject *obj;
ModestTnyAccountStorePrivate *priv;
-/* TnyList *list; */
+ TnyList *list;
g_return_val_if_fail (account_mgr, NULL);
g_return_val_if_fail (device, NULL);
tny_session_camel_set_ui_locker (priv->session, tny_gtk_lockable_new ());
/* FIXME: unref this in the end? */
-
+ tny_session_camel_set_async_connecting (priv->session, TRUE);
+
/* /\* force a cache fill... ugly *\/ */
-/* list = TNY_LIST(tny_simple_list_new()); */
-/* tny_account_store_get_accounts (TNY_ACCOUNT_STORE(obj), list, */
-/* TNY_ACCOUNT_STORE_BOTH); */
-/* g_object_unref(list); */
+ list = TNY_LIST(tny_simple_list_new());
+ tny_account_store_get_accounts (TNY_ACCOUNT_STORE(obj), list,
+ TNY_ACCOUNT_STORE_BOTH);
+ g_object_unref(list);
/* Connect signals */
g_signal_connect (G_OBJECT(account_mgr), "account_changed",
}
}
+
+
/* this function fills the TnyList, and also returns a GSList of the accounts,
* for caching purposes
*/
modest_tny_account_new_for_local_folders (priv->account_mgr, priv->session);
tny_list_prepend (list, G_OBJECT(tny_account));
accounts = g_slist_append (accounts, tny_account); /* cache it */
- }
-
+ }
return accounts;
-}
-
+}
+
static void
modest_tny_account_store_get_accounts (TnyAccountStore *self, TnyList *list,
for (cursor = priv->store_accounts; cursor ; cursor = cursor->next) {
const gchar *acc_id = tny_account_get_id (TNY_ACCOUNT(cursor->data));
if (acc_id && strcmp (acc_id, id) == 0) {
- account = TNY_ACCOUNT(cursor->data);
+ account = TNY_ACCOUNT(cursor->data);
break;
}
}
return TNY_ACCOUNT(tny_account);
}
-
void
modest_ui_actions_on_accounts (GtkAction *action, ModestWindow *win)
{
- GtkWidget *account_win;
- account_win = modest_account_view_window_new ();
-
- if (win)
- gtk_window_set_transient_for (GTK_WINDOW (account_win), GTK_WINDOW (win));
+ /* GtkDialog *account_win; */
+/* account_win = GTK_DIALOG(modest_account_view_window_new ()); */
+
- gtk_widget_show (account_win);
+/* gtk_dialog_run (account_win); */
+ //gtk_widget_destroy (GTK_WIDGET(account_win));
+ GtkWidget *dialog, *label;
+
+ /* Create the widgets */
+
+ dialog = gtk_dialog_new_with_buttons ("Message",
+ GTK_WINDOW(win),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_OK,
+ GTK_RESPONSE_NONE,
+ NULL);
+ label = gtk_label_new ("Hello World!");
+
+ /* Ensure that the dialog box is destroyed when the user responds. */
+
+ g_signal_connect_swapped (dialog, "response",
+ G_CALLBACK (gtk_widget_destroy),
+ dialog);
+
+ /* Add the label, and show everything we've added to the dialog. */
+
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox),
+ label);
+ gtk_widget_show_all (dialog);
}
void
{
gchar *account_name;
TnyAccount *tny_account;
- ModestTnySendQueue *send_queue;
+ //ModestTnySendQueue *send_queue;
+ ModestMailOperation *mail_op;
account_name =
g_strdup(modest_window_get_active_account(MODEST_WINDOW(win)));
g_printerr ("modest: cannot get account\n");
return;
}
-
+ /* FIXME */
+#if 0
tny_account =
modest_tny_account_store_get_tny_account_by_account (modest_runtime_get_account_store(),
account_name,
TNY_ACCOUNT_TYPE_TRANSPORT);
if (!tny_account) {
- g_printerr ("modest: cannot get tny transport account\n");
+ g_printerr ("modest: cannot get tny transport account for %s\n", account_name);
return;
}
send_queue = modest_tny_send_queue_new (TNY_CAMEL_TRANSPORT_ACCOUNT(tny_account));
+ if (!send_queue) {
+ g_object_unref (G_OBJECT(tny_account));
+ g_printerr ("modest: cannot get send queue for %s\n", account_name);
+ return;
+ }
modest_tny_send_queue_flush (send_queue);
g_object_unref (G_OBJECT(send_queue));
g_object_unref (G_OBJECT(tny_account));
+#endif /* 0 */
+ tny_account =
+ modest_tny_account_store_get_tny_account_by_account (modest_runtime_get_account_store(),
+ account_name,
+ TNY_ACCOUNT_TYPE_STORE);
+ if (!tny_account) {
+ g_printerr ("modest: cannot get tny store account for %s\n", account_name);
+ return;
+ }
+
+ mail_op = modest_mail_operation_new ();
+ modest_mail_operation_update_account (mail_op, TNY_STORE_ACCOUNT(tny_account));
+
+ g_object_unref (G_OBJECT(tny_account));
+ /* g_object_unref (G_OBJECT(mail_op)); FIXME: this is still in use... */
}