VirtualBox

Changeset 82248 in vbox


Ignore:
Timestamp:
Nov 27, 2019 4:48:29 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
135066
Message:

FE/Qt: bugref:9611: UIMachineSettingsStorage: Rework add controller actions to be represented as map to ease accessing them on automated basis.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp

    r82247 r82248  
    29222922    : m_pModelStorage(0)
    29232923    , m_pActionAddController(0), m_pActionRemoveController(0)
    2924     , m_pActionAddControllerPIIX3(0), m_pActionAddControllerPIIX4(0), m_pActionAddControllerICH6(0)
    2925     , m_pActionAddControllerAHCI(0)
    2926     , m_pActionAddControllerLsiLogic(0), m_pActionAddControllerBusLogic(0)
    2927     , m_pActionAddControllerLsiLogicSAS(0)
    2928     , m_pActionAddControllerFloppy(0)
    2929     , m_pActionAddControllerUSB(0)
    2930     , m_pActionAddControllerNVMe(0)
    2931     , m_pActionAddControllerVirtioSCSI(0)
    29322924    , m_pActionAddAttachment(0), m_pActionRemoveAttachment(0)
    29332925    , m_pActionAddAttachmentHD(0), m_pActionAddAttachmentCD(0), m_pActionAddAttachmentFD(0)
     
    33013293
    33023294    m_pActionAddController->setText(tr("Add Controller"));
    3303     m_pActionAddControllerPIIX3->setText(tr("PIIX3 (IDE)"));
    3304     m_pActionAddControllerPIIX4->setText(tr("PIIX4 (Default IDE)"));
    3305     m_pActionAddControllerICH6->setText(tr("ICH6 (IDE)"));
    3306     m_pActionAddControllerAHCI->setText(tr("AHCI (SATA)"));
    3307     m_pActionAddControllerLsiLogic->setText(tr("LsiLogic (Default SCSI)"));
    3308     m_pActionAddControllerBusLogic->setText(tr("BusLogic (SCSI)"));
    3309     m_pActionAddControllerLsiLogicSAS->setText(tr("LsiLogic SAS (SAS)"));
    3310     m_pActionAddControllerFloppy->setText(tr("I82078 (Floppy)"));
    3311     m_pActionAddControllerUSB->setText(tr("USB"));
    3312     m_pActionAddControllerNVMe->setText(tr("NVMe (PCIe)"));
    3313     m_pActionAddControllerVirtioSCSI->setText(tr("virtio-scsi"));
     3295    m_addControllerActions.value(KStorageControllerType_PIIX3)->setText(tr("PIIX3 (IDE)"));
     3296    m_addControllerActions.value(KStorageControllerType_PIIX4)->setText(tr("PIIX4 (Default IDE)"));
     3297    m_addControllerActions.value(KStorageControllerType_ICH6)->setText(tr("ICH6 (IDE)"));
     3298    m_addControllerActions.value(KStorageControllerType_IntelAhci)->setText(tr("AHCI (SATA)"));
     3299    m_addControllerActions.value(KStorageControllerType_LsiLogic)->setText(tr("LsiLogic (Default SCSI)"));
     3300    m_addControllerActions.value(KStorageControllerType_BusLogic)->setText(tr("BusLogic (SCSI)"));
     3301    m_addControllerActions.value(KStorageControllerType_LsiLogicSas)->setText(tr("LsiLogic SAS (SAS)"));
     3302    m_addControllerActions.value(KStorageControllerType_I82078)->setText(tr("I82078 (Floppy)"));
     3303    m_addControllerActions.value(KStorageControllerType_USB)->setText(tr("USB"));
     3304    m_addControllerActions.value(KStorageControllerType_NVMe)->setText(tr("NVMe (PCIe)"));
     3305    m_addControllerActions.value(KStorageControllerType_VirtioSCSI)->setText(tr("virtio-scsi"));
    33143306    m_pActionRemoveController->setText(tr("Remove Controller"));
    33153307    m_pActionAddAttachment->setText(tr("Add Attachment"));
     
    34663458{
    34673459    QMenu menu;
    3468     menu.addAction(m_pActionAddControllerPIIX3);
    3469     menu.addAction(m_pActionAddControllerPIIX4);
    3470     menu.addAction(m_pActionAddControllerICH6);
    3471     menu.addAction(m_pActionAddControllerAHCI);
    3472     menu.addAction(m_pActionAddControllerLsiLogic);
    3473     menu.addAction(m_pActionAddControllerBusLogic);
    3474     menu.addAction(m_pActionAddControllerLsiLogicSAS);
    3475     menu.addAction(m_pActionAddControllerFloppy);
    3476     menu.addAction(m_pActionAddControllerUSB);
    3477     menu.addAction(m_pActionAddControllerNVMe);
    3478     menu.addAction(m_pActionAddControllerVirtioSCSI);
     3460    menu.addAction(m_addControllerActions.value(KStorageControllerType_PIIX3));
     3461    menu.addAction(m_addControllerActions.value(KStorageControllerType_PIIX4));
     3462    menu.addAction(m_addControllerActions.value(KStorageControllerType_ICH6));
     3463    menu.addAction(m_addControllerActions.value(KStorageControllerType_IntelAhci));
     3464    menu.addAction(m_addControllerActions.value(KStorageControllerType_LsiLogic));
     3465    menu.addAction(m_addControllerActions.value(KStorageControllerType_BusLogic));
     3466    menu.addAction(m_addControllerActions.value(KStorageControllerType_LsiLogicSas));
     3467    menu.addAction(m_addControllerActions.value(KStorageControllerType_I82078));
     3468    menu.addAction(m_addControllerActions.value(KStorageControllerType_USB));
     3469    menu.addAction(m_addControllerActions.value(KStorageControllerType_NVMe));
     3470    menu.addAction(m_addControllerActions.value(KStorageControllerType_VirtioSCSI));
    34793471    menu.exec(QCursor::pos());
    34803472}
     
    40053997    /* Configure "add controller" actions: */
    40063998    m_pActionAddController->setEnabled(fIDEPossible || fSATAPossible || fSCSIPossible || fFloppyPossible || fSASPossible || fUSBPossible || fNVMePossible || fVirtioSCSIPossible);
    4007     m_pActionAddControllerPIIX3->setEnabled(fIDEPossible);
    4008     m_pActionAddControllerPIIX4->setEnabled(fIDEPossible);
    4009     m_pActionAddControllerICH6->setEnabled(fIDEPossible);
    4010     m_pActionAddControllerAHCI->setEnabled(fSATAPossible);
    4011     m_pActionAddControllerLsiLogic->setEnabled(fSCSIPossible);
    4012     m_pActionAddControllerBusLogic->setEnabled(fSCSIPossible);
    4013     m_pActionAddControllerFloppy->setEnabled(fFloppyPossible);
    4014     m_pActionAddControllerLsiLogicSAS->setEnabled(fSASPossible);
    4015     m_pActionAddControllerUSB->setEnabled(fUSBPossible);
    4016     m_pActionAddControllerNVMe->setEnabled(fNVMePossible);
    4017     m_pActionAddControllerVirtioSCSI->setEnabled(fVirtioSCSIPossible);
     3999    m_addControllerActions.value(KStorageControllerType_PIIX3)->setEnabled(fIDEPossible);
     4000    m_addControllerActions.value(KStorageControllerType_PIIX4)->setEnabled(fIDEPossible);
     4001    m_addControllerActions.value(KStorageControllerType_ICH6)->setEnabled(fIDEPossible);
     4002    m_addControllerActions.value(KStorageControllerType_IntelAhci)->setEnabled(fSATAPossible);
     4003    m_addControllerActions.value(KStorageControllerType_LsiLogic)->setEnabled(fSCSIPossible);
     4004    m_addControllerActions.value(KStorageControllerType_BusLogic)->setEnabled(fSCSIPossible);
     4005    m_addControllerActions.value(KStorageControllerType_I82078)->setEnabled(fFloppyPossible);
     4006    m_addControllerActions.value(KStorageControllerType_LsiLogicSas)->setEnabled(fSASPossible);
     4007    m_addControllerActions.value(KStorageControllerType_USB)->setEnabled(fUSBPossible);
     4008    m_addControllerActions.value(KStorageControllerType_NVMe)->setEnabled(fNVMePossible);
     4009    m_addControllerActions.value(KStorageControllerType_VirtioSCSI)->setEnabled(fVirtioSCSIPossible);
    40184010
    40194011    /* Configure "add attachment" actions: */
     
    45124504
    45134505        /* Create 'Add PIIX3 Controller' action: */
    4514         m_pActionAddControllerPIIX3 = new QAction(this);
    4515         AssertPtrReturnVoid(m_pActionAddControllerPIIX3);
     4506        m_addControllerActions[KStorageControllerType_PIIX3] = new QAction(this);
     4507        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_PIIX3));
    45164508        {
    45174509            /* Configure action: */
    4518             m_pActionAddControllerPIIX3->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
     4510            m_addControllerActions.value(KStorageControllerType_PIIX3)->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
    45194511        }
    45204512
    45214513        /* Create 'Add PIIX4 Controller' action: */
    4522         m_pActionAddControllerPIIX4 = new QAction(this);
    4523         AssertPtrReturnVoid(m_pActionAddControllerPIIX4);
     4514        m_addControllerActions[KStorageControllerType_PIIX4] = new QAction(this);
     4515        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_PIIX4));
    45244516        {
    45254517            /* Configure action: */
    4526             m_pActionAddControllerPIIX4->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
     4518            m_addControllerActions.value(KStorageControllerType_PIIX4)->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
    45274519        }
    45284520
    45294521        /* Create 'Add ICH6 Controller' action: */
    4530         m_pActionAddControllerICH6 = new QAction(this);
    4531         AssertPtrReturnVoid(m_pActionAddControllerICH6);
     4522        m_addControllerActions[KStorageControllerType_ICH6] = new QAction(this);
     4523        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_ICH6));
    45324524        {
    45334525            /* Configure action: */
    4534             m_pActionAddControllerICH6->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
     4526            m_addControllerActions.value(KStorageControllerType_ICH6)->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
    45354527        }
    45364528
    45374529        /* Create 'Add AHCI Controller' action: */
    4538         m_pActionAddControllerAHCI = new QAction(this);
    4539         AssertPtrReturnVoid(m_pActionAddControllerAHCI);
     4530        m_addControllerActions[KStorageControllerType_IntelAhci] = new QAction(this);
     4531        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_IntelAhci));
    45404532        {
    45414533            /* Configure action: */
    4542             m_pActionAddControllerAHCI->setIcon(iconPool()->icon(SATAControllerAddEn, SATAControllerAddDis));
     4534            m_addControllerActions.value(KStorageControllerType_IntelAhci)->setIcon(iconPool()->icon(SATAControllerAddEn, SATAControllerAddDis));
    45434535        }
    45444536
    45454537        /* Create 'Add LsiLogic Controller' action: */
    4546         m_pActionAddControllerLsiLogic = new QAction(this);
    4547         AssertPtrReturnVoid(m_pActionAddControllerLsiLogic);
     4538        m_addControllerActions[KStorageControllerType_LsiLogic] = new QAction(this);
     4539        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_LsiLogic));
    45484540        {
    45494541            /* Configure action: */
    4550             m_pActionAddControllerLsiLogic->setIcon(iconPool()->icon(SCSIControllerAddEn, SCSIControllerAddDis));
     4542            m_addControllerActions.value(KStorageControllerType_LsiLogic)->setIcon(iconPool()->icon(SCSIControllerAddEn, SCSIControllerAddDis));
    45514543        }
    45524544
    45534545        /* Create 'Add BusLogic Controller' action: */
    4554         m_pActionAddControllerBusLogic = new QAction(this);
    4555         AssertPtrReturnVoid(m_pActionAddControllerBusLogic);
     4546        m_addControllerActions[KStorageControllerType_BusLogic] = new QAction(this);
     4547        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_BusLogic));
    45564548        {
    45574549            /* Configure action: */
    4558             m_pActionAddControllerBusLogic->setIcon(iconPool()->icon(SCSIControllerAddEn, SCSIControllerAddDis));
     4550            m_addControllerActions.value(KStorageControllerType_BusLogic)->setIcon(iconPool()->icon(SCSIControllerAddEn, SCSIControllerAddDis));
    45594551        }
    45604552
    45614553        /* Create 'Add Floppy Controller' action: */
    4562         m_pActionAddControllerFloppy = new QAction(this);
    4563         AssertPtrReturnVoid(m_pActionAddControllerFloppy);
     4554        m_addControllerActions[KStorageControllerType_I82078] = new QAction(this);
     4555        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_I82078));
    45644556        {
    45654557            /* Configure action: */
    4566             m_pActionAddControllerFloppy->setIcon(iconPool()->icon(FloppyControllerAddEn, FloppyControllerAddDis));
     4558            m_addControllerActions.value(KStorageControllerType_I82078)->setIcon(iconPool()->icon(FloppyControllerAddEn, FloppyControllerAddDis));
    45674559        }
    45684560
    45694561        /* Create 'Add LsiLogic SAS Controller' action: */
    4570         m_pActionAddControllerLsiLogicSAS = new QAction(this);
    4571         AssertPtrReturnVoid(m_pActionAddControllerLsiLogicSAS);
     4562        m_addControllerActions[KStorageControllerType_LsiLogicSas] = new QAction(this);
     4563        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_LsiLogicSas));
    45724564        {
    45734565            /* Configure action: */
    4574             m_pActionAddControllerLsiLogicSAS->setIcon(iconPool()->icon(SASControllerAddEn, SASControllerAddDis));
     4566            m_addControllerActions.value(KStorageControllerType_LsiLogicSas)->setIcon(iconPool()->icon(SASControllerAddEn, SASControllerAddDis));
    45754567        }
    45764568
    45774569        /* Create 'Add USB Controller' action: */
    4578         m_pActionAddControllerUSB = new QAction(this);
    4579         AssertPtrReturnVoid(m_pActionAddControllerUSB);
     4570        m_addControllerActions[KStorageControllerType_USB] = new QAction(this);
     4571        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_USB));
    45804572        {
    45814573            /* Configure action: */
    4582             m_pActionAddControllerUSB->setIcon(iconPool()->icon(USBControllerAddEn, USBControllerAddDis));
     4574            m_addControllerActions.value(KStorageControllerType_USB)->setIcon(iconPool()->icon(USBControllerAddEn, USBControllerAddDis));
    45834575        }
    45844576
    45854577        /* Create 'Add NVMe Controller' action: */
    4586         m_pActionAddControllerNVMe = new QAction(this);
    4587         AssertPtrReturnVoid(m_pActionAddControllerNVMe);
     4578        m_addControllerActions[KStorageControllerType_NVMe] = new QAction(this);
     4579        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_NVMe));
    45884580        {
    45894581            /* Configure action: */
    4590             m_pActionAddControllerNVMe->setIcon(iconPool()->icon(NVMeControllerAddEn, NVMeControllerAddDis));
     4582            m_addControllerActions.value(KStorageControllerType_NVMe)->setIcon(iconPool()->icon(NVMeControllerAddEn, NVMeControllerAddDis));
    45914583        }
    45924584
    45934585        /* Create 'Add virtio-scsi Controller' action: */
    4594         m_pActionAddControllerVirtioSCSI = new QAction(this);
    4595         AssertPtrReturnVoid(m_pActionAddControllerVirtioSCSI);
     4586        m_addControllerActions[KStorageControllerType_VirtioSCSI] = new QAction(this);
     4587        AssertPtrReturnVoid(m_addControllerActions.value(KStorageControllerType_VirtioSCSI));
    45964588        {
    45974589            /* Configure action: */
    4598             m_pActionAddControllerVirtioSCSI->setIcon(iconPool()->icon(VirtioSCSIControllerAddEn, VirtioSCSIControllerAddDis));
     4590            m_addControllerActions.value(KStorageControllerType_VirtioSCSI)->setIcon(iconPool()->icon(VirtioSCSIControllerAddEn, VirtioSCSIControllerAddDis));
    45994591        }
    46004592
     
    47364728    /* Configure actions: */
    47374729    connect(m_pActionAddController, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddController);
    4738     connect(m_pActionAddControllerPIIX3, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerPIIX3);
    4739     connect(m_pActionAddControllerPIIX4, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerPIIX4);
    4740     connect(m_pActionAddControllerICH6, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerICH6);
    4741     connect(m_pActionAddControllerAHCI, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerAHCI);
    4742     connect(m_pActionAddControllerLsiLogic, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerLsiLogic);
    4743     connect(m_pActionAddControllerBusLogic, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerBusLogic);
    4744     connect(m_pActionAddControllerFloppy, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerFloppy);
    4745     connect(m_pActionAddControllerLsiLogicSAS, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerLsiLogicSAS);
    4746     connect(m_pActionAddControllerUSB, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerUSB);
    4747     connect(m_pActionAddControllerNVMe, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerNVMe);
    4748     connect(m_pActionAddControllerVirtioSCSI, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerVirtioSCSI);
     4730    connect(m_addControllerActions.value(KStorageControllerType_PIIX3), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerPIIX3);
     4731    connect(m_addControllerActions.value(KStorageControllerType_PIIX4), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerPIIX4);
     4732    connect(m_addControllerActions.value(KStorageControllerType_ICH6), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerICH6);
     4733    connect(m_addControllerActions.value(KStorageControllerType_IntelAhci), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerAHCI);
     4734    connect(m_addControllerActions.value(KStorageControllerType_LsiLogic), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerLsiLogic);
     4735    connect(m_addControllerActions.value(KStorageControllerType_BusLogic), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerBusLogic);
     4736    connect(m_addControllerActions.value(KStorageControllerType_I82078), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerFloppy);
     4737    connect(m_addControllerActions.value(KStorageControllerType_LsiLogicSas), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerLsiLogicSAS);
     4738    connect(m_addControllerActions.value(KStorageControllerType_USB), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerUSB);
     4739    connect(m_addControllerActions.value(KStorageControllerType_NVMe), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerNVMe);
     4740    connect(m_addControllerActions.value(KStorageControllerType_VirtioSCSI), &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerVirtioSCSI);
    47494741    connect(m_pActionRemoveController, &QAction::triggered, this, &UIMachineSettingsStorage::sltRemoveController);
    47504742    connect(m_pActionAddAttachment, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddAttachment);
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h

    r81676 r82248  
    272272    /** Holds the 'Remove Controller' action instance. */
    273273    QAction *m_pActionRemoveController;
    274     /** Holds the 'Add PIIX3 Controller' action instance. */
    275     QAction *m_pActionAddControllerPIIX3;
    276     /** Holds the 'Add PIIX4 Controller' action instance. */
    277     QAction *m_pActionAddControllerPIIX4;
    278     /** Holds the 'Add ICH6 Controller' action instance. */
    279     QAction *m_pActionAddControllerICH6;
    280     /** Holds the 'Add AHCI Controller' action instance. */
    281     QAction *m_pActionAddControllerAHCI;
    282     /** Holds the 'Add LsiLogic Controller' action instance. */
    283     QAction *m_pActionAddControllerLsiLogic;
    284     /** Holds the 'Add BusLogic Controller' action instance. */
    285     QAction *m_pActionAddControllerBusLogic;
    286     /** Holds the 'Add LsiLogic SAS Controller' action instance. */
    287     QAction *m_pActionAddControllerLsiLogicSAS;
    288     /** Holds the 'Add Floppy Controller' action instance. */
    289     QAction *m_pActionAddControllerFloppy;
    290     /** Holds the 'Add USB Controller' action instance. */
    291     QAction *m_pActionAddControllerUSB;
    292     /** Holds the 'Add NVMe Controller' action instance. */
    293     QAction *m_pActionAddControllerNVMe;
    294     /** Holds the 'Add virtio-scsi Controller' action instance. */
    295     QAction *m_pActionAddControllerVirtioSCSI;
     274    /** Holds the map of add controller action instances. */
     275    QMap<KStorageControllerType, QAction*> m_addControllerActions;
     276
    296277    /** Holds the 'Add Attachment' action instance. */
    297278    QAction *m_pActionAddAttachment;
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