void LS3DatastoreXML::dbMove(int current) { LS3ElapsedAutoTimer timer("LS3DatastoreXML::dbMove("+QString::number(current)+")"); if (current<0) return; if (dbIsLoaded()) { int oldidx=mapper->currentIndex(); //qDebug()<<"dbMove("<<current<<") was="<<oldidx; //QDataWidgetMapper::SubmitPolicy policy=mapper->submitPolicy(); //qDebug()<<"2"; //mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit); //qDebug()<<"3"; //mapper->submit(); //qDebug()<<"4"; if (oldidx!=current) { //qDebug()<<"5"; disableMapping(); //qDebug()<<"5.1"; mapper->setCurrentIndex(current); //qDebug()<<"5.2"; enableMapping(); //qDebug()<<"6"; emit currentRecordChanged(current); //qDebug()<<"7"; } // mapper->setSubmitPolicy(policy); //qDebug()<<"8"; } }
void TconvolverPage::mapping2dlg(void) { int mapping=cfgGet(IDFF_convolverMappingMode); setCheck(IDC_CHB_CONVOLVER_MAPPING,mapping); static const int idAuto[]= {IDC_LBL_CONVOLVER_FILE,IDC_ED_CONVOLVER_FILE,IDC_BT_CONVOLVER_FILE,IDC_LBL_CONVOLVER_WAV_FORMAT2,0}; static const int idManual[]= {IDC_LV_CONVOLVER_FILES,IDC_BT_CONVOLVER_FILES_SET,IDC_BT_CONVOLVER_FILES_CLEAR,0}; enable(mapping==0,idAuto); enable(mapping!=0,idManual); enableMapping(mapping!=0 && lvGetSelItem(IDC_LV_CONVOLVER_FILES)!=-1); }
INT_PTR TconvolverPage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: cfgSet(IDFF_lvConvolverWidth0,ListView_GetColumnWidth(hlv,0)); cfgSet(IDFF_lvConvolverWidth1,ListView_GetColumnWidth(hlv,1)); cfgSet(IDFF_lvConvolverWidth2,ListView_GetColumnWidth(hlv,2)); cfgSet(IDFF_lvConvolverSelected,lvGetSelItem(IDC_LV_CONVOLVER_FILES)); break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_ED_CONVOLVER_FILE: if (HIWORD(wParam)==EN_CHANGE && !isSetWindowText) { char_t flnm[MAX_PATH]; GetDlgItemText(m_hwnd,IDC_ED_CONVOLVER_FILE,flnm,MAX_PATH); cfgSet(IDFF_convolverFile,flnm); format2dlg(flnm); } return TRUE; } break; case WM_NOTIFY: { NMHDR *nmhdr=LPNMHDR(lParam); if (nmhdr->hwndFrom==hlv && nmhdr->idFrom==IDC_LV_CONVOLVER_FILES) switch (nmhdr->code) { case LVN_ITEMCHANGED: { NMLISTVIEW *nmlv=LPNMLISTVIEW(lParam); enableMapping(nmlv->iItem!=-1); return TRUE; } case NM_DBLCLK: { NMITEMACTIVATE *nmia=(NMITEMACTIVATE*)lParam; if (nmia->iItem==-1 || nmia->iSubItem!=1) { return FALSE; } onManualFileSet(); return TRUE; } case LVN_GETDISPINFO: { NMLVDISPINFO *nmdi=(NMLVDISPINFO*)lParam; int i=nmdi->item.iItem; if (i==-1) { break; } if (nmdi->item.mask&LVIF_TEXT) switch (nmdi->item.iSubItem) { case 0: { static const int speakers[]= {SPEAKER_FRONT_LEFT,SPEAKER_FRONT_RIGHT,SPEAKER_FRONT_CENTER,SPEAKER_LOW_FREQUENCY,SPEAKER_BACK_LEFT,SPEAKER_BACK_RIGHT}; strcpy(nmdi->item.pszText,_(IDC_LV_CONVOLVER_FILES,TsampleFormat::getSpeakerName(speakers[i]))); break; } case 1: { int dx=ListView_GetColumnWidth(hlv,1); char_t flnm[MAX_PATH]; cfgGet(speakersIdffs[i],flnm,MAX_PATH); HDC dc=GetDC(hlv); HGDIOBJ old=SelectObject(dc,(HGDIOBJ)SendMessage(hlv,WM_GETFONT,0,0)); PathCompactPath(dc,flnm,std::max(20,dx-15)); SelectObject(dc,old); ReleaseDC(hlv,dc); strcpy(nmdi->item.pszText,flnm); break; } case 2: if (const char_t *flnm=cfgGetStr(speakersIdffs[i])) if (flnm[0] && !speakerFormats[i]) { speakerFormats[i]=getWavDesc(flnm,IDC_LV_CONVOLVER_FILES); } strcpy(nmdi->item.pszText,speakerFormats[i].c_str()); break; } return TRUE; } } break; } } return TconfPageDecAudio::msgProc(uMsg,wParam,lParam); }