mirror of
https://github.com/reactos/reactos.git
synced 2025-07-24 18:03:44 +00:00
[SNDVOL32] Disable the Mute checkbox for all lines that do not have a mute switch control
This commit is contained in:
parent
24b2d59ab6
commit
cc820b7f9f
3 changed files with 44 additions and 9 deletions
|
@ -66,13 +66,14 @@ LoadDialogResource(
|
|||
LPWORD
|
||||
AddDialogControl(
|
||||
IN HWND hwndDialog,
|
||||
IN HWND * OutWnd,
|
||||
OUT HWND *OutWnd,
|
||||
IN LPRECT DialogOffset,
|
||||
IN PDLGITEMTEMPLATE DialogItem,
|
||||
IN DWORD DialogIdMultiplier,
|
||||
IN HFONT hFont,
|
||||
UINT xBaseUnit,
|
||||
UINT yBaseUnit)
|
||||
IN UINT xBaseUnit,
|
||||
IN UINT yBaseUnit,
|
||||
IN UINT MixerId)
|
||||
{
|
||||
RECT rect;
|
||||
LPWORD Offset;
|
||||
|
@ -211,9 +212,23 @@ AddDialogControl(
|
|||
SendMessage(hwnd, TBM_SETTIC, 0, (LPARAM)i);
|
||||
}
|
||||
}
|
||||
else if (!wcsicmp(ClassName, L"static") || !wcsicmp(ClassName, L"button"))
|
||||
else if (!wcsicmp(ClassName, L"static"))
|
||||
{
|
||||
/* set font */
|
||||
/* Set font */
|
||||
SendMessageW(hwnd, WM_SETFONT, (WPARAM)hFont, TRUE);
|
||||
}
|
||||
else if (!wcsicmp(ClassName, L"button"))
|
||||
{
|
||||
if (DialogItem->style & BS_AUTOCHECKBOX)
|
||||
{
|
||||
if (MixerId == PLAY_MIXER)
|
||||
{
|
||||
/* Disable checkboxes by default, if we are in play mode */
|
||||
EnableWindow(hwnd, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
/* Set font */
|
||||
SendMessageW(hwnd, WM_SETFONT, (WPARAM)hFont, TRUE);
|
||||
}
|
||||
|
||||
|
@ -275,7 +290,15 @@ LoadDialogControls(
|
|||
for (Index = 0; Index < ItemCount; Index++)
|
||||
{
|
||||
/* add controls */
|
||||
Offset = AddDialogControl(MixerWindow->hWnd, &MixerWindow->Window[MixerWindow->WindowCount], DialogOffset, DialogItem, DialogIdMultiplier, MixerWindow->hFont, xBaseUnit, yBaseUnit);
|
||||
Offset = AddDialogControl(MixerWindow->hWnd,
|
||||
&MixerWindow->Window[MixerWindow->WindowCount],
|
||||
DialogOffset,
|
||||
DialogItem,
|
||||
DialogIdMultiplier,
|
||||
MixerWindow->hFont,
|
||||
xBaseUnit,
|
||||
yBaseUnit,
|
||||
MixerWindow->MixerId);
|
||||
|
||||
/* sanity check */
|
||||
assert(Offset);
|
||||
|
@ -480,6 +503,10 @@ EnumConnectionsCallback(
|
|||
|
||||
if (hDlgCtrl != NULL)
|
||||
{
|
||||
/* Enable the 'Mute' checkbox, if we are in play mode */
|
||||
if (Mixer->MixerId == PLAY_MIXER)
|
||||
EnableWindow(hDlgCtrl, TRUE);
|
||||
|
||||
/* check state */
|
||||
if (SendMessageW(hDlgCtrl, BM_GETCHECK, 0, 0) != Details.fValue)
|
||||
{
|
||||
|
|
|
@ -1328,7 +1328,7 @@ HandleCommandLine(LPTSTR cmdline,
|
|||
{
|
||||
TCHAR option;
|
||||
|
||||
*pMixerId = 0;
|
||||
*pMixerId = PLAY_MIXER;
|
||||
*pMode = (dwStyle & 0x20) ? SMALL_MODE : NORMAL_MODE;
|
||||
|
||||
while (*cmdline == _T(' ') || *cmdline == _T('-') || *cmdline == _T('/'))
|
||||
|
@ -1348,6 +1348,11 @@ HandleCommandLine(LPTSTR cmdline,
|
|||
case 'D':
|
||||
break;
|
||||
|
||||
case 'n': /* Small size */
|
||||
case 'N':
|
||||
*pMode = NORMAL_MODE;
|
||||
break;
|
||||
|
||||
case 's': /* Small size */
|
||||
case 'S':
|
||||
*pMode = SMALL_MODE;
|
||||
|
@ -1360,12 +1365,12 @@ HandleCommandLine(LPTSTR cmdline,
|
|||
|
||||
case 'p': /* Play mode */
|
||||
case 'P':
|
||||
*pMixerId = 0;
|
||||
*pMixerId = PLAY_MIXER;
|
||||
break;
|
||||
|
||||
case 'r': /* Record mode */
|
||||
case 'R':
|
||||
*pMixerId = 1;
|
||||
*pMixerId = RECORD_MIXER;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -25,6 +25,9 @@
|
|||
#define BALANCE_TICKS 1
|
||||
#define BALANCE_PAGE_SIZE 12
|
||||
|
||||
#define PLAY_MIXER 0
|
||||
#define RECORD_MIXER 1
|
||||
|
||||
typedef enum _WINDOW_MODE
|
||||
{
|
||||
NORMAL_MODE,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue