- Compressor type listed in summary

- SetOutPath now sets the current directory (RegDLL no longer does)
- File names are now validated for commands that need normal files, the directory selection dialog, and every variable that contains a file/dir name
- Fixed a distortion of the MUI's branding text with ClearType
- $INSTDIR is now right in the custom page after the directory selection dialog
- No more squares in the automatically appended directory name in the directory selection dialog
- Size optimizations


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2121 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2003-02-07 23:04:25 +00:00
parent 91906c55e3
commit ae16cbfe3f
14 changed files with 248 additions and 199 deletions

View file

@ -784,7 +784,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
SCRIPT_MSG(" (%s:%s)", k?"pre":"creator", line.gettoken_str(2));
if (p.showfunc>=0 && k)
SCRIPT_MSG(" (show:%s)", line.gettoken_str(3));
if (p.showfunc>=0 && k)
if (p.leavefunc>=0 && k)
SCRIPT_MSG(" (leave:%s)", line.gettoken_str(4));
else if (p.caption && !k)
SCRIPT_MSG(" (caption:%s)", line.gettoken_str(3));
@ -2241,9 +2241,10 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
SCRIPT_MSG("Goto: %s\n",line.gettoken_str(1));
return add_entry(&ent);
case TOK_SETSHELLVARCONTEXT:
ent.which=EW_SETSFCONTEXT;
ent.offsets[0]=line.gettoken_enum(1,"current\0all\0");
if (ent.offsets[0]<0) PRINTHELP()
ent.which=EW_SETFLAG;
ent.offsets[0]=1;
ent.offsets[1]=line.gettoken_enum(1,"current\0all\0");
if (ent.offsets[1]<0) PRINTHELP()
SCRIPT_MSG("SetShellVarContext: %s\n",line.gettoken_str(1));
return add_entry(&ent);
case TOK_RET:
@ -2989,9 +2990,10 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
SCRIPT_MSG("SetDetailsPrint: %s\n",line.gettoken_str(1));
return add_entry(&ent);
case TOK_SETAUTOCLOSE:
ent.which=EW_SETWINDOWCLOSE;
ent.offsets[0] = line.gettoken_enum(1,"false\0true\0");
if (ent.offsets[0] < 0) PRINTHELP()
ent.which=EW_SETFLAG;
ent.offsets[0]=0;
ent.offsets[1]=line.gettoken_enum(1,"false\0true\0");
if (ent.offsets[1] < 0) PRINTHELP()
SCRIPT_MSG("SetAutoClose: %s\n",line.gettoken_str(1));
return add_entry(&ent);
case TOK_IFERRORS:
@ -3001,12 +3003,15 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
SCRIPT_MSG("IfErrors ?%s:%s\n",line.gettoken_str(1),line.gettoken_str(2));
return add_entry(&ent);
case TOK_CLEARERRORS:
ent.which=EW_IFERRORS;
ent.which=EW_SETFLAG;
ent.offsets[0]=2;
ent.offsets[1]=0;
SCRIPT_MSG("ClearErrors\n");
return add_entry(&ent);
case TOK_SETERRORS:
ent.which=EW_IFERRORS;
ent.offsets[2]=1;
ent.which=EW_SETFLAG;
ent.offsets[0]=2;
ent.offsets[1]=1;
SCRIPT_MSG("SetErrors\n");
return add_entry(&ent);
#ifdef NSIS_SUPPORT_STROPTS
@ -3726,9 +3731,10 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
SCRIPT_MSG("IfRebootFlag ?%s:%s\n",line.gettoken_str(1),line.gettoken_str(2));
return add_entry(&ent);
case TOK_SETREBOOTFLAG:
ent.which=EW_SETREBOOTFLAG;
ent.offsets[0]=line.gettoken_enum(1,"false\0true\0");
if (ent.offsets[0] < 0) PRINTHELP()
ent.which=EW_SETFLAG;
ent.offsets[0]=3;
ent.offsets[1]=line.gettoken_enum(1,"false\0true\0");
if (ent.offsets[1] < 0) PRINTHELP()
return add_entry(&ent);
#else//!NSIS_SUPPORT_REBOOT
case TOK_REBOOT: