On Sunday 22 of April 2012 13:35:59 patspiper wrote: > On 22/04/12 14:09, zeljko wrote: > > On Sunday 22 of April 2012 12:28:43 Bart wrote: > > > Hi all, > > > > > > > > > > > > MessageDlg eventually calls WidgetSet.PromptUser() > > > > > > This in return either calls and sets up a widgetset specific function > > > > > > (like TaskDialogIndirect on Windows Vista/Win7) or if such an > > > > > > implementations does not exist it calls > > > > > > TPromptDialog.CreateMessageDialog() and the LCL will build it's own > > > > > > MessageDialog form with appropriate buttons etc. > > > > > > > > > > > > I see 3 problems (see http://bugs.freepascal.org/view.php?id=21801 ). > > > > > > > > > > > > 1. > > > > > > > > > > > > How to handle clicking on X-border-icon? > > > > afair, qt and gtk2 have default result for that and escape key (you > > can set on dialog what is the value of default result for [X] and > > escape), result should be mrCancel in any case. > > +1 > > The current result for Escape and [x] (at least under GTK2) is mrOK > which is very misleading.
Maybe in case when there's only one button (mbOK). Have you tested with eg. mbYes,mbNo or others ? Also , maybe I didn't spotted that in my applications since i never evaluate 1. if there's only one button (so thats dialog with information or error, I don't care how user closed that dlg) 2.anything except mrResult which should continue (usually mrYes or mrOk). eg. if MessageDlg(blabla) <> mrYes then exit; zeljko > > But I have a slightly different suggestion: > > 1- This should apply to any modal form, not only MessageDlg and > WidgetSet.PromptUser. > > 2- Escape key should first check if any button has Cancel=true, and use > that button's modal result. Otherwise, mrCancel is in order as the user > is running away from answering the dialog. > > 3- [x] should either return mrCancel, or mimic the Escape key. The > latter is the more logical choice, as the programmer has intentionally > defined the action (by setting a button's Cancel to true) if the user > wants to run away. > > Stephano
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
