VirtualBox

Ignore:
Timestamp:
Apr 15, 2021 12:56:11 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143818
Message:

FE/Qt: bugref:8161: A bit of rework for Tools pane; Saving last chosen global and machine items instantly on change to avoid doing that on app shutdown.

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

Legend:

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

    r88508 r88540  
    7474void UIToolsModel::init()
    7575{
    76     /* Load last selected item: */
    77     loadLastSelectedItems();
     76    /* Load settings: */
     77    loadSettings();
    7878
    7979    /* Update linked values: */
     
    218218            default: break;
    219219        }
     220
     221        /* Save selected items data: */
     222        const QList<UIToolType> set = QList<UIToolType>() << m_pLastItemGlobal->itemType() << m_pLastItemMachine->itemType();
     223        LogRel2(("GUI: UIToolsModel: Saving tool items as: Global=%d, Machine=%d\n",
     224                 (int)m_pLastItemGlobal->itemType(), (int)m_pLastItemMachine->itemType()));
     225        gEDataManager->setToolsPaneLastItemsChosen(set);
    220226    }
    221227    /* Otherwise reset current item: */
     
    556562}
    557563
    558 void UIToolsModel::loadLastSelectedItems()
     564void UIToolsModel::loadSettings()
    559565{
    560566    /* Load selected items data: */
    561567    const QList<UIToolType> data = gEDataManager->toolsPaneLastItemsChosen();
    562 
    563     /* First of them is current global class item definition: */
    564568    UIToolType enmTypeGlobal = data.value(0);
    565569    if (!UIToolStuff::isTypeOfClass(enmTypeGlobal, UIToolClass_Global))
    566570        enmTypeGlobal = UIToolType_Welcome;
     571    UIToolType enmTypeMachine = data.value(1);
     572    if (!UIToolStuff::isTypeOfClass(enmTypeMachine, UIToolClass_Machine))
     573        enmTypeMachine = UIToolType_Details;
     574    LogRel2(("GUI: UIToolsModel: Restoring tool items as: Global=%d, Machine=%d\n",
     575             (int)enmTypeGlobal, (int)enmTypeMachine));
     576
     577    /* First of them is current global class item definition: */
    567578    foreach (UIToolsItem *pItem, items())
    568579        if (pItem->itemType() == enmTypeGlobal)
     
    572583
    573584    /* Second of them is current machine class item definition: */
    574     UIToolType enmTypeMachine = data.value(1);
    575     if (!UIToolStuff::isTypeOfClass(enmTypeMachine, UIToolClass_Machine))
    576         enmTypeMachine = UIToolType_Details;
    577585    foreach (UIToolsItem *pItem, items())
    578586        if (pItem->itemType() == enmTypeMachine)
     
    582590}
    583591
    584 void UIToolsModel::saveLastSelectedItems()
    585 {
    586     /* Prepare selected items data: */
    587     const QList<UIToolType> set = QList<UIToolType>() << m_pLastItemGlobal->itemType() << m_pLastItemMachine->itemType();
    588 
    589     /* Save selected items data: */
    590     gEDataManager->setToolsPaneLastItemsChosen(set);
    591 }
    592 
    593592void UIToolsModel::cleanupConnections()
    594593{
     
    623622void UIToolsModel::cleanup()
    624623{
    625     /* Save last selected item: */
    626     saveLastSelectedItems();
    627624    /* Cleanup connections: */
    628625    cleanupConnections();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.h

    r88508 r88540  
    223223        /** Prepares connections. */
    224224        void prepareConnections();
    225         /** Loads last selected items. */
    226         void loadLastSelectedItems();
    227 
    228         /** Saves last selected items. */
    229         void saveLastSelectedItems();
     225        /** Loads settings. */
     226        void loadSettings();
     227
    230228        /** Cleanups connections. */
    231229        void cleanupConnections();
Note: See TracChangeset for help on using the changeset viewer.

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