VirtualBox

Changeset 14437 in vbox for trunk


Ignore:
Timestamp:
Nov 20, 2008 9:37:06 PM (16 years ago)
Author:
vboxsync
Message:

FE/Qt4: 2883: Structure OS list. Feature request implemented in base designed variant.

Location:
trunk/src/VBox
Files:
20 edited
3 moved

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox4/Makefile.kmk

    r14274 r14437  
    233233        include/QIDialog.h \
    234234        include/VBoxFilePathSelectorWidget.h \
     235        include/VBoxOSTypeSelectorWidget.h \
    235236        include/VBoxUtils.h \
    236237        include/VBoxGlobalSettings.h \
     
    308309        src/QIHelpButton.cpp \
    309310        src/VBoxFilePathSelectorWidget.cpp \
     311        src/VBoxOSTypeSelectorWidget.cpp \
    310312        src/VBoxDefs.cpp \
    311313        src/VBoxGlobalSettings.cpp \
  • trunk/src/VBox/Frontends/VirtualBox4/VirtualBox.qrc

    r14274 r14437  
    1818    <file alias="vm_start_disabled_32px.png">images/vm_start_disabled_32px.png</file>
    1919    <file alias="os_archlinux.png">images/os_archlinux.png</file>
     20    <file alias="os_archlinux_64.png">images/os_archlinux_64.png</file>
    2021    <file alias="os_debian.png">images/os_debian.png</file>
     22    <file alias="os_debian_64.png">images/os_debian_64.png</file>
    2123    <file alias="os_dos.png">images/os_dos.png</file>
    22     <file alias="os_ecs.png">images/os_ecs.png</file>
    23     <file alias="os_fedoracore.png">images/os_fedoracore.png</file>
     24    <file alias="os_fedora.png">images/os_fedora.png</file>
     25    <file alias="os_fedora_64.png">images/os_fedora_64.png</file>
    2426    <file alias="os_freebsd.png">images/os_freebsd.png</file>
     27    <file alias="os_freebsd_64.png">images/os_freebsd_64.png</file>
    2528    <file alias="os_gentoo.png">images/os_gentoo.png</file>
     29    <file alias="os_gentoo_64.png">images/os_gentoo_64.png</file>
    2630    <file alias="os_l4.png">images/os_l4.png</file>
     31    <file alias="os_linux_other.png">images/os_linux_other.png</file>
    2732    <file alias="os_linux22.png">images/os_linux22.png</file>
    2833    <file alias="os_linux24.png">images/os_linux24.png</file>
     34    <file alias="os_linux24_64.png">images/os_linux24_64.png</file>
    2935    <file alias="os_linux26.png">images/os_linux26.png</file>
     36    <file alias="os_linux26_64.png">images/os_linux26_64.png</file>
    3037    <file alias="os_mandriva.png">images/os_mandriva.png</file>
     38    <file alias="os_mandriva_64.png">images/os_mandriva_64.png</file>
    3139    <file alias="os_netbsd.png">images/os_netbsd.png</file>
     40    <file alias="os_netbsd_64.png">images/os_netbsd_64.png</file>
    3241    <file alias="os_netware.png">images/os_netware.png</file>
    3342    <file alias="os_openbsd.png">images/os_openbsd.png</file>
     43    <file alias="os_openbsd_64.png">images/os_openbsd_64.png</file>
    3444    <file alias="os_opensolaris.png">images/os_opensolaris.png</file>
     45    <file alias="os_opensolaris_64.png">images/os_opensolaris_64.png</file>
    3546    <file alias="os_opensuse.png">images/os_opensuse.png</file>
     47    <file alias="os_opensuse_64.png">images/os_opensuse_64.png</file>
     48    <file alias="os_os2_other.png">images/os_os2_other.png</file>
     49    <file alias="os_os2ecs.png">images/os_os2ecs.png</file>
    3650    <file alias="os_os2warp3.png">images/os_os2warp3.png</file>
    3751    <file alias="os_os2warp4.png">images/os_os2warp4.png</file>
    3852    <file alias="os_os2warp45.png">images/os_os2warp45.png</file>
     53    <file alias="os_other.png">images/os_other.png</file>
    3954    <file alias="os_redhat.png">images/os_redhat.png</file>
     55    <file alias="os_redhat_64.png">images/os_redhat_64.png</file>
    4056    <file alias="os_solaris.png">images/os_solaris.png</file>
     57    <file alias="os_solaris_64.png">images/os_solaris_64.png</file>
    4158    <file alias="os_ubuntu.png">images/os_ubuntu.png</file>
    42     <file alias="os_unknown.png">images/os_unknown.png</file>
     59    <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
     60    <file alias="os_win_other.png">images/os_win_other.png</file>
    4361    <file alias="os_win2k.png">images/os_win2k.png</file>
    4462    <file alias="os_win2k3.png">images/os_win2k3.png</file>
     63    <file alias="os_win2k3_64.png">images/os_win2k3_64.png</file>
    4564    <file alias="os_win2k8.png">images/os_win2k8.png</file>
     65    <file alias="os_win2k8_64.png">images/os_win2k8_64.png</file>
    4666    <file alias="os_win31.png">images/os_win31.png</file>
    4767    <file alias="os_win95.png">images/os_win95.png</file>
     
    5070    <file alias="os_winnt4.png">images/os_winnt4.png</file>
    5171    <file alias="os_winvista.png">images/os_winvista.png</file>
     72    <file alias="os_winvista_64.png">images/os_winvista_64.png</file>
    5273    <file alias="os_winxp.png">images/os_winxp.png</file>
     74    <file alias="os_winxp_64.png">images/os_winxp_64.png</file>
    5375    <file alias="os_xandros.png">images/os_xandros.png</file>
     76    <file alias="os_xandros_64.png">images/os_xandros_64.png</file>
    5477    <file alias="state_aborted_16px.png">images/state_aborted_16px.png</file>
    5578    <file alias="state_discarding_16px.png">images/state_discarding_16px.png</file>
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxGlobal.h

    r14372 r14437  
    474474    /* VBox enum to/from string/icon/color convertors */
    475475
    476     QStringList vmGuestOSTypeDescriptions() const;
    477     QList<QPixmap> vmGuestOSTypeIcons (int aHorizonalMargin, int aVerticalMargin) const;
    478     CGuestOSType vmGuestOSType (int aIndex) const;
    479     int vmGuestOSTypeIndex (const QString &aId) const;
    480     QPixmap vmGuestOSTypeIcon (const QString &aId) const;
    481     QString vmGuestOSTypeDescription (const QString &aId) const;
     476    QList <CGuestOSType> vmGuestOSFamilyList() const;
     477    QList <CGuestOSType> vmGuestOSTypeList (const QString &aFamilyId) const;
     478    QPixmap vmGuestOSTypeIcon (const QString &aTypeId) const;
     479    CGuestOSType vmGuestOSType (const QString &aTypeId,
     480                                const QString &aFamilyId = QString::null) const;
     481    QString vmGuestOSTypeDescription (const QString &aTypeId) const;
    482482
    483483    QPixmap toIcon (KMachineState s) const
     
    986986    QString verString;
    987987
    988     QVector <CGuestOSType> vm_os_types;
    989     QHash <QString, QPixmap *> vm_os_type_icons;
     988    QList <QString> mFamilyIDs;
     989    QList <QList <CGuestOSType> > mTypes;
     990    QHash <QString, QPixmap *> mOsTypeIcons;
    990991    QVector <QColor *> vm_state_color;
    991992
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxNewVMWzd.h

    r13580 r14437  
    4949
    5050    void accept();
    51     void showHardDiskManager();
    52     void showNewHardDiskWizard();
     51    void showMediaManager();
     52    void showNewHDWizard();
     53    void onOSTypeChanged();
    5354    void slRAMValueChanged (int aValue);
    5455    void leRAMTextChanged (const QString &aTtext);
    55     void cbOSActivated (int aItem);
    5656    void revalidate (QIWidgetValidator *aWval);
    5757    void enableNext (const QIWidgetValidator *aWval);
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxGlobal.cpp

    r14388 r14437  
    12671267VBoxGlobal::~VBoxGlobal()
    12681268{
    1269     qDeleteAll (vm_os_type_icons);
     1269    qDeleteAll (mOsTypeIcons);
    12701270    qDeleteAll (mStateIcons);
    12711271    qDeleteAll (vm_state_color);
     
    13551355
    13561356/**
    1357  *  Returns the list of all guest OS type descriptions, queried from
    1358  *  IVirtualBox.
    1359  */
    1360 QStringList VBoxGlobal::vmGuestOSTypeDescriptions() const
    1361 {
    1362     static QStringList list;
    1363     if (list.empty()) {
    1364         for (int i = 0; i < vm_os_types.count(); i++) {
    1365             list += vm_os_types [i].GetDescription();
    1366         }
    1367     }
    1368     return list;
    1369 }
    1370 
    1371 QList<QPixmap> VBoxGlobal::vmGuestOSTypeIcons (int aHorizonalMargin, int aVerticalMargin) const
    1372 {
    1373     static QList<QPixmap> list;
    1374     if (list.empty())
    1375     {
    1376         for (int i = 0; i < vm_os_types.count(); i++)
    1377         {
    1378             QPixmap image (32 + 2 * aHorizonalMargin, 32 + 2 * aVerticalMargin);
    1379             image.fill (Qt::transparent);
    1380             QPainter p (&image);
    1381             p.drawPixmap (aHorizonalMargin, aVerticalMargin, *vm_os_type_icons.value (vm_os_types [i].GetId()));
    1382             p.end();
    1383             list << image;
    1384         }
    1385     }
    1386     return list;
    1387 }
    1388 
    1389 /**
    1390  *  Returns the guest OS type object corresponding to the given index.
    1391  *  The index argument corresponds to the index in the list of OS type
    1392  *  descriptions as returnded by #vmGuestOSTypeDescriptions().
    1393  *
     1357 *  Returns the list of few guest OS types, queried from
     1358 *  IVirtualBox corresponding to every family id.
     1359 */
     1360QList <CGuestOSType> VBoxGlobal::vmGuestOSFamilyList() const
     1361{
     1362    QList <CGuestOSType> result;
     1363    for (int i = 0 ; i < mFamilyIDs.size(); ++ i)
     1364        result << mTypes [i][0];
     1365    return result;
     1366}
     1367
     1368/**
     1369 *  Returns the list of all guest OS types, queried from
     1370 *  IVirtualBox corresponding to passed family id.
     1371 */
     1372QList <CGuestOSType> VBoxGlobal::vmGuestOSTypeList (const QString &aFamilyId) const
     1373{
     1374    AssertMsg (mFamilyIDs.contains (aFamilyId), ("Family ID incorrect: '%s'.", aFamilyId.toLatin1().constData()));
     1375    return mFamilyIDs.contains (aFamilyId) ?
     1376           mTypes [mFamilyIDs.indexOf (aFamilyId)] : QList <CGuestOSType>();
     1377}
     1378
     1379/**
     1380 *  Returns the icon corresponding to the given guest OS type id.
     1381 */
     1382QPixmap VBoxGlobal::vmGuestOSTypeIcon (const QString &aTypeId) const
     1383{
     1384    static const QPixmap none;
     1385    QPixmap *p = mOsTypeIcons.value (aTypeId);
     1386    AssertMsg (p, ("Icon for type '%s' must be defined.", aTypeId.toLatin1().constData()));
     1387    return p ? *p : none;
     1388}
     1389
     1390/**
     1391 *  Returns the guest OS type object corresponding to the given type id of list
     1392 *  containing OS types related to OS family determined by family id attribute.
    13941393 *  If the index is invalid a null object is returned.
    13951394 */
    1396 CGuestOSType VBoxGlobal::vmGuestOSType (int aIndex) const
    1397 {
    1398     CGuestOSType type;
    1399     if (aIndex >= 0 && aIndex < (int) vm_os_types.count())
    1400         type = vm_os_types.value (aIndex);
    1401     AssertMsg (!type.isNull(), ("Index for OS type must be valid: %d", aIndex));
    1402     return type;
    1403 }
    1404 
    1405 /**
    1406  *  Returns the index corresponding to the given guest OS type ID.
    1407  *  The returned index corresponds to the index in the list of OS type
    1408  *  descriptions as returnded by #vmGuestOSTypeDescriptions().
    1409  *
    1410  *  If the guest OS type ID is invalid, -1 is returned.
    1411  */
    1412 int VBoxGlobal::vmGuestOSTypeIndex (const QString &aId) const
    1413 {
    1414     for (int i = 0; i < (int) vm_os_types.count(); i++) {
    1415         if (!vm_os_types [i].GetId().compare (aId))
    1416             return i;
    1417     }
    1418     return -1;
    1419 }
    1420 
    1421 /**
    1422  *  Returns the icon corresponding to the given guest OS type ID.
    1423  */
    1424 QPixmap VBoxGlobal::vmGuestOSTypeIcon (const QString &aId) const
    1425 {
    1426     static const QPixmap none;
    1427     QPixmap *p = vm_os_type_icons.value (aId);
    1428     AssertMsg (p, ("Icon for type `%s' must be defined", aId.toLatin1().constData()));
    1429     return p ? *p : none;
    1430 }
    1431 
    1432 /**
    1433  *  Returns the description corresponding to the given guest OS type ID.
    1434  */
    1435 QString VBoxGlobal::vmGuestOSTypeDescription (const QString &aId) const
    1436 {
    1437     for (int i = 0; i < (int) vm_os_types.count(); i++) {
    1438         if (!vm_os_types [i].GetId().compare (aId))
    1439             return vm_os_types [i].GetDescription();
     1395CGuestOSType VBoxGlobal::vmGuestOSType (const QString &aTypeId,
     1396             const QString &aFamilyId /* = QString::null */) const
     1397{
     1398    QList <CGuestOSType> list;
     1399    if (mFamilyIDs.contains (aFamilyId))
     1400    {
     1401        list = mTypes [mFamilyIDs.indexOf (aFamilyId)];
     1402    }
     1403    else
     1404    {
     1405        for (int i = 0; i < mFamilyIDs.size(); ++ i)
     1406            list += mTypes [i];
     1407    }
     1408    for (int j = 0; j < list.size(); ++ j)
     1409        if (!list [j].GetId().compare (aTypeId))
     1410            return list [j];
     1411    AssertMsgFailed (("Type ID incorrect: '%s'.", aTypeId.toLatin1().constData()));
     1412    return CGuestOSType();
     1413}
     1414
     1415/**
     1416 *  Returns the description corresponding to the given guest OS type id.
     1417 */
     1418QString VBoxGlobal::vmGuestOSTypeDescription (const QString &aTypeId) const
     1419{
     1420    for (int i = 0; i < mFamilyIDs.size(); ++ i)
     1421    {
     1422        QList <CGuestOSType> list (mTypes [i]);
     1423        for ( int j = 0; j < list.size(); ++ j)
     1424            if (!list [j].GetId().compare (aTypeId))
     1425                return list [j].GetDescription();
    14401426    }
    14411427    return QString::null;
     
    50745060    }
    50755061
    5076     /* initialize guest OS type vector */
     5062    /* Initialize guest OS Type list */
    50775063    CGuestOSTypeCollection coll = mVBox.GetGuestOSTypes();
    50785064    int osTypeCount = coll.GetCount();
     
    50805066    if (osTypeCount > 0)
    50815067    {
    5082         vm_os_types.resize (osTypeCount);
    5083         int i = 0;
    50845068        CGuestOSTypeEnumerator en = coll.Enumerate();
    50855069        while (en.HasMore())
    5086             vm_os_types [i++] = en.GetNext();
    5087     }
    5088 
    5089     /* fill in OS type icon dictionary */
     5070        {
     5071            CGuestOSType os (en.GetNext());
     5072            QString familyId (os.GetFamilyId());
     5073            if (!mFamilyIDs.contains (familyId))
     5074            {
     5075                mFamilyIDs << familyId;
     5076                mTypes << QList <CGuestOSType> ();
     5077            }
     5078            mTypes [mFamilyIDs.indexOf (familyId)].append (os);
     5079        }
     5080    }
     5081
     5082    /* Fill in OS type icon dictionary */
    50905083    static const char *kOSTypeIcons [][2] =
    50915084    {
    5092         {"unknown",     ":/os_unknown.png"},
    5093         {"dos",         ":/os_dos.png"},
    5094         {"win31",       ":/os_win31.png"},
    5095         {"win95",       ":/os_win95.png"},
    5096         {"win98",       ":/os_win98.png"},
    5097         {"winme",       ":/os_winme.png"},
    5098         {"winnt4",      ":/os_winnt4.png"},
    5099         {"win2k",       ":/os_win2k.png"},
    5100         {"winxp",       ":/os_winxp.png"},
    5101         {"win2k3",      ":/os_win2k3.png"},
    5102         {"winvista",    ":/os_winvista.png"},
    5103         {"win2k8",      ":/os_win2k8.png"},
    5104         {"os2warp3",    ":/os_os2warp3.png"},
    5105         {"os2warp4",    ":/os_os2warp4.png"},
    5106         {"os2warp45",   ":/os_os2warp45.png"},
    5107         {"ecs",         ":/os_ecs.png"},
    5108         {"linux22",     ":/os_linux22.png"},
    5109         {"linux24",     ":/os_linux24.png"},
    5110         {"linux26",     ":/os_linux26.png"},
    5111         {"archlinux",   ":/os_archlinux.png"},
    5112         {"debian",      ":/os_debian.png"},
    5113         {"opensolaris", ":/os_opensolaris.png"},
    5114         {"opensuse",    ":/os_opensuse.png"},
    5115         {"fedoracore",  ":/os_fedoracore.png"},
    5116         {"gentoo",      ":/os_gentoo.png"},
    5117         {"mandriva",    ":/os_mandriva.png"},
    5118         {"redhat",      ":/os_redhat.png"},
    5119         {"ubuntu",      ":/os_ubuntu.png"},
    5120         {"xandros",     ":/os_xandros.png"},
    5121         {"freebsd",     ":/os_freebsd.png"},
    5122         {"openbsd",     ":/os_openbsd.png"},
    5123         {"netbsd",      ":/os_netbsd.png"},
    5124         {"netware",     ":/os_netware.png"},
    5125         {"solaris",     ":/os_solaris.png"},
    5126         {"l4",          ":/os_l4.png"},
     5085        {"Other",           ":/os_other.png"},
     5086        {"DOS",             ":/os_dos.png"},
     5087        {"Netware",         ":/os_netware.png"},
     5088        {"L4",              ":/os_l4.png"},
     5089        {"Windows31",       ":/os_win31.png"},
     5090        {"Windows95",       ":/os_win95.png"},
     5091        {"Windows98",       ":/os_win98.png"},
     5092        {"WindowsMe",       ":/os_winme.png"},
     5093        {"WindowsNT4",      ":/os_winnt4.png"},
     5094        {"Windows2000",     ":/os_win2k.png"},
     5095        {"WindowsXP",       ":/os_winxp.png"},
     5096        {"WindowsXP_64",    ":/os_winxp_64.png"},
     5097        {"Windows2003",     ":/os_win2k3.png"},
     5098        {"Windows2003_64",  ":/os_win2k3_64.png"},
     5099        {"WindowsVista",    ":/os_winvista.png"},
     5100        {"WindowsVista_64", ":/os_winvista_64.png"},
     5101        {"Windows2008",     ":/os_win2k8.png"},
     5102        {"Windows2008_64",  ":/os_win2k8_64.png"},
     5103        {"WindowsNT",       ":/os_win_other.png"},
     5104        {"OS2Warp3",        ":/os_os2warp3.png"},
     5105        {"OS2Warp4",        ":/os_os2warp4.png"},
     5106        {"OS2Warp45",       ":/os_os2warp45.png"},
     5107        {"OS2eCS",          ":/os_os2ecs.png"},
     5108        {"OS2",             ":/os_os2_other.png"},
     5109        {"Linux22",         ":/os_linux22.png"},
     5110        {"Linux24",         ":/os_linux24.png"},
     5111        {"Linux24_64",      ":/os_linux24_64.png"},
     5112        {"Linux26",         ":/os_linux26.png"},
     5113        {"Linux26_64",      ":/os_linux26_64.png"},
     5114        {"ArchLinux",       ":/os_archlinux.png"},
     5115        {"ArchLinux_64",    ":/os_archlinux_64.png"},
     5116        {"Debian",          ":/os_debian.png"},
     5117        {"Debian_64",       ":/os_debian_64.png"},
     5118        {"OpenSUSE",        ":/os_opensuse.png"},
     5119        {"OpenSUSE_64",     ":/os_opensuse_64.png"},
     5120        {"Fedora",          ":/os_fedora.png"},
     5121        {"Fedora_64",       ":/os_fedora_64.png"},
     5122        {"Gentoo",          ":/os_gentoo.png"},
     5123        {"Gentoo_64",       ":/os_gentoo_64.png"},
     5124        {"Mandriva",        ":/os_mandriva.png"},
     5125        {"Mandriva_64",     ":/os_mandriva_64.png"},
     5126        {"RedHat",          ":/os_redhat.png"},
     5127        {"RedHat_64",       ":/os_redhat_64.png"},
     5128        {"Ubuntu",          ":/os_ubuntu.png"},
     5129        {"Ubuntu_64",       ":/os_ubuntu_64.png"},
     5130        {"Xandros",         ":/os_xandros.png"},
     5131        {"Xandros_64",      ":/os_xandros_64.png"},
     5132        {"Linux",           ":/os_linux_other.png"},
     5133        {"FreeBSD",         ":/os_freebsd.png"},
     5134        {"FreeBSD_64",      ":/os_freebsd_64.png"},
     5135        {"OpenBSD",         ":/os_openbsd.png"},
     5136        {"OpenBSD_64",      ":/os_openbsd_64.png"},
     5137        {"NetBSD",          ":/os_netbsd.png"},
     5138        {"NetBSD_64",       ":/os_netbsd_64.png"},
     5139        {"Solaris",         ":/os_solaris.png"},
     5140        {"Solaris_64",      ":/os_solaris_64.png"},
     5141        {"OpenSolaris",     ":/os_opensolaris.png"},
     5142        {"OpenSolaris_64",  ":/os_opensolaris_64.png"},
    51275143    };
    5128     for (uint n = 0; n < SIZEOF_ARRAY (kOSTypeIcons); n ++)
    5129     {
    5130         vm_os_type_icons.insert (kOSTypeIcons [n][0],
     5144    for (uint n = 0; n < SIZEOF_ARRAY (kOSTypeIcons); ++ n)
     5145    {
     5146        mOsTypeIcons.insert (kOSTypeIcons [n][0],
    51315147            new QPixmap (kOSTypeIcons [n][1]));
    51325148    }
     
    53355351
    53365352    /* ensure CGuestOSType objects are no longer used */
    5337     vm_os_types.clear();
     5353    mFamilyIDs.clear();
     5354    mTypes.clear();
     5355
    53385356    /* media list contains a lot of CUUnknown, release them */
    53395357    mMediaList.clear();
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxNewVMWzd.cpp

    r13580 r14437  
    6363    connect (mWvalNameAndOS, SIGNAL (validityChanged (const QIWidgetValidator*)),
    6464             this, SLOT (enableNext (const QIWidgetValidator*)));
    65     connect (mCbOS, SIGNAL (activated (int)), this, SLOT (cbOSActivated (int)));
     65    connect (mOSTypeSelector, SIGNAL (osTypeChanged()), this, SLOT (onOSTypeChanged()));
    6666
    6767    /* Memory page */
     
    8989    connect (mHDCombo, SIGNAL (currentIndexChanged (int)),
    9090             mWvalHDD, SLOT (revalidate()));
    91     connect (mPbNewHD, SIGNAL (clicked()), this, SLOT (showNewHardDiskWizard()));
    92     connect (mPbExistingHD, SIGNAL (clicked()), this, SLOT (showHardDiskManager()));
     91    connect (mPbNewHD, SIGNAL (clicked()), this, SLOT (showNewHDWizard()));
     92    connect (mPbExistingHD, SIGNAL (clicked()), this, SLOT (showMediaManager()));
    9393
    9494    /* Summary page */
     
    9696
    9797    /* Name and OS page */
    98     mCbOS->addItems (vboxGlobal().vmGuestOSTypeDescriptions());
    99     cbOSActivated (mCbOS->currentIndex());
    10098
    10199    /* Memory page */
     
    106104    mSlRAM->setRange ((MinRAM / mSlRAM->pageStep()) * mSlRAM->pageStep(),
    107105                      MaxRAM);
    108     /* Initial RAM value is set in cbOSActivated()
     106    /* Initial RAM value is set in onTypeChanged()
    109107     * limit min/max. size of QLineEdit */
    110108    mLeRAM->setFixedWidthByText ("99999");
     
    142140    Ui::VBoxNewVMWzd::retranslateUi (this);
    143141
    144     CGuestOSType type = vboxGlobal().vmGuestOSType (mCbOS->currentIndex());
     142    CGuestOSType type = mOSTypeSelector->type();
    145143
    146144    mTextRAMBest->setText (
     
    170168            "<tr><td><nobr>%5:&nbsp;</nobr></td><td>%6&nbsp;%7</td></tr>")
    171169            .arg (tr ("Name", "summary"), mLeName->text())
    172             .arg (tr ("OS Type", "summary"),
    173                   vboxGlobal().vmGuestOSType (mCbOS->currentIndex()).GetDescription())
     170            .arg (tr ("OS Type", "summary"), type.GetDescription())
    174171            .arg (tr ("Base Memory", "summary")).arg (mSlRAM->value())
    175172            .arg (tr ("MB", "megabytes"));
     
    192189}
    193190
    194 void VBoxNewVMWzd::showHardDiskManager()
     191void VBoxNewVMWzd::showMediaManager()
    195192{
    196193    VBoxMediaManagerDlg dlg (this);
     
    210207}
    211208
    212 void VBoxNewVMWzd::showNewHardDiskWizard()
     209void VBoxNewVMWzd::showNewHDWizard()
    213210{
    214211    VBoxNewHDWzd dlg (this);
    215212
    216     CGuestOSType type = vboxGlobal().vmGuestOSType (mCbOS->currentIndex());
    217213    dlg.setRecommendedFileName (mLeName->text());
    218     dlg.setRecommendedSize (type.GetRecommendedHDD());
     214    dlg.setRecommendedSize (mOSTypeSelector->type().GetRecommendedHDD());
    219215
    220216    if (dlg.exec() == QDialog::Accepted)
     
    228224}
    229225
     226void VBoxNewVMWzd::onOSTypeChanged()
     227{
     228    slRAMValueChanged (mOSTypeSelector->type().GetRecommendedRAM());
     229}
     230
    230231void VBoxNewVMWzd::slRAMValueChanged (int aValue)
    231232{
     
    236237{
    237238    mSlRAM->setValue (aText.toInt());
    238 }
    239 
    240 void VBoxNewVMWzd::cbOSActivated (int aItem)
    241 {
    242     CGuestOSType type = vboxGlobal().vmGuestOSType (aItem);
    243     mPmOS->setPixmap (vboxGlobal().vmGuestOSTypeIcon (type.GetId()));
    244     mSlRAM->setValue (type.GetRecommendedRAM());
    245239}
    246240
     
    324318
    325319    /* OS type */
    326     CGuestOSType type = vboxGlobal().vmGuestOSType (mCbOS->currentIndex());
     320    CGuestOSType type = mOSTypeSelector->type();
    327321    AssertMsg (!type.isNull(), ("vmGuestOSType() must return non-null type"));
    328322    QString typeId = type.GetId();
    329323    mMachine.SetOSTypeId (typeId);
    330324
     325    /* Dsen: move it to Main when implementing 3002: GUI/Main enhancements for 64 bits guests */
    331326    if (typeId == "os2warp3"  ||
    332327        typeId == "os2warp4"  ||
     
    334329        typeId == "ecs")
    335330        mMachine.SetHWVirtExEnabled (KTSBool_True);
     331    /* Dsen: move it to Main when implementing 3002: GUI/Main enhancements for 64 bits guests */
    336332
    337333    /* RAM size */
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsGeneral.cpp

    r14398 r14437  
    100100
    101101    /* Setup initial values */
    102     mCbOsType->insertItems (0, vboxGlobal().vmGuestOSTypeDescriptions());
    103     QList<QPixmap> list = vboxGlobal().vmGuestOSTypeIcons (0, 2);
    104     for (int i=0; i < list.count(); ++i)
    105         mCbOsType->setItemIcon (i, list.at (i));
    106 
    107102    mSlRam->setPageStep (calcPageStep (MaxRAM));
    108103    mSlRam->setSingleStep (mSlRam->pageStep() / 4);
     
    156151
    157152    /* OS type */
    158     QString typeId = aMachine.GetOSTypeId();
    159     mCbOsType->setCurrentIndex (vboxGlobal().vmGuestOSTypeIndex (typeId));
     153    mOSTypeSelector->setType (vboxGlobal().vmGuestOSType (aMachine.GetOSTypeId()));
    160154
    161155    /* RAM size */
     
    296290
    297291    /* OS type */
    298     CGuestOSType type = vboxGlobal().vmGuestOSType (mCbOsType->currentIndex());
    299     AssertMsg (!type.isNull(), ("vmGuestOSType() must return non-null type"));
    300     mMachine.SetOSTypeId (type.GetId());
     292    AssertMsg (!mOSTypeSelector->type().isNull(), ("mOSTypeSelector must return non-null type"));
     293    mMachine.SetOSTypeId (mOSTypeSelector->type().GetId());
    301294
    302295    /* RAM size */
     
    420413    setTabOrder (aWidget, mTabGeneral->focusProxy());
    421414    setTabOrder (mTabGeneral->focusProxy(), mLeName);
    422     setTabOrder (mLeName, mCbOsType);
    423     setTabOrder (mCbOsType, mSlRam);
     415    setTabOrder (mLeName, mOSTypeSelector);
     416    setTabOrder (mOSTypeSelector, mSlRam);
    424417    setTabOrder (mSlRam, mLeRam);
    425418    setTabOrder (mLeRam, mSlVideo);
  • trunk/src/VBox/Frontends/VirtualBox4/ui/VBoxNewVMWzd.ui

    r13580 r14437  
    336336              </property>
    337337              <item>
    338                <layout class="QVBoxLayout" >
    339                 <property name="spacing" >
    340                  <number>0</number>
    341                 </property>
    342                 <item>
    343                  <widget class="QComboBox" name="mCbOS" >
    344                   <property name="sizePolicy" >
    345                    <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
    346                     <horstretch>0</horstretch>
    347                     <verstretch>0</verstretch>
    348                    </sizepolicy>
    349                   </property>
    350                  </widget>
    351                 </item>
    352                 <item>
    353                  <spacer>
    354                   <property name="orientation" >
    355                    <enum>Qt::Vertical</enum>
    356                   </property>
    357                   <property name="sizeType" >
    358                    <enum>QSizePolicy::Expanding</enum>
    359                   </property>
    360                   <property name="sizeHint" >
    361                    <size>
    362                     <width>0</width>
    363                     <height>0</height>
    364                    </size>
    365                   </property>
    366                  </spacer>
    367                 </item>
    368                </layout>
    369               </item>
    370               <item>
    371                <spacer>
    372                 <property name="orientation" >
    373                  <enum>Qt::Horizontal</enum>
    374                 </property>
    375                 <property name="sizeHint" >
    376                  <size>
    377                   <width>0</width>
    378                   <height>0</height>
    379                  </size>
    380                 </property>
    381                </spacer>
    382               </item>
    383               <item>
    384                <widget class="QLabel" name="mPmOS" >
    385                 <property name="text" >
    386                  <string/>
    387                 </property>
    388                 <property name="alignment" >
    389                  <set>Qt::AlignHCenter|Qt::AlignTop</set>
    390                 </property>
    391                </widget>
     338               <widget class="VBoxOSTypeSelectorWidget" name="mOSTypeSelector" />
    392339              </item>
    393340             </layout>
     
    12171164   <extends>QLabel</extends>
    12181165   <header>QILabel.h</header>
     1166  </customwidget>
     1167  <customwidget>
     1168   <class>VBoxOSTypeSelectorWidget</class>
     1169   <extends>QWidget</extends>
     1170   <header>VBoxOSTypeSelectorWidget.h</header>
    12191171  </customwidget>
    12201172  <customwidget>
     
    12381190  <tabstop>mBtnCancel1</tabstop>
    12391191  <tabstop>mLeName</tabstop>
    1240   <tabstop>mCbOS</tabstop>
     1192  <tabstop>mOSTypeSelector</tabstop>
    12411193  <tabstop>mBtnBack2</tabstop>
    12421194  <tabstop>mBtnNext2</tabstop>
  • trunk/src/VBox/Frontends/VirtualBox4/ui/VBoxVMSettingsGeneral.ui

    r14398 r14437  
    6868       </item>
    6969       <item row="1" column="1" >
    70         <layout class="QGridLayout" >
    71          <item row="0" column="0" >
    72           <widget class="QLabel" name="mLbName" >
    73            <property name="text" >
    74             <string>&amp;Name:</string>
    75            </property>
    76            <property name="alignment" >
    77             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
    78            </property>
    79            <property name="buddy" >
    80             <cstring>mLeName</cstring>
    81            </property>
    82           </widget>
    83          </item>
    84          <item row="0" column="1" >
    85           <widget class="QLineEdit" name="mLeName" >
    86            <property name="whatsThis" >
    87             <string>Displays the name of the virtual machine.</string>
    88            </property>
    89           </widget>
    90          </item>
    91          <item row="1" column="0" >
    92           <widget class="QLabel" name="mLbOsType" >
    93            <property name="text" >
    94             <string>OS &amp;Type:</string>
    95            </property>
    96            <property name="alignment" >
    97             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
    98            </property>
    99            <property name="buddy" >
    100             <cstring>mCbOsType</cstring>
    101            </property>
    102           </widget>
    103          </item>
    104          <item row="1" column="1" >
    105           <widget class="QComboBox" name="mCbOsType" >
    106            <property name="focusPolicy" >
    107             <enum>Qt::StrongFocus</enum>
    108            </property>
    109            <property name="whatsThis" >
    110             <string>Displays the operating system type that you plan to install into this virtual machine (called a guest operating system).</string>
    111            </property>
    112           </widget>
    113          </item>
    114         </layout>
     70        <widget class="VBoxOSTypeSelectorWidget" name="mOSTypeSelector" >
     71         <layout class="QGridLayout" >
     72          <item row="0" column="0" >
     73           <widget class="QLabel" name="mLbName" >
     74            <property name="text" >
     75             <string>&amp;Name:</string>
     76            </property>
     77            <property name="alignment" >
     78             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
     79            </property>
     80            <property name="buddy" >
     81             <cstring>mLeName</cstring>
     82            </property>
     83           </widget>
     84          </item>
     85          <item row="0" column="1" colspan="2" >
     86           <widget class="QLineEdit" name="mLeName" >
     87            <property name="whatsThis" >
     88             <string>Displays the name of the virtual machine.</string>
     89            </property>
     90           </widget>
     91          </item>
     92         </layout>
     93        </widget>
    11594       </item>
    11695       <item row="2" column="0" colspan="2" >
     
    949928 <customwidgets>
    950929  <customwidget>
     930   <class>VBoxOSTypeSelectorWidget</class>
     931   <extends>QWidget</extends>
     932   <header>VBoxOSTypeSelectorWidget.h</header>
     933  </customwidget>
     934  <customwidget>
    951935   <class>VBoxFilePathSelectorWidget</class>
    952936   <extends>QComboBox</extends>
  • trunk/src/VBox/Main/Global.cpp

    r12406 r14437  
    3434     * NOTE2: please use powers of 2 when specifying the size of harddisks since
    3535     *        '2GB' looks better than '1.95GB' (= 2000MB) */
    36     { SchemaDefs_OSTypeId_unknown,     "Other/Unknown",       VBOXOSTYPE_Unknown,      64,   4,  2 * _1K },
    37     { SchemaDefs_OSTypeId_dos,         "DOS",                 VBOXOSTYPE_DOS,          32,   4,      512 },
    38     { SchemaDefs_OSTypeId_win31,       "Windows 3.1",         VBOXOSTYPE_Win31,        32,   4,  1 * _1K },
    39     { SchemaDefs_OSTypeId_win95,       "Windows 95",          VBOXOSTYPE_Win95,        64,   4,  2 * _1K },
    40     { SchemaDefs_OSTypeId_win98,       "Windows 98",          VBOXOSTYPE_Win98,        64,   4,  2 * _1K },
    41     { SchemaDefs_OSTypeId_winme,       "Windows Me",          VBOXOSTYPE_WinMe,        64,   4,  4 * _1K },
    42     { SchemaDefs_OSTypeId_winnt4,      "Windows NT 4",        VBOXOSTYPE_WinNT4,      128,   4,  2 * _1K },
    43     { SchemaDefs_OSTypeId_win2k,       "Windows 2000",        VBOXOSTYPE_Win2k,       168,  12,  4 * _1K },
    44     { SchemaDefs_OSTypeId_winxp,       "Windows XP",          VBOXOSTYPE_WinXP,       192,  12, 10 * _1K },
    45     { SchemaDefs_OSTypeId_win2k3,      "Windows Server 2003", VBOXOSTYPE_Win2k3,      256,  12, 20 * _1K },
    46     { SchemaDefs_OSTypeId_winvista,    "Windows Vista",       VBOXOSTYPE_WinVista,    512,  12, 20 * _1K },
    47     { SchemaDefs_OSTypeId_win2k8,      "Windows Server 2008", VBOXOSTYPE_Win2k8,      512,  12, 20 * _1K },
    48 /* @todo missing VBOXOSTYPE_OS2 */
    49     { SchemaDefs_OSTypeId_os2warp3,    "OS/2 Warp 3",         VBOXOSTYPE_OS2Warp3,     48,   4,  1 * _1K },
    50     { SchemaDefs_OSTypeId_os2warp4,    "OS/2 Warp 4",         VBOXOSTYPE_OS2Warp4,     64,   4,  2 * _1K },
    51     { SchemaDefs_OSTypeId_os2warp45,   "OS/2 Warp 4.5",       VBOXOSTYPE_OS2Warp45,    96,   4,  2 * _1K },
    52     { SchemaDefs_OSTypeId_ecs,         "eComStation",         VBOXOSTYPE_ECS,          96,   4,  2 * _1K },
    53     { SchemaDefs_OSTypeId_linux22,     "Linux 2.2",           VBOXOSTYPE_Linux22,      64,   4,  2 * _1K },
    54     { SchemaDefs_OSTypeId_linux24,     "Linux 2.4",           VBOXOSTYPE_Linux24,     128,   4,  4 * _1K },
    55     { SchemaDefs_OSTypeId_linux26,     "Linux 2.6",           VBOXOSTYPE_Linux26,     256,   4,  8 * _1K },
    56     { SchemaDefs_OSTypeId_archlinux,   "Arch Linux",          VBOXOSTYPE_ArchLinux,   256,  12,  8 * _1K },
    57     { SchemaDefs_OSTypeId_debian,      "Debian",              VBOXOSTYPE_Debian,      256,  12,  8 * _1K },
    58     { SchemaDefs_OSTypeId_opensuse,    "openSUSE",            VBOXOSTYPE_OpenSUSE,    256,  12,  8 * _1K },
    59     { SchemaDefs_OSTypeId_fedoracore,  "Fedora",              VBOXOSTYPE_FedoraCore,  256,  12,  8 * _1K },
    60     { SchemaDefs_OSTypeId_gentoo,      "Gentoo Linux",        VBOXOSTYPE_Gentoo,      256,  12,  8 * _1K },
    61     { SchemaDefs_OSTypeId_mandriva,    "Mandriva",            VBOXOSTYPE_Mandriva,    256,  12,  8 * _1K },
    62     { SchemaDefs_OSTypeId_redhat,      "Red Hat",             VBOXOSTYPE_RedHat,      256,  12,  8 * _1K },
    63     { SchemaDefs_OSTypeId_ubuntu,      "Ubuntu",              VBOXOSTYPE_Ubuntu,      256,  12,  8 * _1K },
    64     { SchemaDefs_OSTypeId_xandros,     "Xandros",             VBOXOSTYPE_Xandros,     256,  12,  8 * _1K },
    65     { SchemaDefs_OSTypeId_freebsd,     "FreeBSD",             VBOXOSTYPE_FreeBSD,      64,   4,  2 * _1K },
    66     { SchemaDefs_OSTypeId_openbsd,     "OpenBSD",             VBOXOSTYPE_OpenBSD,      64,   4,  2 * _1K },
    67     { SchemaDefs_OSTypeId_netbsd,      "NetBSD",              VBOXOSTYPE_NetBSD,       64,   4,  2 * _1K },
    68     { SchemaDefs_OSTypeId_netware,     "Netware",             VBOXOSTYPE_Netware,     512,   4,  4 * _1K },
    69     { SchemaDefs_OSTypeId_solaris,     "Solaris",             VBOXOSTYPE_Solaris,     512,  12, 16 * _1K },
    70     { SchemaDefs_OSTypeId_opensolaris, "OpenSolaris",         VBOXOSTYPE_OpenSolaris, 512,  12, 16 * _1K },
    71     { SchemaDefs_OSTypeId_l4,          "L4",                  VBOXOSTYPE_L4,           64,   4,  2 * _1K }
     36    { "Other",   "Other",             SchemaDefs_OSTypeId_Other,           "Other/Unknown",
     37      VBOXOSTYPE_Unknown,         false,  64,   4,  2 * _1K },
     38    { "Other",   "Other",             SchemaDefs_OSTypeId_DOS,             "DOS",
     39      VBOXOSTYPE_DOS,             false,  32,   4,      512 },
     40    { "Other",   "Other",             SchemaDefs_OSTypeId_Netware,         "Netware",
     41      VBOXOSTYPE_Netware,         false, 512,   4,  4 * _1K },
     42    { "Other",   "Other",             SchemaDefs_OSTypeId_L4,              "L4",
     43      VBOXOSTYPE_L4,              false,  64,   4,  2 * _1K },
     44    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows31,       "Windows 3.1",
     45      VBOXOSTYPE_Win31,           false,  32,   4,  1 * _1K },
     46    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows95,       "Windows 95",
     47      VBOXOSTYPE_Win95,           false,  64,   4,  2 * _1K },
     48    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows98,       "Windows 98",
     49      VBOXOSTYPE_Win98,           false,  64,   4,  2 * _1K },
     50    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsMe,       "Windows Me",
     51      VBOXOSTYPE_WinMe,           false,  64,   4,  4 * _1K },
     52    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT4,      "Windows NT 4",
     53      VBOXOSTYPE_WinNT4,          false, 128,   4,  2 * _1K },
     54    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2000,     "Windows 2000",
     55      VBOXOSTYPE_Win2k,           false, 168,  12,  4 * _1K },
     56    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP,       "Windows XP",
     57      VBOXOSTYPE_WinXP,           false, 192,  12, 10 * _1K },
     58    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP_64,    "Windows XP (64 bit)",
     59      VBOXOSTYPE_WinXP_x64,       true,  192,  12, 10 * _1K },
     60    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003,     "Windows 2003",
     61      VBOXOSTYPE_Win2k3,          false, 256,  12, 20 * _1K },
     62    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003_64,  "Windows 2003 (64 bit)",
     63      VBOXOSTYPE_Win2k3_x64,      true,  256,  12, 20 * _1K },
     64    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista,    "Windows Vista",
     65      VBOXOSTYPE_WinVista,        false, 512,  12, 20 * _1K },
     66    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista_64, "Windows Vista (64 bit)",
     67      VBOXOSTYPE_WinVista_x64,    true,  512,  12, 20 * _1K },
     68    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008,     "Windows 2008",
     69      VBOXOSTYPE_Win2k8,          false, 512,  12, 20 * _1K },
     70    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008_64,  "Windows 2008 (64 bit)",
     71      VBOXOSTYPE_Win2k8_x64,      true,  512,  12, 20 * _1K },
     72    { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT,       "Other Windows",
     73      VBOXOSTYPE_WinNT,           false, 512,  12, 20 * _1K },
     74    { "OS2",     "IBM OS/2",          SchemaDefs_OSTypeId_OS2Warp3,        "OS/2 Warp 3",
     75      VBOXOSTYPE_OS2Warp3,        false,  48,   4,  1 * _1K },
     76    { "OS2",     "IBM OS/2",          SchemaDefs_OSTypeId_OS2Warp4,        "OS/2 Warp 4",
     77      VBOXOSTYPE_OS2Warp4,        false,  64,   4,  2 * _1K },
     78    { "OS2",     "IBM OS/2",          SchemaDefs_OSTypeId_OS2Warp45,       "OS/2 Warp 4.5",
     79      VBOXOSTYPE_OS2Warp45,       false,  96,   4,  2 * _1K },
     80    { "OS2",     "IBM OS/2",          SchemaDefs_OSTypeId_OS2eCS,          "eComStation",
     81      VBOXOSTYPE_ECS,             false,  96,   4,  2 * _1K },
     82    { "OS2",     "IBM OS/2",          SchemaDefs_OSTypeId_OS2,             "Other OS/2",
     83      VBOXOSTYPE_OS2,             false,  96,   4,  2 * _1K },
     84    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Linux22,         "Linux 2.2",
     85      VBOXOSTYPE_Linux22,         false,  64,   4,  2 * _1K },
     86    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Linux24,         "Linux 2.4",
     87      VBOXOSTYPE_Linux24,         false, 128,   4,  4 * _1K },
     88    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Linux24_64,      "Linux 2.4 (64 bit)",
     89      VBOXOSTYPE_Linux24_x64,     true,  128,   4,  4 * _1K },
     90    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Linux26,         "Linux 2.6",
     91      VBOXOSTYPE_Linux26,         false, 256,   4,  8 * _1K },
     92    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Linux26_64,      "Linux 2.6 (64 bit)",
     93      VBOXOSTYPE_Linux26_x64,     true,  256,   4,  8 * _1K },
     94    { "Linux",   "Linux",             SchemaDefs_OSTypeId_ArchLinux,       "Arch Linux",
     95      VBOXOSTYPE_ArchLinux,       false, 256,  12,  8 * _1K },
     96    { "Linux",   "Linux",             SchemaDefs_OSTypeId_ArchLinux_64,    "Arch Linux (64 bit)",
     97      VBOXOSTYPE_ArchLinux_x64,   true,  256,  12,  8 * _1K },
     98    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Debian,          "Debian",
     99      VBOXOSTYPE_Debian,          false, 256,  12,  8 * _1K },
     100    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Debian_64,       "Debian (64 bit)",
     101      VBOXOSTYPE_Debian_x64,      true,  256,  12,  8 * _1K },
     102    { "Linux",   "Linux",             SchemaDefs_OSTypeId_OpenSUSE,        "openSUSE",
     103      VBOXOSTYPE_OpenSUSE,        false, 256,  12,  8 * _1K },
     104    { "Linux",   "Linux",             SchemaDefs_OSTypeId_OpenSUSE_64,     "openSUSE (64 bit)",
     105      VBOXOSTYPE_OpenSUSE_x64,    true,  256,  12,  8 * _1K },
     106    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Fedora,          "Fedora",
     107      VBOXOSTYPE_FedoraCore,      false, 256,  12,  8 * _1K },
     108    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Fedora_64,       "Fedora (64 bit)",
     109      VBOXOSTYPE_FedoraCore_x64,  true,  256,  12,  8 * _1K },
     110    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Gentoo,          "Gentoo",
     111      VBOXOSTYPE_Gentoo,          false, 256,  12,  8 * _1K },
     112    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Gentoo_64,       "Gentoo (64 bit)",
     113      VBOXOSTYPE_Gentoo_x64,      true,  256,  12,  8 * _1K },
     114    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Mandriva,        "Mandriva",
     115      VBOXOSTYPE_Mandriva,        false, 256,  12,  8 * _1K },
     116    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Mandriva_64,     "Mandriva (64 bit)",
     117      VBOXOSTYPE_Mandriva_x64,    true,  256,  12,  8 * _1K },
     118    { "Linux",   "Linux",             SchemaDefs_OSTypeId_RedHat,          "Red Hat",
     119      VBOXOSTYPE_RedHat,          false, 256,  12,  8 * _1K },
     120    { "Linux",   "Linux",             SchemaDefs_OSTypeId_RedHat_64,       "Red Hat (64 bit)",
     121      VBOXOSTYPE_RedHat_x64,      true,  256,  12,  8 * _1K },
     122    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Ubuntu,          "Ubuntu",
     123      VBOXOSTYPE_Ubuntu,          false, 256,  12,  8 * _1K },
     124    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Ubuntu_64,       "Ubuntu (64 bit)",
     125      VBOXOSTYPE_Ubuntu_x64,      true,  256,  12,  8 * _1K },
     126    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Xandros,         "Xandros",
     127      VBOXOSTYPE_Xandros,         false, 256,  12,  8 * _1K },
     128    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Xandros_64,      "Xandros (64 bit)",
     129      VBOXOSTYPE_Xandros_x64,     true,  256,  12,  8 * _1K },
     130    { "Linux",   "Linux",             SchemaDefs_OSTypeId_Linux,           "Other Linux",
     131      VBOXOSTYPE_Linux,           false, 256,  12,  8 * _1K },
     132    { "BSD",     "BSD",               SchemaDefs_OSTypeId_FreeBSD,         "FreeBSD",
     133      VBOXOSTYPE_FreeBSD,         false,  64,   4,  2 * _1K },
     134    { "BSD",     "BSD",               SchemaDefs_OSTypeId_FreeBSD_64,      "FreeBSD (64 bit)",
     135      VBOXOSTYPE_FreeBSD_x64,     true,   64,   4,  2 * _1K },
     136    { "BSD",     "BSD",               SchemaDefs_OSTypeId_OpenBSD,         "OpenBSD",
     137      VBOXOSTYPE_OpenBSD,         false,  64,   4,  2 * _1K },
     138    { "BSD",     "BSD",               SchemaDefs_OSTypeId_OpenBSD_64,      "OpenBSD (64 bit)",
     139      VBOXOSTYPE_OpenBSD_x64,     true,   64,   4,  2 * _1K },
     140    { "BSD",     "BSD",               SchemaDefs_OSTypeId_NetBSD,          "NetBSD",
     141      VBOXOSTYPE_NetBSD,          false,  64,   4,  2 * _1K },
     142    { "BSD",     "BSD",               SchemaDefs_OSTypeId_NetBSD_64,       "NetBSD (64 bit)",
     143      VBOXOSTYPE_NetBSD_x64,      true,   64,   4,  2 * _1K },
     144    { "Solaris", "Solaris",           SchemaDefs_OSTypeId_Solaris,         "Solaris",
     145      VBOXOSTYPE_Solaris,         false, 512,  12, 16 * _1K },
     146    { "Solaris", "Solaris",           SchemaDefs_OSTypeId_Solaris_64,      "Solaris (64 bit)",
     147      VBOXOSTYPE_Solaris_x64,     true,  512,  12, 16 * _1K },
     148    { "Solaris", "Solaris",           SchemaDefs_OSTypeId_OpenSolaris,     "OpenSolaris",
     149      VBOXOSTYPE_OpenSolaris,     false, 512,  12, 16 * _1K },
     150    { "Solaris", "Solaris",           SchemaDefs_OSTypeId_OpenSolaris_64,  "OpenSolaris (64 bit)",
     151      VBOXOSTYPE_OpenSolaris_x64, true,  512,  12, 16 * _1K }
    72152};
    73153
  • trunk/src/VBox/Main/GuestOSTypeImpl.cpp

    r8155 r14437  
    2929GuestOSType::GuestOSType()
    3030    : mOSType (VBOXOSTYPE_Unknown)
     31    , mIs64Bit (false)
    3132    , mRAMSize (0), mVRAMSize (0)
    3233    , mHDDSize (0), mMonitorCount (0)
     
    5556 *
    5657 * @returns COM result indicator
    57  * @param aId          os short name string
    58  * @param aDescription os name string
    59  * @param aOSType      global OS type ID
    60  * @param aRAMSize     recommended RAM size in megabytes
    61  * @param aVRAMSize    recommended video memory size in megabytes
    62  * @param aHDDSize     recommended HDD size in megabytes
    63  */
    64 HRESULT GuestOSType::init (const char *aId, const char *aDescription, VBOXOSTYPE aOSType,
     58 * @param aFamilyId          os family short name string
     59 * @param aFamilyDescription os family name string
     60 * @param aId                os short name string
     61 * @param aDescription       os name string
     62 * @param aOSType            global OS type ID
     63 * @param aIs64Bit           returns true if the given OS is 64-bit
     64 * @param aRAMSize           recommended RAM size in megabytes
     65 * @param aVRAMSize          recommended video memory size in megabytes
     66 * @param aHDDSize           recommended HDD size in megabytes
     67 */
     68HRESULT GuestOSType::init (const char *aFamilyId, const char *aFamilyDescription,
     69                           const char *aId, const char *aDescription,
     70                           VBOXOSTYPE aOSType, bool aIs64Bit,
    6571                           uint32_t aRAMSize, uint32_t aVRAMSize, uint32_t aHDDSize)
    6672{
    67     LogFlowThisFunc (("aId='%s', aDescription='%s', aType=%d, "
     73    LogFlowThisFunc (("aFamilyId='%s', aFamilyDescription='%s', "
     74                      "aId='%s', aDescription='%s', "
     75                      "aType=%d, aIs64Bit=%d, "
    6876                      "aRAMSize=%d, aVRAMSize=%d, aHDDSize=%d\n",
    69                       aId, aDescription, aOSType,
     77                      aFamilyId, aFamilyDescription,
     78                      aId, aDescription,
     79                      aOSType, aIs64Bit,
    7080                      aRAMSize, aVRAMSize, aHDDSize));
    7181
    72     ComAssertRet (aId && aDescription, E_INVALIDARG);
     82    ComAssertRet (aFamilyId && aFamilyDescription && aId && aDescription, E_INVALIDARG);
    7383
    7484    /* Enclose the state transition NotReady->InInit->Ready */
     
    7686    AssertReturn (autoInitSpan.isOk(), E_UNEXPECTED);
    7787
     88    unconst (mFamilyID) = aFamilyId;
     89    unconst (mFamilyDescription) = aFamilyDescription;
    7890    unconst (mID) = aId;
    7991    unconst (mDescription) = aDescription;
    8092    unconst (mOSType) = aOSType;
     93    unconst (mIs64Bit) = aIs64Bit;
    8194    unconst (mRAMSize) = aRAMSize;
    8295    unconst (mVRAMSize) = aVRAMSize;
     
    104117/////////////////////////////////////////////////////////////////////////////
    105118
     119STDMETHODIMP GuestOSType::COMGETTER(FamilyId) (BSTR *aFamilyId)
     120{
     121    if (!aFamilyId)
     122        return E_POINTER;
     123
     124    AutoCaller autoCaller (this);
     125    CheckComRCReturnRC (autoCaller.rc());
     126
     127    /* mFamilyID is constant during life time, no need to lock */
     128    mFamilyID.cloneTo (aFamilyId);
     129
     130    return S_OK;
     131}
     132
     133STDMETHODIMP GuestOSType::COMGETTER(FamilyDescription) (BSTR *aFamilyDescription)
     134{
     135    if (!aFamilyDescription)
     136        return E_POINTER;
     137
     138    AutoCaller autoCaller (this);
     139    CheckComRCReturnRC (autoCaller.rc());
     140
     141    /* mFamilyDescription is constant during life time, no need to lock */
     142    mFamilyDescription.cloneTo (aFamilyDescription);
     143
     144    return S_OK;
     145}
     146
    106147STDMETHODIMP GuestOSType::COMGETTER(Id) (BSTR *aId)
    107148{
     
    132173}
    133174
     175STDMETHODIMP GuestOSType::COMGETTER(Is64Bit) (BOOL *aIs64Bit)
     176{
     177    if (!aIs64Bit)
     178        return E_POINTER;
     179
     180    AutoCaller autoCaller (this);
     181    CheckComRCReturnRC (autoCaller.rc());
     182
     183    /* mIs64Bit is constant during life time, no need to lock */
     184    *aIs64Bit = mIs64Bit;
     185
     186    return S_OK;
     187}
     188
    134189STDMETHODIMP GuestOSType::COMGETTER(RecommendedRAM) (ULONG *aRAMSize)
    135190{
  • trunk/src/VBox/Main/MachineImpl.cpp

    r14315 r14437  
    50165016            }
    50175017
    5018             /* CPUCount(optional, default is 1) */
    5019             Key CPUCountNode = cpuNode.findKey ("CPUCount");
    5020             if (!CPUCountNode.isNull())
    5021             {
    5022                 mHWData->mCPUCount = CPUCountNode.value <ULONG> ("count");
    5023             }
     5018            /* CPUCount (optional, default is 1) */
     5019            mHWData->mCPUCount = cpuNode.value <ULONG> ("count");
    50245020        }
    50255021    }
     
    50725068
    50735069        mHWData->mVRAMSize      = displayNode.value <ULONG> ("VRAMSize");
    5074         mHWData->mMonitorCount  = displayNode.value <ULONG> ("MonitorCount");
    5075         mHWData->mAccelerate3DEnabled = displayNode.value <bool> ("Accelerate3D");
     5070        mHWData->mMonitorCount  = displayNode.value <ULONG> ("monitorCount");
     5071        mHWData->mAccelerate3DEnabled = displayNode.value <bool> ("accelerate3D");
    50765072    }
    50775073
     
    63956391
    63966392        /* CPU count */
    6397         Key CPUCountNode = cpuNode.createKey ("CPUCount");
    6398         CPUCountNode.setValue <ULONG> ("count", mHWData->mCPUCount);
     6393        cpuNode.setValue <ULONG> ("count", mHWData->mCPUCount);
    63996394    }
    64006395
     
    64406435        Key displayNode = aNode.createKey ("Display");
    64416436        displayNode.setValue <ULONG> ("VRAMSize", mHWData->mVRAMSize);
    6442         displayNode.setValue <ULONG> ("MonitorCount", mHWData->mMonitorCount);
    6443         displayNode.setValue <bool> ("Accelerate3D", !!mHWData->mAccelerate3DEnabled);
     6437        displayNode.setValue <ULONG> ("monitorCount", mHWData->mMonitorCount);
     6438        displayNode.setValue <bool> ("accelerate3D", !!mHWData->mAccelerate3DEnabled);
    64446439    }
    64456440
  • trunk/src/VBox/Main/VirtualBoxImpl.cpp

    r14381 r14437  
    262262                if (SUCCEEDED (rc))
    263263                {
    264                     rc = guestOSTypeObj->init (Global::sOSTypes [i].id,
     264                    rc = guestOSTypeObj->init (Global::sOSTypes [i].familyId,
     265                                               Global::sOSTypes [i].familyDescription,
     266                                               Global::sOSTypes [i].id,
    265267                                               Global::sOSTypes [i].description,
    266268                                               Global::sOSTypes [i].osType,
     269                                               Global::sOSTypes [i].is64Bit,
    267270                                               Global::sOSTypes [i].recommendedRAM,
    268271                                               Global::sOSTypes [i].recommendedVRAM,
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r14405 r14437  
    27432743    </attribute>
    27442744
    2745     <attribute name="Accelerate3DEnabled" type="boolean" default="false">
     2745    <attribute name="accelerate3DEnabled" type="boolean" default="false">
    27462746      <desc>
    27472747        This setting determines whether VirtualBox allows guests to make use
     
    27502750    </attribute>
    27512751
    2752     <attribute name="MonitorCount" type="unsigned long">
     2752    <attribute name="monitorCount" type="unsigned long">
    27532753      <desc>
    27542754        Number of virtual monitors.
     
    55345534    </desc>
    55355535
     5536    <attribute name="familyId" type="wstring" readonly="yes">
     5537      <desc>Guest OS family identifier string.</desc>
     5538    </attribute>
     5539
     5540    <attribute name="familyDescription" type="wstring" readonly="yes">
     5541      <desc>Human readable description of the guest OS family.</desc>
     5542    </attribute>
     5543
    55365544    <attribute name="id" type="wstring" readonly="yes">
    55375545      <desc>Guest OS identifier string.</desc>
     
    55405548    <attribute name="description" type="wstring" readonly="yes">
    55415549      <desc>Human readable description of the guest OS.</desc>
     5550    </attribute>
     5551
     5552    <attribute name="is64Bit" type="boolean" readonly="yes">
     5553      <desc>Returns @c true if the given OS is 64-bit</desc>
    55425554    </attribute>
    55435555
  • trunk/src/VBox/Main/include/Global.h

    r9361 r14437  
    4343    struct OSType
    4444    {
    45         const char    *id;          /* utf-8 */
    46         const char    *description; /* utf-8 */
    47         const VBOXOSTYPE osType;
    48         const uint32_t recommendedRAM;
    49         const uint32_t recommendedVRAM;
    50         const uint32_t recommendedHDD;
     45        const char       *familyId;          /* utf-8 */
     46        const char       *familyDescription; /* utf-8 */
     47        const char       *id;          /* utf-8 */
     48        const char       *description; /* utf-8 */
     49        const VBOXOSTYPE  osType;
     50        const bool        is64Bit;
     51        const uint32_t    recommendedRAM;
     52        const uint32_t    recommendedVRAM;
     53        const uint32_t    recommendedHDD;
    5154    };
    5255
  • trunk/src/VBox/Main/include/GuestOSTypeImpl.h

    r13580 r14437  
    5555
    5656    // public initializer/uninitializer for internal purposes only
    57     HRESULT init (const char *aId, const char *aDescription, VBOXOSTYPE aOSType,
     57    HRESULT init (const char *aFamilyId, const char *aFamilyDescription,
     58                  const char *aId, const char *aDescription,
     59                  VBOXOSTYPE aOSType, bool aIs64Bit,
    5860                  uint32_t aRAMSize, uint32_t aVRAMSize, uint32_t aHDDSize);
    5961    void uninit();
    6062
    6163    // IGuestOSType properties
     64    STDMETHOD(COMGETTER(FamilyId)) (BSTR *aFamilyId);
     65    STDMETHOD(COMGETTER(FamilyDescription)) (BSTR *aFamilyDescription);
    6266    STDMETHOD(COMGETTER(Id)) (BSTR *aId);
    6367    STDMETHOD(COMGETTER(Description)) (BSTR *aDescription);
     68    STDMETHOD(COMGETTER(Is64Bit)) (BOOL *aIs64Bit);
    6469    STDMETHOD(COMGETTER(RecommendedRAM)) (ULONG *aRAMSize);
    6570    STDMETHOD(COMGETTER(RecommendedVRAM)) (ULONG *aVRAMSize);
     
    7479private:
    7580
     81    const Bstr mFamilyID;
     82    const Bstr mFamilyDescription;
    7683    const Bstr mID;
    7784    const Bstr mDescription;
    7885    const VBOXOSTYPE mOSType;
     86    const bool mIs64Bit;
    7987    const uint32_t mRAMSize;
    8088    const uint32_t mVRAMSize;
  • trunk/src/VBox/Main/include/VirtualBoxXMLUtil.h

    r13580 r14437  
    2929
    3030/** VirtualBox XML settings version number substring ("x.y")  */
    31 #define VBOX_XML_VERSION        "1.4"
     31#define VBOX_XML_VERSION        "1.5"
    3232
    3333/** VirtualBox XML settings version platform substring */
  • trunk/src/VBox/Main/xml/SchemaDefs.xsl

    r13724 r14437  
    159159    <xsl:with-param name="member" select="'        MinCPUCount'"/>
    160160    <xsl:with-param name="select" select="
    161       xsd:complexType[@name='TCPUCount']/xsd:attribute[@name='count']//xsd:minInclusive/@value
     161      xsd:simpleType[@name='TCPUCount']//xsd:minInclusive/@value
    162162    "/>
    163163  </xsl:call-template>
     
    165165    <xsl:with-param name="member" select="'        MaxCPUCount'"/>
    166166    <xsl:with-param name="select" select="
    167       xsd:complexType[@name='TCPUCount']/xsd:attribute[@name='count']//xsd:maxInclusive/@value
     167      xsd:simpleType[@name='TCPUCount']//xsd:maxInclusive/@value
    168168    "/>
    169169  </xsl:call-template>
     
    172172    <xsl:with-param name="member" select="'        MaxGuestMonitors'"/>
    173173    <xsl:with-param name="select" select="
    174       xsd:complexType[@name='TDisplay']/xsd:attribute[@name='MonitorCount']//xsd:maxInclusive/@value
     174      xsd:complexType[@name='TDisplay']/xsd:attribute[@name='monitorCount']//xsd:maxInclusive/@value
    175175    "/>
    176176  </xsl:call-template>
  • trunk/src/VBox/Main/xml/SettingsConverter.xsl

    r13592 r14437  
    117117    <xsl:attribute name="version"><xsl:value-of select="concat('1.4','-',$curVerPlat)"/></xsl:attribute>
    118118    <xsl:apply-templates select="node()" mode="v1.4"/>
     119  </xsl:copy>
     120</xsl:template>
     121
     122<!-- 1.4 => 1.5 -->
     123<xsl:template match="/vb:VirtualBox[substring-before(@version,'-')='1.4']">
     124  <xsl:copy>
     125    <xsl:attribute name="version"><xsl:value-of select="concat('1.5','-',$curVerPlat)"/></xsl:attribute>
     126    <xsl:apply-templates select="node()" mode="v1.5"/>
    119127  </xsl:copy>
    120128</xsl:template>
     
    587595-->
    588596
     597<!--
     598 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     599 *  1.4 => 1.5
     600 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     601-->
     602
     603<!--
     604 *  all non-root elements that are not explicitly matched are copied as is
     605-->
     606<xsl:template match="@*|node()[../..]" mode="v1.5">
     607  <xsl:copy>
     608    <xsl:apply-templates select="@*|node()[../..]" mode="v1.5"/>
     609  </xsl:copy>
     610</xsl:template>
     611
     612<!--
     613 *  Global settings
     614-->
     615
     616<!--
     617 *  Machine settings
     618-->
     619
     620<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.4']/
     621                     vb:Machine"
     622              mode="v1.5">
     623  <xsl:copy>
     624    <xsl:attribute name="OSType">
     625      <xsl:choose>
     626        <xsl:when test="@OSType='unknown'">Other</xsl:when>
     627        <xsl:when test="@OSType='dos'">DOS</xsl:when>
     628        <xsl:when test="@OSType='win31'">Windows31</xsl:when>
     629        <xsl:when test="@OSType='win95'">Windows95</xsl:when>
     630        <xsl:when test="@OSType='win98'">Windows98</xsl:when>
     631        <xsl:when test="@OSType='winme'">WindowsMe</xsl:when>
     632        <xsl:when test="@OSType='winnt4'">WindowsNT4</xsl:when>
     633        <xsl:when test="@OSType='win2k'">Windows2000</xsl:when>
     634        <xsl:when test="@OSType='winxp'">WindowsXP</xsl:when>
     635        <xsl:when test="@OSType='win2k3'">Windows2003</xsl:when>
     636        <xsl:when test="@OSType='winvista'">WindowsVista</xsl:when>
     637        <xsl:when test="@OSType='win2k8'">Windows2008</xsl:when>
     638        <xsl:when test="@OSType='os2warp3'">OS2Warp3</xsl:when>
     639        <xsl:when test="@OSType='os2warp4'">OS2Warp4</xsl:when>
     640        <xsl:when test="@OSType='os2warp45'">OS2Warp45</xsl:when>
     641        <xsl:when test="@OSType='ecs'">OS2eCS</xsl:when>
     642        <xsl:when test="@OSType='linux22'">Linux22</xsl:when>
     643        <xsl:when test="@OSType='linux24'">Linux24</xsl:when>
     644        <xsl:when test="@OSType='linux26'">Linux26</xsl:when>
     645        <xsl:when test="@OSType='archlinux'">ArchLinux</xsl:when>
     646        <xsl:when test="@OSType='debian'">Debian</xsl:when>
     647        <xsl:when test="@OSType='opensuse'">OpenSUSE</xsl:when>
     648        <xsl:when test="@OSType='fedoracore'">Fedora</xsl:when>
     649        <xsl:when test="@OSType='gentoo'">Gentoo</xsl:when>
     650        <xsl:when test="@OSType='mandriva'">Mandriva</xsl:when>
     651        <xsl:when test="@OSType='redhat'">RedHat</xsl:when>
     652        <xsl:when test="@OSType='ubuntu'">Ubuntu</xsl:when>
     653        <xsl:when test="@OSType='xandros'">Xandros</xsl:when>
     654        <xsl:when test="@OSType='freebsd'">FreeBSD</xsl:when>
     655        <xsl:when test="@OSType='openbsd'">OpenBSD</xsl:when>
     656        <xsl:when test="@OSType='netbsd'">NetBSD</xsl:when>
     657        <xsl:when test="@OSType='netware'">Netware</xsl:when>
     658        <xsl:when test="@OSType='solaris'">Solaris</xsl:when>
     659        <xsl:when test="@OSType='opensolaris'">OpenSolaris</xsl:when>
     660        <xsl:when test="@OSType='l4'">L4</xsl:when>
     661      </xsl:choose>
     662    </xsl:attribute>
     663    <xsl:apply-templates select="@*[name()!='OSType']" mode="v1.5"/>
     664    <xsl:apply-templates select="node()" mode="v1.5"/>
     665  </xsl:copy>
     666</xsl:template>
     667
     668<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.4']/
     669                     vb:Machine//vb:Hardware/vb:Display"
     670              mode="v1.5">
     671  <xsl:copy>
     672    <xsl:apply-templates select="node()" mode="v1.5"/>
     673    <xsl:for-each select="@*">
     674      <xsl:choose>
     675        <xsl:when test="name()='MonitorCount'">
     676          <xsl:attribute name="monitorCount"><xsl:value-of select="."/></xsl:attribute>
     677        </xsl:when>
     678        <xsl:when test="name()='Accelerate3D'">
     679          <xsl:attribute name="accelerate3D"><xsl:value-of select="."/></xsl:attribute>
     680        </xsl:when>
     681        <xsl:otherwise>
     682          <xsl:apply-templates select="." mode="v1.5"/>
     683        </xsl:otherwise>
     684      </xsl:choose>
     685    </xsl:for-each>
     686  </xsl:copy>
     687</xsl:template>
     688
     689<!--
     690-->
     691
     692<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.4']/
     693                     vb:Machine//vb:Hardware/vb:CPU"
     694              mode="v1.5">
     695  <xsl:copy>
     696    <xsl:attribute name="count"><xsl:value-of select="vb:CPUCount/@count"/></xsl:attribute>
     697    <xsl:apply-templates select="@*" mode="v1.5"/>
     698    <xsl:apply-templates select="node()[not(self::vb:CPUCount)]" mode="v1.5"/>
     699  </xsl:copy>
     700</xsl:template>
     701
    589702
    590703<!-- @todo add lastStateChange with the current timestamp if missing.
  • trunk/src/VBox/Main/xml/VirtualBox-settings-common.xsd

    r14224 r14437  
    135135<xsd:simpleType name="TGuestOSType">
    136136  <xsd:restriction base="xsd:string">
    137     <!-- @todo on next format change, rename dos to DOS, win2k3 to Win2003 and
    138     so on. Possibly also use prefixes that determine the platform family:
    139     Win_31, Win_Vista, Linux_ArchLinux, Unix_FreeBSD and so on. -->
    140     <xsd:enumeration value="unknown"/>
    141     <xsd:enumeration value="dos"/>
    142     <xsd:enumeration value="win31"/>
    143     <xsd:enumeration value="win95"/>
    144     <xsd:enumeration value="win98"/>
    145     <xsd:enumeration value="winme"/>
    146     <xsd:enumeration value="winnt4"/>
    147     <xsd:enumeration value="win2k"/>
    148     <xsd:enumeration value="winxp"/>
    149     <xsd:enumeration value="win2k3"/>
    150     <xsd:enumeration value="winvista"/>
    151     <xsd:enumeration value="win2k8"/>
    152     <xsd:enumeration value="os2warp3"/>
    153     <xsd:enumeration value="os2warp4"/>
    154     <xsd:enumeration value="os2warp45"/>
    155     <xsd:enumeration value="ecs"/>
    156     <xsd:enumeration value="linux22"/>
    157     <xsd:enumeration value="linux24"/>
    158     <xsd:enumeration value="linux26"/>
    159     <xsd:enumeration value="archlinux"/>
    160     <xsd:enumeration value="debian"/>
    161     <xsd:enumeration value="opensuse"/>
    162     <xsd:enumeration value="fedoracore"/>
    163     <xsd:enumeration value="gentoo"/>
    164     <xsd:enumeration value="mandriva"/>
    165     <xsd:enumeration value="redhat"/>
    166     <xsd:enumeration value="ubuntu"/>
    167     <xsd:enumeration value="xandros"/>
    168     <xsd:enumeration value="freebsd"/>
    169     <xsd:enumeration value="openbsd"/>
    170     <xsd:enumeration value="netbsd"/>
    171     <xsd:enumeration value="netware"/>
    172     <xsd:enumeration value="solaris"/>
    173     <xsd:enumeration value="opensolaris"/>
    174     <xsd:enumeration value="l4"/>
     137    <xsd:enumeration value="Other"/>
     138    <xsd:enumeration value="DOS"/>
     139    <xsd:enumeration value="Netware"/>
     140    <xsd:enumeration value="L4"/>
     141    <xsd:enumeration value="Windows31"/>
     142    <xsd:enumeration value="Windows95"/>
     143    <xsd:enumeration value="Windows98"/>
     144    <xsd:enumeration value="WindowsMe"/>
     145    <xsd:enumeration value="WindowsNT4"/>
     146    <xsd:enumeration value="Windows2000"/>
     147    <xsd:enumeration value="WindowsXP"/>
     148    <xsd:enumeration value="WindowsXP_64"/>
     149    <xsd:enumeration value="Windows2003"/>
     150    <xsd:enumeration value="Windows2003_64"/>
     151    <xsd:enumeration value="WindowsVista"/>
     152    <xsd:enumeration value="WindowsVista_64"/>
     153    <xsd:enumeration value="Windows2008"/>
     154    <xsd:enumeration value="Windows2008_64"/>
     155    <xsd:enumeration value="WindowsNT"/>
     156    <xsd:enumeration value="OS2Warp3"/>
     157    <xsd:enumeration value="OS2Warp4"/>
     158    <xsd:enumeration value="OS2Warp45"/>
     159    <xsd:enumeration value="OS2eCS"/>
     160    <xsd:enumeration value="OS2"/>
     161    <xsd:enumeration value="Linux22"/>
     162    <xsd:enumeration value="Linux24"/>
     163    <xsd:enumeration value="Linux24_64"/>
     164    <xsd:enumeration value="Linux26"/>
     165    <xsd:enumeration value="Linux26_64"/>
     166    <xsd:enumeration value="ArchLinux"/>
     167    <xsd:enumeration value="ArchLinux_64"/>
     168    <xsd:enumeration value="Debian"/>
     169    <xsd:enumeration value="Debian_64"/>
     170    <xsd:enumeration value="OpenSUSE"/>
     171    <xsd:enumeration value="OpenSUSE_64"/>
     172    <xsd:enumeration value="Fedora"/>
     173    <xsd:enumeration value="Fedora_64"/>
     174    <xsd:enumeration value="Gentoo"/>
     175    <xsd:enumeration value="Gentoo_64"/>
     176    <xsd:enumeration value="Mandriva"/>
     177    <xsd:enumeration value="Mandriva_64"/>
     178    <xsd:enumeration value="RedHat"/>
     179    <xsd:enumeration value="RedHat_64"/>
     180    <xsd:enumeration value="Ubuntu"/>
     181    <xsd:enumeration value="Ubuntu_64"/>
     182    <xsd:enumeration value="Xandros"/>
     183    <xsd:enumeration value="Xandros_64"/>
     184    <xsd:enumeration value="Linux"/>
     185    <xsd:enumeration value="FreeBSD"/>
     186    <xsd:enumeration value="FreeBSD_64"/>
     187    <xsd:enumeration value="OpenBSD"/>
     188    <xsd:enumeration value="OpenBSD_64"/>
     189    <xsd:enumeration value="NetBSD"/>
     190    <xsd:enumeration value="NetBSD_64"/>
     191    <xsd:enumeration value="Solaris"/>
     192    <xsd:enumeration value="Solaris_64"/>
     193    <xsd:enumeration value="OpenSolaris"/>
     194    <xsd:enumeration value="OpenSolaris_64"/>
    175195  </xsd:restriction>
    176196</xsd:simpleType>
     
    393413</xsd:complexType>
    394414
    395 <xsd:complexType name="TCPUCount">
    396   <xsd:attribute name="count">
    397     <xsd:simpleType>
    398       <xsd:restriction base="xsd:unsignedInt">
    399         <xsd:minInclusive value="1"/>
    400         <xsd:maxInclusive value="255"/>
    401       </xsd:restriction>
    402     </xsd:simpleType>
    403   </xsd:attribute>
    404 </xsd:complexType>
     415<xsd:simpleType name="TCPUCount">
     416  <xsd:restriction base="xsd:unsignedInt">
     417    <xsd:minInclusive value="1"/>
     418    <xsd:maxInclusive value="255"/>
     419  </xsd:restriction>
     420</xsd:simpleType>
    405421
    406422<xsd:complexType name="TCPU">
     
    410426    <xsd:element name="HardwareVirtExVPID" type="THWVirtExVPIDType" minOccurs="0"/>
    411427    <xsd:element name="PAE" type="TPAEType" minOccurs="0"/>
    412     <xsd:element name="CPUCount" type="TCPUCount" minOccurs="0"/>
    413   </xsd:sequence>
     428  </xsd:sequence>
     429  <xsd:attribute name="count" type="TCPUCount" default="1"/>
    414430</xsd:complexType>
    415431
     
    441457    </xsd:simpleType>
    442458  </xsd:attribute>
    443   <xsd:attribute name="MonitorCount" default="1">
     459  <xsd:attribute name="monitorCount" default="1">
    444460    <xsd:simpleType>
    445461      <xsd:restriction base="xsd:unsignedInt">
     
    448464    </xsd:simpleType>
    449465  </xsd:attribute>
    450   <xsd:attribute name="Accelerate3D" type="xsd:boolean" default="false"/>
     466  <xsd:attribute name="accelerate3D" type="xsd:boolean" default="false"/>
    451467</xsd:complexType>
    452468
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