VirtualBox

Changeset 51215 in vbox


Ignore:
Timestamp:
May 8, 2014 2:06:55 PM (10 years ago)
Author:
vboxsync
Message:

FE/Qt: 6660: Advanced extra-data management framework: Move WizardMode enum and linked stuff into corresponding places.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h

    r51214 r51215  
    203203};
    204204
     205/** Common UI: Wizard modes. */
     206enum WizardMode
     207{
     208    WizardMode_Auto,
     209    WizardMode_Basic,
     210    WizardMode_Expert
     211};
     212
    205213
    206214/** Selector UI: Details-element types. */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r51213 r51215  
    241241#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
    242242
    243 bool UIExtraDataManager::isDescriptionHiddenForWizard(const QString &strWizardName)
    244 {
    245     /* True if wizard-name among the others: */
    246     return extraDataStringList(GUI_HideDescriptionForWizards).contains(strWizardName);
    247 }
    248 
    249 void UIExtraDataManager::setDescriptionHiddenForWizard(const QString &strWizardName, bool fHidden)
    250 {
     243WizardMode UIExtraDataManager::modeForWizard(WizardType type)
     244{
     245    /* Some wizard use only 'basic' mode: */
     246    if (type == WizardType_FirstRun)
     247        return WizardMode_Basic;
     248    /* Otherwise get mode from cached extra-data: */
     249    return extraDataStringList(GUI_HideDescriptionForWizards).contains(gpConverter->toInternalString(type))
     250           ? WizardMode_Expert : WizardMode_Basic;
     251}
     252
     253void UIExtraDataManager::setModeForWizard(WizardType type, WizardMode mode)
     254{
     255    /* Get wizard name: */
     256    const QString strWizardName = gpConverter->toInternalString(type);
    251257    /* Get current value: */
    252258    QStringList oldValue = extraDataStringList(GUI_HideDescriptionForWizards);
    253259    QStringList newValue = oldValue;
    254     /* Include wizard-name if necessary: */
    255     if (fHidden && !newValue.contains(strWizardName))
     260    /* Include wizard-name into expert-mode wizard list if necessary: */
     261    if (mode == WizardMode_Expert && !newValue.contains(strWizardName))
    256262        newValue << strWizardName;
    257     /* Exclude wizard-name if necessary: */
    258     else if (!fHidden && newValue.contains(strWizardName))
     263    /* Exclude wizard-name from expert-mode wizard list if necessary: */
     264    else if (mode == WizardMode_Basic && newValue.contains(strWizardName))
    259265        newValue.removeAll(strWizardName);
    260266    /* Update extra-data if necessary: */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h

    r51213 r51215  
    115115#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
    116116
    117     /** Returns whether description should be hidden for wizard @a strWizardName. */
    118     bool isDescriptionHiddenForWizard(const QString &strWizardName);
    119     /** Defines whether description should be @a fHidden for wizard @a strWizardName. */
    120     void setDescriptionHiddenForWizard(const QString &strWizardName, bool fHidden);
     117    /** Returns mode (basic/expert) for wizard of @a type. */
     118    WizardMode modeForWizard(WizardType type);
     119    /** Defines @a mode (basic/expert) for wizard of @a type. */
     120    void setModeForWizard(WizardType type, WizardMode mode);
    121121
    122122    /** Returns whether this machine started for the first time. */
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/UIWizard.cpp

    r51214 r51215  
    2929#include "QIRichTextLabel.h"
    3030#include "UIExtraDataManager.h"
    31 #include "UIConverter.h"
    3231
    3332void UIWizard::sltCurrentIdChanged(int iId)
     
    5655        switch (m_mode)
    5756        {
    58             case UIWizardMode_Basic:  m_mode = UIWizardMode_Expert; break;
    59             case UIWizardMode_Expert: m_mode = UIWizardMode_Basic;  break;
     57            case WizardMode_Basic:  m_mode = WizardMode_Expert; break;
     58            case WizardMode_Expert: m_mode = WizardMode_Basic;  break;
    6059            default: AssertMsgFailed(("Invalid mode: %d", m_mode)); break;
    6160        }
    6261
    6362        /* Save mode settings: */
    64         gEDataManager->setDescriptionHiddenForWizard(gpConverter->toInternalString(m_type), m_mode == UIWizardMode_Expert);
     63        gEDataManager->setModeForWizard(m_type, m_mode);
    6564
    6665        /* Prepare: */
     
    6968}
    7069
    71 UIWizard::UIWizard(QWidget *pParent, WizardType type, UIWizardMode mode)
     70UIWizard::UIWizard(QWidget *pParent, WizardType type, WizardMode mode /* = WizardMode_Auto */)
    7271    : QIWithRetranslateUI<QWizard>(pParent)
    7372    , m_type(type)
    74     , m_mode(mode == UIWizardMode_Auto ? modeForType(m_type) : mode)
     73    , m_mode(mode == WizardMode_Auto ? gEDataManager->modeForWizard(m_type) : mode)
    7574{
    7675#ifdef Q_WS_WIN
     
    9998    switch (m_mode)
    10099    {
    101         case UIWizardMode_Basic: setButtonText(QWizard::CustomButton1, tr("Hide Description")); break;
    102         case UIWizardMode_Expert: setButtonText(QWizard::CustomButton1, tr("Show Description")); break;
     100        case WizardMode_Basic: setButtonText(QWizard::CustomButton1, tr("Hide Description")); break;
     101        case WizardMode_Expert: setButtonText(QWizard::CustomButton1, tr("Show Description")); break;
    103102        default: AssertMsgFailed(("Invalid mode: %d", m_mode)); break;
    104103    }
     
    167166{
    168167    /* Check if wizard is in basic or expert mode: */
    169     if (m_mode == UIWizardMode_Expert)
     168    if (m_mode == WizardMode_Expert)
    170169    {
    171170        /* Unfortunately QWizard hides some of useful API in private part,
     
    420419    /* Acquire wizard-layout top-margin: */
    421420    int iTopMargin = 0;
    422     if (m_mode == UIWizardMode_Basic)
     421    if (m_mode == WizardMode_Basic)
    423422    {
    424423        if (wizardStyle() == QWizard::ModernStyle)
     
    428427    /* Acquire wizard-header height: */
    429428    int iTitleHeight = 0;
    430     if (m_mode == UIWizardMode_Basic)
     429    if (m_mode == WizardMode_Basic)
    431430    {
    432431        /* We have no direct access to QWizardHeader inside QWizard private data...
     
    440439    /* Acquire spacing between wizard-header and wizard-page: */
    441440    int iMarginBetweenTitleAndPage = 0;
    442     if (m_mode == UIWizardMode_Basic)
     441    if (m_mode == WizardMode_Basic)
    443442    {
    444443        /* We have no direct access to margin between QWizardHeader and wizard-pages...
     
    505504#endif /* !Q_WS_MAC */
    506505
    507 /* static */
    508 UIWizardMode UIWizard::modeForType(WizardType type)
    509 {
    510     /* Some wizard use only basic mode: */
    511     if (type == WizardType_FirstRun)
    512         return UIWizardMode_Basic;
    513     /* Otherwise get mode from extra-data manager: */
    514     return gEDataManager->isDescriptionHiddenForWizard(gpConverter->toInternalString(type))
    515            ? UIWizardMode_Expert : UIWizardMode_Basic;
    516 }
    517 
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/UIWizard.h

    r51214 r51215  
    3131class UIWizardPage;
    3232
    33 /* Wizard mode: */
    34 enum UIWizardMode
    35 {
    36     UIWizardMode_Auto,
    37     UIWizardMode_Basic,
    38     UIWizardMode_Expert
    39 };
    40 
    4133/* QWizard class reimplementation with extended funtionality. */
    4234class UIWizard : public QIWithRetranslateUI<QWizard>
     
    4739
    4840    /* Mode related stuff: */
    49     UIWizardMode mode() { return m_mode; }
     41    WizardMode mode() { return m_mode; }
    5042
    5143    /* Page related methods: */
     
    6254
    6355    /* Constructor: */
    64     UIWizard(QWidget *pParent, WizardType type, UIWizardMode mode = UIWizardMode_Auto);
     56    UIWizard(QWidget *pParent, WizardType type, WizardMode mode = WizardMode_Auto);
    6557
    6658    /* Translation stuff: */
     
    9587    void assignWatermarkHelper();
    9688#endif /* !Q_WS_MAC */
    97     static UIWizardMode modeForType(WizardType type);
    9889
    9990    /* Variables: */
    10091    WizardType m_type;
    101     UIWizardMode m_mode;
     92    WizardMode m_mode;
    10293#ifndef Q_WS_MAC
    10394    QString m_strWatermarkName;
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVD.cpp

    r51214 r51215  
    121121    switch (mode())
    122122    {
    123         case UIWizardMode_Basic:
     123        case WizardMode_Basic:
    124124        {
    125125            setPage(Page1, new UIWizardCloneVDPageBasic1(m_sourceVirtualDisk));
     
    129129            break;
    130130        }
    131         case UIWizardMode_Expert:
     131        case WizardMode_Expert:
    132132        {
    133133            setPage(PageExpert, new UIWizardCloneVDPageExpert(m_sourceVirtualDisk));
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVM.cpp

    r51214 r51215  
    5353    bool fLinked = field("linkedClone").toBool();
    5454    /* Get clone mode: */
    55     KCloneMode cloneMode = (mode() == UIWizardMode_Basic && page(Page3)) ||
    56                            (mode() == UIWizardMode_Expert && page(PageExpert)) ?
     55    KCloneMode cloneMode = (mode() == WizardMode_Basic && page(Page3)) ||
     56                           (mode() == WizardMode_Expert && page(PageExpert)) ?
    5757                           field("cloneMode").value<KCloneMode>() : KCloneMode_MachineState;
    5858
     
    172172    switch (mode())
    173173    {
    174         case UIWizardMode_Basic:
     174        case WizardMode_Basic:
    175175        {
    176176            setPage(Page1, new UIWizardCloneVMPageBasic1(m_machine.GetName()));
     
    180180            break;
    181181        }
    182         case UIWizardMode_Expert:
     182        case WizardMode_Expert:
    183183        {
    184184            setPage(PageExpert, new UIWizardCloneVMPageExpert(m_machine.GetName(),
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp

    r51214 r51215  
    213213    UIWizard::sltCurrentIdChanged(iId);
    214214    /* Enable 2nd button (Reset to Defaults) for 4th and Expert pages only! */
    215     setOption(QWizard::HaveCustomButton2, (mode() == UIWizardMode_Basic && iId == Page4) ||
    216                                           (mode() == UIWizardMode_Expert && iId == PageExpert));
     215    setOption(QWizard::HaveCustomButton2, (mode() == WizardMode_Basic && iId == Page4) ||
     216                                          (mode() == WizardMode_Expert && iId == PageExpert));
    217217}
    218218
     
    249249    switch (mode())
    250250    {
    251         case UIWizardMode_Basic:
     251        case WizardMode_Basic:
    252252        {
    253253            setPage(Page1, new UIWizardExportAppPageBasic1(m_selectedVMNames));
     
    257257            break;
    258258        }
    259         case UIWizardMode_Expert:
     259        case WizardMode_Expert:
    260260        {
    261261            setPage(PageExpert, new UIWizardExportAppPageExpert(m_selectedVMNames));
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/firstrun/UIWizardFirstRun.cpp

    r51214 r51215  
    103103    switch (mode())
    104104    {
    105         case UIWizardMode_Basic:
     105        case WizardMode_Basic:
    106106        {
    107107            setPage(Page, new UIWizardFirstRunPageBasic(m_machine.GetId(), m_fHardDiskWasSet));
    108108            break;
    109109        }
    110         case UIWizardMode_Expert:
     110        case WizardMode_Expert:
    111111        {
    112112            AssertMsgFailed(("First-run wizard has no expert-mode!"));
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportApp.cpp

    r51214 r51215  
    184184    UIWizard::sltCurrentIdChanged(iId);
    185185    /* Enable 2nd button (Reset to Defaults) for 2nd and Expert pages only! */
    186     setOption(QWizard::HaveCustomButton2, (mode() == UIWizardMode_Basic && iId == Page2) ||
    187                                           (mode() == UIWizardMode_Expert && iId == PageExpert));
     186    setOption(QWizard::HaveCustomButton2, (mode() == WizardMode_Basic && iId == Page2) ||
     187                                          (mode() == WizardMode_Expert && iId == PageExpert));
    188188}
    189189
     
    220220    switch (mode())
    221221    {
    222         case UIWizardMode_Basic:
     222        case WizardMode_Basic:
    223223        {
    224224            if (m_strFileName.isEmpty())
     
    227227            break;
    228228        }
    229         case UIWizardMode_Expert:
     229        case WizardMode_Expert:
    230230        {
    231231            setPage(PageExpert, new UIWizardImportAppPageExpert(m_strFileName));
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp

    r51214 r51215  
    3737                             const QString &strDefaultName, const QString &strDefaultPath,
    3838                             qulonglong uDefaultSize,
    39                              UIWizardMode mode)
     39                             WizardMode mode)
    4040    : UIWizard(pParent, WizardType_NewVD, mode)
    4141    , m_strDefaultName(strDefaultName)
     
    125125    switch (mode())
    126126    {
    127         case UIWizardMode_Basic:
     127        case WizardMode_Basic:
    128128        {
    129129            setPage(Page1, new UIWizardNewVDPageBasic1);
     
    132132            break;
    133133        }
    134         case UIWizardMode_Expert:
     134        case WizardMode_Expert:
    135135        {
    136136            setPage(PageExpert, new UIWizardNewVDPageExpert(m_strDefaultName, m_strDefaultPath, m_uDefaultSize));
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h

    r43424 r51215  
    5252                  const QString &strDefaultName, const QString &strDefaultPath,
    5353                  qulonglong uDefaultSize,
    54                   UIWizardMode mode = UIWizardMode_Auto);
     54                  WizardMode mode = WizardMode_Auto);
    5555
    5656    /* Pages related stuff: */
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp

    r51214 r51215  
    289289    switch (mode())
    290290    {
    291         case UIWizardMode_Basic:
     291        case WizardMode_Basic:
    292292        {
    293293            setPage(Page1, new UIWizardNewVMPageBasic1(m_strGroup));
     
    296296            break;
    297297        }
    298         case UIWizardMode_Expert:
     298        case WizardMode_Expert:
    299299        {
    300300            setPage(PageExpert, new UIWizardNewVMPageExpert(m_strGroup));
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