VirtualBox

Changeset 46760 in vbox


Ignore:
Timestamp:
Jun 24, 2013 4:25:04 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
86688
Message:

FE/Qt: UI converter: Support string conversions for the global/machine settings-page-type enums.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h

    r46703 r46760  
    5757template<> bool canConvert<StorageSlot>();
    5858template<> bool canConvert<DetailsElementType>();
     59template<> bool canConvert<GlobalSettingsPageType>();
     60template<> bool canConvert<MachineSettingsPageType>();
    5961template<> bool canConvert<IndicatorType>();
    6062template<> bool canConvert<MachineCloseAction>();
     
    8991template<> QString toInternalString(const DetailsElementType &detailsElementType);
    9092template<> DetailsElementType fromInternalString<DetailsElementType>(const QString &strDetailsElementType);
     93template<> QString toInternalString(const GlobalSettingsPageType &globalSettingsPageType);
     94template<> GlobalSettingsPageType fromInternalString<GlobalSettingsPageType>(const QString &strGlobalSettingsPageType);
     95template<> QString toInternalString(const MachineSettingsPageType &machineSettingsPageType);
     96template<> MachineSettingsPageType fromInternalString<MachineSettingsPageType>(const QString &strMachineSettingsPageType);
    9197template<> QString toInternalString(const IndicatorType &indicatorType);
    9298template<> IndicatorType fromInternalString<IndicatorType>(const QString &strIndicatorType);
  • trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp

    r46708 r46760  
    3333template<> bool canConvert<StorageSlot>() { return true; }
    3434template<> bool canConvert<DetailsElementType>() { return true; }
     35template<> bool canConvert<GlobalSettingsPageType>() { return true; }
     36template<> bool canConvert<MachineSettingsPageType>() { return true; }
    3537template<> bool canConvert<IndicatorType>() { return true; }
    3638template<> bool canConvert<MachineCloseAction>() { return true; }
     
    370372    }
    371373    return list.value(strDetailsElementType);
     374}
     375
     376/* QString <= GlobalSettingsPageType: */
     377template<> QString toInternalString(const GlobalSettingsPageType &globalSettingsPageType)
     378{
     379    QString strResult;
     380    switch (globalSettingsPageType)
     381    {
     382        case GlobalSettingsPageType_General:   strResult = "General"; break;
     383        case GlobalSettingsPageType_Input:     strResult = "Input"; break;
     384        case GlobalSettingsPageType_Update:    strResult = "Update"; break;
     385        case GlobalSettingsPageType_Language:  strResult = "Language"; break;
     386        case GlobalSettingsPageType_Display:   strResult = "Display"; break;
     387        case GlobalSettingsPageType_USB:       strResult = "USB"; break;
     388        case GlobalSettingsPageType_Network:   strResult = "Network"; break;
     389        case GlobalSettingsPageType_Extension: strResult = "Extension"; break;
     390        case GlobalSettingsPageType_Proxy:     strResult = "Proxy"; break;
     391        default:
     392        {
     393            AssertMsgFailed(("No text for settings page type=%d", globalSettingsPageType));
     394            break;
     395        }
     396    }
     397    return strResult;
     398}
     399
     400/* GlobalSettingsPageType <= QString: */
     401template<> GlobalSettingsPageType fromInternalString<GlobalSettingsPageType>(const QString &strGlobalSettingsPageType)
     402{
     403    /* Here we have some fancy stuff allowing us
     404     * to search through the keys using 'case-insensitive' rule: */
     405    QStringList keys;    QList<GlobalSettingsPageType> values;
     406    keys << "General";   values << GlobalSettingsPageType_General;
     407    keys << "Input";     values << GlobalSettingsPageType_Input;
     408    keys << "Update";    values << GlobalSettingsPageType_Update;
     409    keys << "Language";  values << GlobalSettingsPageType_Language;
     410    keys << "Display";   values << GlobalSettingsPageType_Display;
     411    keys << "USB";       values << GlobalSettingsPageType_USB;
     412    keys << "Network";   values << GlobalSettingsPageType_Network;
     413    keys << "Extension"; values << GlobalSettingsPageType_Extension;
     414    keys << "Proxy";     values << GlobalSettingsPageType_Proxy;
     415    /* Invalid type for unknown words: */
     416    if (!keys.contains(strGlobalSettingsPageType, Qt::CaseInsensitive))
     417        return GlobalSettingsPageType_Invalid;
     418    /* Corresponding type for known words: */
     419    return values.at(keys.indexOf(QRegExp(strGlobalSettingsPageType, Qt::CaseInsensitive)));
     420}
     421
     422/* QString <= MachineSettingsPageType: */
     423template<> QString toInternalString(const MachineSettingsPageType &machineSettingsPageType)
     424{
     425    QString strResult;
     426    switch (machineSettingsPageType)
     427    {
     428        case MachineSettingsPageType_General:  strResult = "General"; break;
     429        case MachineSettingsPageType_System:   strResult = "System"; break;
     430        case MachineSettingsPageType_Display:  strResult = "Display"; break;
     431        case MachineSettingsPageType_Storage:  strResult = "Storage"; break;
     432        case MachineSettingsPageType_Audio:    strResult = "Audio"; break;
     433        case MachineSettingsPageType_Network:  strResult = "Network"; break;
     434        case MachineSettingsPageType_Ports:    strResult = "Ports"; break;
     435        case MachineSettingsPageType_Serial:   strResult = "Serial"; break;
     436        case MachineSettingsPageType_Parallel: strResult = "Parallel"; break;
     437        case MachineSettingsPageType_USB:      strResult = "USB"; break;
     438        case MachineSettingsPageType_SF:       strResult = "SharedFolders"; break;
     439        default:
     440        {
     441            AssertMsgFailed(("No text for settings page type=%d", machineSettingsPageType));
     442            break;
     443        }
     444    }
     445    return strResult;
     446}
     447
     448/* MachineSettingsPageType <= QString: */
     449template<> MachineSettingsPageType fromInternalString<MachineSettingsPageType>(const QString &strMachineSettingsPageType)
     450{
     451    /* Here we have some fancy stuff allowing us
     452     * to search through the keys using 'case-insensitive' rule: */
     453    QStringList keys;        QList<MachineSettingsPageType> values;
     454    keys << "General";       values << MachineSettingsPageType_General;
     455    keys << "System";        values << MachineSettingsPageType_System;
     456    keys << "Display";       values << MachineSettingsPageType_Display;
     457    keys << "Storage";       values << MachineSettingsPageType_Storage;
     458    keys << "Audio";         values << MachineSettingsPageType_Audio;
     459    keys << "Network";       values << MachineSettingsPageType_Network;
     460    keys << "Ports";         values << MachineSettingsPageType_Ports;
     461    keys << "Serial";        values << MachineSettingsPageType_Serial;
     462    keys << "Parallel";      values << MachineSettingsPageType_Parallel;
     463    keys << "USB";           values << MachineSettingsPageType_USB;
     464    keys << "SharedFolders"; values << MachineSettingsPageType_SF;
     465    /* Invalid type for unknown words: */
     466    if (!keys.contains(strMachineSettingsPageType, Qt::CaseInsensitive))
     467        return MachineSettingsPageType_Invalid;
     468    /* Corresponding type for known words: */
     469    return values.at(keys.indexOf(QRegExp(strMachineSettingsPageType, Qt::CaseInsensitive)));
    372470}
    373471
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.h

    r46759 r46760  
    245245enum GlobalSettingsPageType
    246246{
     247    GlobalSettingsPageType_Invalid,
    247248    GlobalSettingsPageType_General,
    248249    GlobalSettingsPageType_Input,
     
    261262enum MachineSettingsPageType
    262263{
     264    MachineSettingsPageType_Invalid,
    263265    MachineSettingsPageType_General,
    264266    MachineSettingsPageType_System,
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