Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
498e1ce0
Commit
498e1ce0
authored
Sep 30, 2003
by
Mike Hearn
Committed by
Alexandre Julliard
Sep 30, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move Applications tab before Libraries tab.
Improve return_if_fail. Partly implement appdefaults UI. Replace usage of EnableWindow with clearer enable/disable macros.
parent
d9e2db6f
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
260 additions
and
86 deletions
+260
-86
En.rc
programs/winecfg/En.rc
+19
-7
Makefile.in
programs/winecfg/Makefile.in
+1
-0
appdefaults.c
programs/winecfg/appdefaults.c
+147
-0
drive.c
programs/winecfg/drive.c
+33
-33
main.c
programs/winecfg/main.c
+12
-24
resource.h
programs/winecfg/resource.h
+11
-1
winecfg.c
programs/winecfg/winecfg.c
+5
-2
winecfg.h
programs/winecfg/winecfg.h
+15
-4
x11drvdlg.c
programs/winecfg/x11drvdlg.c
+17
-15
No files found.
programs/winecfg/En.rc
View file @
498e1ce0
...
...
@@ -51,11 +51,23 @@ IDD_APPCFG DIALOG DISCARDABLE 0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "List2",IDC_LIST_APPS,"SysListView32",LVS_LIST |
/*
CONTROL "List2",IDC_LIST_APPS,"SysListView32",LVS_LIST |
LVS_NOLABELWRAP | WS_BORDER | WS_TABSTOP,16,39,226,108
GROUPBOX "Application Specific Setting",IDC_STATIC,8,4,244,151
LTEXT "These settings allow you to overwrite Wine default settings (as specified in other configuration tabs) on a per-application basis.",
IDC_STATIC,15,17,228,20
*/
CONTROL "Configuring global settings",IDC_EDITING_GLOBAL,
"Button",BS_AUTORADIOBUTTON,8,8,244,10
CONTROL "Configuring application specific setttings",IDC_EDITING_APP,
"Button",BS_AUTORADIOBUTTON,8,18,244,10
LTEXT "Here you can override the default settings on a per-application basis:",
IDC_STATIC,8,35,244,20
LISTBOX IDC_LIST_APPS,8,48,244,108,WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Add new application...",IDC_ADD_APPDEFAULT,170,155,82,14
PUSHBUTTON "Remove",IDC_REMOVE_APPDEFAULT,130,155,37,14
END
IDD_X11DRVCFG DIALOG DISCARDABLE 0, 0, 260, 250
...
...
@@ -65,9 +77,9 @@ BEGIN
LTEXT "Screen color depth: ",IDC_STATIC,8,10,60,30
COMBOBOX IDC_SCREEN_DEPTH,70,8,180,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Can DirectX programs prevent the mouse leaving their window?",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,35,2
42
,8
CONTROL "Enable desktop double buffering",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,2
42
,8
CONTROL "UseTakeFocus (FIXME)",IDC_USE_TAKE_FOCUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,55,2
42
,8
CONTROL "Can DirectX programs prevent the mouse leaving their window?",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,35,2
30
,8
CONTROL "Enable desktop double buffering",IDC_DOUBLE_BUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,2
30
,8
CONTROL "UseTakeFocus (FIXME)",IDC_USE_TAKE_FOCUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,55,2
30
,8
GROUPBOX " Window settings ",IDC_STATIC,8,25,244,120
...
...
programs/winecfg/Makefile.in
View file @
498e1ce0
...
...
@@ -7,6 +7,7 @@ APPMODE = gui
IMPORTS
=
comctl32 user32 advapi32
C_SRCS
=
\
appdefaults.c
\
drive.c
\
main.c
\
properties.c
\
...
...
programs/winecfg/appdefaults.c
0 → 100644
View file @
498e1ce0
/*
* Application defaults page
*
* Copyright 2003 Mike Hearn
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <stdio.h>
#include "winecfg.h"
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <wine/debug.h>
#include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
winecfg
);
int
appSettings
=
EDITING_GLOBAL
;
/* start by editing global */
char
*
currentApp
;
/* the app we are currently editing, or NULL if editing global */
char
*
getSectionForApp
(
char
*
section
)
{
static
char
*
lastResult
=
NULL
;
if
(
lastResult
)
HeapFree
(
GetProcessHeap
(),
0
,
lastResult
);
lastResult
=
HeapAlloc
(
GetProcessHeap
(),
0
,
strlen
(
"AppDefaults
\\
"
)
+
strlen
(
currentApp
)
+
2
/* \\ */
+
strlen
(
section
)
+
1
/* terminator */
);
sprintf
(
lastResult
,
"AppDefaults
\\
%s
\\
%s"
,
currentApp
,
section
);
return
lastResult
;
}
static
void
configureFor
(
HWND
dialog
,
int
mode
)
{
CheckRadioButton
(
dialog
,
IDC_EDITING_GLOBAL
,
IDC_EDITING_APP
,
mode
==
EDITING_APP
?
IDC_EDITING_APP
:
IDC_EDITING_GLOBAL
);
if
(
mode
==
EDITING_GLOBAL
)
{
disable
(
IDC_LIST_APPS
);
disable
(
IDC_ADD_APPDEFAULT
);
disable
(
IDC_REMOVE_APPDEFAULT
);
if
(
currentApp
)
HeapFree
(
GetProcessHeap
(),
0
,
currentApp
);
}
else
{
enable
(
IDC_LIST_APPS
);
enable
(
IDC_ADD_APPDEFAULT
);
enable
(
IDC_REMOVE_APPDEFAULT
);
}
appSettings
=
mode
;
}
/* fill the dialog with the current appdefault entries */
static
void
refreshDialog
(
HWND
dialog
)
{
HKEY
key
;
char
*
subKeyName
=
HeapAlloc
(
GetProcessHeap
(),
0
,
MAX_NAME_LENGTH
);
DWORD
sizeOfSubKeyName
=
MAX_NAME_LENGTH
;
int
i
,
itemIndex
;
WINE_TRACE
(
"
\n
"
);
/* Clear the listbox */
SendMessageA
(
GetDlgItem
(
dialog
,
IDC_LIST_APPS
),
LB_RESETCONTENT
,
0
,
0
);
return_if_fail
(
RegCreateKey
(
HKEY_LOCAL_MACHINE
,
WINE_KEY_ROOT
"
\\
AppDefaults"
,
&
key
)
==
ERROR_SUCCESS
);
/* Iterate over each subkey in the AppDefaults tree */
for
(
i
=
0
;
RegEnumKeyEx
(
key
,
i
,
subKeyName
,
&
sizeOfSubKeyName
,
NULL
,
NULL
,
NULL
,
NULL
)
!=
ERROR_NO_MORE_ITEMS
;
++
i
,
sizeOfSubKeyName
=
MAX_NAME_LENGTH
)
{
WINE_TRACE
(
"appdefault entry=%s
\n
"
,
subKeyName
);
itemIndex
=
SendMessageA
(
GetDlgItem
(
dialog
,
IDC_LIST_APPS
),
LB_ADDSTRING
,(
WPARAM
)
-
1
,
(
LPARAM
)
subKeyName
);
}
configureFor
(
dialog
,
appSettings
);
WINE_TRACE
(
"done
\n
"
);
RegCloseKey
(
key
);
HeapFree
(
GetProcessHeap
(),
0
,
subKeyName
);
}
static
void
onAppsListSelChange
(
HWND
dialog
)
{
int
newPos
=
SendDlgItemMessage
(
dialog
,
IDC_LIST_APPS
,
LB_GETCURSEL
,
0
,
0
);
int
appLen
=
SendDlgItemMessage
(
dialog
,
IDC_LIST_APPS
,
LB_GETTEXTLEN
,
newPos
,
0
);
if
(
currentApp
)
HeapFree
(
GetProcessHeap
(),
0
,
currentApp
);
currentApp
=
HeapAlloc
(
GetProcessHeap
(),
0
,
appLen
+
1
);
return_if_fail
(
SendDlgItemMessage
(
dialog
,
IDC_LIST_APPS
,
LB_GETTEXT
,
newPos
,
(
LPARAM
)
currentApp
)
!=
LB_ERR
);
WINE_TRACE
(
"new selection is %s
\n
"
,
currentApp
);
}
INT_PTR
CALLBACK
AppDlgProc
(
HWND
hDlg
,
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
switch
(
uMsg
)
{
case
WM_COMMAND
:
switch
(
LOWORD
(
wParam
))
{
case
IDC_EDITING_APP
:
configureFor
(
hDlg
,
EDITING_APP
);
break
;
case
IDC_EDITING_GLOBAL
:
configureFor
(
hDlg
,
EDITING_GLOBAL
);
break
;
case
IDC_ADD_APPDEFAULT
:
WRITEME
(
hDlg
);
break
;
case
IDC_REMOVE_APPDEFAULT
:
WRITEME
(
hDlg
);
break
;
case
IDC_LIST_APPS
:
if
(
HIWORD
(
wParam
)
==
LBN_SELCHANGE
)
onAppsListSelChange
(
hDlg
);
break
;
}
break
;
case
WM_NOTIFY
:
switch
(((
LPNMHDR
)
lParam
)
->
code
)
{
case
PSN_KILLACTIVE
:
SetWindowLong
(
hDlg
,
DWL_MSGRESULT
,
FALSE
);
break
;
case
PSN_APPLY
:
SetWindowLong
(
hDlg
,
DWL_MSGRESULT
,
PSNRET_NOERROR
);
break
;
case
PSN_SETACTIVE
:
refreshDialog
(
hDlg
);
break
;
};
break
;
case
WM_INITDIALOG
:
WINE_TRACE
(
"Init appdefaults
\n
"
);
break
;
}
return
FALSE
;
}
programs/winecfg/drive.c
View file @
498e1ce0
...
...
@@ -285,52 +285,52 @@ void fill_drive_droplist(long mask, char currentLetter, HWND hDlg)
#define BOX_MODE_CD_AUTODETECT 2
#define BOX_MODE_NONE 3
#define BOX_MODE_NORMAL 4
void
enable_labelserial_box
(
HWND
hDl
g
,
int
mode
)
void
enable_labelserial_box
(
HWND
dialo
g
,
int
mode
)
{
WINE_TRACE
(
"mode=%d
\n
"
,
mode
);
switch
(
mode
)
{
case
BOX_MODE_CD_ASSIGN
:
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_AUTODETECT
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_ASSIGN
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_DEVICE
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_BUTTON_BROWSE_DEVICE
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_SERIAL
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_LABEL
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_SERIAL
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_LABEL
),
1
);
enable
(
IDC_RADIO_AUTODETECT
);
enable
(
IDC_RADIO_ASSIGN
);
disable
(
IDC_EDIT_DEVICE
);
disable
(
IDC_BUTTON_BROWSE_DEVICE
);
enable
(
IDC_EDIT_SERIAL
);
enable
(
IDC_EDIT_LABEL
);
enable
(
IDC_STATIC_SERIAL
);
enable
(
IDC_STATIC_LABEL
);
break
;
case
BOX_MODE_CD_AUTODETECT
:
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_AUTODETECT
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_ASSIGN
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_DEVICE
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_BUTTON_BROWSE_DEVICE
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_SERIAL
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_LABEL
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_SERIAL
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_LABEL
),
0
);
enable
(
IDC_RADIO_AUTODETECT
);
enable
(
IDC_RADIO_ASSIGN
);
enable
(
IDC_EDIT_DEVICE
);
enable
(
IDC_BUTTON_BROWSE_DEVICE
);
disable
(
IDC_EDIT_SERIAL
);
disable
(
IDC_EDIT_LABEL
);
disable
(
IDC_STATIC_SERIAL
);
disable
(
IDC_STATIC_LABEL
);
break
;
case
BOX_MODE_NONE
:
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_AUTODETECT
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_ASSIGN
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_DEVICE
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_BUTTON_BROWSE_DEVICE
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_SERIAL
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_LABEL
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_SERIAL
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_LABEL
),
0
);
disable
(
IDC_RADIO_AUTODETECT
);
disable
(
IDC_RADIO_ASSIGN
);
disable
(
IDC_EDIT_DEVICE
);
disable
(
IDC_BUTTON_BROWSE_DEVICE
);
disable
(
IDC_EDIT_SERIAL
);
disable
(
IDC_EDIT_LABEL
);
disable
(
IDC_STATIC_SERIAL
);
disable
(
IDC_STATIC_LABEL
);
break
;
case
BOX_MODE_NORMAL
:
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_AUTODETECT
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_RADIO_ASSIGN
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_DEVICE
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_BUTTON_BROWSE_DEVICE
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_SERIAL
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_EDIT_LABEL
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_SERIAL
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_STATIC_LABEL
),
1
);
disable
(
IDC_RADIO_AUTODETECT
);
enable
(
IDC_RADIO_ASSIGN
);
disable
(
IDC_EDIT_DEVICE
);
disable
(
IDC_BUTTON_BROWSE_DEVICE
);
enable
(
IDC_EDIT_SERIAL
);
enable
(
IDC_EDIT_LABEL
);
enable
(
IDC_STATIC_SERIAL
);
enable
(
IDC_STATIC_LABEL
);
break
;
}
}
...
...
programs/winecfg/main.c
View file @
498e1ce0
...
...
@@ -162,20 +162,6 @@ DllDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
}
INT_PTR
CALLBACK
AppDlgProc
(
HWND
hDlg
,
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
switch
(
uMsg
)
{
case
WM_COMMAND
:
break
;
default:
break
;
}
return
FALSE
;
}
#define NUM_PROPERTY_PAGES 5
INT_PTR
doPropertySheet
(
HINSTANCE
hInstance
,
HWND
hOwner
)
...
...
@@ -197,31 +183,31 @@ doPropertySheet (HINSTANCE hInstance, HWND hOwner)
psp
[
0
].
lParam
=
0
;
/*
* Fill out the (
Librarie
s) PROPSHEETPAGE data structure
* Fill out the (
Application
s) PROPSHEETPAGE data structure
* for the property sheet
*/
psp
[
1
].
dwSize
=
sizeof
(
PROPSHEETPAGE
);
psp
[
1
].
dwFlags
=
PSP_USETITLE
;
psp
[
1
].
hInstance
=
hInstance
;
psp
[
1
].
u
.
pszTemplate
=
MAKEINTRESOURCE
(
IDD_
DLL
CFG
);
psp
[
1
].
u
.
pszTemplate
=
MAKEINTRESOURCE
(
IDD_
APP
CFG
);
psp
[
1
].
u2
.
pszIcon
=
NULL
;
psp
[
1
].
pfnDlgProc
=
Dll
DlgProc
;
psp
[
1
].
pszTitle
=
"
Librarie
s"
;
psp
[
1
].
pfnDlgProc
=
App
DlgProc
;
psp
[
1
].
pszTitle
=
"
Application
s"
;
psp
[
1
].
lParam
=
0
;
/*
* Fill out the (
Application
s) PROPSHEETPAGE data structure
* Fill out the (
Librarie
s) PROPSHEETPAGE data structure
* for the property sheet
*/
psp
[
2
].
dwSize
=
sizeof
(
PROPSHEETPAGE
);
psp
[
2
].
dwFlags
=
PSP_USETITLE
;
psp
[
2
].
hInstance
=
hInstance
;
psp
[
2
].
u
.
pszTemplate
=
MAKEINTRESOURCE
(
IDD_
APP
CFG
);
psp
[
2
].
u
.
pszTemplate
=
MAKEINTRESOURCE
(
IDD_
DLL
CFG
);
psp
[
2
].
u2
.
pszIcon
=
NULL
;
psp
[
2
].
pfnDlgProc
=
App
DlgProc
;
psp
[
2
].
pszTitle
=
"
Application
s"
;
psp
[
2
].
pfnDlgProc
=
Dll
DlgProc
;
psp
[
2
].
pszTitle
=
"
Librarie
s"
;
psp
[
2
].
lParam
=
0
;
/*
* Fill out the (X11Drv) PROPSHEETPAGE data structure
* for the property sheet
...
...
@@ -256,6 +242,7 @@ doPropertySheet (HINSTANCE hInstance, HWND hOwner)
psh
.
nPages
=
NUM_PROPERTY_PAGES
;
psh
.
u3
.
ppsp
=
(
LPCPROPSHEETPAGE
)
&
psp
;
psh
.
pfnCallback
=
(
PFNPROPSHEETCALLBACK
)
PropSheetCallback
;
psh
.
u2
.
nStartPage
=
0
;
/*
* Display the modal property sheet
...
...
@@ -293,8 +280,9 @@ WinMain (HINSTANCE hInstance, HINSTANCE hPrev, LPSTR szCmdLine, int nShow)
InitCommonControls
();
if
(
doPropertySheet
(
hInstance
,
NULL
)
>
0
)
{
WINE_TRACE
(
"OK
\n
"
);
}
else
}
else
{
WINE_TRACE
(
"Cancel
\n
"
);
}
ExitProcess
(
0
);
...
...
programs/winecfg/resource.h
View file @
498e1ce0
...
...
@@ -45,7 +45,6 @@
#define IDC_SYSCOLORS 1017
#define IDC_PRIVATEMAP 1018
#define IDC_PERFECTGRAPH 1019
#define IDC_LIST_APPS 1021
#define IDC_MANAGED 1022
#define IDC_DESKTOP_WIDTH 1023
#define IDC_DESKTOP_HEIGHT 1024
...
...
@@ -67,6 +66,8 @@
#define IDC_EDIT_REAL 1039
#define IDC_BUTTON_REAL 1040
#define IDC_BUTTON_FOLDERS 1041
/* drive editing */
#define IDC_LIST_DRIVES 1042
#define IDC_BUTTON_ADD 1043
#define IDC_BUTTON_REMOVE 1044
...
...
@@ -102,8 +103,17 @@
#define IDC_STATIC_LABEL 1073
#define IDC_ENABLE_DESKTOP 1074
#define IDS_DRIVE_NO_C 1075
/* x11drv */
#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
/* applications tab */
#define IDC_LIST_APPS 1021
#define IDC_EDITING_GLOBAL 1081
#define IDC_EDITING_APP 1082
#define IDC_ADD_APPDEFAULT 1083
#define IDC_REMOVE_APPDEFAULT 1084
programs/winecfg/winecfg.c
View file @
498e1ce0
...
...
@@ -22,7 +22,6 @@
* TODO: (in rough order of priority)
* - A mind bogglingly vast amount of stuff
*
* - Complete X11DRV page, so all controls are hooked up
* - Implement autodetect for drive configuration
* - Figure out whether we need the virtual vs real drive selection stuff at the top of the property page
* - Implement explicit mode vs instant-apply mode
...
...
@@ -36,6 +35,10 @@
* Minor things that should be done someday:
* - Make the desktop size UI a combo box, with a Custom option, so it's more obvious what you might want to choose here
*
* BUGS:
* - WineLook default fallback doesn't work
* - x11drv page triggers key writes on entry
*
*/
#include <assert.h>
...
...
@@ -94,7 +97,7 @@ char *getConfigValue (char *subkey, char *valueName, char *defaultResult)
}
goto
end
;
}
res
=
RegQueryValueExA
(
hSubKey
,
valueName
,
NULL
,
NULL
,
NULL
,
&
dataLength
);
if
(
res
==
ERROR_FILE_NOT_FOUND
)
{
WINE_TRACE
(
"Value not present - using default
\n
"
);
...
...
programs/winecfg/winecfg.h
View file @
498e1ce0
...
...
@@ -37,10 +37,10 @@
#define IS_OPTION_FALSE(ch) \
((ch) == 'n' || (ch) == 'N' || (ch) == 'f' || (ch) == 'F' || (ch) == '0')
#define return_if_fail(try
, ret
) \
#define return_if_fail(try) \
if (!(try)) { \
WINE_ERR("assertion (##try) failed, returning\n"
); \
return
ret
; \
WINE_ERR("check (" #try ") at %s:%d failed, returning\n", __FILE__, __LINE__ - 1
); \
return; \
}
#define WRITEME(owner) MessageBox(owner, "Write me!", "", MB_OK | MB_ICONEXCLAMATION);
...
...
@@ -63,6 +63,13 @@ extern struct transaction *tqhead, *tqtail;
extern
int
instantApply
;
/* non-zero means apply all changes instantly */
#define EDITING_GLOBAL 0
#define EDITING_APP 1
extern
int
appSettings
;
/* non-zero means we are editing appdefault settings */
/* returns a string of the form AppDefaults\\appname.exe\\section */
/* no explicit free is needed of the string returned by this function */
char
*
getSectionForApp
(
char
*
section
);
/* Commits a transaction to the registry */
void
processTransaction
(
struct
transaction
*
trans
);
...
...
@@ -101,10 +108,14 @@ void saveDriveSettings (HWND hDlg);
INT_PTR
CALLBACK
DriveDlgProc
(
HWND
hDlg
,
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
);
INT_PTR
CALLBACK
DriveEditDlgProc
(
HWND
hDlg
,
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
);
INT_PTR
CALLBACK
AppDlgProc
(
HWND
hDlg
,
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
);
/* some basic utilities to make win32 suck less */
char
*
getDialogItemText
(
HWND
hDlg
,
WORD
controlID
);
#define disable(id) EnableWindow(GetDlgItem(dialog, id), 0);
#define enable(id) EnableWindow(GetDlgItem(dialog, id), 1);
#define WINE_KEY_ROOT "Software\\Wine\\Wine
Cfg
\\Config"
#define WINE_KEY_ROOT "Software\\Wine\\Wine\\Config"
#endif
programs/winecfg/x11drvdlg.c
View file @
498e1ce0
...
...
@@ -35,35 +35,37 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
winecfg
);
#define RES_MAXLEN 5
/* the maximum number of characters in a screen dimension. 5 digits should be plenty, what kind of crazy person runs their screen >10,000 pixels across? */
#define section (appSettings == EDITING_GLOBAL ? "x11drv" : (getSectionForApp("x11drv")))
int
updatingUI
;
void
updateGUIForDesktopMode
(
HWND
hDl
g
)
{
void
updateGUIForDesktopMode
(
HWND
dialo
g
)
{
WINE_TRACE
(
"
\n
"
);
updatingUI
=
TRUE
;
/* do we have desktop mode enabled? */
if
(
doesConfigValueExist
(
"x11drv"
,
"Desktop"
)
==
S_OK
)
{
CheckDlgButton
(
hDl
g
,
IDC_ENABLE_DESKTOP
,
BST_CHECKED
);
CheckDlgButton
(
dialo
g
,
IDC_ENABLE_DESKTOP
,
BST_CHECKED
);
/* enable the controls */
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_WIDTH
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_HEIGHT
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_SIZE
),
1
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_BY
),
1
);
SetWindowText
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_WIDTH
),
"640"
);
SetWindowText
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_HEIGHT
),
"480"
);
enable
(
IDC_DESKTOP_WIDTH
);
enable
(
IDC_DESKTOP_HEIGHT
);
enable
(
IDC_DESKTOP_SIZE
);
enable
(
IDC_DESKTOP_BY
);
SetWindowText
(
GetDlgItem
(
dialog
,
IDC_DESKTOP_WIDTH
),
"640"
);
SetWindowText
(
GetDlgItem
(
dialog
,
IDC_DESKTOP_HEIGHT
),
"480"
);
}
else
{
CheckDlgButton
(
hDl
g
,
IDC_ENABLE_DESKTOP
,
BST_UNCHECKED
);
CheckDlgButton
(
dialo
g
,
IDC_ENABLE_DESKTOP
,
BST_UNCHECKED
);
/* disable the controls */
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_WIDTH
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_HEIGHT
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_SIZE
),
0
);
EnableWindow
(
GetDlgItem
(
hDlg
,
IDC_DESKTOP_BY
),
0
);
disable
(
IDC_DESKTOP_WIDTH
);
disable
(
IDC_DESKTOP_HEIGHT
);
disable
(
IDC_DESKTOP_SIZE
);
disable
(
IDC_DESKTOP_BY
);
SetWindowText
(
GetDlgItem
(
hDl
g
,
IDC_DESKTOP_WIDTH
),
""
);
SetWindowText
(
GetDlgItem
(
hDl
g
,
IDC_DESKTOP_HEIGHT
),
""
);
SetWindowText
(
GetDlgItem
(
dialo
g
,
IDC_DESKTOP_WIDTH
),
""
);
SetWindowText
(
GetDlgItem
(
dialo
g
,
IDC_DESKTOP_HEIGHT
),
""
);
}
updatingUI
=
FALSE
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment