New About Boxes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1067 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
b588f97ad5
commit
3cd3086bcf
4 changed files with 158 additions and 14 deletions
|
@ -210,6 +210,11 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
DialogBox(g_hInstance,MAKEINTRESOURCE(DLG_ABOUT),g_hwnd,(DLGPROC)AboutProc);
|
DialogBox(g_hInstance,MAKEINTRESOURCE(DLG_ABOUT),g_hwnd,(DLGPROC)AboutProc);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
case IDM_ABOUTNSIS:
|
||||||
|
{
|
||||||
|
DialogBox(g_hInstance,MAKEINTRESOURCE(DLG_ABOUTNSIS),g_hwnd,(DLGPROC)AboutNSISProc);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
case IDM_NSISHOME:
|
case IDM_NSISHOME:
|
||||||
{
|
{
|
||||||
ShellExecute(g_hwnd,"open",NSIS_URL,NULL,NULL,SW_SHOWNORMAL);
|
ShellExecute(g_hwnd,"open",NSIS_URL,NULL,NULL,SW_SHOWNORMAL);
|
||||||
|
@ -448,7 +453,91 @@ BOOL CALLBACK DialogResize(HWND hWnd, LPARAM /* unused */)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define CONTRIBCOUNT 3
|
||||||
|
char * ContribUsers[] = {
|
||||||
|
"Fritz Elfert",
|
||||||
|
"Justin Frankel",
|
||||||
|
"Amir Szekely"
|
||||||
|
};
|
||||||
|
|
||||||
|
extern char *g_branding;
|
||||||
|
|
||||||
|
BOOL CALLBACK AboutNSISProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
|
switch(msg) {
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
{
|
||||||
|
HFONT bfont = CreateFont(14,0,0,0,FW_BOLD,FALSE,FALSE,FALSE,DEFAULT_CHARSET,
|
||||||
|
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
|
||||||
|
FIXED_PITCH|FF_DONTCARE, "MS Shell Dlg");
|
||||||
|
HFONT hFont = CreateFont(12,0,0,0,FW_NORMAL,0,0,0,DEFAULT_CHARSET,OUT_CHARACTER_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FIXED_PITCH|FF_DONTCARE,"MS Shell Dlg");
|
||||||
|
if (bfont) SendDlgItemMessage(hwndDlg, IDC_NSISVER, WM_SETFONT, (WPARAM)bfont, FALSE);
|
||||||
|
SetDlgItemText(hwndDlg,IDC_NSISVER,g_branding);
|
||||||
|
SendDlgItemMessage(hwndDlg,IDC_NSISNFO,WM_SETFONT,(WPARAM)hFont,0);
|
||||||
|
SendDlgItemMessage(hwndDlg,IDC_NSISNFO,EM_SETBKGNDCOLOR,0,GetSysColor(COLOR_BTNFACE));
|
||||||
|
{
|
||||||
|
char *s;
|
||||||
|
s = (char *)GlobalAlloc(GPTR,lstrlen(EXENAME)+10);
|
||||||
|
wsprintf(s,"%s /license",EXENAME);
|
||||||
|
STARTUPINFO si={sizeof(si),};
|
||||||
|
SECURITY_ATTRIBUTES sa={sizeof(sa),};
|
||||||
|
SECURITY_DESCRIPTOR sd={0,};
|
||||||
|
PROCESS_INFORMATION pi={0,};
|
||||||
|
HANDLE newstdout=0,read_stdout=0;
|
||||||
|
|
||||||
|
OSVERSIONINFO osv={sizeof(osv)};
|
||||||
|
GetVersionEx(&osv);
|
||||||
|
if (osv.dwPlatformId == VER_PLATFORM_WIN32_NT) {
|
||||||
|
InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);
|
||||||
|
SetSecurityDescriptorDacl(&sd,true,NULL,false);
|
||||||
|
sa.lpSecurityDescriptor = &sd;
|
||||||
|
}
|
||||||
|
else sa.lpSecurityDescriptor = NULL;
|
||||||
|
sa.bInheritHandle = true;
|
||||||
|
if (!CreatePipe(&read_stdout,&newstdout,&sa,0)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
GetStartupInfo(&si);
|
||||||
|
si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
|
||||||
|
si.wShowWindow = SW_HIDE;
|
||||||
|
si.hStdOutput = newstdout;
|
||||||
|
si.hStdError = newstdout;
|
||||||
|
if (!CreateProcess(NULL,s,NULL,NULL,TRUE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi)) {
|
||||||
|
CloseHandle(newstdout);
|
||||||
|
CloseHandle(read_stdout);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
char szBuf[2048];
|
||||||
|
DWORD dwRead = 1;
|
||||||
|
DWORD dwExit = !STILL_ACTIVE;
|
||||||
|
if (WaitForSingleObject(pi.hProcess,10000)!=WAIT_OBJECT_0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
ReadFile(read_stdout, szBuf, sizeof(szBuf)-1, &dwRead, NULL);
|
||||||
|
szBuf[dwRead] = 0;
|
||||||
|
if (lstrlen(szBuf)==0) EndDialog(hwndDlg,TRUE);
|
||||||
|
SetDlgItemText(hwndDlg,IDC_NSISNFO,szBuf);
|
||||||
|
GlobalFree(s);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case WM_CLOSE:
|
||||||
|
EndDialog(hwndDlg, TRUE);
|
||||||
|
break;
|
||||||
|
case WM_COMMAND:
|
||||||
|
{
|
||||||
|
switch (LOWORD(wParam)) {
|
||||||
|
case WM_CLOSE:
|
||||||
|
case IDOK:
|
||||||
|
EndDialog(hwndDlg, TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
|
static HBRUSH hBrush;
|
||||||
switch(msg) {
|
switch(msg) {
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
|
@ -465,9 +554,25 @@ BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
}
|
}
|
||||||
SetDlgItemText(hwndDlg,IDC_ABOUTVERSION,NSISW_VERSION);
|
SetDlgItemText(hwndDlg,IDC_ABOUTVERSION,NSISW_VERSION);
|
||||||
SetDlgItemText(hwndDlg,IDC_ABOUTCOPY,COPYRIGHT);
|
SetDlgItemText(hwndDlg,IDC_ABOUTCOPY,COPYRIGHT);
|
||||||
SetDlgItemText(hwndDlg,IDC_ABOUTPORTIONS,CONTRIBUTOR);
|
HWND ilist = GetDlgItem(hwndDlg,IDC_CONTRIB);
|
||||||
|
int i;
|
||||||
|
if (ilist) {
|
||||||
|
for (i = 0; i < CONTRIBCOUNT; i++) {
|
||||||
|
SendMessage(ilist, LB_ADDSTRING, 0, (LPARAM) ContribUsers[i]);
|
||||||
|
SendMessage(ilist, LB_SETITEMDATA, i, (LPARAM) i);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case WM_CTLCOLORDLG:
|
||||||
|
case WM_CTLCOLORSTATIC:
|
||||||
|
case WM_CTLCOLORLISTBOX:
|
||||||
|
{
|
||||||
|
if(!hBrush) hBrush=CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
|
||||||
|
SetBkColor((HDC)wParam, GetSysColor(COLOR_BTNFACE));
|
||||||
|
SelectObject((HDC)wParam, hBrush);
|
||||||
|
return((LONG)hBrush);
|
||||||
|
}
|
||||||
case WM_CLOSE:
|
case WM_CLOSE:
|
||||||
EndDialog(hwndDlg, TRUE);
|
EndDialog(hwndDlg, TRUE);
|
||||||
break;
|
break;
|
||||||
|
@ -477,6 +582,7 @@ BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
case WM_CLOSE:
|
case WM_CLOSE:
|
||||||
case IDOK:
|
case IDOK:
|
||||||
EndDialog(hwndDlg, TRUE);
|
EndDialog(hwndDlg, TRUE);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#define NSIS_URL "http://sourceforge.net/projects/nsis/"
|
#define NSIS_URL "http://sourceforge.net/projects/nsis/"
|
||||||
#define USAGE "Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSI\""
|
#define USAGE "Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSI\""
|
||||||
#define COPYRIGHT "Copyright (c) 2002 Robert Rainwater"
|
#define COPYRIGHT "Copyright (c) 2002 Robert Rainwater"
|
||||||
#define CONTRIBUTOR "Contributors: Justin Frankel, Fritz Elfert, and Amir Szekely"
|
|
||||||
#define DOCPATH "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/nsis/NSIS/docs/index.html?rev=HEAD"
|
#define DOCPATH "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/nsis/NSIS/docs/index.html?rev=HEAD"
|
||||||
#define LOCALDOCS "\\docs\\index.html"
|
#define LOCALDOCS "\\docs\\index.html"
|
||||||
#define NSISERROR "Unable to intialize MakeNSIS. Please verify that makensis.exe is in the same directory as makensisw.exe."
|
#define NSISERROR "Unable to intialize MakeNSIS. Please verify that makensis.exe is in the same directory as makensisw.exe."
|
||||||
|
@ -65,6 +64,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char *cmdParam, int cm
|
||||||
static BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
static BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
DWORD WINAPI MakeNSISProc(LPVOID p);
|
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 AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
void CompileNSISScript();
|
void CompileNSISScript();
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#define IDI_ABOUT 110
|
#define IDI_ABOUT 110
|
||||||
#define IDM_LOGWIN 111
|
#define IDM_LOGWIN 111
|
||||||
#define IDI_SHELL 112
|
#define IDI_SHELL 112
|
||||||
|
#define DLG_ABOUTNSIS 113
|
||||||
#define IDC_LOGWIN 402
|
#define IDC_LOGWIN 402
|
||||||
#define IDC_VERSION 405
|
#define IDC_VERSION 405
|
||||||
#define IDC_CLOSE 406
|
#define IDC_CLOSE 406
|
||||||
|
@ -25,20 +26,24 @@
|
||||||
#define IDC_ABOUTVERSION 1001
|
#define IDC_ABOUTVERSION 1001
|
||||||
#define IDC_ABOUTCOPY 1003
|
#define IDC_ABOUTCOPY 1003
|
||||||
#define IDC_ABOUTPORTIONS 1005
|
#define IDC_ABOUTPORTIONS 1005
|
||||||
|
#define IDC_CONTRIB 1009
|
||||||
|
#define IDC_NSISVER 1010
|
||||||
|
#define IDC_NSISNFO 1011
|
||||||
#define IDM_TEST 40002
|
#define IDM_TEST 40002
|
||||||
#define IDM_EDITSCRIPT 40003
|
#define IDM_EDITSCRIPT 40003
|
||||||
#define IDM_DOCS 40004
|
#define IDM_DOCS 40004
|
||||||
#define IDM_LOADSCRIPT 40005
|
#define IDM_LOADSCRIPT 40005
|
||||||
#define IDM_FIND 40006
|
#define IDM_FIND 40006
|
||||||
#define IDM_SELECTALL 40007
|
#define IDM_SELECTALL 40007
|
||||||
|
#define IDM_ABOUTNSIS 40008
|
||||||
|
|
||||||
// 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 113
|
#define _APS_NEXT_RESOURCE_VALUE 114
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40008
|
#define _APS_NEXT_COMMAND_VALUE 40009
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1009
|
#define _APS_NEXT_CONTROL_VALUE 1013
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2,6 +2,11 @@
|
||||||
//
|
//
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
|
// Generated Help ID header file
|
||||||
|
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||||
|
#include "resource.hm"
|
||||||
|
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||||
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
#define APSTUDIO_READONLY_SYMBOLS
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
|
@ -90,7 +95,8 @@ BEGIN
|
||||||
MENUITEM "NSIS Home", IDM_NSISHOME
|
MENUITEM "NSIS Home", IDM_NSISHOME
|
||||||
MENUITEM "Documentation", IDM_DOCS
|
MENUITEM "Documentation", IDM_DOCS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&About", IDM_ABOUT
|
MENUITEM "About &NSIS", IDM_ABOUTNSIS
|
||||||
|
MENUITEM "&About MakeNSISW", IDM_ABOUT
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -132,7 +138,7 @@ END
|
||||||
|
|
||||||
DLG_MAIN DIALOG DISCARDABLE 0, 0, 361, 228
|
DLG_MAIN DIALOG DISCARDABLE 0, 0, 361, 228
|
||||||
STYLE DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
|
STYLE DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
|
||||||
WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN
|
WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||||
CAPTION "MakeNSIS"
|
CAPTION "MakeNSIS"
|
||||||
MENU IDM_MENU
|
MENU IDM_MENU
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
|
@ -146,18 +152,37 @@ BEGIN
|
||||||
PUSHBUTTON "&Test Installer",IDC_TEST,230,208,60,15,WS_DISABLED
|
PUSHBUTTON "&Test Installer",IDC_TEST,230,208,60,15,WS_DISABLED
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_ABOUT DIALOG DISCARDABLE 0, 0, 235, 86
|
DLG_ABOUT DIALOGEX 0, 0, 235, 105
|
||||||
STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION |
|
STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION |
|
||||||
WS_SYSMENU
|
WS_SYSMENU
|
||||||
CAPTION "About MakeNSISW"
|
CAPTION "About MakeNSISW"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDI_ICON,IDC_STATIC,7,4,20,20
|
ICON IDI_ICON,IDC_STATIC,7,4,21,20
|
||||||
DEFPUSHBUTTON "Clo&se",IDOK,185,64,43,15
|
DEFPUSHBUTTON "Clo&se",IDOK,185,86,43,15
|
||||||
LTEXT "MakeNSISW",IDC_ABOUTVERSION,44,4,184,8
|
LTEXT "MakeNSISW",IDC_ABOUTVERSION,44,4,184,8
|
||||||
LTEXT "Copyright",IDC_ABOUTCOPY,44,18,184,8
|
LTEXT "Copyright",IDC_ABOUTCOPY,44,18,184,8
|
||||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,45,55,183,1
|
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,47,78,181,1
|
||||||
LTEXT "Portions Copyright",IDC_ABOUTPORTIONS,44,30,184,20
|
LTEXT "Other Contributors:",IDC_ABOUTPORTIONS,44,30,184,10,0,0,
|
||||||
|
HIDC_ABOUTPORTIONS
|
||||||
|
LISTBOX IDC_CONTRIB,48,40,179,33,LBS_SORT | LBS_NOINTEGRALHEIGHT |
|
||||||
|
LBS_NOSEL | NOT WS_BORDER | WS_VSCROLL | WS_TABSTOP,
|
||||||
|
WS_EX_TRANSPARENT
|
||||||
|
END
|
||||||
|
|
||||||
|
DLG_ABOUTNSIS DIALOG DISCARDABLE 0, 0, 311, 161
|
||||||
|
STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION |
|
||||||
|
WS_SYSMENU
|
||||||
|
CAPTION "About NSIS"
|
||||||
|
FONT 8, "MS Sans Serif"
|
||||||
|
BEGIN
|
||||||
|
DEFPUSHBUTTON "&Close",IDOK,254,140,50,14
|
||||||
|
ICON IDI_ICON,IDC_STATIC,7,7,20,20
|
||||||
|
LTEXT "NSIS",IDC_NSISVER,38,13,90,11
|
||||||
|
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,133,297,1
|
||||||
|
CONTROL "",IDC_NSISNFO,"RICHEDIT",ES_MULTILINE | ES_AUTOVSCROLL |
|
||||||
|
ES_NOHIDESEL | ES_READONLY | ES_NUMBER | WS_BORDER |
|
||||||
|
WS_VSCROLL,7,32,297,97
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
@ -174,7 +199,15 @@ BEGIN
|
||||||
LEFTMARGIN, 7
|
LEFTMARGIN, 7
|
||||||
RIGHTMARGIN, 228
|
RIGHTMARGIN, 228
|
||||||
TOPMARGIN, 4
|
TOPMARGIN, 4
|
||||||
BOTTOMMARGIN, 79
|
BOTTOMMARGIN, 101
|
||||||
|
END
|
||||||
|
|
||||||
|
DLG_ABOUTNSIS, DIALOG
|
||||||
|
BEGIN
|
||||||
|
LEFTMARGIN, 7
|
||||||
|
RIGHTMARGIN, 304
|
||||||
|
TOPMARGIN, 7
|
||||||
|
BOTTOMMARGIN, 154
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
#endif // APSTUDIO_INVOKED
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue