Пример #1
0
 /**
  * Destructor. Remove the progress windows
  **/
 ~ProgressBar()
     {
     deleteProgressWidget(_PW);
     }
Пример #2
0
void MainWindow::loadPage(InstallationStep page)
{
    m_ui.nextButton->setVisible(true);
    m_ui.previousButton->setVisible(true);

    disconnect(this, SLOT(showProgressWidget()));
    disconnect(this, SIGNAL(readyToCreate()), 0, 0);

    while (m_ui.stackedWidget->count() != 0) {
        QWidget *w = m_ui.stackedWidget->widget(0);
        m_ui.stackedWidget->removeWidget(w);
        w->deleteLater();
    }

    switch (page) {
    case MainWindow::Welcome:
        m_ui.stackedWidget->addWidget(new IntroPage(this));
        m_ui.abortButton->setVisible(true);
        m_ui.previousButton->setVisible(false);
        break;

    case MainWindow::ReleaseNotes:
        m_ui.stackedWidget->addWidget(new ReleaseNotesPage(this));
        break;

    case MainWindow::LicenseApproval:
        m_ui.stackedWidget->addWidget(new LicensePage(this));
        break;

    case MainWindow::Language:
        m_ui.stackedWidget->addWidget(new LocalePage(this));
        break;

    case MainWindow::CreateUser:
        m_ui.stackedWidget->addWidget(new UserCreationPage(this));
        break;

    case MainWindow::Partition:
        m_ui.stackedWidget->addWidget(new PartitionPage(this));
        break;

    case MainWindow::ReadyToInstall:
        m_ui.stackedWidget->addWidget(new ReadyInstallPage(this));
        break;

    case MainWindow::InstallSystem:
        m_ui.stackedWidget->addWidget(new InstallationPage(this));
        m_ui.previousButton->setVisible(false);
        m_ui.nextButton->setVisible(false);
        break;

    case MainWindow::Configuration:
        m_ui.stackedWidget->addWidget(new ConfigPage(this));
        m_ui.previousButton->setVisible(false);
        break;

    case MainWindow::FinishStep:
        m_ui.stackedWidget->addWidget(new FinishPage(this));
        m_ui.previousButton->setVisible(false);
        m_ui.nextButton->setVisible(false);
        m_ui.abortButton->setVisible(false);
        break;

    default:
        break;
    }

    setInstallationStep(page, MainWindow::InProgress);

    m_ui.stackedWidget->setCurrentIndex(0);

    AbstractPage *abstractPage = qobject_cast<AbstractPage *>(m_ui.stackedWidget->widget(0));

    if (abstractPage) {
        connect(abstractPage, SIGNAL(abortInstallation()), this, SLOT(abortInstallation()));
        connect(abstractPage, SIGNAL(goToNextStep()), this, SLOT(goToNextStep()));
        connect(abstractPage, SIGNAL(goToPreviousStep()), this, SLOT(goToPreviousStep()));
        connect(abstractPage, SIGNAL(showProgressWidget()), this, SLOT(showProgressWidget()));
        connect(abstractPage, SIGNAL(deleteProgressWidget()), this, SLOT(deleteProgressWidget()));
        connect(abstractPage, SIGNAL(updateProgressWidget(int)), this, SIGNAL(updateProgressWidget(int)));
        connect(abstractPage, SIGNAL(setProgressWidgetText(const QString&)), this, SIGNAL(setProgressWidgetText(const QString&)));
        connect(abstractPage, SIGNAL(enableNextButton(bool)), this, SLOT(enableNextButton(bool)));
        connect(abstractPage, SIGNAL(enablePreviousButton(bool)), this, SLOT(enablePreviousButton(bool)));

        connect(m_ui.nextButton, SIGNAL(clicked()), abstractPage, SLOT(aboutToGoToNext()));
        connect(m_ui.previousButton, SIGNAL(clicked()), abstractPage, SLOT(aboutToGoToPrevious()));

        connect(this, SIGNAL(readyToCreate()), abstractPage, SLOT(createWidget()));

        if (page == MainWindow::FinishStep) {
            FinishPage *finishPage = qobject_cast<FinishPage *>(abstractPage);

            connect(finishPage, SIGNAL(reboot()), this, SLOT(quitAndReboot()));
            connect(finishPage, SIGNAL(keepChakra()), this, SLOT(quitToChakra()));
        }
    }

    emit readyToCreate();
}