Fixed compressor selection.

Added context menu method for choosing compressor.
Changed Defines dialog to Settings dialog


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3211 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
icemank 2003-11-25 21:06:37 +00:00
parent 888fcfec48
commit 3773299cb2
8 changed files with 213 additions and 104 deletions

View file

@ -91,6 +91,7 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
char **argv; char **argv;
int i, j; int i, j;
int argSpaceSize; int argSpaceSize;
bool chooseCompressor = false;
g_sdata.hwnd=hwndDlg; g_sdata.hwnd=hwndDlg;
HICON hIcon = LoadIcon(g_sdata.hInstance,MAKEINTRESOURCE(IDI_ICON)); HICON hIcon = LoadIcon(g_sdata.hInstance,MAKEINTRESOURCE(IDI_ICON));
@ -111,6 +112,7 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
SendDlgItemMessage(hwndDlg,IDC_LOGWIN,WM_SETFONT,(WPARAM)hFont,0); SendDlgItemMessage(hwndDlg,IDC_LOGWIN,WM_SETFONT,(WPARAM)hFont,0);
SendDlgItemMessage(hwndDlg,IDC_LOGWIN,EM_SETBKGNDCOLOR,0,GetSysColor(COLOR_BTNFACE)); SendDlgItemMessage(hwndDlg,IDC_LOGWIN,EM_SETBKGNDCOLOR,0,GetSysColor(COLOR_BTNFACE));
RestoreWindowPos(g_sdata.hwnd); RestoreWindowPos(g_sdata.hwnd);
RestoreCompressor();
g_sdata.compressor = (NCOMPRESSOR)-1; g_sdata.compressor = (NCOMPRESSOR)-1;
argSpaceSize = SetArgv((char *)GetCommandLine(), &argc, &argv); argSpaceSize = SetArgv((char *)GetCommandLine(), &argc, &argv);
@ -128,14 +130,16 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
} }
while(*p == ' ') p++; while(*p == ' ') p++;
if(p && lstrlen(p)) { if(p && lstrlen(p)) {
for(j=(int)COMPRESSOR_DEFAULT+1; j < (int)COMPRESSOR_BEST; j++) { for(j=(int)COMPRESSOR_SCRIPT+1; j < (int)COMPRESSOR_BEST; j++) {
if(!lstrcmpi(p,compressor_names[j])) { if(!lstrcmpi(p,compressor_names[j])) {
g_sdata.command_line_compressor = true;
SetCompressor((NCOMPRESSOR)j); SetCompressor((NCOMPRESSOR)j);
} }
} }
} }
} }
else if(!lstrcmpi(argv[i],"/ChooseCompressor")) {
chooseCompressor = true;
}
else { else {
lstrcat(g_sdata.script,"\""); lstrcat(g_sdata.script,"\"");
lstrcat(g_sdata.script,argv[i]); lstrcat(g_sdata.script,argv[i]);
@ -151,7 +155,10 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
} }
if(g_sdata.compressor == (NCOMPRESSOR)-1) { if(g_sdata.compressor == (NCOMPRESSOR)-1) {
RestoreCompressor(); SetCompressor(g_sdata.default_compressor);
}
if(chooseCompressor) {
DialogBox(g_sdata.hInstance,MAKEINTRESOURCE(DLG_COMPRESSOR),g_sdata.hwnd,(DLGPROC)CompressorProc);
} }
CompileNSISScript(); CompileNSISScript();
return TRUE; return TRUE;
@ -170,8 +177,8 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
case WM_DESTROY: case WM_DESTROY:
{ {
SaveDefines(); SaveDefines();
SaveMRUList();
SaveCompressor(); SaveCompressor();
SaveMRUList();
SaveWindowPos(g_sdata.hwnd); SaveWindowPos(g_sdata.hwnd);
DestroyTooltips(); DestroyTooltips();
PostQuitMessage(0); PostQuitMessage(0);
@ -245,11 +252,11 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
if (g_sdata.retcode==0 && FileExists(g_sdata.output_exe)) { if (g_sdata.retcode==0 && FileExists(g_sdata.output_exe)) {
char temp_file_name[MAX_PATH]; char temp_file_name[MAX_PATH];
wsprintf(temp_file_name,"%s_makensisw_temp",g_sdata.output_exe); wsprintf(temp_file_name,"%s_makensisw_temp",g_sdata.output_exe);
if(!lstrcmpi(g_sdata.compressor_name,compressor_names[(int)COMPRESSOR_DEFAULT+1])) { if(!lstrcmpi(g_sdata.compressor_name,compressor_names[(int)COMPRESSOR_SCRIPT+1])) {
SetCompressorStats(); SetCompressorStats();
CopyFile(g_sdata.output_exe,temp_file_name,false); CopyFile(g_sdata.output_exe,temp_file_name,false);
g_sdata.best_compressor_name = g_sdata.compressor_name; g_sdata.best_compressor_name = g_sdata.compressor_name;
g_sdata.compressor_name = compressor_names[(int)COMPRESSOR_DEFAULT+2]; g_sdata.compressor_name = compressor_names[(int)COMPRESSOR_SCRIPT+2];
ResetObjects(); ResetObjects();
ResetInputScript(); ResetInputScript();
@ -264,7 +271,7 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
DWORD prevSize, thisSize; DWORD prevSize, thisSize;
for(i=(int)COMPRESSOR_DEFAULT+2; i<(int)COMPRESSOR_BEST; i++) { for(i=(int)COMPRESSOR_SCRIPT+2; i<(int)COMPRESSOR_BEST; i++) {
if(!lstrcmpi(g_sdata.compressor_name,compressor_names[i])) { if(!lstrcmpi(g_sdata.compressor_name,compressor_names[i])) {
this_compressor = i; this_compressor = i;
last_compressor = i-1; last_compressor = i-1;
@ -301,7 +308,7 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
if(this_compressor == ((int)COMPRESSOR_BEST - 1)) { if(this_compressor == ((int)COMPRESSOR_BEST - 1)) {
char buf[1024]; char buf[1024];
g_sdata.compressor_name = compressor_names[(int)COMPRESSOR_DEFAULT+1]; g_sdata.compressor_name = compressor_names[(int)COMPRESSOR_SCRIPT+1];
g_sdata.appended = false; g_sdata.appended = false;
ResetInputScript(); ResetInputScript();
@ -316,7 +323,6 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
LogMessage(g_sdata.hwnd, g_sdata.compressor_stats); LogMessage(g_sdata.hwnd, g_sdata.compressor_stats);
} }
DeleteFile(temp_file_name); DeleteFile(temp_file_name);
ResetObjects();
ResetInputScript(); ResetInputScript();
lstrcpy(g_sdata.compressor_stats,""); lstrcpy(g_sdata.compressor_stats,"");
} }
@ -511,7 +517,6 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
return TRUE; return TRUE;
case IDM_COMPRESSOR: case IDM_COMPRESSOR:
{ {
g_sdata.command_line_compressor = false;
SetCompressor((NCOMPRESSOR)(g_sdata.compressor+1)); SetCompressor((NCOMPRESSOR)(g_sdata.compressor+1));
return TRUE; return TRUE;
} }
@ -535,9 +540,9 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
CompileNSISScript(); CompileNSISScript();
return TRUE; return TRUE;
} }
case IDM_DEFINES: case IDM_SETTINGS:
{ {
DialogBox(g_sdata.hInstance,MAKEINTRESOURCE(DLG_DEFINES),g_sdata.hwnd,(DLGPROC)DefinesProc); DialogBox(g_sdata.hInstance,MAKEINTRESOURCE(DLG_SETTINGS),g_sdata.hwnd,(DLGPROC)SettingsProc);
return TRUE; return TRUE;
} }
case IDM_TEST: case IDM_TEST:
@ -624,9 +629,8 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
{ {
int i; int i;
DWORD command = LOWORD(wParam); DWORD command = LOWORD(wParam);
for(i=(int)COMPRESSOR_DEFAULT; i<=(int)COMPRESSOR_BEST; i++) { for(i=(int)COMPRESSOR_SCRIPT; i<=(int)COMPRESSOR_BEST; i++) {
if(command == compressor_commands[i]) { if(command == compressor_commands[i]) {
g_sdata.command_line_compressor = false;
SetCompressor((NCOMPRESSOR)i); SetCompressor((NCOMPRESSOR)i);
return TRUE; return TRUE;
} }
@ -790,12 +794,19 @@ BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
return FALSE; return FALSE;
} }
BOOL CALLBACK DefinesProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { BOOL CALLBACK SettingsProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
switch(msg) { switch(msg) {
case WM_INITDIALOG: case WM_INITDIALOG:
{ {
int i=0;
LRESULT rv;
for(i=(int)COMPRESSOR_SCRIPT; i<= (int)COMPRESSOR_BEST; i++) {
rv = SendDlgItemMessage(hwndDlg, IDC_COMPRESSOR, CB_ADDSTRING, 0, (LPARAM)compressor_display_names[i]);
}
rv = SendDlgItemMessage(hwndDlg, IDC_COMPRESSOR, CB_SETCURSEL, (WPARAM)g_sdata.default_compressor, (LPARAM)0);
if(g_sdata.defines) { if(g_sdata.defines) {
int i=0;
while(g_sdata.defines[i]) { while(g_sdata.defines[i]) {
SendDlgItemMessage(hwndDlg, IDC_DEFINES, LB_ADDSTRING, 0, (LPARAM)g_sdata.defines[i]); SendDlgItemMessage(hwndDlg, IDC_DEFINES, LB_ADDSTRING, 0, (LPARAM)g_sdata.defines[i]);
i++; i++;
@ -824,6 +835,15 @@ BOOL CALLBACK DefinesProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
} }
g_sdata.defines[n] = NULL; g_sdata.defines[n] = NULL;
} }
n = SendDlgItemMessage(hwndDlg, IDC_COMPRESSOR, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
if(n >= (int)COMPRESSOR_SCRIPT && n <= (int)COMPRESSOR_BEST) {
g_sdata.default_compressor = (NCOMPRESSOR)n;
}
else {
g_sdata.default_compressor = COMPRESSOR_SCRIPT;
}
EndDialog(hwndDlg, TRUE); EndDialog(hwndDlg, TRUE);
} }
break; break;
@ -911,6 +931,50 @@ BOOL CALLBACK DefinesProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
return FALSE; return FALSE;
} }
BOOL CALLBACK CompressorProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
switch(msg) {
case WM_INITDIALOG:
{
int i=0;
LRESULT rv;
for(i=(int)COMPRESSOR_SCRIPT; i<= (int)COMPRESSOR_BEST; i++) {
rv = SendDlgItemMessage(hwndDlg, IDC_COMPRESSOR, CB_ADDSTRING, 0, (LPARAM)compressor_display_names[i]);
}
rv = SendDlgItemMessage(hwndDlg, IDC_COMPRESSOR, CB_SETCURSEL, (WPARAM)g_sdata.compressor, (LPARAM)0);
SetFocus(GetDlgItem(hwndDlg, IDC_COMPRESSOR));
break;
}
case WM_COMMAND:
{
switch (LOWORD(wParam)) {
case IDOK:
{
int n;
n = SendDlgItemMessage(hwndDlg, IDC_COMPRESSOR, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
if(n >= (int)COMPRESSOR_SCRIPT && n <= (int)COMPRESSOR_BEST) {
SetCompressor((NCOMPRESSOR)n);
}
else {
SetCompressor(g_sdata.default_compressor);
}
EndDialog(hwndDlg, TRUE);
break;
}
case IDCANCEL:
{
EndDialog(hwndDlg, TRUE);
break;
}
}
break;
}
}
return FALSE;
}
void SetCompressor(NCOMPRESSOR compressor) void SetCompressor(NCOMPRESSOR compressor)
{ {
int i; int i;
@ -919,23 +983,23 @@ void SetCompressor(NCOMPRESSOR compressor)
WORD command; WORD command;
char *compressor_name; char *compressor_name;
if(compressor > COMPRESSOR_DEFAULT && compressor < COMPRESSOR_BEST) { if(compressor > COMPRESSOR_SCRIPT && compressor < COMPRESSOR_BEST) {
command = compressor_commands[(int)compressor]; command = compressor_commands[(int)compressor];
compressor_name = compressor_names[(int)compressor]; compressor_name = compressor_names[(int)compressor];
} }
else if(compressor == COMPRESSOR_BEST) { else if(compressor == COMPRESSOR_BEST) {
command = compressor_commands[(int)compressor]; command = compressor_commands[(int)compressor];
compressor_name = compressor_names[(int)COMPRESSOR_DEFAULT+1]; compressor_name = compressor_names[(int)COMPRESSOR_SCRIPT+1];
} }
else { else {
compressor = COMPRESSOR_DEFAULT; compressor = COMPRESSOR_SCRIPT;
command = IDM_DEFAULT; command = IDM_SCRIPT;
compressor_name = ""; compressor_name = "";
} }
g_sdata.compressor = compressor; g_sdata.compressor = compressor;
g_sdata.compressor_name = compressor_name; g_sdata.compressor_name = compressor_name;
UpdateToolBarCompressorButton(); UpdateToolBarCompressorButton();
for(i=(int)COMPRESSOR_DEFAULT; i<= (int)COMPRESSOR_BEST; i++) { for(i=(int)COMPRESSOR_SCRIPT; i<= (int)COMPRESSOR_BEST; i++) {
CheckMenuItem(g_sdata.menu, compressor_commands[i], MF_BYCOMMAND | MF_UNCHECKED); CheckMenuItem(g_sdata.menu, compressor_commands[i], MF_BYCOMMAND | MF_UNCHECKED);
} }
CheckMenuItem(g_sdata.menu, command, MF_BYCOMMAND | MF_CHECKED); CheckMenuItem(g_sdata.menu, command, MF_BYCOMMAND | MF_CHECKED);

View file

@ -72,7 +72,7 @@ enum {
}; };
typedef enum { typedef enum {
COMPRESSOR_DEFAULT, COMPRESSOR_SCRIPT,
COMPRESSOR_ZLIB, COMPRESSOR_ZLIB,
COMPRESSOR_BZIP2, COMPRESSOR_BZIP2,
COMPRESSOR_LZMA, COMPRESSOR_LZMA,
@ -85,7 +85,12 @@ char *compressor_names[] = {"",
"bzip2", "bzip2",
"lzma", "lzma",
"Best"}; "Best"};
WORD compressor_commands[] = {IDM_DEFAULT, char *compressor_display_names[] = {"Defined in Script/MakeNSIS Default",
"ZLIB",
"BZIP2",
"7-Zip (LZMA)",
"Best Compressor"};
WORD compressor_commands[] = {IDM_SCRIPT,
IDM_ZLIB, IDM_ZLIB,
IDM_BZIP2, IDM_BZIP2,
IDM_LZMA, IDM_LZMA,
@ -93,12 +98,12 @@ WORD compressor_commands[] = {IDM_DEFAULT,
#endif #endif
#ifdef TOOLBAR_CPP #ifdef TOOLBAR_CPP
int compressor_bitmaps[] = {IDB_COMPRESSOR_DEFAULT, int compressor_bitmaps[] = {IDB_COMPRESSOR_SCRIPT,
IDB_COMPRESSOR_ZLIB, IDB_COMPRESSOR_ZLIB,
IDB_COMPRESSOR_BZIP2, IDB_COMPRESSOR_BZIP2,
IDB_COMPRESSOR_LZMA, IDB_COMPRESSOR_LZMA,
IDB_COMPRESSOR_BEST}; IDB_COMPRESSOR_BEST};
int compressor_strings[] = {IDS_DEFAULT, int compressor_strings[] = {IDS_SCRIPT,
IDS_ZLIB, IDS_ZLIB,
IDS_BZIP2, IDS_BZIP2,
IDS_LZMA, IDS_LZMA,
@ -114,7 +119,8 @@ DWORD WINAPI MakeNSISProc(LPVOID p);
BOOL CALLBACK DialogResize(HWND hWnd, LPARAM /* unused*/); BOOL CALLBACK DialogResize(HWND hWnd, LPARAM /* unused*/);
BOOL CALLBACK AboutNSISProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); BOOL CALLBACK AboutNSISProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK DefinesProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); BOOL CALLBACK SettingsProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK CompressorProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
void CompileNSISScript(); void CompileNSISScript();
char* BuildDefines(); char* BuildDefines();
void SetCompressor(NCOMPRESSOR); void SetCompressor(NCOMPRESSOR);
@ -144,11 +150,11 @@ typedef struct NSISScriptData {
HANDLE thread; HANDLE thread;
HWND focused_hwnd; HWND focused_hwnd;
CHARRANGE textrange; CHARRANGE textrange;
NCOMPRESSOR default_compressor;
NCOMPRESSOR compressor; NCOMPRESSOR compressor;
char *compressor_name; char *compressor_name;
char compressor_stats[512]; char compressor_stats[512];
char *best_compressor_name; char *best_compressor_name;
BOOL command_line_compressor;
// Added by Darren Owen (DrO) on 1/10/2003 // Added by Darren Owen (DrO) on 1/10/2003
int recompile_test; int recompile_test;
} NSCRIPTDATA; } NSCRIPTDATA;

View file

@ -8,7 +8,7 @@
#define IDS_COPY 4 #define IDS_COPY 4
#define IDS_FIND 5 #define IDS_FIND 5
#define IDS_RECOMPILE 6 #define IDS_RECOMPILE 6
#define IDS_DEFINES 7 #define IDS_SETTINGS 7
#define IDS_COMPRESSOR 8 #define IDS_COMPRESSOR 8
#define IDS_TEST 9 #define IDS_TEST 9
#define IDS_EDITSCRIPT 10 #define IDS_EDITSCRIPT 10
@ -18,7 +18,7 @@
#define IDS_FORUM 15 #define IDS_FORUM 15
#define IDS_NSISUPDATE 16 #define IDS_NSISUPDATE 16
#define IDS_DOCS 17 #define IDS_DOCS 17
#define IDS_DEFAULT 18 #define IDS_SCRIPT 18
#define IDS_ZLIB 19 #define IDS_ZLIB 19
#define IDS_BZIP2 20 #define IDS_BZIP2 20
#define IDS_RECOMPILE_TEST 21 #define IDS_RECOMPILE_TEST 21
@ -31,9 +31,10 @@
#define IDK_ACCEL 105 #define IDK_ACCEL 105
#define IDI_SHELL 112 #define IDI_SHELL 112
#define IDB_LOGO 115 #define IDB_LOGO 115
#define DLG_DEFINES 116 #define DLG_SETTINGS 116
#define IDB_BITMAP1 120 #define IDB_BITMAP1 120
#define IDB_TOOLBAR 122 #define IDB_TOOLBAR 122
#define DLG_COMPRESSOR 124
#define IDC_LOGWIN 402 #define IDC_LOGWIN 402
#define IDC_VERSION 405 #define IDC_VERSION 405
#define IDC_CLOSE 406 #define IDC_CLOSE 406
@ -57,6 +58,7 @@
#define IDLEFT 1020 #define IDLEFT 1020
#define IDC_DEFINES 1021 #define IDC_DEFINES 1021
#define IDC_RECOMPILE_TEST 1022 #define IDC_RECOMPILE_TEST 1022
#define IDC_COMPRESSOR 1025
#define IDM_COMPRESSOR 40001 #define IDM_COMPRESSOR 40001
#define IDM_TEST 40002 #define IDM_TEST 40002
#define IDM_EDITSCRIPT 40003 #define IDM_EDITSCRIPT 40003
@ -67,9 +69,8 @@
#define IDM_CLEARLOG 40009 #define IDM_CLEARLOG 40009
#define IDM_BROWSESCR 40013 #define IDM_BROWSESCR 40013
#define IDM_FORUM 40016 #define IDM_FORUM 40016
#define IDM_DEFINES 40017
#define IDM_NSISUPDATE 40018 #define IDM_NSISUPDATE 40018
#define IDM_DEFAULT 40020 #define IDM_SCRIPT 40020
#define IDM_ZLIB 40021 #define IDM_ZLIB 40021
#define IDM_BZIP2 40022 #define IDM_BZIP2 40022
#define IDM_MRU_FILE 40023 #define IDM_MRU_FILE 40023
@ -77,14 +78,15 @@
#define IDM_RECOMPILE_TEST 40030 #define IDM_RECOMPILE_TEST 40030
#define IDM_BEST 40031 #define IDM_BEST 40031
#define IDM_LZMA 40032 #define IDM_LZMA 40032
#define IDM_SETTINGS 40033
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 124 #define _APS_NEXT_RESOURCE_VALUE 125
#define _APS_NEXT_COMMAND_VALUE 40033 #define _APS_NEXT_COMMAND_VALUE 40034
#define _APS_NEXT_CONTROL_VALUE 1023 #define _APS_NEXT_CONTROL_VALUE 1027
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101
#endif #endif
#endif #endif

View file

@ -27,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE // TEXTINCLUDE
// //
1 TEXTINCLUDE DISCARDABLE 1 TEXTINCLUDE DISCARDABLE
BEGIN BEGIN
"resource.h\0" "resource.h\0"
END END
2 TEXTINCLUDE DISCARDABLE 2 TEXTINCLUDE DISCARDABLE
BEGIN BEGIN
"#include ""afxres.h""\r\n" "#include ""afxres.h""\r\n"
"\0" "\0"
END END
3 TEXTINCLUDE DISCARDABLE 3 TEXTINCLUDE DISCARDABLE
BEGIN BEGIN
"\r\n" "\r\n"
"\0" "\0"
@ -62,7 +62,7 @@ IDI_SHELL ICON DISCARDABLE "shell.ico"
// Menu // Menu
// //
IDM_MENU MENU DISCARDABLE IDM_MENU MENU DISCARDABLE
BEGIN BEGIN
POPUP "&File" POPUP "&File"
BEGIN BEGIN
@ -84,17 +84,17 @@ BEGIN
END END
POPUP "&Tools" POPUP "&Tools"
BEGIN BEGIN
MENUITEM "&Settings..\tCtrl+S", IDM_SETTINGS
MENUITEM "&Recompile\tCtrl+R", IDM_RECOMPILE MENUITEM "&Recompile\tCtrl+R", IDM_RECOMPILE
MENUITEM "&Define Symbols...\tCtrl+D", IDM_DEFINES
MENUITEM "Test &Installer\tCtrl+T", IDM_TEST MENUITEM "Test &Installer\tCtrl+T", IDM_TEST
MENUITEM "Recompile and Run\tCtrl+M", IDM_RECOMPILE_TEST MENUITEM "Reco&mpile and Test\tCtrl+M", IDM_RECOMPILE_TEST
POPUP "&Set Compressor" POPUP "Set &Compressor"
BEGIN BEGIN
MENUITEM "Defa&ult", IDM_DEFAULT MENUITEM "&Set in Script/MakeNSIS Default", IDM_SCRIPT
MENUITEM "&zlib", IDM_ZLIB MENUITEM "&ZLIB", IDM_ZLIB
MENUITEM "bzi&p2", IDM_BZIP2 MENUITEM "BZI&P2", IDM_BZIP2
MENUITEM "&lzma", IDM_LZMA MENUITEM "&LZMA", IDM_LZMA
MENUITEM "&Best", IDM_BEST MENUITEM "&Best Compressor", IDM_BEST
END END
MENUITEM "Edit Script\tCtrl+E", IDM_EDITSCRIPT MENUITEM "Edit Script\tCtrl+E", IDM_EDITSCRIPT
MENUITEM "Browse Script\tCtrl+B", IDM_BROWSESCR MENUITEM "Browse Script\tCtrl+B", IDM_BROWSESCR
@ -119,17 +119,17 @@ END
// Accelerator // Accelerator
// //
IDK_ACCEL ACCELERATORS PRELOAD MOVEABLE PURE IDK_ACCEL ACCELERATORS PRELOAD MOVEABLE PURE
BEGIN BEGIN
"A", IDM_SELECTALL, VIRTKEY, CONTROL, NOINVERT "A", IDM_SELECTALL, VIRTKEY, CONTROL, NOINVERT
"B", IDM_BROWSESCR, VIRTKEY, CONTROL, NOINVERT "B", IDM_BROWSESCR, VIRTKEY, CONTROL, NOINVERT
"C", IDM_COPYSELECTED, VIRTKEY, CONTROL, NOINVERT "C", IDM_COPYSELECTED, VIRTKEY, CONTROL, NOINVERT
"D", IDM_DEFINES, VIRTKEY, CONTROL, NOINVERT
"E", IDM_EDITSCRIPT, VIRTKEY, CONTROL, NOINVERT "E", IDM_EDITSCRIPT, VIRTKEY, CONTROL, NOINVERT
"F", IDM_FIND, VIRTKEY, CONTROL, NOINVERT "F", IDM_FIND, VIRTKEY, CONTROL, NOINVERT
"L", IDM_LOADSCRIPT, VIRTKEY, CONTROL, NOINVERT "L", IDM_LOADSCRIPT, VIRTKEY, CONTROL, NOINVERT
"M", IDM_RECOMPILE_TEST, VIRTKEY, CONTROL, NOINVERT "M", IDM_RECOMPILE_TEST, VIRTKEY, CONTROL, NOINVERT
"R", IDM_RECOMPILE, VIRTKEY, CONTROL, NOINVERT "R", IDM_RECOMPILE, VIRTKEY, CONTROL, NOINVERT
"S", IDM_SETTINGS, VIRTKEY, CONTROL, NOINVERT
"T", IDM_TEST, VIRTKEY, CONTROL, NOINVERT "T", IDM_TEST, VIRTKEY, CONTROL, NOINVERT
VK_F1, IDM_DOCS, VIRTKEY, NOINVERT VK_F1, IDM_DOCS, VIRTKEY, NOINVERT
"W", IDM_CLEARLOG, VIRTKEY, CONTROL, NOINVERT "W", IDM_CLEARLOG, VIRTKEY, CONTROL, NOINVERT
@ -143,15 +143,15 @@ END
// //
DLG_MAIN DIALOG DISCARDABLE 0, 0, 362, 246 DLG_MAIN DIALOG DISCARDABLE 0, 0, 362, 246
STYLE DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | STYLE DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX |
WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "MakeNSIS" CAPTION "MakeNSIS"
MENU IDM_MENU MENU IDM_MENU
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "",IDC_LOGWIN,"RICHEDIT",ES_MULTILINE | ES_AUTOVSCROLL | CONTROL "",IDC_LOGWIN,"RICHEDIT",ES_MULTILINE | ES_AUTOVSCROLL |
ES_NOHIDESEL | ES_READONLY | ES_NUMBER | WS_BORDER | ES_NOHIDESEL | ES_READONLY | ES_NUMBER | WS_BORDER |
WS_VSCROLL,7,22,345,186 WS_VSCROLL,7,22,345,186
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,220,346,1 CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,220,346,1
LTEXT "",IDC_VERSION,7,230,200,12,WS_DISABLED LTEXT "",IDC_VERSION,7,230,200,12,WS_DISABLED
@ -160,7 +160,7 @@ BEGIN
END END
DLG_ABOUT DIALOGEX 0, 0, 233, 126 DLG_ABOUT DIALOGEX 0, 0, 233, 126
STYLE DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | STYLE DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP |
WS_CAPTION WS_CAPTION
CAPTION "About MakeNSISW" CAPTION "About MakeNSISW"
FONT 8, "MS Shell Dlg", 0, 0, 0x1 FONT 8, "MS Shell Dlg", 0, 0, 0x1
@ -175,22 +175,39 @@ BEGIN
CONTROL 115,IDC_STATIC,"Static",SS_BITMAP,0,0,20,20 CONTROL 115,IDC_STATIC,"Static",SS_BITMAP,0,0,20,20
END END
DLG_DEFINES DIALOGEX 0, 0, 250, 127 DLG_SETTINGS DIALOGEX 0, 0, 250, 190
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Define Symbols" CAPTION "MakeNSISW Settings"
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Sans Serif"
BEGIN BEGIN
DEFPUSHBUTTON "&OK",IDOK,145,106,48,14 DEFPUSHBUTTON "&OK",IDOK,145,168,48,14
PUSHBUTTON "&Cancel",IDCANCEL,195,106,48,14 PUSHBUTTON "&Cancel",IDCANCEL,195,168,48,14
EDITTEXT IDC_SYMBOL,7,37,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE EDITTEXT IDC_SYMBOL,11,98,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
EDITTEXT IDC_VALUE,7,63,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE EDITTEXT IDC_VALUE,11,124,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
PUSHBUTTON ">",IDRIGHT,91,41,14,14 PUSHBUTTON ">",IDRIGHT,95,102,14,14
PUSHBUTTON "<",IDLEFT,91,56,14,14 PUSHBUTTON "<",IDLEFT,95,117,14,14
LTEXT "Symbol",IDC_STATIC,7,28,24,8 LTEXT "Symbol",IDC_STATIC,11,89,24,8
LTEXT "Value (optional)",IDC_STATIC,7,54,50,8 LTEXT "Value (optional)",IDC_STATIC,11,115,50,8
LISTBOX IDC_DEFINES,117,16,121,79,LBS_NOINTEGRALHEIGHT | LISTBOX IDC_DEFINES,117,77,121,79,LBS_NOINTEGRALHEIGHT |
WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,WS_EX_CLIENTEDGE WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,WS_EX_CLIENTEDGE
GROUPBOX "Defined Symbols List",IDC_STATIC,112,7,131,93 GROUPBOX "Symbol Definitions",IDC_STATIC,7,58,236,103
LTEXT "Symbol List",IDC_STATIC,117,67,118,9
GROUPBOX "Compressor Setting",IDC_STATIC,7,7,236,41
LTEXT "Default Compressor:",IDC_STATIC,11,27,68,11
COMBOBOX IDC_COMPRESSOR,77,26,162,94,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
END
DLG_COMPRESSOR DIALOG DISCARDABLE 0, 0, 223, 47
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
CAPTION "Choose Compressor"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,112,27,50,14
PUSHBUTTON "Cancel",IDCANCEL,165,27,50,14
LTEXT "Compressor:",IDC_STATIC,7,8,43,11
COMBOBOX IDC_COMPRESSOR,54,7,162,94,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
END END
@ -200,7 +217,7 @@ END
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE GUIDELINES DESIGNINFO DISCARDABLE
BEGIN BEGIN
DLG_MAIN, DIALOG DLG_MAIN, DIALOG
BEGIN BEGIN
@ -213,12 +230,20 @@ BEGIN
BOTTOMMARGIN, 121 BOTTOMMARGIN, 121
END END
DLG_DEFINES, DIALOG DLG_SETTINGS, DIALOG
BEGIN BEGIN
LEFTMARGIN, 7 LEFTMARGIN, 7
RIGHTMARGIN, 243 RIGHTMARGIN, 243
TOPMARGIN, 7 TOPMARGIN, 7
BOTTOMMARGIN, 120 BOTTOMMARGIN, 183
END
DLG_COMPRESSOR, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 216
TOPMARGIN, 7
BOTTOMMARGIN, 40
END END
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
@ -244,7 +269,7 @@ IDB_TOOLBAR BITMAP DISCARDABLE "toolbar.bmp"
// String Table // String Table
// //
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_LOADSCRIPT "Load Script..." IDS_LOADSCRIPT "Load Script..."
IDS_SAVE "Save Output..." IDS_SAVE "Save Output..."
@ -252,7 +277,7 @@ BEGIN
IDS_COPY "Copy" IDS_COPY "Copy"
IDS_FIND "Find..." IDS_FIND "Find..."
IDS_RECOMPILE "Recompile" IDS_RECOMPILE "Recompile"
IDS_DEFINES "Define Symbols..." IDS_SETTINGS "Settings..."
IDS_COMPRESSOR "Set Compressor" IDS_COMPRESSOR "Set Compressor"
IDS_TEST "Test Installer" IDS_TEST "Test Installer"
IDS_EDITSCRIPT "Edit Script" IDS_EDITSCRIPT "Edit Script"
@ -262,16 +287,16 @@ BEGIN
IDS_FORUM "NSIS Forum" IDS_FORUM "NSIS Forum"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_NSISUPDATE "NSIS Update" IDS_NSISUPDATE "NSIS Update"
IDS_DOCS "Documentation" IDS_DOCS "Documentation"
IDS_DEFAULT "Default" IDS_SCRIPT "Set in Script/MakeNSIS default"
IDS_ZLIB "zlib" IDS_ZLIB "ZLIB"
IDS_BZIP2 "bzip2" IDS_BZIP2 "BZIP2"
IDS_RECOMPILE_TEST "Recompile and run" IDS_RECOMPILE_TEST "Recompile and Test"
IDS_BEST "Best" IDS_BEST "Best Compressor"
IDS_LZMA "lzma" IDS_LZMA "LZMA"
END END
#endif // English (U.S.) resources #endif // English (U.S.) resources

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

View file

@ -53,8 +53,8 @@ void CreateToolBar()
tbButton[TBB_COPY] = CreateToolBarButton(IDB_COPY, IDM_COPY, TBSTATE_INDETERMINATE, TBSTYLE_BUTTON, 0, 0); tbButton[TBB_COPY] = CreateToolBarButton(IDB_COPY, IDM_COPY, TBSTATE_INDETERMINATE, TBSTYLE_BUTTON, 0, 0);
tbButton[TBB_FIND] = CreateToolBarButton(IDB_FIND, IDM_FIND, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0); tbButton[TBB_FIND] = CreateToolBarButton(IDB_FIND, IDM_FIND, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0);
tbButton[TBB_SEP2] = CreateToolBarButton(0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0); tbButton[TBB_SEP2] = CreateToolBarButton(0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0);
tbButton[TBB_SETTINGS] = CreateToolBarButton(IDB_SETTINGS, IDM_SETTINGS, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0);
tbButton[TBB_RECOMPILE] = CreateToolBarButton(IDB_RECOMPILE, IDM_RECOMPILE, TBSTATE_INDETERMINATE, TBSTYLE_BUTTON, 0, 0); tbButton[TBB_RECOMPILE] = CreateToolBarButton(IDB_RECOMPILE, IDM_RECOMPILE, TBSTATE_INDETERMINATE, TBSTYLE_BUTTON, 0, 0);
tbButton[TBB_DEFINES] = CreateToolBarButton(IDB_DEFINES, IDM_DEFINES, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0);
tbButton[TBB_COMPRESSOR] = CreateToolBarButton(IDB_COMPRESSOR, IDM_COMPRESSOR, TBSTATE_ENABLED, TBSTYLE_DROPDOWN, 0, 0); tbButton[TBB_COMPRESSOR] = CreateToolBarButton(IDB_COMPRESSOR, IDM_COMPRESSOR, TBSTATE_ENABLED, TBSTYLE_DROPDOWN, 0, 0);
tbButton[TBB_TEST] = CreateToolBarButton(IDB_TEST, IDM_TEST, TBSTATE_INDETERMINATE, TBSTYLE_BUTTON, 0, 0); tbButton[TBB_TEST] = CreateToolBarButton(IDB_TEST, IDM_TEST, TBSTATE_INDETERMINATE, TBSTYLE_BUTTON, 0, 0);
// Added by Darren Owen (DrO) on 1/10/2003 // Added by Darren Owen (DrO) on 1/10/2003
@ -101,7 +101,7 @@ void UpdateToolBarCompressorButton()
my_memset(&ti, 0, sizeof(TOOLINFO)); my_memset(&ti, 0, sizeof(TOOLINFO));
if(g_sdata.compressor >= COMPRESSOR_DEFAULT && g_sdata.compressor <= COMPRESSOR_BEST) { if(g_sdata.compressor >= COMPRESSOR_SCRIPT && g_sdata.compressor <= COMPRESSOR_BEST) {
iBitmap = compressor_bitmaps[(int)g_sdata.compressor]; iBitmap = compressor_bitmaps[(int)g_sdata.compressor];
iString = compressor_strings[(int)g_sdata.compressor]; iString = compressor_strings[(int)g_sdata.compressor];
} }
@ -170,8 +170,8 @@ void AddToolBarTooltips()
AddToolBarButtonTooltip(TBB_EXIT, IDS_EXIT); AddToolBarButtonTooltip(TBB_EXIT, IDS_EXIT);
AddToolBarButtonTooltip(TBB_COPY, IDS_COPY); AddToolBarButtonTooltip(TBB_COPY, IDS_COPY);
AddToolBarButtonTooltip(TBB_FIND, IDS_FIND); AddToolBarButtonTooltip(TBB_FIND, IDS_FIND);
AddToolBarButtonTooltip(TBB_SETTINGS, IDS_SETTINGS);
AddToolBarButtonTooltip(TBB_RECOMPILE, IDS_RECOMPILE); AddToolBarButtonTooltip(TBB_RECOMPILE, IDS_RECOMPILE);
AddToolBarButtonTooltip(TBB_DEFINES, IDS_DEFINES);
AddToolBarButtonTooltip(TBB_COMPRESSOR, IDS_COMPRESSOR); AddToolBarButtonTooltip(TBB_COMPRESSOR, IDS_COMPRESSOR);
AddToolBarButtonTooltip(TBB_TEST, IDS_TEST); AddToolBarButtonTooltip(TBB_TEST, IDS_TEST);
// Added by Darren Owen (DrO) on 1/10/2003 // Added by Darren Owen (DrO) on 1/10/2003

View file

@ -40,12 +40,12 @@
#define TBB_COPY 4 #define TBB_COPY 4
#define TBB_FIND 5 #define TBB_FIND 5
#define TBB_SEP2 6 #define TBB_SEP2 6
#define TBB_RECOMPILE 7 #define TBB_SETTINGS 7
#define TBB_DEFINES 8 #define TBB_RECOMPILE 8
#define TBB_COMPRESSOR 9 #define TBB_TEST 9
#define TBB_TEST 10
// Added by Darren Owen (DrO) on 1/10/2003 and altered following ids // Added by Darren Owen (DrO) on 1/10/2003 and altered following ids
#define TBB_RECOMPILE_TEST 11 #define TBB_RECOMPILE_TEST 10
#define TBB_COMPRESSOR 11
#define TBB_EDITSCRIPT 12 #define TBB_EDITSCRIPT 12
#define TBB_BROWSESCR 13 #define TBB_BROWSESCR 13
#define TBB_CLEARLOG 14 #define TBB_CLEARLOG 14
@ -62,9 +62,9 @@
#define IDB_COPY 3 #define IDB_COPY 3
#define IDB_FIND 4 #define IDB_FIND 4
#define IDB_RECOMPILE 5 #define IDB_RECOMPILE 5
#define IDB_DEFINES 6 #define IDB_SETTINGS 6
#define IDB_COMPRESSOR 7 #define IDB_COMPRESSOR 7
#define IDB_COMPRESSOR_DEFAULT 7 #define IDB_COMPRESSOR_SCRIPT 7
#define IDB_TEST 8 #define IDB_TEST 8
#define IDB_EDITSCRIPT 9 #define IDB_EDITSCRIPT 9
#define IDB_BROWSESCR 10 #define IDB_BROWSESCR 10

View file

@ -31,6 +31,7 @@ LRESULT CALLBACK TipHookProc(int nCode, WPARAM wParam, LPARAM lParam);
char g_mru_list[MRU_LIST_SIZE][MAX_PATH] = { NULL, NULL, NULL, NULL, NULL }; char g_mru_list[MRU_LIST_SIZE][MAX_PATH] = { NULL, NULL, NULL, NULL, NULL };
extern NSCRIPTDATA g_sdata; extern NSCRIPTDATA g_sdata;
extern char *compressor_names[];
int SetArgv(char *cmdLine, int *argc, char ***argv) int SetArgv(char *cmdLine, int *argc, char ***argv)
{ {
@ -751,29 +752,40 @@ void ClearMRUList()
void RestoreCompressor() void RestoreCompressor()
{ {
HKEY hKey; HKEY hKey;
NCOMPRESSOR v = COMPRESSOR_DEFAULT; NCOMPRESSOR v = COMPRESSOR_SCRIPT;
if (RegOpenKeyEx(REGSEC,REGKEY,0,KEY_READ,&hKey) == ERROR_SUCCESS) { if (RegOpenKeyEx(REGSEC,REGKEY,0,KEY_READ,&hKey) == ERROR_SUCCESS) {
DWORD l = sizeof(g_sdata.compressor); char compressor_name[32];
DWORD l = sizeof(compressor_name);
DWORD t; DWORD t;
if ((RegQueryValueEx(hKey,REGCOMPRESSOR,NULL,&t,(unsigned char*)&v,&l)==ERROR_SUCCESS) &&
(t == REG_DWORD) && if (RegQueryValueEx(hKey,REGCOMPRESSOR,NULL,&t,(unsigned char*)compressor_name,&l)==ERROR_SUCCESS) {
(l==sizeof(v))) { int i;
for(i=(int)COMPRESSOR_SCRIPT; i<= (int)COMPRESSOR_BEST; i++) {
if(!lstrcmpi(compressor_names[i],compressor_name)) {
v = (NCOMPRESSOR)i;
break;
}
}
} }
RegCloseKey(hKey); RegCloseKey(hKey);
} }
g_sdata.command_line_compressor = false; g_sdata.default_compressor=v;
SetCompressor(v);
} }
void SaveCompressor() void SaveCompressor()
{ {
if(!g_sdata.command_line_compressor) { HKEY hKey;
HKEY hKey; int n = (int)COMPRESSOR_SCRIPT;
NCOMPRESSOR v = g_sdata.compressor; NCOMPRESSOR v = g_sdata.default_compressor;
if (RegCreateKey(REGSEC,REGKEY,&hKey) == ERROR_SUCCESS) {
RegSetValueEx(hKey,REGCOMPRESSOR,0,REG_DWORD,(unsigned char*)&v,sizeof(v)); if(v >= COMPRESSOR_SCRIPT && v <= COMPRESSOR_BEST) {
RegCloseKey(hKey); n = (int)v;
} }
if (RegCreateKey(REGSEC,REGKEY,&hKey) == ERROR_SUCCESS) {
RegSetValueEx(hKey,REGCOMPRESSOR,0,REG_SZ,(unsigned char*)compressor_names[n],
lstrlen(compressor_names[n]));
RegCloseKey(hKey);
} }
} }