Added some missing enabling and disabling of buttons to the settings window
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3416 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
e553c22192
commit
0d3735bedc
2 changed files with 28 additions and 15 deletions
|
@ -21,6 +21,7 @@
|
|||
#define MAKENSISW_CPP
|
||||
|
||||
#include <windows.h>
|
||||
#include <WindowsX.h>
|
||||
#include <stdio.h>
|
||||
#include "makensisw.h"
|
||||
#include "resource.h"
|
||||
|
@ -819,6 +820,23 @@ void EnableSymbolSetButtons(HWND hwndDlg)
|
|||
}
|
||||
}
|
||||
|
||||
void EnableSymbolEditButtons(HWND hwndDlg)
|
||||
{
|
||||
int n = SendDlgItemMessage(hwndDlg, IDC_SYMBOLS, LB_GETSELCOUNT, 0, 0);
|
||||
if(n == 0) {
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDLEFT), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDDEL), FALSE);
|
||||
}
|
||||
else if(n == 1) {
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDLEFT), TRUE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDDEL), TRUE);
|
||||
}
|
||||
else if(n > 1) {
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDLEFT), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDDEL), TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
void SetSymbols(HWND hwndDlg, char **symbols)
|
||||
{
|
||||
int i = 0;
|
||||
|
@ -943,7 +961,13 @@ BOOL CALLBACK SettingsProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
buf = buf3;
|
||||
GlobalFree(buf2);
|
||||
}
|
||||
SendDlgItemMessage(hwndDlg, IDC_SYMBOLS, LB_ADDSTRING, 0, (LPARAM)buf);
|
||||
int idx = SendDlgItemMessage(hwndDlg, IDC_SYMBOLS, LB_ADDSTRING, 0, (LPARAM)buf);
|
||||
if (idx >= 0)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_SYMBOLS, LB_SETSEL, FALSE, -1);
|
||||
SendDlgItemMessage(hwndDlg, IDC_SYMBOLS, LB_SETSEL, TRUE, idx);
|
||||
}
|
||||
EnableSymbolEditButtons(hwndDlg);
|
||||
SendDlgItemMessage(hwndDlg, IDC_SYMBOL, WM_SETTEXT, 0, 0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_VALUE, WM_SETTEXT, 0, 0);
|
||||
GlobalFree(buf);
|
||||
|
@ -1005,6 +1029,7 @@ BOOL CALLBACK SettingsProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
for(i=n-1;i>=0;i--) {
|
||||
SendDlgItemMessage(hwndDlg, IDC_SYMBOLS, LB_DELETESTRING, (WPARAM)items[i], 0);
|
||||
}
|
||||
EnableSymbolEditButtons(hwndDlg);
|
||||
EnableSymbolSetButtons(hwndDlg);
|
||||
}
|
||||
break;
|
||||
|
@ -1023,19 +1048,7 @@ BOOL CALLBACK SettingsProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
case IDC_SYMBOLS:
|
||||
if (HIWORD(wParam) == LBN_SELCHANGE)
|
||||
{
|
||||
int n = SendDlgItemMessage(hwndDlg, IDC_SYMBOLS, LB_GETSELCOUNT, 0, 0);
|
||||
if(n == 0) {
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDLEFT), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDDEL), FALSE);
|
||||
}
|
||||
else if(n == 1) {
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDLEFT), TRUE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDDEL), TRUE);
|
||||
}
|
||||
else if(n > 1) {
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDLEFT), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDDEL), TRUE);
|
||||
}
|
||||
EnableSymbolEditButtons(hwndDlg);
|
||||
}
|
||||
else if (HIWORD(wParam) == LBN_DBLCLK)
|
||||
{
|
||||
|
|
|
@ -198,7 +198,7 @@ BEGIN
|
|||
EDITTEXT IDC_SYMBOL,18,96,68,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
|
||||
LTEXT "&Value (optional)",IDC_STATIC,18,120,50,8
|
||||
EDITTEXT IDC_VALUE,18,132,66,12,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Update >>",IDRIGHT,96,84,49,14
|
||||
PUSHBUTTON "&Add >>",IDRIGHT,96,84,49,14
|
||||
PUSHBUTTON "&Edit <<",IDLEFT,96,108,49,14
|
||||
PUSHBUTTON "&Delete",IDDEL,96,132,49,14
|
||||
LTEXT "Symbol List",IDC_STATIC,156,66,118,9
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue