VirtualBox

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


Ignore:
Timestamp:
Apr 27, 2020 4:25:12 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9653: Extend QIDialogContainer with possibility to show progress-bar.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/extensions
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIDialogContainer.cpp

    r82968 r84016  
    1818/* Qt includes: */
    1919#include <QGridLayout>
     20#include <QProgressBar>
    2021#include <QPushButton>
    2122
     
    3233    , m_pLayout(0)
    3334    , m_pWidget(0)
     35    , m_pProgressBar(0)
    3436    , m_pButtonBox(0)
    3537{
     
    4345    if (m_pWidget)
    4446        m_pLayout->addWidget(m_pWidget, 0, 0);
     47}
     48
     49void QIDialogContainer::setProgressBarHidden(bool fHidden)
     50{
     51    AssertPtrReturnVoid(m_pProgressBar);
     52    m_pProgressBar->setHidden(fHidden);
    4553}
    4654
     
    5866    if (m_pLayout)
    5967    {
    60         /* Prepare dialog button-box: */
    61         m_pButtonBox = new QIDialogButtonBox(this);
    62         if (m_pButtonBox)
     68        /* Prepare horizontal layout: */
     69        QHBoxLayout *pHLayout = new QHBoxLayout;
     70        if (pHLayout)
    6371        {
    64             m_pButtonBox->setStandardButtons(QDialogButtonBox::Ok);
    65             connect(m_pButtonBox, &QIDialogButtonBox::accepted,
    66                     this, &QDialog::accept);
    67             connect(m_pButtonBox, &QIDialogButtonBox::rejected,
    68                     this, &QDialog::reject);
    69             m_pLayout->addWidget(m_pButtonBox, 1, 0);
     72            /* Prepare progress-bar: */
     73            m_pProgressBar = new QProgressBar(this);
     74            if (m_pProgressBar)
     75            {
     76                m_pProgressBar->setHidden(true);
     77                m_pProgressBar->setMinimum(0);
     78                m_pProgressBar->setMaximum(0);
     79
     80                /* Add into layout: */
     81                pHLayout->addWidget(m_pProgressBar);
     82            }
     83
     84            /* Prepare dialog button-box: */
     85            m_pButtonBox = new QIDialogButtonBox(this);
     86            if (m_pButtonBox)
     87            {
     88                m_pButtonBox->setStandardButtons(QDialogButtonBox::Ok);
     89                connect(m_pButtonBox, &QIDialogButtonBox::accepted,
     90                        this, &QDialog::accept);
     91                connect(m_pButtonBox, &QIDialogButtonBox::rejected,
     92                        this, &QDialog::reject);
     93
     94                /* Add into layout: */
     95                pHLayout->addWidget(m_pButtonBox);
     96            }
     97
     98            /* Add into layout: */
     99            m_pLayout->addLayout(pHLayout, 1, 0);
    70100        }
    71101    }
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIDialogContainer.h

    r82968 r84016  
    3030/* Forward declarations: */
    3131class QGridLayout;
     32class QProgressBar;
    3233class QWidget;
    3334class QIDialogButtonBox;
     
    5253    void sltActivateWindow() { activateWindow(); }
    5354
     55    /** Sets progress-bar to be @a fHidden. */
     56    void setProgressBarHidden(bool fHidden);
     57
    5458    /** Sets Ok button to be @a fEnabled. */
    5559    void setOkButtonEnabled(bool fEnabled);
     
    6468    /** Holds the widget reference. */
    6569    QWidget           *m_pWidget;
     70    /** Holds the progress-bar instance. */
     71    QProgressBar      *m_pProgressBar;
    6672    /** Holds the button-box instance. */
    6773    QIDialogButtonBox *m_pButtonBox;
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