2007-07-31 Philip Van Hoof <pvanhoof@gnome.org>
[modest] / src / dbus_api / modest-dbus-callbacks.c
index f913111..601387d 100644 (file)
@@ -261,7 +261,7 @@ on_idle_mail_to(gpointer user_data)
                                        tny_folder_add_msg (folder, msg, NULL); /* TODO: check err */
                                        gdk_threads_enter ();
 
-                                       ModestWindow *win = modest_msg_edit_window_new (msg, account_name);
+                                       ModestWindow *win = modest_msg_edit_window_new (msg, account_name, FALSE);
                                        modest_window_mgr_register_window (modest_runtime_get_window_mgr (), win);
                                        gtk_widget_show_all (GTK_WIDGET (win));
 
@@ -366,7 +366,7 @@ on_idle_compose_mail(gpointer user_data)
 
                                        gdk_threads_enter ();
        
-                                       ModestWindow *win = modest_msg_edit_window_new (msg, account_name);
+                                       ModestWindow *win = modest_msg_edit_window_new (msg, account_name, FALSE);
 
                                        /* it seems Sketch at least sends a leading ',' -- take that into account,
                                         * ie strip that ,*/
@@ -545,9 +545,11 @@ on_idle_open_message (gpointer user_data)
        folder = tny_msg_get_folder (msg);
        
        /* Drafts will be opened in the editor, instead of the viewer, as per the UI spec: */
+       /* FIXME: same should happen for Outbox; not enabling that, as the handling
+        * of edited messages is not clear in that case */
        gboolean is_draft = FALSE;
        if (folder && modest_tny_folder_is_local_folder (folder) &&
-               (modest_tny_folder_get_local_folder_type (folder) == TNY_FOLDER_TYPE_DRAFTS)) {
+               (modest_tny_folder_get_local_or_mmc_folder_type (folder) == TNY_FOLDER_TYPE_DRAFTS)) {
                is_draft = TRUE;
        }
 
@@ -594,7 +596,7 @@ on_idle_open_message (gpointer user_data)
                if (is_draft) {
                        /* TODO: Maybe the msg_uid should be registered for edit windows too,
                         * so we can open the same window again next time: */
-                       msg_view = modest_msg_edit_window_new (msg, modest_account_name);
+                       msg_view = modest_msg_edit_window_new (msg, modest_account_name, TRUE);
                } else {
                        msg_view = modest_msg_view_window_new (msg, modest_account_name,
                                                       msg_uid);
@@ -805,6 +807,11 @@ on_idle_send_receive(gpointer user_data)
        /* Pick the main window if it exists */
        win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr ());
 
+       /* This seems to be necessary to show new messages in the current window.
+        * I would expect this to be after the send_receive, but maybe 
+        * this makes a connection too. murrayc. */
+       modest_do_refresh_current_folder (win);
+
        /* Send & receive all if "Update automatically" is set */
        /* TODO: check the auto-update parameter in the configuration */
        modest_ui_actions_do_send_receive_all (win);
@@ -1350,8 +1357,7 @@ on_dbus_method_get_folders (DBusConnection *con, DBusMessage *message)
         * TODO: This is not working. It seems to get only the Merged Folder (with an ID of "" (not NULL)).
         */
        TnyAccount *account_local = 
-               modest_tny_account_store_get_local_folders_account (
-                       TNY_ACCOUNT_STORE (modest_runtime_get_account_store()));
+               modest_tny_account_store_get_local_folders_account (modest_runtime_get_account_store());
        add_folders_to_list (TNY_FOLDER_STORE (account_local), &folder_names);
 
        g_object_unref (account_local);
@@ -1389,7 +1395,6 @@ modest_dbus_req_filter (DBusConnection *con,
                        DBusMessage    *message,
                        void           *user_data)
 {
-       printf ("DEBUG: %s\n", __FUNCTION__);
        gboolean handled = FALSE;
 
        if (dbus_message_is_method_call (message,
@@ -1406,7 +1411,10 @@ modest_dbus_req_filter (DBusConnection *con,
                handled = TRUE;                         
        }
        else {
-               g_debug ("  debug: %s: Unexpected D-Bus method\n", __FUNCTION__);
+               /* Note that this mentions methods that were already handled in modest_dbus_req_handler(). */
+               g_debug ("  debug: %s: Unexpected (maybe already handled) D-Bus method:\n   Interface=%s, Member=%s\n", 
+                       __FUNCTION__, dbus_message_get_interface (message),
+                       dbus_message_get_member(message));
        }
        
        return (handled ?