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;
int i, j;
int argSpaceSize;
bool chooseCompressor = false;
g_sdata.hwnd=hwndDlg;
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,EM_SETBKGNDCOLOR,0,GetSysColor(COLOR_BTNFACE));
RestoreWindowPos(g_sdata.hwnd);
RestoreCompressor();
g_sdata.compressor = (NCOMPRESSOR)-1;
argSpaceSize = SetArgv((char *)GetCommandLine(), &argc, &argv);
@ -128,14 +130,16 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
}
while(*p == ' ') 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])) {
g_sdata.command_line_compressor = true;
SetCompressor((NCOMPRESSOR)j);
}
}
}
}
else if(!lstrcmpi(argv[i],"/ChooseCompressor")) {
chooseCompressor = true;
}
else {
lstrcat(g_sdata.script,"\"");
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) {
RestoreCompressor();
SetCompressor(g_sdata.default_compressor);
}
if(chooseCompressor) {
DialogBox(g_sdata.hInstance,MAKEINTRESOURCE(DLG_COMPRESSOR),g_sdata.hwnd,(DLGPROC)CompressorProc);
}
CompileNSISScript();
return TRUE;
@ -170,8 +177,8 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
case WM_DESTROY:
{
SaveDefines();
SaveMRUList();
SaveCompressor();
SaveMRUList();
SaveWindowPos(g_sdata.hwnd);
DestroyTooltips();
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)) {
char temp_file_name[MAX_PATH];
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();
CopyFile(g_sdata.output_exe,temp_file_name,false);
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();
ResetInputScript();
@ -264,7 +271,7 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
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])) {
this_compressor = i;
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)) {
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;
ResetInputScript();
@ -316,7 +323,6 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
LogMessage(g_sdata.hwnd, g_sdata.compressor_stats);
}
DeleteFile(temp_file_name);
ResetObjects();
ResetInputScript();
lstrcpy(g_sdata.compressor_stats,"");
}
@ -511,7 +517,6 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
return TRUE;
case IDM_COMPRESSOR:
{
g_sdata.command_line_compressor = false;
SetCompressor((NCOMPRESSOR)(g_sdata.compressor+1));
return TRUE;
}
@ -535,9 +540,9 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
CompileNSISScript();
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;
}
case IDM_TEST:
@ -624,9 +629,8 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
{
int i;
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]) {
g_sdata.command_line_compressor = false;
SetCompressor((NCOMPRESSOR)i);
return TRUE;
}
@ -790,12 +794,19 @@ BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
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) {
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) {
int i=0;
while(g_sdata.defines[i]) {
SendDlgItemMessage(hwndDlg, IDC_DEFINES, LB_ADDSTRING, 0, (LPARAM)g_sdata.defines[i]);
i++;
@ -824,6 +835,15 @@ BOOL CALLBACK DefinesProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
}
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);
}
break;
@ -911,6 +931,50 @@ BOOL CALLBACK DefinesProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
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)
{
int i;
@ -919,23 +983,23 @@ void SetCompressor(NCOMPRESSOR compressor)
WORD command;
char *compressor_name;
if(compressor > COMPRESSOR_DEFAULT && compressor < COMPRESSOR_BEST) {
if(compressor > COMPRESSOR_SCRIPT && compressor < COMPRESSOR_BEST) {
command = compressor_commands[(int)compressor];
compressor_name = compressor_names[(int)compressor];
}
else if(compressor == COMPRESSOR_BEST) {
command = compressor_commands[(int)compressor];
compressor_name = compressor_names[(int)COMPRESSOR_DEFAULT+1];
compressor_name = compressor_names[(int)COMPRESSOR_SCRIPT+1];
}
else {
compressor = COMPRESSOR_DEFAULT;
command = IDM_DEFAULT;
compressor = COMPRESSOR_SCRIPT;
command = IDM_SCRIPT;
compressor_name = "";
}
g_sdata.compressor = compressor;
g_sdata.compressor_name = compressor_name;
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, command, MF_BYCOMMAND | MF_CHECKED);

View file

@ -72,7 +72,7 @@ enum {
};
typedef enum {
COMPRESSOR_DEFAULT,
COMPRESSOR_SCRIPT,
COMPRESSOR_ZLIB,
COMPRESSOR_BZIP2,
COMPRESSOR_LZMA,
@ -85,7 +85,12 @@ char *compressor_names[] = {"",
"bzip2",
"lzma",
"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_BZIP2,
IDM_LZMA,
@ -93,12 +98,12 @@ WORD compressor_commands[] = {IDM_DEFAULT,
#endif
#ifdef TOOLBAR_CPP
int compressor_bitmaps[] = {IDB_COMPRESSOR_DEFAULT,
int compressor_bitmaps[] = {IDB_COMPRESSOR_SCRIPT,
IDB_COMPRESSOR_ZLIB,
IDB_COMPRESSOR_BZIP2,
IDB_COMPRESSOR_LZMA,
IDB_COMPRESSOR_BEST};
int compressor_strings[] = {IDS_DEFAULT,
int compressor_strings[] = {IDS_SCRIPT,
IDS_ZLIB,
IDS_BZIP2,
IDS_LZMA,
@ -114,7 +119,8 @@ DWORD WINAPI MakeNSISProc(LPVOID p);
BOOL CALLBACK DialogResize(HWND hWnd, LPARAM /* unused*/);
BOOL CALLBACK AboutNSISProc(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();
char* BuildDefines();
void SetCompressor(NCOMPRESSOR);
@ -144,11 +150,11 @@ typedef struct NSISScriptData {
HANDLE thread;
HWND focused_hwnd;
CHARRANGE textrange;
NCOMPRESSOR default_compressor;
NCOMPRESSOR compressor;
char *compressor_name;
char compressor_stats[512];
char *best_compressor_name;
BOOL command_line_compressor;
// Added by Darren Owen (DrO) on 1/10/2003
int recompile_test;
} NSCRIPTDATA;

View file

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

View file

@ -27,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
@ -62,7 +62,7 @@ IDI_SHELL ICON DISCARDABLE "shell.ico"
// Menu
//
IDM_MENU MENU DISCARDABLE
IDM_MENU MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
@ -84,17 +84,17 @@ BEGIN
END
POPUP "&Tools"
BEGIN
MENUITEM "&Settings..\tCtrl+S", IDM_SETTINGS
MENUITEM "&Recompile\tCtrl+R", IDM_RECOMPILE
MENUITEM "&Define Symbols...\tCtrl+D", IDM_DEFINES
MENUITEM "Test &Installer\tCtrl+T", IDM_TEST
MENUITEM "Recompile and Run\tCtrl+M", IDM_RECOMPILE_TEST
POPUP "&Set Compressor"
MENUITEM "Reco&mpile and Test\tCtrl+M", IDM_RECOMPILE_TEST
POPUP "Set &Compressor"
BEGIN
MENUITEM "Defa&ult", IDM_DEFAULT
MENUITEM "&zlib", IDM_ZLIB
MENUITEM "bzi&p2", IDM_BZIP2
MENUITEM "&lzma", IDM_LZMA
MENUITEM "&Best", IDM_BEST
MENUITEM "&Set in Script/MakeNSIS Default", IDM_SCRIPT
MENUITEM "&ZLIB", IDM_ZLIB
MENUITEM "BZI&P2", IDM_BZIP2
MENUITEM "&LZMA", IDM_LZMA
MENUITEM "&Best Compressor", IDM_BEST
END
MENUITEM "Edit Script\tCtrl+E", IDM_EDITSCRIPT
MENUITEM "Browse Script\tCtrl+B", IDM_BROWSESCR
@ -119,17 +119,17 @@ END
// Accelerator
//
IDK_ACCEL ACCELERATORS PRELOAD MOVEABLE PURE
IDK_ACCEL ACCELERATORS PRELOAD MOVEABLE PURE
BEGIN
"A", IDM_SELECTALL, VIRTKEY, CONTROL, NOINVERT
"B", IDM_BROWSESCR, VIRTKEY, CONTROL, NOINVERT
"C", IDM_COPYSELECTED, VIRTKEY, CONTROL, NOINVERT
"D", IDM_DEFINES, VIRTKEY, CONTROL, NOINVERT
"E", IDM_EDITSCRIPT, VIRTKEY, CONTROL, NOINVERT
"F", IDM_FIND, VIRTKEY, CONTROL, NOINVERT
"L", IDM_LOADSCRIPT, VIRTKEY, CONTROL, NOINVERT
"M", IDM_RECOMPILE_TEST, VIRTKEY, CONTROL, NOINVERT
"R", IDM_RECOMPILE, VIRTKEY, CONTROL, NOINVERT
"S", IDM_SETTINGS, VIRTKEY, CONTROL, NOINVERT
"T", IDM_TEST, VIRTKEY, CONTROL, NOINVERT
VK_F1, IDM_DOCS, VIRTKEY, NOINVERT
"W", IDM_CLEARLOG, VIRTKEY, CONTROL, NOINVERT
@ -143,15 +143,15 @@ END
//
DLG_MAIN DIALOG DISCARDABLE 0, 0, 362, 246
STYLE DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX |
WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
STYLE DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX |
WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
CAPTION "MakeNSIS"
MENU IDM_MENU
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "",IDC_LOGWIN,"RICHEDIT",ES_MULTILINE | ES_AUTOVSCROLL |
ES_NOHIDESEL | ES_READONLY | ES_NUMBER | WS_BORDER |
CONTROL "",IDC_LOGWIN,"RICHEDIT",ES_MULTILINE | ES_AUTOVSCROLL |
ES_NOHIDESEL | ES_READONLY | ES_NUMBER | WS_BORDER |
WS_VSCROLL,7,22,345,186
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,220,346,1
LTEXT "",IDC_VERSION,7,230,200,12,WS_DISABLED
@ -160,7 +160,7 @@ BEGIN
END
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
CAPTION "About MakeNSISW"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
@ -175,22 +175,39 @@ BEGIN
CONTROL 115,IDC_STATIC,"Static",SS_BITMAP,0,0,20,20
END
DLG_DEFINES DIALOGEX 0, 0, 250, 127
DLG_SETTINGS DIALOGEX 0, 0, 250, 190
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Define Symbols"
FONT 8, "MS Sans Serif", 0, 0, 0x1
CAPTION "MakeNSISW Settings"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "&OK",IDOK,145,106,48,14
PUSHBUTTON "&Cancel",IDCANCEL,195,106,48,14
EDITTEXT IDC_SYMBOL,7,37,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
EDITTEXT IDC_VALUE,7,63,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
PUSHBUTTON ">",IDRIGHT,91,41,14,14
PUSHBUTTON "<",IDLEFT,91,56,14,14
LTEXT "Symbol",IDC_STATIC,7,28,24,8
LTEXT "Value (optional)",IDC_STATIC,7,54,50,8
LISTBOX IDC_DEFINES,117,16,121,79,LBS_NOINTEGRALHEIGHT |
DEFPUSHBUTTON "&OK",IDOK,145,168,48,14
PUSHBUTTON "&Cancel",IDCANCEL,195,168,48,14
EDITTEXT IDC_SYMBOL,11,98,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
EDITTEXT IDC_VALUE,11,124,74,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
PUSHBUTTON ">",IDRIGHT,95,102,14,14
PUSHBUTTON "<",IDLEFT,95,117,14,14
LTEXT "Symbol",IDC_STATIC,11,89,24,8
LTEXT "Value (optional)",IDC_STATIC,11,115,50,8
LISTBOX IDC_DEFINES,117,77,121,79,LBS_NOINTEGRALHEIGHT |
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
@ -200,7 +217,7 @@ END
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
DLG_MAIN, DIALOG
BEGIN
@ -213,12 +230,20 @@ BEGIN
BOTTOMMARGIN, 121
END
DLG_DEFINES, DIALOG
DLG_SETTINGS, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 243
TOPMARGIN, 7
BOTTOMMARGIN, 120
BOTTOMMARGIN, 183
END
DLG_COMPRESSOR, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 216
TOPMARGIN, 7
BOTTOMMARGIN, 40
END
END
#endif // APSTUDIO_INVOKED
@ -244,7 +269,7 @@ IDB_TOOLBAR BITMAP DISCARDABLE "toolbar.bmp"
// String Table
//
STRINGTABLE DISCARDABLE
STRINGTABLE DISCARDABLE
BEGIN
IDS_LOADSCRIPT "Load Script..."
IDS_SAVE "Save Output..."
@ -252,7 +277,7 @@ BEGIN
IDS_COPY "Copy"
IDS_FIND "Find..."
IDS_RECOMPILE "Recompile"
IDS_DEFINES "Define Symbols..."
IDS_SETTINGS "Settings..."
IDS_COMPRESSOR "Set Compressor"
IDS_TEST "Test Installer"
IDS_EDITSCRIPT "Edit Script"
@ -262,16 +287,16 @@ BEGIN
IDS_FORUM "NSIS Forum"
END
STRINGTABLE DISCARDABLE
STRINGTABLE DISCARDABLE
BEGIN
IDS_NSISUPDATE "NSIS Update"
IDS_DOCS "Documentation"
IDS_DEFAULT "Default"
IDS_ZLIB "zlib"
IDS_BZIP2 "bzip2"
IDS_RECOMPILE_TEST "Recompile and run"
IDS_BEST "Best"
IDS_LZMA "lzma"
IDS_SCRIPT "Set in Script/MakeNSIS default"
IDS_ZLIB "ZLIB"
IDS_BZIP2 "BZIP2"
IDS_RECOMPILE_TEST "Recompile and Test"
IDS_BEST "Best Compressor"
IDS_LZMA "LZMA"
END
#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_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_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_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_TEST] = CreateToolBarButton(IDB_TEST, IDM_TEST, TBSTATE_INDETERMINATE, TBSTYLE_BUTTON, 0, 0);
// Added by Darren Owen (DrO) on 1/10/2003
@ -101,7 +101,7 @@ void UpdateToolBarCompressorButton()
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];
iString = compressor_strings[(int)g_sdata.compressor];
}
@ -170,8 +170,8 @@ void AddToolBarTooltips()
AddToolBarButtonTooltip(TBB_EXIT, IDS_EXIT);
AddToolBarButtonTooltip(TBB_COPY, IDS_COPY);
AddToolBarButtonTooltip(TBB_FIND, IDS_FIND);
AddToolBarButtonTooltip(TBB_SETTINGS, IDS_SETTINGS);
AddToolBarButtonTooltip(TBB_RECOMPILE, IDS_RECOMPILE);
AddToolBarButtonTooltip(TBB_DEFINES, IDS_DEFINES);
AddToolBarButtonTooltip(TBB_COMPRESSOR, IDS_COMPRESSOR);
AddToolBarButtonTooltip(TBB_TEST, IDS_TEST);
// Added by Darren Owen (DrO) on 1/10/2003

View file

@ -40,12 +40,12 @@
#define TBB_COPY 4
#define TBB_FIND 5
#define TBB_SEP2 6
#define TBB_RECOMPILE 7
#define TBB_DEFINES 8
#define TBB_COMPRESSOR 9
#define TBB_TEST 10
#define TBB_SETTINGS 7
#define TBB_RECOMPILE 8
#define TBB_TEST 9
// 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_BROWSESCR 13
#define TBB_CLEARLOG 14
@ -62,9 +62,9 @@
#define IDB_COPY 3
#define IDB_FIND 4
#define IDB_RECOMPILE 5
#define IDB_DEFINES 6
#define IDB_SETTINGS 6
#define IDB_COMPRESSOR 7
#define IDB_COMPRESSOR_DEFAULT 7
#define IDB_COMPRESSOR_SCRIPT 7
#define IDB_TEST 8
#define IDB_EDITSCRIPT 9
#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 };
extern NSCRIPTDATA g_sdata;
extern char *compressor_names[];
int SetArgv(char *cmdLine, int *argc, char ***argv)
{
@ -751,29 +752,40 @@ void ClearMRUList()
void RestoreCompressor()
{
HKEY hKey;
NCOMPRESSOR v = COMPRESSOR_DEFAULT;
NCOMPRESSOR v = COMPRESSOR_SCRIPT;
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;
if ((RegQueryValueEx(hKey,REGCOMPRESSOR,NULL,&t,(unsigned char*)&v,&l)==ERROR_SUCCESS) &&
(t == REG_DWORD) &&
(l==sizeof(v))) {
if (RegQueryValueEx(hKey,REGCOMPRESSOR,NULL,&t,(unsigned char*)compressor_name,&l)==ERROR_SUCCESS) {
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);
}
g_sdata.command_line_compressor = false;
SetCompressor(v);
g_sdata.default_compressor=v;
}
void SaveCompressor()
{
if(!g_sdata.command_line_compressor) {
HKEY hKey;
NCOMPRESSOR v = g_sdata.compressor;
if (RegCreateKey(REGSEC,REGKEY,&hKey) == ERROR_SUCCESS) {
RegSetValueEx(hKey,REGCOMPRESSOR,0,REG_DWORD,(unsigned char*)&v,sizeof(v));
RegCloseKey(hKey);
}
HKEY hKey;
int n = (int)COMPRESSOR_SCRIPT;
NCOMPRESSOR v = g_sdata.default_compressor;
if(v >= COMPRESSOR_SCRIPT && v <= COMPRESSOR_BEST) {
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);
}
}