From d2d10a05abd934874699578bb7abeb33088e3528 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 9 Aug 2012 13:25:43 +0000 Subject: [PATCH] add dialog helper function to set modal/transientfor on windows SVN revision: 75049 --- src/bin/e_dialog.c | 11 +++++++++++ src/bin/e_dialog.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/bin/e_dialog.c b/src/bin/e_dialog.c index b79fd3a93..0613cd25b 100644 --- a/src/bin/e_dialog.c +++ b/src/bin/e_dialog.c @@ -225,6 +225,17 @@ e_dialog_resizable_set(E_Dialog *dia, int resizable) } } +EAPI void +e_dialog_parent_set(E_Dialog *dia, E_Win *win) +{ + if (!dia) return; + if (win) + ecore_x_icccm_transient_for_set(dia->win->evas_win, win->evas_win); + else + ecore_x_icccm_transient_for_unset(dia->win->evas_win); + ecore_evas_modal_set(dia->win->ecore_evas, !!win); +} + EAPI void e_dialog_show(E_Dialog *dia) { diff --git a/src/bin/e_dialog.h b/src/bin/e_dialog.h index e34056722..9ec238db5 100644 --- a/src/bin/e_dialog.h +++ b/src/bin/e_dialog.h @@ -30,6 +30,7 @@ typedef void (*E_Dialog_Cb)(void *data, E_Dialog *dia); EAPI E_Dialog *e_dialog_new (E_Container *con, const char *name, const char *class); EAPI E_Dialog *e_dialog_normal_win_new (E_Container *con, const char *name, const char *class); +EAPI void e_dialog_parent_set(E_Dialog *dia, E_Win *win); EAPI void e_dialog_button_add (E_Dialog *dia, const char *label, const char *icon, E_Dialog_Cb func, void *data); EAPI int e_dialog_button_focus_num (E_Dialog *dia, int button); EAPI int e_dialog_button_disable_num_set (E_Dialog *dia, int button, int disabled);