VirtualBox

Changeset 85157 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Jul 9, 2020 7:48:19 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
139120
Message:

FE/Qt: bugref:9515:

  • Marking pages and widgets correctly when they break isComplete
  • Disabling and enabling page/widgets better
  • some more eye candy fixes
Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc

    r85115 r85157  
    1515        <file alias="menubar_settings_disabled_16px.png">images/menubar_settings_disabled_16px.png</file>
    1616        <file alias="minimize_16px.png">images/minimize_16px.png</file>
     17        <file alias="monitor_glossy.png">images/monitor_glossy.png</file>
    1718        <file alias="monitor.png">images/monitor.png</file>
    18         <file alias="monitor_glossy.png">images/monitor_glossy.png</file>
    1919        <file alias="mouse_16px.png">images/mouse_16px.png</file>
    2020        <file alias="mouse_can_seamless_16px.png">images/mouse_can_seamless_16px.png</file>
     
    3838        <file alias="nw_write_16px.png">images/nw_write_16px.png</file>
    3939        <file alias="ok_16px.png">images/ok_16px.png</file>
     40        <file alias="os_archlinux_64.png">images/os_archlinux_64.png</file>
    4041        <file alias="os_archlinux.png">images/os_archlinux.png</file>
    41         <file alias="os_archlinux_64.png">images/os_archlinux_64.png</file>
    4242        <file alias="os_cloud.png">images/os_cloud.png</file>
     43        <file alias="os_debian_64.png">images/os_debian_64.png</file>
    4344        <file alias="os_debian.png">images/os_debian.png</file>
    44         <file alias="os_debian_64.png">images/os_debian_64.png</file>
    4545        <file alias="os_dos.png">images/os_dos.png</file>
     46        <file alias="os_fedora_64.png">images/os_fedora_64.png</file>
    4647        <file alias="os_fedora.png">images/os_fedora.png</file>
    47         <file alias="os_fedora_64.png">images/os_fedora_64.png</file>
     48        <file alias="os_freebsd_64.png">images/os_freebsd_64.png</file>
    4849        <file alias="os_freebsd.png">images/os_freebsd.png</file>
    49         <file alias="os_freebsd_64.png">images/os_freebsd_64.png</file>
     50        <file alias="os_gentoo_64.png">images/os_gentoo_64.png</file>
    5051        <file alias="os_gentoo.png">images/os_gentoo.png</file>
    51         <file alias="os_gentoo_64.png">images/os_gentoo_64.png</file>
    5252        <file alias="os_jrockitve.png">images/os_jrockitve.png</file>
    5353        <file alias="os_l4.png">images/os_l4.png</file>
     54        <file alias="os_linux22.png">images/os_linux22.png</file>
     55        <file alias="os_linux24_64.png">images/os_linux24_64.png</file>
     56        <file alias="os_linux24.png">images/os_linux24.png</file>
     57        <file alias="os_linux26_64.png">images/os_linux26_64.png</file>
     58        <file alias="os_linux26.png">images/os_linux26.png</file>
     59        <file alias="os_linux_64.png">images/os_linux_64.png</file>
    5460        <file alias="os_linux.png">images/os_linux.png</file>
    55         <file alias="os_linux22.png">images/os_linux22.png</file>
    56         <file alias="os_linux24.png">images/os_linux24.png</file>
    57         <file alias="os_linux24_64.png">images/os_linux24_64.png</file>
    58         <file alias="os_linux26.png">images/os_linux26.png</file>
    59         <file alias="os_linux26_64.png">images/os_linux26_64.png</file>
    60         <file alias="os_linux_64.png">images/os_linux_64.png</file>
     61        <file alias="os_macosx_64.png">images/os_macosx_64.png</file>
    6162        <file alias="os_macosx.png">images/os_macosx.png</file>
    62         <file alias="os_macosx_64.png">images/os_macosx_64.png</file>
     63        <file alias="os_mandriva_64.png">images/os_mandriva_64.png</file>
    6364        <file alias="os_mandriva.png">images/os_mandriva.png</file>
    64         <file alias="os_mandriva_64.png">images/os_mandriva_64.png</file>
     65        <file alias="os_netbsd_64.png">images/os_netbsd_64.png</file>
    6566        <file alias="os_netbsd.png">images/os_netbsd.png</file>
    66         <file alias="os_netbsd_64.png">images/os_netbsd_64.png</file>
    6767        <file alias="os_netware.png">images/os_netware.png</file>
     68        <file alias="os_openbsd_64.png">images/os_openbsd_64.png</file>
    6869        <file alias="os_openbsd.png">images/os_openbsd.png</file>
    69         <file alias="os_openbsd_64.png">images/os_openbsd_64.png</file>
     70        <file alias="os_opensuse_64.png">images/os_opensuse_64.png</file>
    7071        <file alias="os_opensuse.png">images/os_opensuse.png</file>
    71         <file alias="os_opensuse_64.png">images/os_opensuse_64.png</file>
     72        <file alias="os_oracle_64.png">images/os_oracle_64.png</file>
    7273        <file alias="os_oracle.png">images/os_oracle.png</file>
    73         <file alias="os_oracle_64.png">images/os_oracle_64.png</file>
     74        <file alias="os_oraclesolaris_64.png">images/os_oraclesolaris_64.png</file>
    7475        <file alias="os_oraclesolaris.png">images/os_oraclesolaris.png</file>
    75         <file alias="os_oraclesolaris_64.png">images/os_oraclesolaris_64.png</file>
     76        <file alias="os_os2ecs.png">images/os_os2ecs.png</file>
    7677        <file alias="os_os2_other.png">images/os_os2_other.png</file>
    77         <file alias="os_os2ecs.png">images/os_os2ecs.png</file>
    7878        <file alias="os_os2warp3.png">images/os_os2warp3.png</file>
     79        <file alias="os_os2warp45.png">images/os_os2warp45.png</file>
    7980        <file alias="os_os2warp4.png">images/os_os2warp4.png</file>
    80         <file alias="os_os2warp45.png">images/os_os2warp45.png</file>
     81        <file alias="os_other_64.png">images/os_other_64.png</file>
    8182        <file alias="os_other.png">images/os_other.png</file>
    82         <file alias="os_other_64.png">images/os_other_64.png</file>
    8383        <file alias="os_qnx.png">images/os_qnx.png</file>
     84        <file alias="os_redhat_64.png">images/os_redhat_64.png</file>
    8485        <file alias="os_redhat.png">images/os_redhat.png</file>
    85         <file alias="os_redhat_64.png">images/os_redhat_64.png</file>
     86        <file alias="os_solaris_64.png">images/os_solaris_64.png</file>
    8687        <file alias="os_solaris.png">images/os_solaris.png</file>
    87         <file alias="os_solaris_64.png">images/os_solaris_64.png</file>
     88        <file alias="os_turbolinux_64.png">images/os_turbolinux_64.png</file>
    8889        <file alias="os_turbolinux.png">images/os_turbolinux.png</file>
    89         <file alias="os_turbolinux_64.png">images/os_turbolinux_64.png</file>
     90        <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
    9091        <file alias="os_ubuntu.png">images/os_ubuntu.png</file>
    91         <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
     92        <file alias="os_win10_64.png">images/os_win10_64.png</file>
    9293        <file alias="os_win10.png">images/os_win10.png</file>
    93         <file alias="os_win10_64.png">images/os_win10_64.png</file>
    94         <file alias="os_win2k.png">images/os_win2k.png</file>
    9594        <file alias="os_win2k12_64.png">images/os_win2k12_64.png</file>
    9695        <file alias="os_win2k16_64.png">images/os_win2k16_64.png</file>
    9796        <file alias="os_win2k19_64.png">images/os_win2k19_64.png</file>
     97        <file alias="os_win2k3_64.png">images/os_win2k3_64.png</file>
    9898        <file alias="os_win2k3.png">images/os_win2k3.png</file>
    99         <file alias="os_win2k3_64.png">images/os_win2k3_64.png</file>
     99        <file alias="os_win2k8_64.png">images/os_win2k8_64.png</file>
    100100        <file alias="os_win2k8.png">images/os_win2k8.png</file>
    101         <file alias="os_win2k8_64.png">images/os_win2k8_64.png</file>
     101        <file alias="os_win2k.png">images/os_win2k.png</file>
    102102        <file alias="os_win31.png">images/os_win31.png</file>
     103        <file alias="os_win7_64.png">images/os_win7_64.png</file>
    103104        <file alias="os_win7.png">images/os_win7.png</file>
    104         <file alias="os_win7_64.png">images/os_win7_64.png</file>
     105        <file alias="os_win81_64.png">images/os_win81_64.png</file>
     106        <file alias="os_win81.png">images/os_win81.png</file>
     107        <file alias="os_win8_64.png">images/os_win8_64.png</file>
    105108        <file alias="os_win8.png">images/os_win8.png</file>
    106         <file alias="os_win81.png">images/os_win81.png</file>
    107         <file alias="os_win81_64.png">images/os_win81_64.png</file>
    108         <file alias="os_win8_64.png">images/os_win8_64.png</file>
    109109        <file alias="os_win95.png">images/os_win95.png</file>
    110110        <file alias="os_win98.png">images/os_win98.png</file>
    111         <file alias="os_win_other.png">images/os_win_other.png</file>
    112         <file alias="os_win_other_64.png">images/os_win_other_64.png</file>
    113111        <file alias="os_winme.png">images/os_winme.png</file>
    114112        <file alias="os_winnt4.png">images/os_winnt4.png</file>
     113        <file alias="os_win_other_64.png">images/os_win_other_64.png</file>
     114        <file alias="os_win_other.png">images/os_win_other.png</file>
     115        <file alias="os_winvista_64.png">images/os_winvista_64.png</file>
    115116        <file alias="os_winvista.png">images/os_winvista.png</file>
    116         <file alias="os_winvista_64.png">images/os_winvista_64.png</file>
     117        <file alias="os_winxp_64.png">images/os_winxp_64.png</file>
    117118        <file alias="os_winxp.png">images/os_winxp.png</file>
    118         <file alias="os_winxp_64.png">images/os_winxp_64.png</file>
     119        <file alias="os_xandros_64.png">images/os_xandros_64.png</file>
    119120        <file alias="os_xandros.png">images/os_xandros.png</file>
    120         <file alias="os_xandros_64.png">images/os_xandros_64.png</file>
    121121        <file alias="pcie_16px.png">images/pcie_16px.png</file>
    122122        <file alias="pcie_add_16px.png">images/pcie_add_16px.png</file>
     
    295295        <file alias="state_saving_16px.png">images/state_saving_16px.png</file>
    296296        <file alias="state_stuck_16px.png">images/state_stuck_16px.png</file>
    297         <file alias="status_check_16px.png">images/status_check_16px.png</file>
    298         <file alias="status_error_16px.png">images/status_error_16px.png</file>
    299297        <file alias="statusbar_16px.png">images/statusbar_16px.png</file>
    300298        <file alias="statusbar_disabled_16px.png">images/statusbar_disabled_16px.png</file>
     
    303301        <file alias="statusbar_settings_16px.png">images/statusbar_settings_16px.png</file>
    304302        <file alias="statusbar_settings_disabled_16px.png">images/statusbar_settings_disabled_16px.png</file>
     303        <file alias="status_check_16px.png">images/status_check_16px.png</file>
     304        <file alias="status_error_16px.png">images/status_error_16px.png</file>
    305305        <file alias="subnet_16px.png">images/subnet_16px.png</file>
    306306        <file alias="system_type_16px.png">images/system_type_16px.png</file>
     
    418418        <file alias="vtx_amdv_16px.png">images/vtx_amdv_16px.png</file>
    419419        <file alias="vtx_amdv_disabled_16px.png">images/vtx_amdv_disabled_16px.png</file>
     420        <file alias="warning.png">images/warning.png</file>
    420421        <file alias="web_camera_16px.png">images/web_camera_16px.png</file>
    421422        <file alias="web_camera_disabled_16px.png">images/web_camera_disabled_16px.png</file>
     
    424425        <file alias="welcome_200px.png">images/welcome_200px.png</file>
    425426        <file alias="welcome_screen_24px.png">images/welcome_screen_24px.png</file>
     427        <file alias="wizard_clone_bg.png">images/wizard_clone_bg.png</file>
    426428        <file alias="wizard_clone.png">images/wizard_clone.png</file>
    427         <file alias="wizard_clone_bg.png">images/wizard_clone_bg.png</file>
     429        <file alias="wizard_first_run_bg.png">images/wizard_first_run_bg.png</file>
    428430        <file alias="wizard_first_run.png">images/wizard_first_run.png</file>
    429         <file alias="wizard_first_run_bg.png">images/wizard_first_run_bg.png</file>
     431        <file alias="wizard_new_cloud_vm_bg.png">images/wizard_new_cloud_vm_bg.png</file>
    430432        <file alias="wizard_new_cloud_vm.png">images/wizard_new_cloud_vm.png</file>
    431         <file alias="wizard_new_cloud_vm_bg.png">images/wizard_new_cloud_vm_bg.png</file>
     433        <file alias="wizard_new_harddisk_bg.png">images/wizard_new_harddisk_bg.png</file>
    432434        <file alias="wizard_new_harddisk.png">images/wizard_new_harddisk.png</file>
    433         <file alias="wizard_new_harddisk_bg.png">images/wizard_new_harddisk_bg.png</file>
     435        <file alias="wizard_new_welcome_bg.png">images/wizard_new_welcome_bg.png</file>
    434436        <file alias="wizard_new_welcome.png">images/wizard_new_welcome.png</file>
    435         <file alias="wizard_new_welcome_bg.png">images/wizard_new_welcome_bg.png</file>
     437        <file alias="wizard_ovf_export_bg.png">images/wizard_ovf_export_bg.png</file>
    436438        <file alias="wizard_ovf_export.png">images/wizard_ovf_export.png</file>
    437         <file alias="wizard_ovf_export_bg.png">images/wizard_ovf_export_bg.png</file>
     439        <file alias="wizard_ovf_import_bg.png">images/wizard_ovf_import_bg.png</file>
    438440        <file alias="wizard_ovf_import.png">images/wizard_ovf_import.png</file>
    439         <file alias="wizard_ovf_import_bg.png">images/wizard_ovf_import_bg.png</file>
    440441    </qresource>
    441442</RCC>
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp

    r85150 r85157  
    5959
    6060        m_pToolBox->insertItem(ExpertToolboxItems_NameAndOSType, m_pNameAndSystemContainer, "");
     61        m_pToolBox->insertItem(ExpertToolboxItems_Disk, createDiskWidgets(), "");
     62        m_pToolBox->insertItem(ExpertToolboxItems_Hardware, createHardwareWidgets(), "");
    6163        m_pToolBox->insertItem(ExpertToolboxItems_UsernameHostname, m_pUsernameHostnameContainer, "");
    6264        m_pToolBox->insertItem(ExpertToolboxItems_GAInstall, m_pGAInstallContainer, "");
    6365        m_pToolBox->insertItem(ExpertToolboxItems_ProductKey, createProductKeyWidgets(), "");
    64         m_pToolBox->insertItem(ExpertToolboxItems_Disk, createDiskWidgets(), "");
    65         m_pToolBox->insertItem(ExpertToolboxItems_Hardware, createHardwareWidgets(), "");
    6666        pMainLayout->addWidget(m_pToolBox);
    6767        pMainLayout->addStretch();
     
    9595    registerField("productKey", this, "productKey");
    9696    registerField("VCPUCount", this, "VCPUCount");
     97
     98    m_pToolBox->setStyleSheet("QToolBox::tab:selected { font: bold; }");
     99    //m_pToolBox->setStyleSheet("QToolBox::tab:hover { font: bold; }");
     100    //qApp->setStyleSheet("QWidget#bla {  background: blue; }");
     101    if (m_pButtonUnattended)
     102        disableEnableUnattendedRelatedWidgets(m_pButtonUnattended->isChecked());
    97103}
    98104
     
    175181void UIWizardNewVMPageExpert::sltOSFamilyTypeChanged()
    176182{
    177     if (m_pProductKeyLabel)
    178         m_pProductKeyLabel->setEnabled(isProductKeyWidgetEnabled());
    179     if (m_pProductKeyLineEdit)
    180         m_pProductKeyLineEdit->setEnabled(isProductKeyWidgetEnabled());
     183    if (m_pToolBox)
     184        m_pToolBox->setItemEnabled(ExpertToolboxItems_ProductKey, isProductKeyWidgetEnabled());
    181185}
    182186
     
    218222    if (m_pToolBox)
    219223    {
    220         m_pToolBox->setItemText(ExpertToolboxItems_NameAndOSType, UIWizardNewVM::tr("Name and operating system"));
     224        m_pToolBox->setItemText(ExpertToolboxItems_NameAndOSType, QString(UIWizardNewVM::tr("Name and operating system")));
    221225        m_pToolBox->setItemText(ExpertToolboxItems_UsernameHostname, UIWizardNewVM::tr("Username and hostname"));
    222226        m_pToolBox->setItemText(ExpertToolboxItems_GAInstall, UIWizardNewVM::tr("Guest additions install"));
     
    345349{
    346350    markWidgets();
    347 
    348     /* Make sure mandatory fields are complete,
    349      * 'ram' field feats the bounds,
    350      * 'virtualDisk' field feats the rules: */
    351     if (!UIWizardPage::isComplete() &&
    352         (m_pDiskSkip->isChecked() || !m_pDiskPresent->isChecked() || !uiCommon().medium(m_pDiskSelector->id()).isNull()))
    353         return false;
     351    bool fIsComplete = true;
     352    m_pToolBox->setItemIcon(ExpertToolboxItems_NameAndOSType, QIcon());
     353    m_pToolBox->setItemIcon(ExpertToolboxItems_Disk, QIcon());
     354    m_pToolBox->setItemIcon(ExpertToolboxItems_Hardware, QIcon());
     355    m_pToolBox->setItemIcon(ExpertToolboxItems_UsernameHostname, QIcon());
     356    m_pToolBox->setItemIcon(ExpertToolboxItems_GAInstall, QIcon());
     357    m_pToolBox->setItemIcon(ExpertToolboxItems_ProductKey, QIcon());
     358
     359
     360    if (!UIWizardPage::isComplete())
     361    {
     362        m_pToolBox->setItemIcon(ExpertToolboxItems_NameAndOSType,
     363                                UIIconPool::iconSet(":/warning.png"));
     364        fIsComplete = false;
     365    }
     366
     367    if (!m_pDiskSkip->isChecked() && !m_pDiskPresent->isChecked() && uiCommon().medium(m_pDiskSelector->id()).isNull())
     368    {
     369        m_pToolBox->setItemIcon(ExpertToolboxItems_Disk,
     370                                UIIconPool::iconSet(":/warning.png"));
     371        fIsComplete = false;
     372    }
    354373    /* Check unattended install related stuff: */
    355374    if (isUnattendedEnabled())
     
    357376        /* Check the installation medium: */
    358377        if (!isISOFileSelectorComplete())
    359             return false;
     378        {
     379            m_pToolBox->setItemIcon(ExpertToolboxItems_NameAndOSType,
     380                                    UIIconPool::iconSet(":/warning.png"));
     381            fIsComplete = false;
     382        }
    360383        /* Check the GA installation medium: */
    361384        if (!checkGAISOFile())
    362             return false;
     385        {
     386            m_pToolBox->setItemIcon(ExpertToolboxItems_GAInstall,
     387                                    UIIconPool::iconSet(":/warning.png"));
     388            fIsComplete = false;
     389        }
    363390        if (m_pUserNamePasswordEditor)
    364391        {
    365392            if (!m_pUserNamePasswordEditor->isComplete())
    366                 return false;
    367         }
    368     }
    369     return true;
     393            {
     394                m_pToolBox->setItemIcon(ExpertToolboxItems_UsernameHostname,
     395                                        UIIconPool::iconSet(":/warning.png"));
     396                fIsComplete = false;
     397            }
     398        }
     399    }
     400    return fIsComplete;
    370401}
    371402
     
    418449void UIWizardNewVMPageExpert::disableEnableUnattendedRelatedWidgets(bool fEnabled)
    419450{
     451    if (m_pToolBox)
     452    {
     453        m_pToolBox->setItemEnabled(ExpertToolboxItems_UsernameHostname, fEnabled);
     454        m_pToolBox->setItemEnabled(ExpertToolboxItems_GAInstall, fEnabled);
     455        m_pToolBox->setItemEnabled(ExpertToolboxItems_ProductKey, fEnabled);
     456    }
    420457    if (m_pISOSelectorLabel)
    421458        m_pISOSelectorLabel->setEnabled(fEnabled);
     
    426463    if (m_pStartHeadlessCheckBox)
    427464        m_pStartHeadlessCheckBox->setEnabled(fEnabled);
    428     if (m_pGAInstallContainer)
    429         m_pGAInstallContainer->setEnabled(fEnabled);
    430     if (m_pUsernameHostnameContainer)
    431         m_pUsernameHostnameContainer->setEnabled(fEnabled);
    432     if (m_pUserNamePasswordEditor)
    433         m_pUserNamePasswordEditor->setForceUnmark(!fEnabled);
    434     if (m_pProductKeyLabel)
    435         m_pProductKeyLabel->setEnabled(isProductKeyWidgetEnabled());
    436     if (m_pProductKeyLineEdit)
    437         m_pProductKeyLineEdit->setEnabled(isProductKeyWidgetEnabled());
    438 }
     465}
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h

    r85150 r85157  
    8989    {
    9090        ExpertToolboxItems_NameAndOSType,
     91        ExpertToolboxItems_Disk,
     92        ExpertToolboxItems_Hardware,
    9193        ExpertToolboxItems_UsernameHostname,
    9294        ExpertToolboxItems_GAInstall,
    93         ExpertToolboxItems_ProductKey,
    94         ExpertToolboxItems_Disk,
    95         ExpertToolboxItems_Hardware
    96 
     95        ExpertToolboxItems_ProductKey
    9796    };
    9897    /** Translation stuff. */
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