VirtualBox

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


Ignore:
Timestamp:
Mar 22, 2021 4:49:33 PM (4 years ago)
Author:
vboxsync
Message:

FE/Qt: VirtualBox Manager: Tools pane: Make sure disabled items doesn't get focus on keyboard/mouse interactions.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/manager/tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsHandlerKeyboard.cpp

    r82968 r88251  
    6565            {
    6666                if (pEvent->key() == Qt::Key_Up)
    67                     pPreviousItem = model()->navigationList().at(iPosition - 1);
     67                    for (int i = iPosition - 1; i >= 0; --i)
     68                    {
     69                        UIToolsItem *pIteratedItem = model()->navigationList().at(i);
     70                        if (pIteratedItem->isEnabled())
     71                        {
     72                            pPreviousItem = pIteratedItem;
     73                            break;
     74                        }
     75                    }
    6876                else if (pEvent->key() == Qt::Key_Home)
    6977                    pPreviousItem = model()->navigationList().first();
     
    9199            {
    92100                if (pEvent->key() == Qt::Key_Down)
    93                     pNextItem = model()->navigationList().at(iPosition + 1);
     101                    for (int i = iPosition + 1; i < model()->navigationList().size(); ++i)
     102                    {
     103                        UIToolsItem *pIteratedItem = model()->navigationList().at(i);
     104                        if (pIteratedItem->isEnabled())
     105                        {
     106                            pNextItem = pIteratedItem;
     107                            break;
     108                        }
     109                    }
    94110                else if (pEvent->key() == Qt::Key_End)
    95111                    pNextItem = model()->navigationList().last();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsHandlerMouse.cpp

    r82968 r88251  
    6363                UIToolsItem *pClickedItem = qgraphicsitem_cast<UIToolsItem*>(pItemUnderMouse);
    6464                /* Make clicked item the current one: */
    65                 if (pClickedItem)
     65                if (pClickedItem && pClickedItem->isEnabled())
    6666                {
    6767                    model()->setCurrentItem(pClickedItem);
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