Added ctrl+c support at the window level. Exit is now Alt+X. Free clipboard memory.

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@982 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
rainwater 2002-09-11 00:26:18 +00:00
parent 386fc85d32
commit 16f3ff503f
4 changed files with 18 additions and 16 deletions

View file

@ -148,7 +148,7 @@ Version History
- Updated icon to Trace's modern NSIS icon - Updated icon to Trace's modern NSIS icon
- Added Load Script option on File menu - Added Load Script option on File menu
- Added Search Dialog (Ctrl+F) (Kickik) - Added Search Dialog (Ctrl+F) (Kickik)
- Added Select All (Ctrl+A) - Added Select All (Ctrl+A), Copy (Ctrl+C), Exit (Alt+X) keys
Copyright Information Copyright Information

View file

@ -58,16 +58,16 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char *cmdParam, int cmd
haccel = LoadAccelerators(g_hInstance, MAKEINTRESOURCE(IDK_ACCEL)); haccel = LoadAccelerators(g_hInstance, MAKEINTRESOURCE(IDK_ACCEL));
MSG msg; MSG msg;
int status; int status;
while ((status=GetMessage(&msg,0,0,0))!=0) { while ((status=GetMessage(&msg,0,0,0))!=0) {
if (status==-1) return -1; if (status==-1) return -1;
if (!IsDialogMessage(hwndFind, &msg)) { if (!IsDialogMessage(hwndFind, &msg)) {
if (!TranslateAccelerator(hDialog,haccel,&msg)) { if (!TranslateAccelerator(hDialog,haccel,&msg)) {
if (!IsDialogMessage(hDialog,&msg)) { if (!IsDialogMessage(hDialog,&msg)) {
TranslateMessage(&msg); TranslateMessage(&msg);
DispatchMessage(&msg); DispatchMessage(&msg);
} }
} }
} }
} }
ExitProcess(msg.wParam); ExitProcess(msg.wParam);
return msg.wParam; return msg.wParam;

View file

@ -71,14 +71,14 @@ BEGIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Load Script...", IDM_LOADSCRIPT MENUITEM "&Load Script...", IDM_LOADSCRIPT
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "E&xit\tCtrl+X", IDM_EXIT MENUITEM "E&xit\tAlt+X", IDM_EXIT
END END
POPUP "&Edit" POPUP "&Edit"
BEGIN BEGIN
MENUITEM "Edit Script\tCtrl+E", IDM_EDITSCRIPT MENUITEM "Edit Script\tCtrl+E", IDM_EDITSCRIPT
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy\tCtrl+C", IDM_COPYSELECTED
MENUITEM "Copy &All", IDM_COPY MENUITEM "Copy &All", IDM_COPY
MENUITEM "Copy &Selected", IDM_COPYSELECTED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Find...\tCtrl+F", IDM_FIND MENUITEM "Find...\tCtrl+F", IDM_FIND
MENUITEM SEPARATOR MENUITEM SEPARATOR
@ -102,11 +102,12 @@ END
IDK_ACCEL ACCELERATORS PRELOAD MOVEABLE PURE IDK_ACCEL ACCELERATORS PRELOAD MOVEABLE PURE
BEGIN BEGIN
"A", IDM_SELECTALL, VIRTKEY, CONTROL, NOINVERT "A", IDM_SELECTALL, VIRTKEY, CONTROL, NOINVERT
"C", IDM_COPYSELECTED, VIRTKEY, CONTROL, NOINVERT
"E", IDM_EDITSCRIPT, VIRTKEY, CONTROL, NOINVERT "E", IDM_EDITSCRIPT, VIRTKEY, CONTROL, NOINVERT
"F", IDM_FIND, VIRTKEY, CONTROL, NOINVERT "F", IDM_FIND, VIRTKEY, CONTROL, NOINVERT
"R", IDM_RECOMPILE, VIRTKEY, CONTROL, NOINVERT "R", IDM_RECOMPILE, VIRTKEY, CONTROL, NOINVERT
"T", IDM_TEST, VIRTKEY, CONTROL, NOINVERT "T", IDM_TEST, VIRTKEY, CONTROL, NOINVERT
"X", IDM_EXIT, VIRTKEY, CONTROL, NOINVERT "X", IDM_EXIT, VIRTKEY, ALT, NOINVERT
END END

View file

@ -43,9 +43,10 @@ void CopyToClipboard(HWND hwnd) {
EmptyClipboard(); EmptyClipboard();
existing_text[0]=0; existing_text[0]=0;
GetDlgItemText(hwnd, IDC_LOGWIN, existing_text, len); GetDlgItemText(hwnd, IDC_LOGWIN, existing_text, len);
GlobalUnlock(mem);
SetClipboardData(CF_TEXT,existing_text); SetClipboardData(CF_TEXT,existing_text);
CloseClipboard(); CloseClipboard();
GlobalUnlock(mem);
GlobalFree(mem);
} }
@ -193,7 +194,7 @@ void SaveWindowPos(HWND hwnd) {
p.length = sizeof(p); p.length = sizeof(p);
GetWindowPlacement(hwnd, &p); GetWindowPlacement(hwnd, &p);
if (RegCreateKey(REGSEC,REGKEY,&hKey) == ERROR_SUCCESS) { if (RegCreateKey(REGSEC,REGKEY,&hKey) == ERROR_SUCCESS) {
RegSetValueEx(hKey,REGLOC,0,REG_BINARY,(unsigned char*)&p,sizeof(p)); RegSetValueEx(hKey,REGLOC,0,REG_BINARY,(unsigned char*)&p,sizeof(p));
RegCloseKey(hKey); RegCloseKey(hKey);
} }
} }