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);
|
||||
return TRUE;
|
||||
}
|
||||
case IDM_ABOUTNSIS:
|
||||
{
|
||||
DialogBox(g_hInstance,MAKEINTRESOURCE(DLG_ABOUTNSIS),g_hwnd,(DLGPROC)AboutNSISProc);
|
||||
return TRUE;
|
||||
}
|
||||
case IDM_NSISHOME:
|
||||
{
|
||||
ShellExecute(g_hwnd,"open",NSIS_URL,NULL,NULL,SW_SHOWNORMAL);
|
||||
|
@ -448,7 +453,91 @@ BOOL CALLBACK DialogResize(HWND hWnd, LPARAM /* unused */)
|
|||
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) {
|
||||
static HBRUSH hBrush;
|
||||
switch(msg) {
|
||||
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_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;
|
||||
}
|
||||
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:
|
||||
EndDialog(hwndDlg, TRUE);
|
||||
break;
|
||||
|
@ -477,6 +582,7 @@ BOOL CALLBACK AboutProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
|||
case WM_CLOSE:
|
||||
case IDOK:
|
||||
EndDialog(hwndDlg, TRUE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#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 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 LOCALDOCS "\\docs\\index.html"
|
||||
#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);
|
||||
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);
|
||||
void CompileNSISScript();
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#define IDI_ABOUT 110
|
||||
#define IDM_LOGWIN 111
|
||||
#define IDI_SHELL 112
|
||||
#define DLG_ABOUTNSIS 113
|
||||
#define IDC_LOGWIN 402
|
||||
#define IDC_VERSION 405
|
||||
#define IDC_CLOSE 406
|
||||
|
@ -25,20 +26,24 @@
|
|||
#define IDC_ABOUTVERSION 1001
|
||||
#define IDC_ABOUTCOPY 1003
|
||||
#define IDC_ABOUTPORTIONS 1005
|
||||
#define IDC_CONTRIB 1009
|
||||
#define IDC_NSISVER 1010
|
||||
#define IDC_NSISNFO 1011
|
||||
#define IDM_TEST 40002
|
||||
#define IDM_EDITSCRIPT 40003
|
||||
#define IDM_DOCS 40004
|
||||
#define IDM_LOADSCRIPT 40005
|
||||
#define IDM_FIND 40006
|
||||
#define IDM_SELECTALL 40007
|
||||
#define IDM_ABOUTNSIS 40008
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 113
|
||||
#define _APS_NEXT_COMMAND_VALUE 40008
|
||||
#define _APS_NEXT_CONTROL_VALUE 1009
|
||||
#define _APS_NEXT_RESOURCE_VALUE 114
|
||||
#define _APS_NEXT_COMMAND_VALUE 40009
|
||||
#define _APS_NEXT_CONTROL_VALUE 1013
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -2,6 +2,11 @@
|
|||
//
|
||||
#include "resource.h"
|
||||
|
||||
// Generated Help ID header file
|
||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||
#include "resource.hm"
|
||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
@ -90,7 +95,8 @@ BEGIN
|
|||
MENUITEM "NSIS Home", IDM_NSISHOME
|
||||
MENUITEM "Documentation", IDM_DOCS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", IDM_ABOUT
|
||||
MENUITEM "About &NSIS", IDM_ABOUTNSIS
|
||||
MENUITEM "&About MakeNSISW", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
@ -132,7 +138,7 @@ END
|
|||
|
||||
DLG_MAIN DIALOG DISCARDABLE 0, 0, 361, 228
|
||||
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"
|
||||
MENU IDM_MENU
|
||||
FONT 8, "MS Shell Dlg"
|
||||
|
@ -146,18 +152,37 @@ BEGIN
|
|||
PUSHBUTTON "&Test Installer",IDC_TEST,230,208,60,15,WS_DISABLED
|
||||
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 |
|
||||
WS_SYSMENU
|
||||
CAPTION "About MakeNSISW"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON IDI_ICON,IDC_STATIC,7,4,20,20
|
||||
DEFPUSHBUTTON "Clo&se",IDOK,185,64,43,15
|
||||
ICON IDI_ICON,IDC_STATIC,7,4,21,20
|
||||
DEFPUSHBUTTON "Clo&se",IDOK,185,86,43,15
|
||||
LTEXT "MakeNSISW",IDC_ABOUTVERSION,44,4,184,8
|
||||
LTEXT "Copyright",IDC_ABOUTCOPY,44,18,184,8
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,45,55,183,1
|
||||
LTEXT "Portions Copyright",IDC_ABOUTPORTIONS,44,30,184,20
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,47,78,181,1
|
||||
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
|
||||
|
||||
|
||||
|
@ -174,7 +199,15 @@ BEGIN
|
|||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 228
|
||||
TOPMARGIN, 4
|
||||
BOTTOMMARGIN, 79
|
||||
BOTTOMMARGIN, 101
|
||||
END
|
||||
|
||||
DLG_ABOUTNSIS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 304
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 154
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue