VirtualBox

Changeset 43553 in vbox


Ignore:
Timestamp:
Oct 5, 2012 11:02:18 AM (12 years ago)
Author:
vboxsync
Message:

FE/Qt: VM group feature UI: Keyboard-handler cleanup (part 1).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserHandlerKeyboard.cpp

    r43539 r43553  
    113113                    /* Make sure 'previous' item is visible: */
    114114                    pPreviousItem->makeSureItsVisible();
    115                     /* Move focus to 'previous' item: */
    116                     model()->setFocusItem(pPreviousItem);
    117115                    /* Calculate positions: */
    118116                    UIGChooserItem *pFirstItem = model()->currentItem();
    119117                    int iFirstPosition = model()->navigationList().indexOf(pFirstItem);
    120118                    int iPreviousPosition = model()->navigationList().indexOf(pPreviousItem);
    121                     /* Clear selection: */
    122                     model()->clearSelectionList();
    123                     /* Select all the items from 'first' to 'previous': */
     119                    /* Populate list of items from 'first' to 'previous': */
     120                    QList<UIGChooserItem*> items;
    124121                    if (iFirstPosition <= iPreviousPosition)
    125122                        for (int i = iFirstPosition; i <= iPreviousPosition; ++i)
    126                             model()->addToCurrentItems(model()->navigationList().at(i));
     123                            items << model()->navigationList().at(i);
    127124                    else
    128125                        for (int i = iFirstPosition; i >= iPreviousPosition; --i)
    129                             model()->addToCurrentItems(model()->navigationList().at(i));
    130                     /* Notify selection changed: */
    131                     model()->notifyCurrentItemChanged();
     126                            items << model()->navigationList().at(i);
     127                    /* Set that list as current: */
     128                    model()->setCurrentItems(items);
     129                    /* Move focus to 'previous' item: */
     130                    model()->setFocusItem(pPreviousItem);
    132131                    /* Filter-out this event: */
    133132                    return true;
     
    156155                    /* Make sure 'previous' item is visible: */
    157156                    pPreviousItem->makeSureItsVisible();
    158                     /* Move focus to 'previous' item: */
    159                     model()->setFocusItem(pPreviousItem);
    160                     /* Move selection to 'previous' item: */
    161                     model()->clearSelectionList();
    162                     model()->addToCurrentItems(pPreviousItem);
    163                     /* Notify selection changed: */
    164                     model()->notifyCurrentItemChanged();
     157                    /* Make 'previous' item the current one: */
     158                    model()->setCurrentItem(pPreviousItem);
    165159                    /* Filter-out this event: */
    166160                    return true;
     
    229223                    /* Make sure 'next' item is visible: */
    230224                    pNextItem->makeSureItsVisible();
    231                     /* Move focus to 'next' item: */
    232                     model()->setFocusItem(pNextItem);
    233225                    /* Calculate positions: */
    234226                    UIGChooserItem *pFirstItem = model()->currentItem();
    235227                    int iFirstPosition = model()->navigationList().indexOf(pFirstItem);
    236228                    int iNextPosition = model()->navigationList().indexOf(pNextItem);
    237                     /* Clear selection: */
    238                     model()->clearSelectionList();
    239                     /* Select all the items from 'first' to 'next': */
     229                    /* Populate list of items from 'first' to 'next': */
     230                    QList<UIGChooserItem*> items;
    240231                    if (iFirstPosition <= iNextPosition)
    241232                        for (int i = iFirstPosition; i <= iNextPosition; ++i)
    242                             model()->addToCurrentItems(model()->navigationList().at(i));
     233                            items << model()->navigationList().at(i);
    243234                    else
    244235                        for (int i = iFirstPosition; i >= iNextPosition; --i)
    245                             model()->addToCurrentItems(model()->navigationList().at(i));
    246                     /* Notify selection changed: */
    247                     model()->notifyCurrentItemChanged();
     236                            items << model()->navigationList().at(i);
     237                    /* Set that list as current: */
     238                    model()->setCurrentItems(items);
     239                    /* Move focus to 'next' item: */
     240                    model()->setFocusItem(pNextItem);
    248241                    /* Filter-out this event: */
    249242                    return true;
     
    272265                    /* Make sure 'next' item is visible: */
    273266                    pNextItem->makeSureItsVisible();
    274                     /* Move focus to 'next' item: */
    275                     model()->setFocusItem(pNextItem);
    276                     /* Move selection to 'next' item: */
    277                     model()->clearSelectionList();
    278                     model()->addToCurrentItems(pNextItem);
    279                     /* Notify selection changed: */
    280                     model()->notifyCurrentItemChanged();
     267                    /* Make 'next' item the current one: */
     268                    model()->setCurrentItem(pNextItem);
    281269                    /* Filter-out this event: */
    282270                    return true;
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