added "Cancel compilation" menu item to abort current compilation by sending ctrl+c signal

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4552 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2006-03-06 15:15:49 +00:00
parent 755bc11826
commit b4413ab821
5 changed files with 13 additions and 1 deletions

View file

@ -45,6 +45,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char *cmdParam, int cmd
g_sdata.hInstance=GetModuleHandle(0);
g_sdata.script_alloced=false;
g_sdata.symbols = NULL;
g_sdata.sigint_event = CreateEvent(NULL, FALSE, FALSE, "makensis win32 signint event");
RestoreSymbols();
if (!InitBranding()) {
@ -70,6 +71,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char *cmdParam, int cmd
}
}
if (g_sdata.script_alloced) GlobalFree(g_sdata.script);
if (g_sdata.sigint_event) CloseHandle(g_sdata.sigint_event);
FinalizeUpdate();
ExitProcess(msg.wParam);
return msg.wParam;
@ -576,6 +578,11 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
}
return TRUE;
}
case IDM_CANCEL:
{
SetEvent(g_sdata.sigint_event);
return TRUE;
}
case IDM_COPY:
{
CopyToClipboard(g_sdata.hwnd);

View file

@ -184,6 +184,7 @@ typedef struct NSISScriptData {
HMENU editSubmenu;
HMENU toolsSubmenu;
HANDLE thread;
HANDLE sigint_event;
HWND focused_hwnd;
CHARRANGE textrange;
NCOMPRESSOR default_compressor;

View file

@ -95,13 +95,14 @@
#define IDM_RECOMPILE_TEST 40033
#define IDM_BEST 40034
#define IDM_SETTINGS 40035
#define IDM_CANCEL 40036
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 133
#define _APS_NEXT_COMMAND_VALUE 40036
#define _APS_NEXT_COMMAND_VALUE 40037
#define _APS_NEXT_CONTROL_VALUE 1032
#define _APS_NEXT_SYMED_VALUE 101
#endif

View file

@ -88,6 +88,7 @@ BEGIN
MENUITEM "&Recompile\tCtrl+R", IDM_RECOMPILE
MENUITEM "Test &Installer\tCtrl+T", IDM_TEST
MENUITEM "Reco&mpile and Test\tCtrl+M", IDM_RECOMPILE_TEST
MENUITEM "C&ancel compilation", IDM_CANCEL
MENUITEM SEPARATOR
POPUP "Set &Compressor"
BEGIN

View file

@ -162,6 +162,7 @@ void ErrorMessage(HWND hwnd,const char *str) {
// Altered by Darren Owen (DrO) on 1/10/2003
void Items(HWND hwnd, int on){
UINT mf = (!on ? MF_GRAYED : MF_ENABLED);
UINT nmf = (!on ? MF_ENABLED : MF_GRAYED);
if(!on)
g_sdata.focused_hwnd = GetFocus();
@ -189,6 +190,7 @@ void Items(HWND hwnd, int on){
EnableMenuItem(g_sdata.menu,IDM_BROWSESCR,mf);
EnableMenuItem(g_sdata.menu,IDM_RECOMPILE_TEST,mf);
EnableMenuItem(g_sdata.menu,IDM_COMPRESSOR,mf);
EnableMenuItem(g_sdata.menu,IDM_CANCEL,nmf);
EnableToolBarButton(IDM_SAVE,on);
// Altered by Darren Owen (DrO) on 6/10/2003