VirtualBox

Changeset 43461 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Sep 28, 2012 10:04:49 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
80993
Message:

FE/Qt: VM group feature: Group item tool-tip functionality (including plural form handling for English and Russian).

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_en.ts

    r43147 r43461  
    8383    </message>
    8484</context>
     85<context>
     86    <name>UIGChooserItemGroup</name>
     87    <message numerus="yes">
     88        <source>%n group(s)</source>
     89        <comment>Group item tool-tip / Group info</comment>
     90        <translation>
     91            <numerusform>%n group</numerusform>
     92            <numerusform>%n groups</numerusform>
     93        </translation>
     94    </message>
     95    <message numerus="yes">
     96        <source>%n machine(s)</source>
     97        <comment>Group item tool-tip / Machine info</comment>
     98        <translation>
     99            <numerusform>%n machine</numerusform>
     100            <numerusform>%n machines</numerusform>
     101        </translation>
     102    </message>
     103</context>
    85104</TS>
  • trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts

    r43447 r43461  
    23422342</context>
    23432343<context>
     2344    <name>UIGChooserItemGroup</name>
     2345    <message>
     2346        <source>&lt;b&gt;%1&lt;/b&gt;</source>
     2347        <comment>Group item tool-tip / Group name</comment>
     2348        <translation>&lt;b&gt;%1&lt;/b&gt;</translation>
     2349    </message>
     2350    <message numerus="yes">
     2351        <source>%n group(s)</source>
     2352        <comment>Group item tool-tip / Group info</comment>
     2353        <translation>
     2354            <numerusform>%n группа</numerusform>
     2355            <numerusform>%n группы</numerusform>
     2356            <numerusform>%n групп</numerusform>
     2357        </translation>
     2358    </message>
     2359    <message>
     2360        <source>&lt;nobr&gt;%1&lt;/nobr&gt;</source>
     2361        <comment>Group item tool-tip / Group info wrapper</comment>
     2362        <translation>&lt;nobr&gt;%1&lt;/nobr&gt;</translation>
     2363    </message>
     2364    <message numerus="yes">
     2365        <source>%n machine(s)</source>
     2366        <comment>Group item tool-tip / Machine info</comment>
     2367        <translation>
     2368            <numerusform>%n машина</numerusform>
     2369            <numerusform>%n машины</numerusform>
     2370            <numerusform>%n машин</numerusform>
     2371        </translation>
     2372    </message>
     2373    <message numerus="yes">
     2374        <source>(%n running)</source>
     2375        <comment>Group item tool-tip / Running machine info</comment>
     2376        <translation>
     2377            <numerusform>(%n запущена)</numerusform>
     2378            <numerusform>(%n запущены)</numerusform>
     2379            <numerusform>(%n запущено)</numerusform>
     2380        </translation>
     2381    </message>
     2382    <message>
     2383        <source>&lt;nobr&gt;%1&lt;/nobr&gt;</source>
     2384        <comment>Group item tool-tip / Machine info wrapper</comment>
     2385        <translation>&lt;nobr&gt;%1&lt;/nobr&gt;</translation>
     2386    </message>
     2387    <message>
     2388        <source>&lt;nobr&gt;%1 %2&lt;/nobr&gt;</source>
     2389        <comment>Group item tool-tip / Machine info wrapper, including running</comment>
     2390        <translation>&lt;nobr&gt;%1 %2&lt;/nobr&gt;</translation>
     2391    </message>
     2392</context>
     2393<context>
    23442394    <name>UIGChooserModel</name>
    23452395    <message>
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp

    r43447 r43461  
    239239            return true;
    240240    return false;
     241}
     242
     243void UIGChooserItemGroup::updateToolTip()
     244{
     245    /* Prepare variables: */
     246    QStringList toolTipInfo;
     247
     248    /* Should we add name? */
     249    if (!name().isEmpty())
     250    {
     251        /* Template: */
     252        QString strTemplateForName = tr("<b>%1</b>", "Group item tool-tip / Group name");
     253
     254        /* Append value: */
     255        toolTipInfo << strTemplateForName.arg(name());
     256    }
     257
     258    /* Should we add group info? */
     259    if (!items(UIGChooserItemType_Group).isEmpty())
     260    {
     261        /* Template: */
     262        QString strGroupCount = tr("%n group(s)", "Group item tool-tip / Group info", items(UIGChooserItemType_Group).size());
     263
     264        /* Append value: */
     265        QString strValue = tr("<nobr>%1</nobr>", "Group item tool-tip / Group info wrapper").arg(strGroupCount);
     266        toolTipInfo << strValue;
     267    }
     268
     269    /* Should we add machine info? */
     270    if (!items(UIGChooserItemType_Machine).isEmpty())
     271    {
     272        /* Check if 'this' group contains started VMs: */
     273        int iCountOfStartedMachineItems = 0;
     274        foreach (UIGChooserItem *pItem, items(UIGChooserItemType_Machine))
     275            if (UIVMItem::isItemStarted(pItem->toMachineItem()))
     276                ++iCountOfStartedMachineItems;
     277        /* Template: */
     278        QString strMachineCount = tr("%n machine(s)", "Group item tool-tip / Machine info", items(UIGChooserItemType_Machine).size());
     279        QString strStartedMachineCount = tr("(%n running)", "Group item tool-tip / Running machine info", iCountOfStartedMachineItems);
     280
     281        /* Append value: */
     282        QString strValue = !iCountOfStartedMachineItems ?
     283                           tr("<nobr>%1</nobr>", "Group item tool-tip / Machine info wrapper").arg(strMachineCount) :
     284                           tr("<nobr>%1 %2</nobr>", "Group item tool-tip / Machine info wrapper, including running").arg(strMachineCount).arg(strStartedMachineCount);
     285        toolTipInfo << strValue;
     286    }
     287
     288    /* Set tool-tip: */
     289    setToolTip(toolTipInfo.join("<br>"));
    241290}
    242291
     
    500549void UIGChooserItemGroup::retranslateUi()
    501550{
     551    updateToolTip();
    502552}
    503553
     
    568618        }
    569619    }
     620
     621    updateToolTip();
    570622}
    571623
     
    595647        }
    596648    }
     649
     650    updateToolTip();
    597651}
    598652
     
    606660        default: AssertMsgFailed(("Invalid item type!")); break;
    607661    }
     662
     663    updateToolTip();
    608664}
    609665
     
    657713        }
    658714    }
     715
     716    updateToolTip();
    659717}
    660718
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h

    r43447 r43461  
    7777    bool contains(const QString &strId, bool fRecursively = false) const;
    7878    bool isContainsLockedMachine();
     79
     80    /* API: Update stuff: */
     81    void updateToolTip();
    7982
    8083private slots:
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp

    r43447 r43461  
    16941694            if (pMachineItem->id() == strId)
    16951695            {
     1696                /* Update machine item: */
    16961697                pMachineItem->recache();
    16971698                pMachineItem->updateToolTip();
    16981699                pMachineItem->update();
     1700                /* Update parent group item: */
     1701                UIGChooserItemGroup *pParentGroupItem = pMachineItem->parentItem()->toGroupItem();
     1702                pParentGroupItem->updateToolTip();
     1703                pParentGroupItem->update();
    16991704            }
    17001705}
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