示例#1
0
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";
    }
}
示例#2
0
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);
}
示例#3
0
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);
}