* Fixes NB#103073, do not show notifications when Modest is showing its UI
[modest] / src / dbus_api / modest-dbus-callbacks.c
index d8d2abb..38a92cb 100644 (file)
@@ -40,6 +40,7 @@
 #include "widgets/modest-msg-edit-window.h"
 #include "modest-tny-msg.h"
 #include "modest-platform.h"
+#include "modest-defs.h"
 #include <libmodest-dbus-client/libmodest-dbus-client.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <stdio.h>
@@ -611,19 +612,20 @@ on_open_message_performer (gboolean canceled,
 static gboolean
 on_idle_open_message_performer (gpointer user_data)
 {
-       ModestWindow *main_win = NULL;
+       ModestWindow *top_win = NULL;
        OpenMsgPerformerInfo *info = (OpenMsgPerformerInfo *) user_data;
 
-       main_win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr(),
-                                                     FALSE); /* don't create */
+       top_win = modest_window_mgr_get_current_top (modest_runtime_get_window_mgr());
 
        /* Lock before the call as we're in an idle handler */
        gdk_threads_enter ();
        if (info->connect) {
-               modest_platform_connect_and_perform (GTK_WINDOW (main_win), TRUE, info->account, 
+               modest_platform_connect_and_perform (GTK_WINDOW (top_win), TRUE, 
+                                                    info->account, 
                                                     on_open_message_performer, info);
        } else {
-               on_open_message_performer (FALSE, NULL, GTK_WINDOW (main_win), info->account, info);
+               on_open_message_performer (FALSE, NULL, GTK_WINDOW (top_win), 
+                                          info->account, info);
        }
        gdk_threads_leave ();
 
@@ -718,14 +720,13 @@ on_remove_msgs_finished (ModestMailOperation *mail_op,
                         gpointer user_data)
 {      
        TnyHeader *header;
-       ModestWindow *main_win = NULL, *msg_view = NULL;
+       ModestWindow *top_win = NULL, *msg_view = NULL;
 
        header = (TnyHeader *) user_data;
 
        /* Get the main window if exists */
-       main_win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr(),
-                                                     FALSE); /* don't create */
-       if (!main_win) {
+       top_win = modest_window_mgr_get_current_top (modest_runtime_get_window_mgr());
+       if (!top_win) {
                g_object_unref (header);
                return;
        }
@@ -755,7 +756,7 @@ thread_prepare_delete_message (gpointer userdata)
        char *uri;
        gchar *uid = NULL;
        ModestMailOperation *mail_op = NULL;
-       ModestWindow *main_win = NULL;
+       ModestWindow *top_win = NULL;
 
        uri = (char *) userdata;
 
@@ -769,10 +770,9 @@ thread_prepare_delete_message (gpointer userdata)
                g_free (uri);
                return FALSE; 
        }
-       
-       main_win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr(),
-                                                     FALSE); /* don't create */
-       
+
+       top_win = modest_window_mgr_get_current_top (modest_runtime_get_window_mgr());
+
        folder = tny_msg_get_folder (msg);
        if (!folder) {
                g_warning ("%s: Could not find folder (uri:'%s')", __FUNCTION__, uri);
@@ -829,7 +829,7 @@ thread_prepare_delete_message (gpointer userdata)
         * the code below is or does Gtk+ code */
        gdk_threads_enter (); /* CHECKED */
 
-       mail_op = modest_mail_operation_new (main_win ? G_OBJECT(main_win) : NULL);
+       mail_op = modest_mail_operation_new (top_win ? G_OBJECT(top_win) : NULL);
        modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op);
 
        g_signal_connect (G_OBJECT (mail_op),
@@ -889,11 +889,9 @@ static gboolean
 on_idle_send_receive(gpointer user_data)
 {
        gboolean auto_update;
-       ModestWindow *main_win = NULL;
+       ModestWindow *top_win = NULL;
 
-       main_win =
-               modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (),
-                                                  FALSE); /* don't create */
+       top_win = modest_window_mgr_get_current_top (modest_runtime_get_window_mgr ());
 
        gdk_threads_enter (); /* CHECKED */
 
@@ -903,7 +901,7 @@ on_idle_send_receive(gpointer user_data)
 
        if (auto_update)
                /* Do send receive */
-               modest_ui_actions_do_send_receive_all (main_win, FALSE, FALSE, FALSE);
+               modest_ui_actions_do_send_receive_all (top_win, FALSE, FALSE, FALSE);
        else
                /* Disable auto update */
                modest_platform_set_update_interval (0);
@@ -1528,12 +1526,12 @@ on_dbus_method_search (DBusConnection *con, DBusMessage *message)
        }
 
        if (sd_v > 0) {
-               search->flags |= MODEST_SEARCH_BEFORE;
+               search->flags |= MODEST_SEARCH_AFTER;
                search->start_date = start_date;
        }
 
        if (ed_v > 0) {
-               search->flags |= MODEST_SEARCH_AFTER;
+               search->flags |= MODEST_SEARCH_BEFORE;
                search->end_date = end_date;
        }