Remove Managed option. Add DXGrab, DesktopDoubleBuffer, UseTakeFocus.

This commit is contained in:
Mike Hearn 2003-09-22 21:13:51 +00:00 committed by Alexandre Julliard
parent c445c739f9
commit fae915f0bf
3 changed files with 57 additions and 28 deletions

View File

@ -62,32 +62,25 @@ IDD_X11DRVCFG DIALOG DISCARDABLE 0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Sans Serif"
BEGIN
/** DGA control is disabled until this feature isn't totally broken **/
/*
CONTROL "Use XFree DGA extension",IDC_XDGA,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,145,44,97,10
*/
LTEXT "Screen color depth: ",IDC_STATIC,8,10,60,30
COMBOBOX IDC_SCREEN_DEPTH,70,8,180,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_DESKTOP_WIDTH,64,125,40,14,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
EDITTEXT IDC_DESKTOP_HEIGHT,117,125,40,14,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
CONTROL "Can DirectX programs prevent the mouse leaving their window?",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,35,242,8
CONTROL "Enable desktop double buffering",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,242,8
CONTROL "UseTakeFocus (FIXME)",IDC_USE_TAKE_FOCUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,55,242,8
GROUPBOX " Window settings ",IDC_STATIC,8,65,244,170
GROUPBOX " Window settings ",IDC_STATIC,8,25,244,120
/* FIXME: the wording of this explanation could be a lot better */
LTEXT "You can choose to emulate a windows desktop, where all the windows are confined to one 'virtual screen', or you can have the windows placed on your standard desktop.",
IDC_STATIC,15,77,228,28
LTEXT "Desktop size:",IDC_DESKTOP_SIZE,17,125,44,8,WS_DISABLED
LTEXT "X",IDC_DESKTOP_BY,108,125,8,8,WS_DISABLED
IDC_STATIC,15,73,228,28
LTEXT "Desktop size:",IDC_DESKTOP_SIZE,15,115,44,8,WS_DISABLED
LTEXT "X",IDC_DESKTOP_BY,108,115,8,8,WS_DISABLED
CONTROL "Emulate a virtual desktop",IDC_ENABLE_DESKTOP,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,17,110,84,10
BS_AUTOCHECKBOX | WS_TABSTOP,15,100,84,10
LTEXT "If windows are managed by your window manager, then they will have the standard borders, they will respect your virtual desktop and appear in your window list. \n\nIf the windows are unmanaged, they will be disconnected from your window manager. This will mean the windows do not integrate as closely with your desktop, but the emulation will be more accurate so it can help some programs to work better.",
IDC_STATIC,15,145,228,50
CONTROL "Allow the window manager to control the windows", IDC_ENABLE_MANAGED, "Button",
BS_AUTOCHECKBOX | WS_TABSTOP, 17,215,154,10
EDITTEXT IDC_DESKTOP_WIDTH,64,115,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
EDITTEXT IDC_DESKTOP_HEIGHT,117,115,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
END

View File

@ -104,3 +104,6 @@
#define IDS_DRIVE_NO_C 1075
#define IDC_ENABLE_MANAGED 1076
#define IDC_SCREEN_DEPTH 1077
#define IDC_DX_MOUSE_GRAB 1078
#define IDC_USE_TAKE_FOCUS 1079
#define IDC_DOUBLE_BUFFER 1080

View File

@ -109,11 +109,26 @@ void initX11DrvDlg (HWND hDlg)
SendDlgItemMessage(hDlg, IDC_DESKTOP_WIDTH, EM_LIMITTEXT, RES_MAXLEN, 0);
SendDlgItemMessage(hDlg, IDC_DESKTOP_HEIGHT, EM_LIMITTEXT, RES_MAXLEN, 0);
buf = getConfigValue("x11drv", "Managed", "Y");
buf = getConfigValue("x11drv", "DXGrab", "Y");
if (IS_OPTION_TRUE(*buf))
CheckDlgButton(hDlg, IDC_ENABLE_MANAGED, BST_CHECKED);
CheckDlgButton(hDlg, IDC_DX_MOUSE_GRAB, BST_CHECKED);
else
CheckDlgButton(hDlg, IDC_ENABLE_MANAGED, BST_UNCHECKED);
CheckDlgButton(hDlg, IDC_DX_MOUSE_GRAB, BST_UNCHECKED);
free(buf);
buf = getConfigValue("x11drv", "DesktopDoubleBuffered", "Y");
if (IS_OPTION_TRUE(*buf))
CheckDlgButton(hDlg, IDC_DOUBLE_BUFFER, BST_CHECKED);
else
CheckDlgButton(hDlg, IDC_DOUBLE_BUFFER, BST_UNCHECKED);
free(buf);
buf = getConfigValue("x11drv", "UseTakeFocus", "N");
if (IS_OPTION_TRUE(*buf))
CheckDlgButton(hDlg, IDC_USE_TAKE_FOCUS, BST_CHECKED);
else
CheckDlgButton(hDlg, IDC_USE_TAKE_FOCUS, BST_UNCHECKED);
free(buf);
updatingUI = FALSE;
}
@ -167,13 +182,29 @@ void onScreenDepthChanged(HWND hDlg) {
free(newvalue);
}
void onEnableManagedClicked(HWND hDlg) {
if (IsDlgButtonChecked(hDlg, IDC_ENABLE_MANAGED) == BST_CHECKED)
addTransaction("x11drv", "Managed", ACTION_SET, "Y");
void onDXMouseGrabClicked(HWND hDlg) {
if (IsDlgButtonChecked(hDlg, IDC_DX_MOUSE_GRAB) == BST_CHECKED)
addTransaction("x11drv", "DXGrab", ACTION_SET, "Y");
else
addTransaction("x11drv", "Managed", ACTION_SET, "N");
addTransaction("x11drv", "DXGrab", ACTION_SET, "N");
}
void onDoubleBufferClicked(HWND hDlg) {
if (IsDlgButtonChecked(hDlg, IDC_DOUBLE_BUFFER) == BST_CHECKED)
addTransaction("x11drv", "DesktopDoubleBuffered", ACTION_SET, "Y");
else
addTransaction("x11drv", "DesktopDoubleBuffered", ACTION_SET, "N");
}
void onUseTakeFocusClicked(HWND hDlg) {
if (IsDlgButtonChecked(hDlg, IDC_USE_TAKE_FOCUS) == BST_CHECKED)
addTransaction("x11drv", "UseTakeFocus", ACTION_SET, "Y");
else
addTransaction("x11drv", "UseTakeFocus", ACTION_SET, "N");
}
INT_PTR CALLBACK
X11DrvDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
@ -192,7 +223,9 @@ X11DrvDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
WINE_TRACE("%d\n", LOWORD(wParam));
switch(LOWORD(wParam)) {
case IDC_ENABLE_DESKTOP: onEnableDesktopClicked(hDlg); break;
case IDC_ENABLE_MANAGED: onEnableManagedClicked(hDlg); break;
case IDC_DX_MOUSE_GRAB: onDXMouseGrabClicked(hDlg); break;
case IDC_USE_TAKE_FOCUS: onUseTakeFocusClicked(hDlg); break;
case IDC_DOUBLE_BUFFER: onDoubleBufferClicked(hDlg); break;
};
break;
}