- Clear screen depth combo box on page init.
- Some appdefaults support. - Rename hDlg to dialog in some places so enable/disable macros work. - Don't update registry when the GUI is being initially configured.
This commit is contained in:
parent
7832562ee6
commit
f388977f75
|
@ -34,6 +34,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(winecfg);
|
||||||
int appSettings = EDITING_GLOBAL; /* start by editing global */
|
int appSettings = EDITING_GLOBAL; /* start by editing global */
|
||||||
char *currentApp; /* the app we are currently editing, or NULL if editing global */
|
char *currentApp; /* the app we are currently editing, or NULL if editing global */
|
||||||
|
|
||||||
|
static int needToRefresh = 1;
|
||||||
|
|
||||||
char *getSectionForApp(char *section) {
|
char *getSectionForApp(char *section) {
|
||||||
static char *lastResult = NULL;
|
static char *lastResult = NULL;
|
||||||
if (lastResult) HeapFree(GetProcessHeap(), 0, lastResult);
|
if (lastResult) HeapFree(GetProcessHeap(), 0, lastResult);
|
||||||
|
@ -48,7 +50,6 @@ static void configureFor(HWND dialog, int mode) {
|
||||||
disable(IDC_LIST_APPS);
|
disable(IDC_LIST_APPS);
|
||||||
disable(IDC_ADD_APPDEFAULT);
|
disable(IDC_ADD_APPDEFAULT);
|
||||||
disable(IDC_REMOVE_APPDEFAULT);
|
disable(IDC_REMOVE_APPDEFAULT);
|
||||||
if (currentApp) HeapFree(GetProcessHeap(), 0, currentApp);
|
|
||||||
} else {
|
} else {
|
||||||
enable(IDC_LIST_APPS);
|
enable(IDC_LIST_APPS);
|
||||||
enable(IDC_ADD_APPDEFAULT);
|
enable(IDC_ADD_APPDEFAULT);
|
||||||
|
@ -87,6 +88,7 @@ static void refreshDialog(HWND dialog) {
|
||||||
WINE_TRACE("done\n");
|
WINE_TRACE("done\n");
|
||||||
RegCloseKey(key);
|
RegCloseKey(key);
|
||||||
HeapFree(GetProcessHeap(), 0, subKeyName);
|
HeapFree(GetProcessHeap(), 0, subKeyName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void onAppsListSelChange(HWND dialog) {
|
static void onAppsListSelChange(HWND dialog) {
|
||||||
|
@ -107,6 +109,11 @@ AppDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
case WM_COMMAND: switch (LOWORD(wParam)) {
|
case WM_COMMAND: switch (LOWORD(wParam)) {
|
||||||
case IDC_EDITING_APP:
|
case IDC_EDITING_APP:
|
||||||
|
if (SendDlgItemMessage(hDlg, IDC_LIST_APPS, LB_GETCURSEL, 0, 0) == LB_ERR) {
|
||||||
|
/* no selection, so select the first one */
|
||||||
|
SendDlgItemMessage(hDlg, IDC_LIST_APPS, LB_SETCURSEL, 0, 0);
|
||||||
|
onAppsListSelChange(hDlg);
|
||||||
|
}
|
||||||
configureFor(hDlg, EDITING_APP);
|
configureFor(hDlg, EDITING_APP);
|
||||||
break;
|
break;
|
||||||
case IDC_EDITING_GLOBAL:
|
case IDC_EDITING_GLOBAL:
|
||||||
|
@ -114,9 +121,11 @@ AppDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
break;
|
break;
|
||||||
case IDC_ADD_APPDEFAULT:
|
case IDC_ADD_APPDEFAULT:
|
||||||
WRITEME(hDlg);
|
WRITEME(hDlg);
|
||||||
|
refreshDialog(hDlg);
|
||||||
break;
|
break;
|
||||||
case IDC_REMOVE_APPDEFAULT:
|
case IDC_REMOVE_APPDEFAULT:
|
||||||
WRITEME(hDlg);
|
WRITEME(hDlg);
|
||||||
|
refreshDialog(hDlg);
|
||||||
break;
|
break;
|
||||||
case IDC_LIST_APPS:
|
case IDC_LIST_APPS:
|
||||||
if (HIWORD(wParam) == LBN_SELCHANGE) onAppsListSelChange(hDlg);
|
if (HIWORD(wParam) == LBN_SELCHANGE) onAppsListSelChange(hDlg);
|
||||||
|
@ -132,10 +141,12 @@ AppDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
SetWindowLong(hDlg, DWL_MSGRESULT, PSNRET_NOERROR);
|
SetWindowLong(hDlg, DWL_MSGRESULT, PSNRET_NOERROR);
|
||||||
break;
|
break;
|
||||||
case PSN_SETACTIVE:
|
case PSN_SETACTIVE:
|
||||||
refreshDialog(hDlg);
|
if (needToRefresh) {
|
||||||
|
refreshDialog(hDlg);
|
||||||
|
needToRefresh = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
};
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
|
|
|
@ -120,7 +120,7 @@ void removeDrive(char letter) {
|
||||||
addTransaction(driveSection, NULL, ACTION_REMOVE, NULL);
|
addTransaction(driveSection, NULL, ACTION_REMOVE, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
int refreshDriveDlg (HWND hDlg)
|
int refreshDriveDlg (HWND dialog)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char *subKeyName = malloc(MAX_NAME_LENGTH);
|
char *subKeyName = malloc(MAX_NAME_LENGTH);
|
||||||
|
@ -133,7 +133,7 @@ int refreshDriveDlg (HWND hDlg)
|
||||||
updatingUI = TRUE;
|
updatingUI = TRUE;
|
||||||
|
|
||||||
/* Clear the listbox */
|
/* Clear the listbox */
|
||||||
SendMessageA(GetDlgItem(hDlg, IDC_LIST_DRIVES), LB_RESETCONTENT, 0, 0);
|
SendMessageA(GetDlgItem(dialog, IDC_LIST_DRIVES), LB_RESETCONTENT, 0, 0);
|
||||||
for (i = 0;
|
for (i = 0;
|
||||||
RegEnumKeyExA(configKey, i, subKeyName, &sizeOfSubKeyName, NULL, NULL, NULL, NULL ) != ERROR_NO_MORE_ITEMS;
|
RegEnumKeyExA(configKey, i, subKeyName, &sizeOfSubKeyName, NULL, NULL, NULL, NULL ) != ERROR_NO_MORE_ITEMS;
|
||||||
++i, sizeOfSubKeyName = MAX_NAME_LENGTH) {
|
++i, sizeOfSubKeyName = MAX_NAME_LENGTH) {
|
||||||
|
@ -195,8 +195,8 @@ int refreshDriveDlg (HWND hDlg)
|
||||||
snprintf(title, titleLen, "Drive %c: %s", driveLetter, label);
|
snprintf(title, titleLen, "Drive %c: %s", driveLetter, label);
|
||||||
|
|
||||||
/* the first SendMessage call adds the string and returns the index, the second associates that index with it */
|
/* the first SendMessage call adds the string and returns the index, the second associates that index with it */
|
||||||
itemIndex = SendMessageA(GetDlgItem(hDlg, IDC_LIST_DRIVES), LB_ADDSTRING ,(WPARAM) -1, (LPARAM) title);
|
itemIndex = SendMessageA(GetDlgItem(dialog, IDC_LIST_DRIVES), LB_ADDSTRING ,(WPARAM) -1, (LPARAM) title);
|
||||||
SendMessageA(GetDlgItem(hDlg, IDC_LIST_DRIVES), LB_SETITEMDATA, itemIndex, (LPARAM) driveLetter);
|
SendMessageA(GetDlgItem(dialog, IDC_LIST_DRIVES), LB_SETITEMDATA, itemIndex, (LPARAM) driveLetter);
|
||||||
|
|
||||||
free(title);
|
free(title);
|
||||||
free(label);
|
free(label);
|
||||||
|
@ -207,15 +207,35 @@ int refreshDriveDlg (HWND hDlg)
|
||||||
}
|
}
|
||||||
|
|
||||||
WINE_TRACE("loaded %d drives\n", driveCount);
|
WINE_TRACE("loaded %d drives\n", driveCount);
|
||||||
SendDlgItemMessage(hDlg, IDC_LIST_DRIVES, LB_SETSEL, TRUE, lastSel);
|
SendDlgItemMessage(dialog, IDC_LIST_DRIVES, LB_SETSEL, TRUE, lastSel);
|
||||||
|
|
||||||
/* show the warning if there is no Drive C */
|
/* show the warning if there is no Drive C */
|
||||||
if (!doesDriveCExist)
|
if (!doesDriveCExist)
|
||||||
ShowWindow(GetDlgItem(hDlg, IDS_DRIVE_NO_C), SW_NORMAL);
|
ShowWindow(GetDlgItem(dialog, IDS_DRIVE_NO_C), SW_NORMAL);
|
||||||
else
|
else
|
||||||
ShowWindow(GetDlgItem(hDlg, IDS_DRIVE_NO_C), SW_HIDE);
|
ShowWindow(GetDlgItem(dialog, IDS_DRIVE_NO_C), SW_HIDE);
|
||||||
|
|
||||||
|
free(subKeyName);
|
||||||
|
|
||||||
|
/* disable or enable controls depending on whether we are editing global vs app specific config */
|
||||||
|
if (appSettings == EDITING_GLOBAL) {
|
||||||
|
WINE_TRACE("enabling controls\n");
|
||||||
|
enable(IDC_LIST_DRIVES);
|
||||||
|
enable(IDC_BUTTON_ADD);
|
||||||
|
enable(IDC_BUTTON_REMOVE);
|
||||||
|
enable(IDC_BUTTON_EDIT);
|
||||||
|
enable(IDC_BUTTON_AUTODETECT);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
WINE_TRACE("disabling controls\n");
|
||||||
|
disable(IDC_LIST_DRIVES);
|
||||||
|
disable(IDC_BUTTON_ADD);
|
||||||
|
disable(IDC_BUTTON_REMOVE);
|
||||||
|
disable(IDC_BUTTON_EDIT);
|
||||||
|
disable(IDC_BUTTON_AUTODETECT);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
free(subKeyName);
|
|
||||||
updatingUI = FALSE;
|
updatingUI = FALSE;
|
||||||
return driveCount;
|
return driveCount;
|
||||||
}
|
}
|
||||||
|
@ -368,7 +388,7 @@ long drive_available_mask(char letter)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void refreshDriveEditDialog(HWND hDlg) {
|
void refreshDriveEditDialog(HWND dialog) {
|
||||||
char *path;
|
char *path;
|
||||||
char *type;
|
char *type;
|
||||||
char *fs;
|
char *fs;
|
||||||
|
@ -380,19 +400,19 @@ void refreshDriveEditDialog(HWND hDlg) {
|
||||||
updatingUI = TRUE;
|
updatingUI = TRUE;
|
||||||
|
|
||||||
/* Drive letters */
|
/* Drive letters */
|
||||||
fill_drive_droplist( drive_available_mask( editWindowLetter ), editWindowLetter, hDlg );
|
fill_drive_droplist( drive_available_mask( editWindowLetter ), editWindowLetter, dialog );
|
||||||
|
|
||||||
/* path */
|
/* path */
|
||||||
path = getDriveValue(editWindowLetter, "Path");
|
path = getDriveValue(editWindowLetter, "Path");
|
||||||
if (path) {
|
if (path) {
|
||||||
SetWindowText(GetDlgItem(hDlg, IDC_EDIT_PATH), path);
|
SetWindowText(GetDlgItem(dialog, IDC_EDIT_PATH), path);
|
||||||
} else WINE_WARN("no Path field?\n");
|
} else WINE_WARN("no Path field?\n");
|
||||||
|
|
||||||
/* drive type */
|
/* drive type */
|
||||||
type = getDriveValue(editWindowLetter, "Type");
|
type = getDriveValue(editWindowLetter, "Type");
|
||||||
if (type) {
|
if (type) {
|
||||||
for(i = 0, selection = -1; i < sizeof(type_pairs)/sizeof(code_desc_pair); i++) {
|
for(i = 0, selection = -1; i < sizeof(type_pairs)/sizeof(code_desc_pair); i++) {
|
||||||
SendDlgItemMessage(hDlg, IDC_COMBO_TYPE, CB_ADDSTRING, 0,
|
SendDlgItemMessage(dialog, IDC_COMBO_TYPE, CB_ADDSTRING, 0,
|
||||||
(LPARAM) type_pairs[i].sDesc);
|
(LPARAM) type_pairs[i].sDesc);
|
||||||
if(strcasecmp(type_pairs[i].sCode, type) == 0){
|
if(strcasecmp(type_pairs[i].sCode, type) == 0){
|
||||||
selection = i;
|
selection = i;
|
||||||
|
@ -400,7 +420,7 @@ void refreshDriveEditDialog(HWND hDlg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selection == -1 ) selection = DRIVE_TYPE_DEFAULT;
|
if( selection == -1 ) selection = DRIVE_TYPE_DEFAULT;
|
||||||
SendDlgItemMessage(hDlg, IDC_COMBO_TYPE, CB_SETCURSEL, selection, 0);
|
SendDlgItemMessage(dialog, IDC_COMBO_TYPE, CB_SETCURSEL, selection, 0);
|
||||||
} else WINE_WARN("no Type field?\n");
|
} else WINE_WARN("no Type field?\n");
|
||||||
|
|
||||||
|
|
||||||
|
@ -408,7 +428,7 @@ void refreshDriveEditDialog(HWND hDlg) {
|
||||||
fs = getDriveValue(editWindowLetter, "FileSystem");
|
fs = getDriveValue(editWindowLetter, "FileSystem");
|
||||||
if (fs) {
|
if (fs) {
|
||||||
for( i=0, selection=-1; i < sizeof(fs_pairs)/sizeof(code_desc_pair); i++) {
|
for( i=0, selection=-1; i < sizeof(fs_pairs)/sizeof(code_desc_pair); i++) {
|
||||||
SendDlgItemMessage(hDlg, IDC_COMBO_NAMES, CB_ADDSTRING, 0,
|
SendDlgItemMessage(dialog, IDC_COMBO_NAMES, CB_ADDSTRING, 0,
|
||||||
(LPARAM) fs_pairs[i].sDesc);
|
(LPARAM) fs_pairs[i].sDesc);
|
||||||
if(strcasecmp(fs_pairs[i].sCode, fs) == 0){
|
if(strcasecmp(fs_pairs[i].sCode, fs) == 0){
|
||||||
selection = i;
|
selection = i;
|
||||||
|
@ -416,42 +436,42 @@ void refreshDriveEditDialog(HWND hDlg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selection == -1 ) selection = DRIVE_FS_DEFAULT;
|
if( selection == -1 ) selection = DRIVE_FS_DEFAULT;
|
||||||
SendDlgItemMessage(hDlg, IDC_COMBO_NAMES, CB_SETCURSEL, selection, 0);
|
SendDlgItemMessage(dialog, IDC_COMBO_NAMES, CB_SETCURSEL, selection, 0);
|
||||||
} else WINE_WARN("no FileSystem field?\n");
|
} else WINE_WARN("no FileSystem field?\n");
|
||||||
|
|
||||||
|
|
||||||
/* removeable media properties */
|
/* removeable media properties */
|
||||||
serial = getDriveValue(editWindowLetter, "Serial");
|
serial = getDriveValue(editWindowLetter, "Serial");
|
||||||
if (serial) {
|
if (serial) {
|
||||||
SendDlgItemMessage(hDlg, IDC_EDIT_SERIAL, WM_SETTEXT, 0,(LPARAM)serial);
|
SendDlgItemMessage(dialog, IDC_EDIT_SERIAL, WM_SETTEXT, 0,(LPARAM)serial);
|
||||||
} else WINE_WARN("no Serial field?\n");
|
} else WINE_WARN("no Serial field?\n");
|
||||||
|
|
||||||
label = getDriveValue(editWindowLetter, "Label");
|
label = getDriveValue(editWindowLetter, "Label");
|
||||||
if (label) {
|
if (label) {
|
||||||
SendDlgItemMessage(hDlg, IDC_EDIT_LABEL, WM_SETTEXT, 0,(LPARAM)label);
|
SendDlgItemMessage(dialog, IDC_EDIT_LABEL, WM_SETTEXT, 0,(LPARAM)label);
|
||||||
} else WINE_WARN("no Label field?\n");
|
} else WINE_WARN("no Label field?\n");
|
||||||
|
|
||||||
device = getDriveValue(editWindowLetter, "Device");
|
device = getDriveValue(editWindowLetter, "Device");
|
||||||
if (device) {
|
if (device) {
|
||||||
SendDlgItemMessage(hDlg, IDC_EDIT_DEVICE, WM_SETTEXT, 0,(LPARAM)device);
|
SendDlgItemMessage(dialog, IDC_EDIT_DEVICE, WM_SETTEXT, 0,(LPARAM)device);
|
||||||
} else WINE_WARN("no Device field?\n");
|
} else WINE_WARN("no Device field?\n");
|
||||||
|
|
||||||
selection = IDC_RADIO_ASSIGN;
|
selection = IDC_RADIO_ASSIGN;
|
||||||
if ((type && strcmp("cdrom", type) == 0) || (type && strcmp("floppy", type) == 0)) {
|
if ((type && strcmp("cdrom", type) == 0) || (type && strcmp("floppy", type) == 0)) {
|
||||||
if (device) {
|
if (device) {
|
||||||
selection = IDC_RADIO_AUTODETECT;
|
selection = IDC_RADIO_AUTODETECT;
|
||||||
enable_labelserial_box(hDlg, BOX_MODE_CD_AUTODETECT);
|
enable_labelserial_box(dialog, BOX_MODE_CD_AUTODETECT);
|
||||||
} else {
|
} else {
|
||||||
selection = IDC_RADIO_ASSIGN;
|
selection = IDC_RADIO_ASSIGN;
|
||||||
enable_labelserial_box(hDlg, BOX_MODE_CD_ASSIGN);
|
enable_labelserial_box(dialog, BOX_MODE_CD_ASSIGN);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
enable_labelserial_box(hDlg, BOX_MODE_NORMAL);
|
enable_labelserial_box(dialog, BOX_MODE_NORMAL);
|
||||||
selection = IDC_RADIO_ASSIGN;
|
selection = IDC_RADIO_ASSIGN;
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckRadioButton( hDlg, IDC_RADIO_AUTODETECT, IDC_RADIO_ASSIGN, selection );
|
CheckRadioButton( dialog, IDC_RADIO_AUTODETECT, IDC_RADIO_ASSIGN, selection );
|
||||||
if (path) SendDlgItemMessage(hDlg, IDC_EDIT_PATH, WM_SETTEXT, 0,(LPARAM)path);
|
if (path) SendDlgItemMessage(dialog, IDC_EDIT_PATH, WM_SETTEXT, 0,(LPARAM)path);
|
||||||
|
|
||||||
if (path) free(path);
|
if (path) free(path);
|
||||||
if (type) free(type);
|
if (type) free(type);
|
||||||
|
@ -460,6 +480,7 @@ void refreshDriveEditDialog(HWND hDlg) {
|
||||||
if (label) free(label);
|
if (label) free(label);
|
||||||
if (device) free(device);
|
if (device) free(device);
|
||||||
|
|
||||||
|
|
||||||
updatingUI = FALSE;
|
updatingUI = FALSE;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -45,7 +45,7 @@ void updateGUIForDesktopMode(HWND dialog) {
|
||||||
updatingUI = TRUE;
|
updatingUI = TRUE;
|
||||||
|
|
||||||
/* do we have desktop mode enabled? */
|
/* do we have desktop mode enabled? */
|
||||||
if (doesConfigValueExist("x11drv", "Desktop") == S_OK) {
|
if (doesConfigValueExist(section, "Desktop") == S_OK) {
|
||||||
CheckDlgButton(dialog, IDC_ENABLE_DESKTOP, BST_CHECKED);
|
CheckDlgButton(dialog, IDC_ENABLE_DESKTOP, BST_CHECKED);
|
||||||
/* enable the controls */
|
/* enable the controls */
|
||||||
enable(IDC_DESKTOP_WIDTH);
|
enable(IDC_DESKTOP_WIDTH);
|
||||||
|
@ -77,25 +77,26 @@ void initX11DrvDlg (HWND hDlg)
|
||||||
char *buf;
|
char *buf;
|
||||||
char *bufindex;
|
char *bufindex;
|
||||||
|
|
||||||
|
updateGUIForDesktopMode(hDlg);
|
||||||
|
|
||||||
updatingUI = TRUE;
|
updatingUI = TRUE;
|
||||||
|
|
||||||
updateGUIForDesktopMode(hDlg);
|
|
||||||
|
|
||||||
/* desktop size */
|
/* desktop size */
|
||||||
buf = getConfigValue("x11drv", "Desktop", "640x480");
|
buf = getConfigValue(section, "Desktop", "640x480");
|
||||||
bufindex = strchr(buf, 'x');
|
bufindex = strchr(buf, 'x');
|
||||||
*bufindex = '\0';
|
*bufindex = '\0';
|
||||||
bufindex++;
|
bufindex++;
|
||||||
SetWindowText(GetDlgItem(hDlg, IDC_DESKTOP_WIDTH), buf);
|
SetWindowText(GetDlgItem(hDlg, IDC_DESKTOP_WIDTH), buf);
|
||||||
SetWindowText(GetDlgItem(hDlg, IDC_DESKTOP_HEIGHT), bufindex);
|
SetWindowText(GetDlgItem(hDlg, IDC_DESKTOP_HEIGHT), bufindex);
|
||||||
free(buf);
|
free(buf);
|
||||||
|
|
||||||
|
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_RESETCONTENT, 0, 0);
|
||||||
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "8 bit");
|
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "8 bit");
|
||||||
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "16 bit");
|
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "16 bit");
|
||||||
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "24 bit");
|
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "24 bit");
|
||||||
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "32 bit"); /* is this valid? */
|
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_ADDSTRING, 0, (LPARAM) "32 bit"); /* is this valid? */
|
||||||
|
|
||||||
buf = getConfigValue("x11drv", "ScreenDepth", "24");
|
buf = getConfigValue(section, "ScreenDepth", "24");
|
||||||
if (strcmp(buf, "8") == 0)
|
if (strcmp(buf, "8") == 0)
|
||||||
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_SETCURSEL, 0, 0);
|
SendDlgItemMessage(hDlg, IDC_SCREEN_DEPTH, CB_SETCURSEL, 0, 0);
|
||||||
else if (strcmp(buf, "16") == 0)
|
else if (strcmp(buf, "16") == 0)
|
||||||
|
@ -111,21 +112,21 @@ void initX11DrvDlg (HWND hDlg)
|
||||||
SendDlgItemMessage(hDlg, IDC_DESKTOP_WIDTH, EM_LIMITTEXT, RES_MAXLEN, 0);
|
SendDlgItemMessage(hDlg, IDC_DESKTOP_WIDTH, EM_LIMITTEXT, RES_MAXLEN, 0);
|
||||||
SendDlgItemMessage(hDlg, IDC_DESKTOP_HEIGHT, EM_LIMITTEXT, RES_MAXLEN, 0);
|
SendDlgItemMessage(hDlg, IDC_DESKTOP_HEIGHT, EM_LIMITTEXT, RES_MAXLEN, 0);
|
||||||
|
|
||||||
buf = getConfigValue("x11drv", "DXGrab", "Y");
|
buf = getConfigValue(section, "DXGrab", "Y");
|
||||||
if (IS_OPTION_TRUE(*buf))
|
if (IS_OPTION_TRUE(*buf))
|
||||||
CheckDlgButton(hDlg, IDC_DX_MOUSE_GRAB, BST_CHECKED);
|
CheckDlgButton(hDlg, IDC_DX_MOUSE_GRAB, BST_CHECKED);
|
||||||
else
|
else
|
||||||
CheckDlgButton(hDlg, IDC_DX_MOUSE_GRAB, BST_UNCHECKED);
|
CheckDlgButton(hDlg, IDC_DX_MOUSE_GRAB, BST_UNCHECKED);
|
||||||
free(buf);
|
free(buf);
|
||||||
|
|
||||||
buf = getConfigValue("x11drv", "DesktopDoubleBuffered", "Y");
|
buf = getConfigValue(section, "DesktopDoubleBuffered", "Y");
|
||||||
if (IS_OPTION_TRUE(*buf))
|
if (IS_OPTION_TRUE(*buf))
|
||||||
CheckDlgButton(hDlg, IDC_DOUBLE_BUFFER, BST_CHECKED);
|
CheckDlgButton(hDlg, IDC_DOUBLE_BUFFER, BST_CHECKED);
|
||||||
else
|
else
|
||||||
CheckDlgButton(hDlg, IDC_DOUBLE_BUFFER, BST_UNCHECKED);
|
CheckDlgButton(hDlg, IDC_DOUBLE_BUFFER, BST_UNCHECKED);
|
||||||
free(buf);
|
free(buf);
|
||||||
|
|
||||||
buf = getConfigValue("x11drv", "UseTakeFocus", "N");
|
buf = getConfigValue(section, "UseTakeFocus", "N");
|
||||||
if (IS_OPTION_TRUE(*buf))
|
if (IS_OPTION_TRUE(*buf))
|
||||||
CheckDlgButton(hDlg, IDC_USE_TAKE_FOCUS, BST_CHECKED);
|
CheckDlgButton(hDlg, IDC_USE_TAKE_FOCUS, BST_CHECKED);
|
||||||
else
|
else
|
||||||
|
@ -153,7 +154,7 @@ void setFromDesktopSizeEdits(HWND hDlg) {
|
||||||
if (strcmp(height, "") == 0) strcpy(height, "480");
|
if (strcmp(height, "") == 0) strcpy(height, "480");
|
||||||
|
|
||||||
sprintf(newStr, "%sx%s", width, height);
|
sprintf(newStr, "%sx%s", width, height);
|
||||||
addTransaction("x11drv", "Desktop", ACTION_SET, newStr);
|
addTransaction(section, "Desktop", ACTION_SET, newStr);
|
||||||
|
|
||||||
free(width);
|
free(width);
|
||||||
free(height);
|
free(height);
|
||||||
|
@ -167,7 +168,7 @@ void onEnableDesktopClicked(HWND hDlg) {
|
||||||
setFromDesktopSizeEdits(hDlg);
|
setFromDesktopSizeEdits(hDlg);
|
||||||
} else {
|
} else {
|
||||||
/* it was just checked, so remove the config values */
|
/* it was just checked, so remove the config values */
|
||||||
addTransaction("x11drv", "Desktop", ACTION_REMOVE, NULL);
|
addTransaction(section, "Desktop", ACTION_REMOVE, NULL);
|
||||||
}
|
}
|
||||||
updateGUIForDesktopMode(hDlg);
|
updateGUIForDesktopMode(hDlg);
|
||||||
}
|
}
|
||||||
|
@ -180,30 +181,30 @@ void onScreenDepthChanged(HWND hDlg) {
|
||||||
if (updatingUI) return;
|
if (updatingUI) return;
|
||||||
|
|
||||||
*spaceIndex = '\0';
|
*spaceIndex = '\0';
|
||||||
addTransaction("x11drv", "ScreenDepth", ACTION_SET, newvalue);
|
addTransaction(section, "ScreenDepth", ACTION_SET, newvalue);
|
||||||
free(newvalue);
|
free(newvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onDXMouseGrabClicked(HWND hDlg) {
|
void onDXMouseGrabClicked(HWND hDlg) {
|
||||||
if (IsDlgButtonChecked(hDlg, IDC_DX_MOUSE_GRAB) == BST_CHECKED)
|
if (IsDlgButtonChecked(hDlg, IDC_DX_MOUSE_GRAB) == BST_CHECKED)
|
||||||
addTransaction("x11drv", "DXGrab", ACTION_SET, "Y");
|
addTransaction(section, "DXGrab", ACTION_SET, "Y");
|
||||||
else
|
else
|
||||||
addTransaction("x11drv", "DXGrab", ACTION_SET, "N");
|
addTransaction(section, "DXGrab", ACTION_SET, "N");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void onDoubleBufferClicked(HWND hDlg) {
|
void onDoubleBufferClicked(HWND hDlg) {
|
||||||
if (IsDlgButtonChecked(hDlg, IDC_DOUBLE_BUFFER) == BST_CHECKED)
|
if (IsDlgButtonChecked(hDlg, IDC_DOUBLE_BUFFER) == BST_CHECKED)
|
||||||
addTransaction("x11drv", "DesktopDoubleBuffered", ACTION_SET, "Y");
|
addTransaction(section, "DesktopDoubleBuffered", ACTION_SET, "Y");
|
||||||
else
|
else
|
||||||
addTransaction("x11drv", "DesktopDoubleBuffered", ACTION_SET, "N");
|
addTransaction(section, "DesktopDoubleBuffered", ACTION_SET, "N");
|
||||||
}
|
}
|
||||||
|
|
||||||
void onUseTakeFocusClicked(HWND hDlg) {
|
void onUseTakeFocusClicked(HWND hDlg) {
|
||||||
if (IsDlgButtonChecked(hDlg, IDC_USE_TAKE_FOCUS) == BST_CHECKED)
|
if (IsDlgButtonChecked(hDlg, IDC_USE_TAKE_FOCUS) == BST_CHECKED)
|
||||||
addTransaction("x11drv", "UseTakeFocus", ACTION_SET, "Y");
|
addTransaction(section, "UseTakeFocus", ACTION_SET, "Y");
|
||||||
else
|
else
|
||||||
addTransaction("x11drv", "UseTakeFocus", ACTION_SET, "N");
|
addTransaction(section, "UseTakeFocus", ACTION_SET, "N");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -218,11 +219,12 @@ X11DrvDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
switch(HIWORD(wParam)) {
|
switch(HIWORD(wParam)) {
|
||||||
case EN_CHANGE: {
|
case EN_CHANGE: {
|
||||||
SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
||||||
if ( (LOWORD(wParam) == IDC_DESKTOP_WIDTH) || (LOWORD(wParam) == IDC_DESKTOP_HEIGHT) ) setFromDesktopSizeEdits(hDlg);
|
if ( ((LOWORD(wParam) == IDC_DESKTOP_WIDTH) || (LOWORD(wParam) == IDC_DESKTOP_HEIGHT)) && !updatingUI )
|
||||||
|
setFromDesktopSizeEdits(hDlg);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case BN_CLICKED: {
|
case BN_CLICKED: {
|
||||||
WINE_TRACE("%d\n", LOWORD(wParam));
|
if (updatingUI) break;
|
||||||
switch(LOWORD(wParam)) {
|
switch(LOWORD(wParam)) {
|
||||||
case IDC_ENABLE_DESKTOP: onEnableDesktopClicked(hDlg); break;
|
case IDC_ENABLE_DESKTOP: onEnableDesktopClicked(hDlg); break;
|
||||||
case IDC_DX_MOUSE_GRAB: onDXMouseGrabClicked(hDlg); break;
|
case IDC_DX_MOUSE_GRAB: onDXMouseGrabClicked(hDlg); break;
|
||||||
|
|
Loading…
Reference in New Issue