void UnifyLabelMannual::keyPressEvent(QKeyEvent* e)
{
    std::cerr<<e->text().toStdString()<<std::endl;
    switch(e->key())
    {
    case Qt::Key_W:
        frameLast();
        break;
    case Qt::Key_S:
        frameNext();
        break;
    case Qt::Key_A:
        movePatchLast();
        break;
    case Qt::Key_D:
        movePatchNext();
        break;
    case Qt::Key_Space:
        patchNext();
        break;
    case Qt::Key_Delete:
        patchDelete();
        break;
    default:
        showHelp();
    }
    QFrame::keyPressEvent(e);
}
Beispiel #2
0
int
meFrameDelete(meFrame *frame, int flags)
{
    /* use next frame to get a replacement frame if required, always try to get an
     * internal (sibling) replacement frame as if one exists then the window
     * must not be deleted */
    if((flags & 1) && (frame == frameCur))
        frameNext(true,1) ;
    if((frame == frameCur) ||
            (((flags & 1) == 0) && (frame->mainId == frameCur->mainId)))
    {
        if(flags & 2)
            frameNext(true,2) ;
        if(frame->mainId == frameCur->mainId)
        {
            /* no replacement could be found! */
            if((flags & 4) == 0)
                mlwrite(MWABORT|MWCLEXEC,(meUByte *)"[Last frame]") ;
            return meABORT ;
        }
    }

    if(frame->mainId != frameCur->mainId)
    {
        meFrame *nf ;
        meUByte mainId=frame->mainId ;

        frame = frameList ;
        while(frame != NULL)
        {
            nf = frame->next ;
            if(frame->mainId == mainId)
                meFrameFree(frame) ;
            frame = nf ;
        }
    }
    else
        meFrameFree(frame) ;

    return true ;
}