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:
parent
755bc11826
commit
b4413ab821
5 changed files with 13 additions and 1 deletions
|
@ -45,6 +45,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char *cmdParam, int cmd
|
||||||
g_sdata.hInstance=GetModuleHandle(0);
|
g_sdata.hInstance=GetModuleHandle(0);
|
||||||
g_sdata.script_alloced=false;
|
g_sdata.script_alloced=false;
|
||||||
g_sdata.symbols = NULL;
|
g_sdata.symbols = NULL;
|
||||||
|
g_sdata.sigint_event = CreateEvent(NULL, FALSE, FALSE, "makensis win32 signint event");
|
||||||
RestoreSymbols();
|
RestoreSymbols();
|
||||||
|
|
||||||
if (!InitBranding()) {
|
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.script_alloced) GlobalFree(g_sdata.script);
|
||||||
|
if (g_sdata.sigint_event) CloseHandle(g_sdata.sigint_event);
|
||||||
FinalizeUpdate();
|
FinalizeUpdate();
|
||||||
ExitProcess(msg.wParam);
|
ExitProcess(msg.wParam);
|
||||||
return msg.wParam;
|
return msg.wParam;
|
||||||
|
@ -576,6 +578,11 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
case IDM_CANCEL:
|
||||||
|
{
|
||||||
|
SetEvent(g_sdata.sigint_event);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
case IDM_COPY:
|
case IDM_COPY:
|
||||||
{
|
{
|
||||||
CopyToClipboard(g_sdata.hwnd);
|
CopyToClipboard(g_sdata.hwnd);
|
||||||
|
|
|
@ -184,6 +184,7 @@ typedef struct NSISScriptData {
|
||||||
HMENU editSubmenu;
|
HMENU editSubmenu;
|
||||||
HMENU toolsSubmenu;
|
HMENU toolsSubmenu;
|
||||||
HANDLE thread;
|
HANDLE thread;
|
||||||
|
HANDLE sigint_event;
|
||||||
HWND focused_hwnd;
|
HWND focused_hwnd;
|
||||||
CHARRANGE textrange;
|
CHARRANGE textrange;
|
||||||
NCOMPRESSOR default_compressor;
|
NCOMPRESSOR default_compressor;
|
||||||
|
|
|
@ -95,13 +95,14 @@
|
||||||
#define IDM_RECOMPILE_TEST 40033
|
#define IDM_RECOMPILE_TEST 40033
|
||||||
#define IDM_BEST 40034
|
#define IDM_BEST 40034
|
||||||
#define IDM_SETTINGS 40035
|
#define IDM_SETTINGS 40035
|
||||||
|
#define IDM_CANCEL 40036
|
||||||
|
|
||||||
// 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 133
|
#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_CONTROL_VALUE 1032
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -88,6 +88,7 @@ BEGIN
|
||||||
MENUITEM "&Recompile\tCtrl+R", IDM_RECOMPILE
|
MENUITEM "&Recompile\tCtrl+R", IDM_RECOMPILE
|
||||||
MENUITEM "Test &Installer\tCtrl+T", IDM_TEST
|
MENUITEM "Test &Installer\tCtrl+T", IDM_TEST
|
||||||
MENUITEM "Reco&mpile and Test\tCtrl+M", IDM_RECOMPILE_TEST
|
MENUITEM "Reco&mpile and Test\tCtrl+M", IDM_RECOMPILE_TEST
|
||||||
|
MENUITEM "C&ancel compilation", IDM_CANCEL
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
POPUP "Set &Compressor"
|
POPUP "Set &Compressor"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -162,6 +162,7 @@ void ErrorMessage(HWND hwnd,const char *str) {
|
||||||
// Altered by Darren Owen (DrO) on 1/10/2003
|
// Altered by Darren Owen (DrO) on 1/10/2003
|
||||||
void Items(HWND hwnd, int on){
|
void Items(HWND hwnd, int on){
|
||||||
UINT mf = (!on ? MF_GRAYED : MF_ENABLED);
|
UINT mf = (!on ? MF_GRAYED : MF_ENABLED);
|
||||||
|
UINT nmf = (!on ? MF_ENABLED : MF_GRAYED);
|
||||||
|
|
||||||
if(!on)
|
if(!on)
|
||||||
g_sdata.focused_hwnd = GetFocus();
|
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_BROWSESCR,mf);
|
||||||
EnableMenuItem(g_sdata.menu,IDM_RECOMPILE_TEST,mf);
|
EnableMenuItem(g_sdata.menu,IDM_RECOMPILE_TEST,mf);
|
||||||
EnableMenuItem(g_sdata.menu,IDM_COMPRESSOR,mf);
|
EnableMenuItem(g_sdata.menu,IDM_COMPRESSOR,mf);
|
||||||
|
EnableMenuItem(g_sdata.menu,IDM_CANCEL,nmf);
|
||||||
|
|
||||||
EnableToolBarButton(IDM_SAVE,on);
|
EnableToolBarButton(IDM_SAVE,on);
|
||||||
// Altered by Darren Owen (DrO) on 6/10/2003
|
// Altered by Darren Owen (DrO) on 6/10/2003
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue