1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
/************************************************************************/
/* Really Quit, Really Close dialogs. */
/************************************************************************/
# include "appFrameConfig.h"
# include <stddef.h>
# include <stdio.h>
# include <stdlib.h>
# include <appFrame.h>
# include <appDebugon.h>
/************************************************************************/
/* */
/* Run a 'Really Close' dialog. */
/* */
/************************************************************************/
void appRunReallyCloseDialog( APP_WIDGET option,
EditDocument * ed )
{
EditApplication * ea= ed->edApplication;
int rcc;
AppFileMessageResources * afmr= &(ea->eaFileMessageResources);
rcc= appQuestionRunSubjectYesNoCancelDialog( ea,
ed->edToplevel.atTopWidget,
option,
ed->edTitle,
afmr->afmrReallyCloseQuestion,
afmr->afmrReallyCloseSaveIt,
afmr->afmrReallyCloseDontSave,
afmr->afmrReallyCloseCancel );
switch( rcc )
{
case AQDrespYES:
if ( ! ea->eaSaveDocument )
{ XDEB(ea->eaSaveDocument); return; }
if ( ! ed->edFilename )
{ appDocFileSaveAs( option, (void *)ed, (void *)0 ); }
else{
const int interactive= 1;
if ( ! appDocSaveDocumentByName( ed, option, interactive,
ed->edFormat, ed->edFilename ) )
{ appDocumentChanged( ed, 0 ); }
}
if ( ! ed->edHasBeenChanged )
{ appCloseDocument( ea, ed ); }
break;
case AQDrespNO:
appCloseDocument( ea, ed );
break;
case AQDrespCANCEL:
break;
default:
LDEB(rcc); break;
}
return;
}
/************************************************************************/
/* */
/* Run a 'Really Quit' dialog. */
/* */
/************************************************************************/
int appRunReallyQuitDialog( APP_WIDGET option,
APP_WIDGET relative,
EditApplication * ea )
{
AppFileMessageResources * afmr= &(ea->eaFileMessageResources);
return appQuestionRunYesNoCancelDialog( ea,
relative,
option,
afmr->afmrReallyQuitQuestion,
afmr->afmrReallyQuitReview,
afmr->afmrReallyQuitAnyway,
afmr->afmrReallyQuitCancel );
}
|