VirtualBox

Changeset 53079 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Oct 16, 2014 2:49:09 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
96591
Message:

FE/Qt: Runtime UI rework/cleanup for 7115 (part #24): Using cached wrappers in keyboard/mouse handlers.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/runtime
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp

    r52730 r53079  
    297297void UIKeyboardHandler::releaseAllPressedKeys(bool aReleaseHostKey /* = true */)
    298298{
    299     CKeyboard keyboard = session().GetConsole().GetKeyboard();
    300299    bool fSentRESEND = false;
    301300
     
    311310            if (!fSentRESEND)
    312311            {
    313                 keyboard.PutScancode (0xFE);
     312                keyboard().PutScancode(0xFE);
    314313                fSentRESEND = true;
    315314            }
    316             keyboard.PutScancode(i | 0x80);
     315            keyboard().PutScancode(i | 0x80);
    317316        }
    318317        else if (m_pressedKeys[i] & IsExtKeyPressed)
     
    320319            if (!fSentRESEND)
    321320            {
    322                 keyboard.PutScancode(0xFE);
     321                keyboard().PutScancode(0xFE);
    323322                fSentRESEND = true;
    324323            }
     
    326325            codes[0] = 0xE0;
    327326            codes[1] = i | 0x80;
    328             keyboard.PutScancodes(codes);
     327            keyboard().PutScancodes(codes);
    329328        }
    330329        m_pressedKeys[i] = 0;
     
    869868}
    870869
    871 /* Main Session getter: */
    872 CSession& UIKeyboardHandler::session() const
    873 {
    874     return uisession()->session();
     870CKeyboard& UIKeyboardHandler::keyboard() const
     871{
     872    return uisession()->keyboard();
    875873}
    876874
     
    10221020                            combo[3] = 0xd7 + (pKeyEvent->key() - Qt::Key_F11); /* F11-F12 up   */
    10231021                        }
    1024                         CKeyboard keyboard = session().GetConsole().GetKeyboard();
    1025                         keyboard.PutScancodes(combo);
     1022                        keyboard().PutScancodes(combo);
    10261023                    }
    10271024                    /* Process hot keys not processed in keyEvent() (as in case of non-alphanumeric keys): */
     
    15641561    if (!uisession()->isPaused())
    15651562    {
    1566         /* Get the VM keyboard: */
    1567         CKeyboard keyboard = session().GetConsole().GetKeyboard();
    1568         Assert(!keyboard.isNull());
    1569 
    15701563        /* If there are scan-codes to send: */
    15711564        if (uCodesCount)
     
    15731566            /* Send prepared scan-codes to the guest: */
    15741567            std::vector<LONG> scancodes(pCodes, &pCodes[uCodesCount]);
    1575             keyboard.PutScancodes(QVector<LONG>::fromStdVector(scancodes));
     1568            keyboard().PutScancodes(QVector<LONG>::fromStdVector(scancodes));
    15761569        }
    15771570
     
    15791572        if (isHostComboStateChanged && m_bIsHostComboPressed)
    15801573        {
    1581             keyEventReleaseHostComboKeys(keyboard);
     1574            keyEventReleaseHostComboKeys(keyboard());
    15821575        }
    15831576    }
     
    17301723{
    17311724    QVector <LONG> codes(2);
    1732     CKeyboard keyboard = session().GetConsole().GetKeyboard();
    17331725    for (uint i = 0; i < SIZEOF_ARRAY(m_pressedKeys); ++ i)
    17341726    {
     
    17401732            if (!(ns & IsKeyPressed))
    17411733                codes[0] |= 0x80;
    1742             keyboard.PutScancode(codes[0]);
     1734            keyboard().PutScancode(codes[0]);
    17431735        }
    17441736        else if ((os & IsExtKeyPressed) != (ns & IsExtKeyPressed))
     
    17481740            if (!(ns & IsExtKeyPressed))
    17491741                codes[1] |= 0x80;
    1750             keyboard.PutScancodes(codes);
     1742            keyboard().PutScancodes(codes);
    17511743        }
    17521744    }
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h

    r52925 r53079  
    3535/* Forward declarations: */
    3636class QWidget;
    37 class CSession;
    3837class UISession;
    3938class UIActionPool;
     
    4544typedef union  _XEvent XEvent;
    4645#endif /* Q_WS_X11 */
     46class CKeyboard;
    4747
    4848/* Delegate to control VM keyboard functionality: */
     
    117117    UIActionPool* actionPool() const;
    118118    UISession* uisession() const;
    119     CSession& session() const;
     119
     120    /** Returns the console's keyboard reference. */
     121    CKeyboard& keyboard() const;
    120122
    121123    /* Event handler for registered machine-view(s): */
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp

    r52978 r53079  
    206206
    207207        /* Switch guest mouse to the relative mode: */
    208         CMouse mouse = session().GetConsole().GetMouse();
    209         mouse.PutMouseEvent(0, 0, 0, 0, 0);
     208        mouse().PutMouseEvent(0, 0, 0, 0, 0);
    210209
    211210        /* Notify all the listeners: */
     
    338337        releaseMouse();
    339338        /* Also we should switch guest mouse to the absolute mode: */
    340         CMouse mouse = session().GetConsole().GetMouse();
    341         mouse.PutMouseEventAbsolute(-1, -1, 0, 0, 0);
     339        mouse().PutMouseEventAbsolute(-1, -1, 0, 0, 0);
    342340    }
    343341#if 0 /* current team's decision is NOT to capture mouse on mouse-absolute mode loosing! */
     
    368366    {
    369367        /* Switch guest mouse to the relative mode: */
    370         CMouse mouse = session().GetConsole().GetMouse();
    371         mouse.PutMouseEvent(0, 0, 0, 0, 0);
     368        mouse().PutMouseEvent(0, 0, 0, 0, 0);
    372369    }
    373370#endif
     
    488485}
    489486
    490 /* Main Session getter: */
    491 CSession& UIMouseHandler::session() const
    492 {
    493     return uisession()->session();
     487CDisplay& UIMouseHandler::display() const
     488{
     489    return uisession()->display();
     490}
     491
     492CMouse& UIMouseHandler::mouse() const
     493{
     494    return uisession()->mouse();
    494495}
    495496
     
    842843        ::UpdateWindow(m_viewports[uScreenId]->winId());
    843844#endif
    844         CMouse mouse = session().GetConsole().GetMouse();
    845         mouse.PutMouseEvent(globalPos.x() - m_lastMousePos.x(),
    846                             globalPos.y() - m_lastMousePos.y(),
    847                             iWheelVertical, iWheelHorizontal, iMouseButtonsState);
     845        mouse().PutMouseEvent(globalPos.x() - m_lastMousePos.x(),
     846                              globalPos.y() - m_lastMousePos.y(),
     847                              iWheelVertical, iWheelHorizontal, iMouseButtonsState);
    848848
    849849#ifdef Q_WS_WIN
     
    963963            ULONG dummy;
    964964            KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled;
    965             session().GetConsole().GetDisplay().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift, monitorStatus);
     965            display().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift, monitorStatus);
    966966            /* Set shifting: */
    967967            cpnt.setX(cpnt.x() + xShift);
     
    969969
    970970            /* Post absolute mouse-event into guest: */
    971             CMouse mouse = session().GetConsole().GetMouse();
    972             mouse.PutMouseEventAbsolute(cpnt.x() + 1, cpnt.y() + 1, iWheelVertical, iWheelHorizontal, iMouseButtonsState);
     971            mouse().PutMouseEventAbsolute(cpnt.x() + 1, cpnt.y() + 1, iWheelVertical, iWheelHorizontal, iMouseButtonsState);
    973972            return true;
    974973        }
     
    10211020        return true;
    10221021
    1023     /* Get mouse: */
    1024     CMouse mouse = session().GetConsole().GetMouse();
    1025 
    10261022    QVector<LONG64> contacts(pTouchEvent->touchPoints().size());
    10271023
     
    10291025    ULONG dummy;
    10301026    KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled;
    1031     session().GetConsole().GetDisplay().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift, monitorStatus);
     1027    display().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift, monitorStatus);
    10321028
    10331029    /* Pass all multi-touch events into guest: */
     
    10651061    }
    10661062
    1067     mouse.PutEventMultiTouch(pTouchEvent->touchPoints().size(),
    1068                              contacts,
    1069                              (ULONG)RTTimeMilliTS());
     1063    mouse().PutEventMultiTouch(pTouchEvent->touchPoints().size(),
     1064                               contacts,
     1065                               (ULONG)RTTimeMilliTS());
    10701066
    10711067    /* Eat by default? */
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.h

    r52727 r53079  
    3838typedef union  _XEvent XEvent;
    3939#endif /* Q_WS_X11 */
    40 class CSession;
     40class CDisplay;
     41class CMouse;
    4142
    4243/* Delegate to control VM mouse functionality: */
     
    9798    UIMachineLogic* machineLogic() const;
    9899    UISession* uisession() const;
    99     CSession& session() const;
     100
     101    /** Returns the console's display reference. */
     102    CDisplay& display() const;
     103    /** Returns the console's mouse reference. */
     104    CMouse& mouse() const;
    100105
    101106    /* Event handler for registered machine-view(s): */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette