winecfg: Add unmanaged windows configuration.

This commit is contained in:
Robert Reif 2005-12-22 11:15:32 +01:00 committed by Alexandre Julliard
parent 87ab6e6cd8
commit e998da5e07
2 changed files with 33 additions and 11 deletions

View File

@ -65,28 +65,31 @@ BEGIN
LTEXT "Screen color depth: ",IDC_STATIC,8,10,70,30 LTEXT "Screen color depth: ",IDC_STATIC,8,10,70,30
COMBOBOX IDC_SCREEN_DEPTH,80,8,170,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_SCREEN_DEPTH,80,8,170,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX " Window settings ",IDC_STATIC,8,25,244,110 GROUPBOX " Window settings ",IDC_STATIC,8,25,244,180
CONTROL "Allow DirectX apps to stop the mouse leaving their window",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,35,230,8 CONTROL "Allow DirectX apps to stop the mouse leaving their window",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,35,230,8
CONTROL "Enable desktop double buffering",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,230,8 CONTROL "Enable desktop double buffering",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,230,8
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,58,228,80
CONTROL "Allow the window manager to control the windows",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,132,230,8
/* FIXME: the wording of this explanation could be a lot better */ /* 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.", 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,73,228,28 IDC_STATIC,15,146,228,28
LTEXT "Desktop size:",IDC_DESKTOP_SIZE,15,115,44,8,WS_DISABLED LTEXT "Desktop size:",IDC_DESKTOP_SIZE,15,188,44,8,WS_DISABLED
LTEXT "X",IDC_DESKTOP_BY,108,115,8,8,WS_DISABLED LTEXT "X",IDC_DESKTOP_BY,108,188,8,8,WS_DISABLED
CONTROL "Emulate a virtual desktop",IDC_ENABLE_DESKTOP,"Button", CONTROL "Emulate a virtual desktop",IDC_ENABLE_DESKTOP,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,15,100,230,10 BS_AUTOCHECKBOX | WS_TABSTOP,15,173,230,10
EDITTEXT IDC_DESKTOP_WIDTH,64,115,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED EDITTEXT IDC_DESKTOP_WIDTH,64,188,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
EDITTEXT IDC_DESKTOP_HEIGHT,117,115,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED EDITTEXT IDC_DESKTOP_HEIGHT,117,188,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
GROUPBOX " Direct3D ",IDC_STATIC,8,140,244,120 GROUPBOX " Direct3D ",IDC_STATIC,8,210,244,50
LTEXT "Vertex Shader Support: ",IDC_STATIC,15,150,80,30 LTEXT "Vertex Shader Support: ",IDC_STATIC,15,220,80,30
COMBOBOX IDC_D3D_VSHADER_MODE,100,148,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_D3D_VSHADER_MODE,100,218,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Allow Pixel Shader (if supported by hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,165,230,10 CONTROL "Allow Pixel Shader (if supported by hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,237,230,10
END END
IDD_DLLCFG DIALOG DISCARDABLE 0, 0, 260, 250 IDD_DLLCFG DIALOG DISCARDABLE 0, 0, 260, 250
@ -219,6 +222,7 @@ BEGIN
CONTROL "Allow DirectX apps to stop the mouse leaving their window",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,35,230,8 CONTROL "Allow DirectX apps to stop the mouse leaving their window",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,35,230,8
CONTROL "Enable desktop double buffering",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,230,8 CONTROL "Enable desktop double buffering",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,230,8
CONTROL "Allow the window manager to manage created windows",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,55,230,8
GROUPBOX " Window settings ",IDC_STATIC,8,25,244,110 GROUPBOX " Window settings ",IDC_STATIC,8,25,244,110

View File

@ -154,6 +154,13 @@ static void init_dialog(HWND dialog)
} }
HeapFree(GetProcessHeap(), 0, buf); HeapFree(GetProcessHeap(), 0, buf);
buf = get_reg_key(config_key, keypath("X11 Driver"), "Managed", "Y");
if (IS_OPTION_TRUE(*buf))
CheckDlgButton(dialog, IDC_ENABLE_MANAGED, BST_CHECKED);
else
CheckDlgButton(dialog, IDC_ENABLE_MANAGED, BST_UNCHECKED);
HeapFree(GetProcessHeap(), 0, buf);
SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_RESETCONTENT, 0, 0); SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_RESETCONTENT, 0, 0);
for (it = 0; NULL != D3D_VS_Modes[it]; ++it) { for (it = 0; NULL != D3D_VS_Modes[it]; ++it) {
SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_ADDSTRING, 0, (LPARAM) D3D_VS_Modes[it]); SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_ADDSTRING, 0, (LPARAM) D3D_VS_Modes[it]);
@ -221,6 +228,16 @@ static void on_enable_desktop_clicked(HWND dialog) {
update_gui_for_desktop_mode(dialog); update_gui_for_desktop_mode(dialog);
} }
static void on_enable_managed_clicked(HWND dialog) {
WINE_TRACE("\n");
if (IsDlgButtonChecked(dialog, IDC_ENABLE_MANAGED) == BST_CHECKED) {
set_reg_key(config_key, keypath("X11 Driver"), "Managed", "Y");
} else {
set_reg_key(config_key, keypath("X11 Driver"), "Managed", "N");
}
}
static void on_screen_depth_changed(HWND dialog) { static void on_screen_depth_changed(HWND dialog) {
char *newvalue = get_text(dialog, IDC_SCREEN_DEPTH); char *newvalue = get_text(dialog, IDC_SCREEN_DEPTH);
char *spaceIndex = strchr(newvalue, ' '); char *spaceIndex = strchr(newvalue, ' ');
@ -290,6 +307,7 @@ GraphDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
switch(LOWORD(wParam)) { switch(LOWORD(wParam)) {
case IDC_ENABLE_DESKTOP: on_enable_desktop_clicked(hDlg); break; case IDC_ENABLE_DESKTOP: on_enable_desktop_clicked(hDlg); break;
case IDC_ENABLE_MANAGED: on_enable_managed_clicked(hDlg); break;
case IDC_DX_MOUSE_GRAB: on_dx_mouse_grab_clicked(hDlg); break; case IDC_DX_MOUSE_GRAB: on_dx_mouse_grab_clicked(hDlg); break;
case IDC_DOUBLE_BUFFER: on_double_buffer_clicked(hDlg); break; case IDC_DOUBLE_BUFFER: on_double_buffer_clicked(hDlg); break;
case IDC_D3D_PSHADER_MODE: on_d3d_pshader_mode_clicked(hDlg); break; case IDC_D3D_PSHADER_MODE: on_d3d_pshader_mode_clicked(hDlg); break;