New modest_platform_system_banner (show even if no windows visible)
[modest] / src / maemo / modest-platform.c
index 8f1ba2f..bb472f1 100644 (file)
@@ -344,7 +344,7 @@ modest_platform_activate_uri (const gchar *uri)
                        modest_window_mgr_get_main_window (modest_runtime_get_window_mgr(), FALSE);
                hildon_banner_show_information (parent ? GTK_WIDGET(parent): NULL, NULL,
                                                _("mcen_ib_unsupported_link"));
-               g_warning ("%s: cannot open uri '%s'", __FUNCTION__,uri);
+               g_debug ("%s: cannot open uri '%s'", __FUNCTION__,uri);
        } 
        
        return result;
@@ -1107,7 +1107,7 @@ modest_platform_set_update_interval (guint minutes)
         * because we will replace it: */
        if (alarm_cookie) {
                if (alarm_event_del(alarm_cookie) != 1)
-                       g_warning ("%s: alarm %d was not on the queue", __FUNCTION__, (int)alarm_cookie);
+                       g_debug ("%s: alarm %d was not on the queue", __FUNCTION__, (int)alarm_cookie);
                alarm_cookie = 0;
                modest_conf_set_int (conf, MODEST_CONF_ALARM_ID, 0, NULL);
        }
@@ -1461,7 +1461,7 @@ modest_platform_information_banner (GtkWidget *parent,
                                    const gchar *icon_name,
                                    const gchar *text)
 {
-       GtkWidget *banner, *banner_parent = NULL;
+       GtkWidget *banner_parent = NULL;
        ModestWindowMgr *mgr = modest_runtime_get_window_mgr ();
 
        if (modest_window_mgr_get_num_windows (mgr) == 0)
@@ -1484,8 +1484,25 @@ modest_platform_information_banner (GtkWidget *parent,
                        return;
        }
 
+       modest_platform_system_banner (banner_parent, icon_name, text);
 
-       banner = hildon_banner_show_information (banner_parent, icon_name, text);
+}
+
+void
+modest_platform_system_banner (GtkWidget *parent,
+                                   const gchar *icon_name,
+                                   const gchar *text)
+{
+       GtkWidget *banner = NULL;
+       ModestWindowMgr *mgr = modest_runtime_get_window_mgr ();
+
+
+       if (parent && GTK_IS_WINDOW (parent)) {
+               if (!gtk_window_is_active (GTK_WINDOW (parent)))
+                       parent = NULL;
+       }
+
+       banner = hildon_banner_show_information (parent, icon_name, text);
 
        modest_window_mgr_register_banner (mgr);
        g_object_ref (mgr);
@@ -1672,8 +1689,8 @@ modest_platform_run_certificate_confirmation_dialog (const gchar* server_name,
        ModestWindow *main_win;
        
        if (!modest_window_mgr_main_window_exists (modest_runtime_get_window_mgr())) {
-               g_warning ("%s: don't show dialogs if there's no main window; assuming 'Cancel'",
-                          __FUNCTION__);
+               g_debug ("%s: don't show dialogs if there's no main window; assuming 'Cancel'",
+                        __FUNCTION__);
                return FALSE;
        }
 
@@ -1718,7 +1735,7 @@ modest_platform_run_alert_dialog (const gchar* prompt,
        ModestWindow *main_win; 
 
        if (!modest_window_mgr_main_window_exists (modest_runtime_get_window_mgr())) {
-               g_warning ("%s:\n'%s'\ndon't show dialogs if there's no main window;"
+               g_debug ("%s:\n'%s'\ndon't show dialogs if there's no main window;"
                           " assuming 'Cancel' for questions, 'Ok' otherwise", prompt, __FUNCTION__);
                return is_question ? FALSE : TRUE;
        }