On Tue, Sep 10, 2013 at 2:45 PM, Robert Heller <hel...@deepsoft.com> wrote: > At Tue, 10 Sep 2013 17:51:38 +0100 Michael Blumenkrantz > <michael.blumenkra...@gmail.com> wrote: > >> >> On Tue, 10 Sep 2013 12:34:21 -0400 >> Robert Heller <hel...@deepsoft.com> wrote: >> >> > I am in the process of modifying E17 (I want to add so additional >> > functionality to the file manager). One of the things I need to be able >> > to do >> > is have a 'modal' dialog, that is a dislog box that grabs the focus and >> > causes >> > the program (the file manager) to wait. I want events to be processed, >> > but I >> > want psuedo code like this: >> > >> > dialog = make_dialog(...); >> > show(dialog); >> > wait_for(dialog); >> > >> > The 'wait_for()' call would not return until the OK button or Cancel >> > (close) >> > button on the dialog has been clicked. It is not clear how to do this -- >> > the >> > documentation does not seem to cover this case (or I can't it in the >> > documentation). >> > >> > Any pointers would be helpful. Thanks in advance. >> > >> >> yeahhh you can't do that. >> >> what you CAN do is something like the >> uhh...modules/conf_theme/e_int_config_wallpaper.c dialog does. you set the >> parent dialog (though make sure you do this AFTER you show both dialogs or >> it won't work) to set up your modal: the first param is your intended modal, >> the second is the parent window which is getting blocked. then you can >> basically just wait for the modal to die and you'll know that there will be >> no events on the parent. >> >> I'll say this, however: we STRONGLY discourage the use of modal dialogs in >> e. unless you have a really good reason for it, I'm unlikely to accept any >> patches which introduce modal dialogs. > > Yes, I fully understand the 'evils' of modal dialogs, but there are times when > it is the only option. In this case I am interfacing to a library that has a > callback that wants some input (a passphrase) and I cannot just return without > the passphrase and I don't know (in advance) if the passphrase is even needed > or what the hint for the passphrase is (this info gets passed into the > callback). And the callback might be called again if the passphrase is wrong. > I may implement this with a subprocess, but then the subprocess itself will > need to have a modal dialog. I am only interested a *local* type modal dialog.
If you know the evils of modal dialogs: back in 2010 when working in webkit I remember opening another mainloop for doing modal dialogs. Then spending a day to fix nested mainloops in EFL. Things might be better these days. Lucas De Marchi ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel