if (GTK_IS_WINDOW (parent)) {
gtk_window_set_transient_for (window, parent);
} else {
- gtk_window_set_transient_for (window, priv->shell);
+ gtk_window_set_transient_for (window, GTK_WINDOW (priv->shell));
}
gtk_window_set_destroy_with_parent (window, TRUE);
}
return TRUE;
}
+
+GtkWidget *
+modest_gtk_window_mgr_get_shell (ModestGtkWindowMgr *self)
+{
+ ModestGtkWindowMgrPrivate *priv;
+
+ priv = MODEST_GTK_WINDOW_MGR_GET_PRIVATE(self);
+
+ return priv->shell;
+}
/* The accounts dialog must be modal */
modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (account_win), (GtkWindow *) win);
- modest_utils_show_dialog_and_forget (GTK_WINDOW (win), GTK_DIALOG (account_win));
+ modest_utils_show_dialog_and_forget (GTK_WIDGET (win), GTK_DIALOG (account_win));
}
}
#include "modest-widget-memory.h"
#include "widgets/modest-sort-criterium-view.h"
#include "widgets/modest-header-window.h"
+#ifdef MODEST_TOOLKIT_GTK
+#include <modest-gtk-window-mgr.h>
+#endif
#include <langinfo.h>
GQuark
}
void
-modest_utils_show_dialog_and_forget (GtkWindow *parent_window,
+modest_utils_show_dialog_and_forget (GtkWidget *parent_window,
GtkDialog *dialog)
{
- g_return_if_fail (GTK_IS_WINDOW(parent_window));
g_return_if_fail (GTK_IS_DIALOG(dialog));
+#ifdef MODEST_TOOLKIT_GTK
+ if (GTK_IS_WINDOW (parent_window)) {
+ gtk_window_set_transient_for (GTK_WINDOW (dialog), parent_window);
+ } else {
+ ModestWindowMgr *window_mgr;
+ GtkWidget *shell;
+
+ window_mgr = modest_runtime_get_window_mgr ();
+ shell = modest_gtk_window_mgr_get_shell (MODEST_GTK_WINDOW_MGR (window_mgr));
+ gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (shell));
+ }
+#else
+ g_return_if_fail (GTK_IS_WINDOW(parent_window));
gtk_window_set_transient_for (GTK_WINDOW (dialog), parent_window);
+#endif
/* Destroy the dialog when it is closed: */
g_signal_connect_swapped (dialog,
* blocking. Use this when you don't want to use gtk_dialog_run(), which might lead
* to hangs.
*/
-void modest_utils_show_dialog_and_forget (GtkWindow *parent_window, GtkDialog *dialog);
+void modest_utils_show_dialog_and_forget (GtkWidget *parent_window, GtkDialog *dialog);
/**
* modest_toggle_action_set_active_block_notify: