|
From: creedon <icr...@us...> - 2005-10-02 23:13:53
|
Update of /cvsroot/frontierkernel/Frontier/Common/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11284 Modified Files: shellverbs.c shellwindowverbs.c Log Message: added support for some Frontier File/Edit menu items to call scripts Index: shellverbs.c =================================================================== RCS file: /cvsroot/frontierkernel/Frontier/Common/source/shellverbs.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** shellverbs.c 11 Jan 2005 22:48:10 -0000 1.4 --- shellverbs.c 1 Oct 2005 17:22:48 -0000 1.5 *************** *** 1171,1178 **** } ! case closefunc: { /*close the frontmost window*/ hdlwindowinfo hinfo; WindowPtr targetwindow = nil; ! if (langgetparamcount (hparam1) == 0) { // old style, use the target --- 1171,1188 ---- } ! case closefunc: { ! /* ! close the frontmost window ! ! 2005-09-14 creedon: added fldialog parameter, this might be improved as I only dealt with the situation with one or more parameters are defined ! */ ! hdlwindowinfo hinfo; WindowPtr targetwindow = nil; ! tyvaluerecord val; ! boolean fldialog; ! ! setbooleanvalue (false, &val); /* defaults to false */ ! if (langgetparamcount (hparam1) == 0) { // old style, use the target *************** *** 1181,1189 **** } else { ! flnextparamislast = true; ! if (!getwinparam (hparam1, 1, &hinfo)) break; if (hinfo != nil) targetwindow = (**hinfo).macwindow; --- 1191,1205 ---- } else { ! short ctconsumed = 1; ! short ctpositional = 1; ! if (!getwinparam (hparam1, 1, &hinfo)) break; + flnextparamislast = true; + + if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x08""fldialog", &val)) + return (false); + if (hinfo != nil) targetwindow = (**hinfo).macwindow; *************** *** 1192,1196 **** //langsaveglobals (); /*see comment at function head*/ ! (*v).data.flvalue = (targetwindow != nil) && shellclose (targetwindow, false); //return (langrestoreglobals ()); --- 1208,1214 ---- //langsaveglobals (); /*see comment at function head*/ ! fldialog = val.data.flvalue; ! ! (*v).data.flvalue = (targetwindow != nil) && shellclose (targetwindow, fldialog); //return (langrestoreglobals ()); Index: shellwindowverbs.c =================================================================== RCS file: /cvsroot/frontierkernel/Frontier/Common/source/shellwindowverbs.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** shellwindowverbs.c 11 Jan 2005 22:48:10 -0000 1.4 --- shellwindowverbs.c 1 Oct 2005 17:22:48 -0000 1.5 *************** *** 660,663 **** --- 660,665 ---- /* + 2005-09-14 creedon: added fldialog parameter + 8/26/92 dmb: don't allow the root window to be closed with this verb. *************** *** 667,680 **** register boolean fl = false; hdlwindowinfo hinfo; flnextparamislast = true; ! if (!getwinparam (hparam1, 1, &hinfo)) return (false); ! if (hinfo != nil) { /*close it if it isn't a root window*/ ! // if ((**hinfo).parentwindow != nil /*|| shellgetexternaldata (hinfo, &hdata)*/) ! fl = shellclose ((**hinfo).macwindow, false); } --- 669,693 ---- register boolean fl = false; hdlwindowinfo hinfo; + boolean fldialog; + tyvaluerecord val; + short ctconsumed = 1; + short ctpositional = 1; + + setbooleanvalue (false, &val); /* defaults to false */ + + if (!getwinparam (hparam1, 1, &hinfo)) + return (false); flnextparamislast = true; ! if (!getoptionalparamvalue (hparam1, &ctconsumed, &ctpositional, "\x08""fldialog", &val)) return (false); ! fldialog = val.data.flvalue; ! ! if (hinfo != nil) { /* close it if it isn't a root window */ ! // if ((**hinfo).parentwindow != nil /*|| shellgetexternaldata (hinfo, &hdata)*/) ! fl = shellclose ((**hinfo).macwindow, fldialog); } *************** *** 682,686 **** return (true); ! } /*closeverb*/ --- 695,699 ---- return (true); ! } /* closeverb */ |