Пример #1
0
void PageParserWizard::loadSettingsFromFile(QString fileName, QString url) {
    pageWizardSettings = new QSettings(fileName, QSettings::IniFormat);
    pageWizardSettings->setValue("url", url);

    selectContentWizardPage = new SelectContentWizardPage(pageWizardSettings, prefs);
    paramsPage = new ParamsWizardPage(pageWizardSettings);
    checkPage = new CheckWizardPage(pageWizardSettings, prefs);

    cleanupPage(SELECT_CONTENT_PAGE);
    cleanupPage(PARAMS_PAGE);
    cleanupPage(CHECK_PAGE);

    setPage(SELECT_CONTENT_PAGE, selectContentWizardPage);
    setPage(PARAMS_PAGE, paramsPage);
    setPage(CHECK_PAGE, checkPage);
}
Пример #2
0
void
FirstRunWizard::next()
{
    setUpdatesEnabled( false );

    QWidget* currentPage = ui->stackedWidget->currentWidget();

    if ( qobject_cast<WizardPage*>(currentPage)->validatePage() )
    {
        // go to the next page
        cleanupPage( currentPage );

        // remember what the last page was so we can go back()
        m_pages << currentPage;

        if ( m_commitPage )
        {
            m_commitPage = false;
            m_pages.clear();
        }

        if ( currentPage == ui->loginPage )
            ui->stackedWidget->setCurrentWidget( ui->accessPage );
        else if ( currentPage == ui->accessPage )
#ifdef Q_OS_WIN32
            ui->stackedWidget->setCurrentWidget( ui->pluginsPage );
        else if ( currentPage == ui->pluginsPage )
            ui->stackedWidget->setCurrentWidget( ui->pluginsInstallPage );
        else if ( currentPage == ui->pluginsInstallPage )
            if( aApp->currentSession().user().canBootstrap() && (m_plugins->bootstrappablePlugins().count() > 0) )
                ui->stackedWidget->setCurrentWidget( ui->bootstrapPage );
            else
                ui->stackedWidget->setCurrentWidget( ui->tourScrobblesPage );
#elif defined Q_OS_MAC
            if( aApp->currentSession().user().canBootstrap() )
                ui->stackedWidget->setCurrentWidget( ui->bootstrapPage );
            else
                ui->stackedWidget->setCurrentWidget( ui->tourScrobblesPage );
#elif defined Q_WS_X11
            ui->stackedWidget->setCurrentWidget( ui->tourScrobblesPage );
#endif
        else if ( currentPage == ui->bootstrapPage )
Пример #3
0
void PanoPreviewPage::computePreview()
{
    // Cancel any stitching being processed
    if (d->stitchingBusy)
    {
        cleanupPage();
    }

    QMutexLocker lock(&d->previewBusyMutex);

    connect(d->mngr->thread(), SIGNAL(stepFinished(Digikam::PanoActionData)),
            this, SLOT(slotPanoAction(Digikam::PanoActionData)));

    connect(d->mngr->thread(), SIGNAL(jobCollectionFinished(Digikam::PanoActionData)),
            this, SLOT(slotPanoAction(Digikam::PanoActionData)));

    d->canceled = false;

    d->previewWidget->setBusy(true, i18n("Processing Panorama Preview..."));
    d->previewDone = false;
    d->previewBusy = true;

    d->mngr->resetPreviewPto();
    d->mngr->resetPreviewUrl();
    d->mngr->resetPreviewMkUrl();
    d->mngr->thread()->generatePanoramaPreview(d->mngr->viewAndCropOptimisePtoData(),
                                               d->mngr->previewPtoUrl(),
                                               d->mngr->previewMkUrl(),
                                               d->mngr->previewUrl(),
                                               d->mngr->preProcessedMap(),
                                               d->mngr->makeBinary().path(),
                                               d->mngr->pto2MkBinary().path(),
                                               d->mngr->huginExecutorBinary().path(),
                                               d->mngr->hugin2015(),
                                               d->mngr->enblendBinary().path(),
                                               d->mngr->nonaBinary().path());
}
Пример #4
0
void PanoPreviewPage::cleanupPage()
{
    QMutexLocker lock(&d->previewBusyMutex);
    cleanupPage(lock);
}
Пример #5
0
void PanoPreviewPage::startStitching()
{
    QMutexLocker lock(&d->previewBusyMutex);

    if (d->previewBusy)
    {
        // The real beginning of the stitching starts after preview has finished / failed
        connect(this, SIGNAL(signalPreviewFinished()), this, SLOT(slotStartStitching()));
        cleanupPage(lock);
        return;
    }

    connect(d->mngr->thread(), SIGNAL(starting(Digikam::PanoActionData)),
            this, SLOT(slotPanoAction(Digikam::PanoActionData)));

    connect(d->mngr->thread(), SIGNAL(stepFinished(Digikam::PanoActionData)),
            this, SLOT(slotPanoAction(Digikam::PanoActionData)));

    connect(d->mngr->thread(), SIGNAL(jobCollectionFinished(Digikam::PanoActionData)),
            this, SLOT(slotPanoAction(Digikam::PanoActionData)));

    d->canceled      = false;
    d->stitchingBusy = true;
    d->curProgress   = 0;

    if (d->mngr->hugin2015())
    {
        d->totalProgress = 1;
    }
    else
    {
        d->totalProgress = d->mngr->preProcessedMap().size() + 1;
    }

    d->previewWidget->hide();

    QSize panoSize      = d->mngr->viewAndCropOptimisePtoData()->project.size;
    QRect panoSelection = d->mngr->viewAndCropOptimisePtoData()->project.crop;

    if (d->previewDone)
    {
        QSize previewSize = d->mngr->previewPtoData()->project.size;
        QRectF selection  = d->previewWidget->getSelectionArea();
        QRectF proportionSelection(selection.x()      / previewSize.width(),
                                   selection.y()      / previewSize.height(),
                                   selection.width()  / previewSize.width(),
                                   selection.height() / previewSize.height());

        // At this point, if no selection area was created, proportionSelection is null,
        // hence panoSelection becomes a null rectangle
        panoSelection = QRect(proportionSelection.x()      * panoSize.width(),
                              proportionSelection.y()      * panoSize.height(),
                              proportionSelection.width()  * panoSize.width(),
                              proportionSelection.height() * panoSize.height());
    }

    d->title->setText(i18n("<qt>"
                           "<p><h1>Panorama Post-Processing</h1></p>"
                           "</qt>"));

    d->progressBar->reset();
    d->progressBar->setMaximum(d->totalProgress);
    d->progressBar->progressScheduled(i18nc("@title:group", "Panorama Post-Processing"), true, true);
    d->progressBar->progressThumbnailChanged(QIcon::fromTheme(QLatin1String("panorama")).pixmap(22, 22));
    d->progressBar->show();
    d->postProcessing->show();

    d->mngr->resetPanoPto();
    d->mngr->resetMkUrl();
    d->mngr->resetPanoUrl();
    d->mngr->thread()->compileProject(d->mngr->viewAndCropOptimisePtoData(),
                                      d->mngr->panoPtoUrl(),
                                      d->mngr->mkUrl(),
                                      d->mngr->panoUrl(),
                                      d->mngr->preProcessedMap(),
                                      d->mngr->format(),
                                      panoSelection,
                                      d->mngr->makeBinary().path(),
                                      d->mngr->pto2MkBinary().path(),
                                      d->mngr->huginExecutorBinary().path(),
                                      d->mngr->hugin2015(),
                                      d->mngr->enblendBinary().path(),
                                      d->mngr->nonaBinary().path());
}