mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 11:43:31 +00:00
msvfw32: Disable datarate, keyframe and quality controls to not
confuse users by a not implemented functionality. Add support for About codec control.
This commit is contained in:
parent
5de3d7df32
commit
f1e120ba7e
2 changed files with 56 additions and 8 deletions
|
@ -772,17 +772,34 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
|
|||
WCHAR buf[128];
|
||||
struct choose_compressor *choose_comp = (struct choose_compressor *)lparam;
|
||||
|
||||
SetWindowLongPtrW(hdlg, DWLP_USER, lparam);
|
||||
|
||||
/* FIXME */
|
||||
choose_comp->flags &= ~(ICMF_CHOOSE_DATARATE | ICMF_CHOOSE_KEYFRAME);
|
||||
|
||||
if (choose_comp->title)
|
||||
SetWindowTextA(hdlg, choose_comp->title);
|
||||
|
||||
if (!(choose_comp->flags & ICMF_CHOOSE_DATARATE))
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_DATARATE), FALSE);
|
||||
{
|
||||
ShowWindow(GetDlgItem(hdlg, IDC_DATARATE_CHECKBOX), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hdlg, IDC_DATARATE), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hdlg, IDC_DATARATE_KB), SW_HIDE);
|
||||
}
|
||||
|
||||
if (!(choose_comp->flags & ICMF_CHOOSE_KEYFRAME))
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_KEYFRAME), FALSE);
|
||||
{
|
||||
ShowWindow(GetDlgItem(hdlg, IDC_KEYFRAME_CHECKBOX), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hdlg, IDC_KEYFRAME), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hdlg, IDC_KEYFRAME_FRAMES), SW_HIDE);
|
||||
}
|
||||
|
||||
/* FIXME */
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_QUALITY_SCROLL), FALSE);
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_QUALITY_TXT), FALSE);
|
||||
|
||||
/*if (!(choose_comp->flags & ICMF_CHOOSE_PREVIEW))
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_PREVIEW), FALSE);*/
|
||||
ShowWindow(GetDlgItem(hdlg, IDC_PREVIEW), SW_HIDE);*/
|
||||
|
||||
LoadStringW(MSVFW32_hModule, IDS_FULLFRAMES, buf, 128);
|
||||
SendDlgItemMessageW(hdlg, IDC_COMP_LIST, CB_ADDSTRING, 0, (LPARAM)buf);
|
||||
|
@ -809,24 +826,41 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
|
|||
{
|
||||
INT cur_sel;
|
||||
struct codec_info *ic;
|
||||
BOOL enable = FALSE;
|
||||
BOOL can_configure = FALSE, can_about = FALSE;
|
||||
struct choose_compressor *choose_comp;
|
||||
|
||||
if (HIWORD(wparam) != CBN_SELCHANGE)
|
||||
if (HIWORD(wparam) != CBN_SELCHANGE && HIWORD(wparam) != CBN_SETFOCUS)
|
||||
break;
|
||||
|
||||
choose_comp = (struct choose_compressor *)GetWindowLongPtrW(hdlg, DWLP_USER);
|
||||
|
||||
cur_sel = SendMessageW((HWND)lparam, CB_GETCURSEL, 0, 0);
|
||||
|
||||
ic = (struct codec_info *)SendMessageW((HWND)lparam, CB_GETITEMDATA, cur_sel, 0);
|
||||
if (ic && ic->hic)
|
||||
{
|
||||
if (ICQueryConfigure(ic->hic) == DRVCNF_OK)
|
||||
enable = TRUE;
|
||||
can_configure = TRUE;
|
||||
if (ICQueryAbout(ic->hic) == DRVCNF_OK)
|
||||
can_about = TRUE;
|
||||
}
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_CONFIGURE), enable);
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_CONFIGURE), can_configure);
|
||||
EnableWindow(GetDlgItem(hdlg, IDC_ABOUT), can_about);
|
||||
|
||||
if (choose_comp->flags & ICMF_CHOOSE_DATARATE)
|
||||
{
|
||||
/* FIXME */
|
||||
}
|
||||
if (choose_comp->flags & ICMF_CHOOSE_KEYFRAME)
|
||||
{
|
||||
/* FIXME */
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case IDC_CONFIGURE:
|
||||
case IDC_ABOUT:
|
||||
{
|
||||
HWND list = GetDlgItem(hdlg, IDC_COMP_LIST);
|
||||
INT cur_sel;
|
||||
|
@ -839,7 +873,12 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
|
|||
|
||||
ic = (struct codec_info *)SendMessageW(list, CB_GETITEMDATA, cur_sel, 0);
|
||||
if (ic && ic->hic)
|
||||
ICConfigure(ic->hic, hdlg);
|
||||
{
|
||||
if (LOWORD(wparam) == IDC_CONFIGURE)
|
||||
ICConfigure(ic->hic, hdlg);
|
||||
else
|
||||
ICAbout(ic->hic, hdlg);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -58,7 +58,16 @@ extern LRESULT (CALLBACK *pFnCallTo16)(HDRVR, HIC, UINT, LPARAM, LPARAM);
|
|||
#define HIC_16(h32) (LOWORD(h32))
|
||||
|
||||
#define IDC_CONFIGURE 882
|
||||
#define IDC_ABOUT 883
|
||||
|
||||
#define IDC_QUALITY_SCROLL 884
|
||||
#define IDC_QUALITY_TXT 886
|
||||
|
||||
#define IDC_KEYFRAME_CHECKBOX 887
|
||||
#define IDC_KEYFRAME 888
|
||||
#define IDC_KEYFRAME_FRAMES 889
|
||||
#define IDC_DATARATE_CHECKBOX 894
|
||||
#define IDC_DATARATE 895
|
||||
#define IDC_DATARATE_KB 896
|
||||
|
||||
#endif /* __WINE_MSVIDEO_PRIVATE_H */
|
||||
|
|
Loading…
Reference in a new issue