| 36 | QPointer<ProgressDialog> g_pProgressDialog = nullptr; |
| 37 | |
| 38 | ProgressDialog::ProgressDialog(QWidget* pParent, QStatusBar* pStatusBar) |
| 39 | : QDialog(pParent), m_pStatusBar(pStatusBar) |
| 40 | { |
| 41 | dialogUi.setupUi(this); |
| 42 | setModal(true); |
| 43 | //Abort if verticalLayout is not the immediate child of the dialog. This interferes with re-sizing. |
| 44 | assert(dialogUi.layout->parent() == this); |
| 45 | |
| 46 | chk_connect_a(dialogUi.abortButton, &QPushButton::clicked, this, &ProgressDialog::slotAbort); |
| 47 | if(m_pStatusBar != nullptr) |
| 48 | { |
| 49 | m_pStatusBarWidget = new QWidget; |
| 50 | QHBoxLayout* pStatusBarLayout = new QHBoxLayout(m_pStatusBarWidget); |
| 51 | pStatusBarLayout->setContentsMargins(0, 0, 0, 0); |
| 52 | pStatusBarLayout->setSpacing(3); |
| 53 | m_pStatusProgressBar = new QProgressBar; |
| 54 | m_pStatusProgressBar->setRange(0, 1000); |
| 55 | m_pStatusProgressBar->setTextVisible(false); |
| 56 | m_pStatusAbortButton = new QPushButton(i18n("&Cancel")); |
| 57 | chk_connect_a(m_pStatusAbortButton, &QPushButton::clicked, this, &ProgressDialog::slotAbort); |
| 58 | pStatusBarLayout->addWidget(m_pStatusProgressBar); |
| 59 | pStatusBarLayout->addWidget(m_pStatusAbortButton); |
| 60 | m_pStatusBar->addPermanentWidget(m_pStatusBarWidget, 0); |
| 61 | m_pStatusBarWidget->setFixedHeight(m_pStatusBar->height()); |
| 62 | m_pStatusBarWidget->hide(); |
| 63 | } |
| 64 | |
| 65 | resize(400, 100); |
| 66 | |
| 67 | m_t1.start(); |
| 68 | m_t2.start(); |
| 69 | |
| 70 | initConnections(); |
| 71 | } |
| 72 | |
| 73 | ProgressDialog::~ProgressDialog() |
| 74 | { |