VirtualBox

Changeset 51548 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 5, 2014 10:02:39 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
94195
Message:

FE/Qt: 6660: Advanced extra-data management framework: Integrate GUI_GroupDefinitions.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r51541 r51548  
    427427}
    428428
     429void UIExtraDataManager::clearSelectorWindowGroupsDefinitions()
     430{
     431    /* Read-only access global extra-data map: */
     432    const ExtraDataMap &data = m_data[m_sstrGlobalID];
     433    /* Wipe-out each the group definition record: */
     434    foreach (const QString &strKey, data.keys())
     435        if (strKey.startsWith(GUI_GroupDefinitions))
     436            setExtraDataString(strKey, QString());
     437}
     438
     439QStringList UIExtraDataManager::selectorWindowGroupsDefinitions(const QString &strGroupID) const
     440{
     441    return extraDataStringList(GUI_GroupDefinitions + strGroupID);
     442}
     443
     444void UIExtraDataManager::setSelectorWindowGroupsDefinitions(const QString &strGroupID, const QStringList &definitions)
     445{
     446    setExtraDataStringList(GUI_GroupDefinitions + strGroupID, definitions);
     447}
     448
    429449QString UIExtraDataManager::selectorWindowLastItemChosen() const
    430450{
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h

    r51541 r51548  
    152152    void setSelectorWindowStatusBarVisible(bool fVisible);
    153153
     154    /** Clears all the existing selector-window chooser-pane' group definitions. */
     155    void clearSelectorWindowGroupsDefinitions();
     156    /** Returns selector-window chooser-pane' groups definitions for passed @a strGroupID. */
     157    QStringList selectorWindowGroupsDefinitions(const QString &strGroupID) const;
     158    /** Defines selector-window chooser-pane' groups definitions for passed @a strGroupID as @a definitions. */
     159    void setSelectorWindowGroupsDefinitions(const QString &strGroupID, const QStringList &definitions);
     160
    154161    /** Returns last item chosen in selector-window chooser-pane. */
    155162    QString selectorWindowLastItemChosen() const;
    156     /** Returns last item chosen in selector-window chooser-pane as @a strItemID. */
     163    /** Defines last item chosen in selector-window chooser-pane as @a strItemID. */
    157164    void setSelectorWindowLastItemChosen(const QString &strItemID);
    158165
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp

    r51541 r51548  
    17041704bool UIGChooserModel::shouldBeGroupOpened(UIGChooserItem *pParentItem, const QString &strName)
    17051705{
    1706     /* Prepare extra-data key for the parent-item: */
    1707     QString strExtraDataKey = GUI_GroupDefinitions + pParentItem->fullName();
    17081706    /* Read group definitions: */
    1709     QStringList definitions = vboxGlobal().virtualBox().GetExtraDataStringList(strExtraDataKey);
     1707    const QStringList definitions = gEDataManager->selectorWindowGroupsDefinitions(pParentItem->fullName());
    17101708    /* Return 'false' if no definitions found: */
    17111709    if (definitions.isEmpty())
     
    17161714    QRegExp definitionRegExp(strDefinitionTemplate);
    17171715    /* For each the group definition: */
    1718     for (int i = 0; i < definitions.size(); ++i)
    1719     {
    1720         /* Get current definition: */
    1721         const QString &strDefinition = definitions[i];
     1716    foreach (const QString &strDefinition, definitions)
     1717    {
    17221718        /* Check if this is required definition: */
    17231719        if (definitionRegExp.indexIn(strDefinition) == 0)
     
    17751771int UIGChooserModel::positionFromDefinitions(UIGChooserItem *pParentItem, UIGChooserItemType type, const QString &strName)
    17761772{
    1777     /* Prepare extra-data key for the parent-item: */
    1778     QString strExtraDataKey = GUI_GroupDefinitions + pParentItem->fullName();
    17791773    /* Read group definitions: */
    1780     QStringList definitions = vboxGlobal().virtualBox().GetExtraDataStringList(strExtraDataKey);
     1774    const QStringList definitions = gEDataManager->selectorWindowGroupsDefinitions(pParentItem->fullName());
    17811775    /* Return 'false' if no definitions found: */
    17821776    if (definitions.isEmpty())
     
    18031797    /* For each the definition: */
    18041798    int iDefinitionIndex = -1;
    1805     for (int i = 0; i < definitions.size(); ++i)
    1806     {
    1807         /* Get current definition: */
    1808         QString strDefinition = definitions[i];
     1799    foreach (const QString &strDefinition, definitions)
     1800    {
    18091801        /* Check if this definition is of required type: */
    18101802        if (definitionRegExpShort.indexIn(strDefinition) == 0)
     
    18841876{
    18851877    /* Prepare extra-data key for current group: */
    1886     QString strExtraDataKey = GUI_GroupDefinitions + pParentItem->fullName();
     1878    const QString strExtraDataKey = pParentItem->fullName();
    18871879    /* Iterate over all the group-items: */
    18881880    foreach (UIGChooserItem *pItem, pParentItem->items(UIGChooserItemType_Group))
     
    20912083    COMBase::InitializeCOM(false);
    20922084
    2093     /* Clear all the extra-data records related to group-definitions: */
    2094     const QVector<QString> extraDataKeys = vboxGlobal().virtualBox().GetExtraDataKeys();
    2095     foreach (const QString &strKey, extraDataKeys)
    2096         if (strKey.startsWith(GUI_GroupDefinitions))
    2097             vboxGlobal().virtualBox().SetExtraData(strKey, QString());
    2098 
     2085    /* Clear all the extra-data records related to group definitions: */
     2086    gEDataManager->clearSelectorWindowGroupsDefinitions();
    20992087    /* For every particular group definition: */
    21002088    foreach (const QString &strId, m_groups.keys())
    2101         vboxGlobal().virtualBox().SetExtraDataStringList(strId, m_groups[strId]);
     2089        gEDataManager->setSelectorWindowGroupsDefinitions(strId, m_groups[strId]);
    21022090
    21032091    /* Notify listeners about completeness: */
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