void TffdshowPageDec::onApplyChanges(void) { deciD->saveKeysSettings(); deciD->saveRemoteSettings(); if (localPresets) { deciD->setPresets(localPresets); deciD->savePresets(); const wchar_t *src = cbxGetCurText(IDC_CBX_PRESETS); if (src) { ff_strncpy(oldActivePresetName, src, countof(oldActivePresetName)); } } }
INT_PTR TdlgMiscPage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CHB_DLG_SHOWHINTS: parent->enableHints(!!getCheck(IDC_CHB_DLG_SHOWHINTS)); return TRUE; case IDC_CBX_LANG: if (HIWORD(wParam) == CBN_SELCHANGE) { const char_t *newlang = cbxGetCurText(IDC_CBX_LANG); if (newlang[0]) { int langint = (int)cbxGetCurItemData(IDC_CBX_LANG); if (langint == 20554/*JP*/ || langint == 16714/*JA*/) #ifdef UNICODE langint = 16714; // JA Unicode #else langint = 20554; // JP ANSI #endif Twindow::cfgSet(IDFF_lang, text<char_t>((const char*)&langint)); parent->translate(); } return TRUE; } break; case IDC_BT_PATH_DSCALER: if (HIWORD(wParam) == BN_CLICKED) { if (changeDir(IDFF_dscalerPath, _(-IDD_DLGMISC, _l("Select directory with installed DScaler")))) { paths2dlg(); } return TRUE; } break; case IDC_BT_PATH_FFDSHOW: if (HIWORD(wParam) == BN_CLICKED) { if (changeDir(IDFF_installPath, _(-IDD_DLGMISC, _l("Select ffdshow instalation directory")))) { paths2dlg(); } return TRUE; } break; } break; } return TconfPageBase::msgProc(uMsg, wParam, lParam); }
void TdeinterlacePage::getTip(char_t *tipS, size_t len) { tsnprintf_s(tipS, len, _TRUNCATE, _l("Method: %s"), cbxGetItemCount(IDC_CBX_DEINT_METHOD) ? cbxGetCurText(IDC_CBX_DEINT_METHOD) : _l("DScaler")); }
INT_PTR Twindow::msgProc(UINT uMsg,WPARAM wParam,LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: resizeDialog(); init(); //subClass(); break; case WM_DESTROY: { THWNDs wnds; getChildWindows(m_hwnd,wnds); for (THWNDs::const_iterator wnd=wnds.begin(); wnd!=wnds.end(); wnd++) { ::Twidget *item=Twidget::getDlgItem(*wnd); if (item) { item->restore(); delete item; } } ::Twidget *item=Twidget::getDlgItem(m_hwnd); if (item) { item->restore(); delete item; } if (red) { DeleteObject(red); } red=NULL; break; } case WM_HSCROLL: if (onTrack(bindsHtrack,lParam)) { return TRUE; } break; case WM_VSCROLL: if (onTrack(bindsVtrack,lParam)) { return TRUE; } break; case WM_COMMAND: { if (bindsCheckbox) for (int i=0; bindsCheckbox[i].idc; i++) if (bindsCheckbox[i].idc==LOWORD(wParam)) { if (bindsCheckbox[i].idff<0) { cfgSet(-bindsCheckbox[i].idff,!getCheck(LOWORD(wParam))); } else { cfgSet(bindsCheckbox[i].idff,getCheck(LOWORD(wParam))); } if (bindsCheckbox[i].onClick) { (this->*bindsCheckbox[i].onClick)(); } return TRUE; } if (bindsRadiobutton) for (int i=0; bindsRadiobutton[i].idc; i++) if (bindsRadiobutton[i].idc==LOWORD(wParam) && getCheck(LOWORD(bindsRadiobutton[i].idc))) { cfgSet(bindsRadiobutton[i].idff,bindsRadiobutton[i].val); if (bindsRadiobutton[i].onClick) { (this->*bindsRadiobutton[i].onClick)(); } return TRUE; } if (bindsButton) if (HIWORD(wParam)==BN_CLICKED) // works also for static for (int i=0; bindsButton[i].idc; i++) if (bindsButton[i].idc==LOWORD(wParam) && bindsButton[i].onClick) { (this->*bindsButton[i].onClick)(); return TRUE; } if (HIWORD(wParam)==EN_CHANGE && !isSetWindowText) { if (LOWORD(wParam)==IDC_ED_HELP && tr->translateMode) { onEditChange(); } if (bindsEditInt) for (int i=0; bindsEditInt[i].idc; i++) if (bindsEditInt[i].idc==LOWORD(wParam)) { HWND hed=GetDlgItem(m_hwnd,bindsEditInt[i].idc); if (hed!=GetFocus()) { return FALSE; } repaint(hed); eval(hed,bindsEditInt[i].min,bindsEditInt[i].max,bindsEditInt[i].idff); if (bindsEditInt[i].onClick) { (this->*bindsEditInt[i].onClick)(); } return TRUE; } if (bindsEditReal) for (int i=0; bindsEditReal[i].idc; i++) if (bindsEditReal[i].idc==LOWORD(wParam)) { HWND hed=GetDlgItem(m_hwnd,bindsEditReal[i].idc); if (hed!=GetFocus()) { return FALSE; } repaint(hed); eval(hed,bindsEditReal[i].min,bindsEditReal[i].max,bindsEditReal[i].idff,bindsEditReal[i].mult); if (bindsEditReal[i].onClick) { (this->*bindsEditReal[i].onClick)(); } return TRUE; } } else if (HIWORD(wParam)==CBN_SELCHANGE) { if (bindsCombobox) for (int i=0; bindsCombobox[i].idc; i++) if (bindsCombobox[i].idc==LOWORD(wParam)) { switch (bindsCombobox[i].mode) { case BINDCBX_DATA: cfgSet(bindsCombobox[i].idff,(int)cbxGetCurItemData(bindsCombobox[i].idc)); break; case BINDCBX_SEL: cfgSet(bindsCombobox[i].idff,cbxGetCurSel(bindsCombobox[i].idc)); break; case BINDCBX_TEXT: cfgSet(bindsCombobox[i].idff,cbxGetCurText(bindsCombobox[i].idc)); break; case BINDCBX_DATATEXT: cfgSet(bindsCombobox[i].idff,(const char_t*)cbxGetCurItemData(bindsCombobox[i].idc)); break; } if (bindsCombobox[i].onClick) { (this->*bindsCombobox[i].onClick)(); } return TRUE; } } break; } case WM_CTLCOLOREDIT: if (bindsEditInt) if (onCtlColorEdit(bindsEditInt,lParam,wParam)) { return INT_PTR(getRed()); } if (bindsEditReal) if (onCtlColorEdit(bindsEditReal,lParam,wParam)) { return INT_PTR(getRed()); } break; } return defMsgProc(uMsg,wParam,lParam); }