EnfuseStackList::EnfuseStackList(QWidget* parent) : QTreeWidget(parent), d(new EnfuseStackListPriv) { d->progressTimer = new QTimer(this); setContextMenuPolicy(Qt::CustomContextMenu); setIconSize(QSize(64, 64)); setSelectionMode(QAbstractItemView::SingleSelection); setSortingEnabled(false); setAllColumnsShowFocus(true); setRootIsDecorated(false); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setColumnCount(3); setHeaderHidden(false); setDragEnabled(false); header()->setResizeMode(QHeaderView::Stretch); QStringList labels; labels.append( i18n("To Save") ); labels.append( i18n("Target") ); labels.append( i18n("Inputs") ); setHeaderLabels(labels); connect(this, SIGNAL(itemClicked(QTreeWidgetItem*, int)), this, SLOT(slotItemClicked(QTreeWidgetItem*))); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(slotContextMenu(const QPoint&))); connect(d->progressTimer, SIGNAL(timeout()), this, SLOT(slotProgressTimerDone())); }
EnfuseStackList::EnfuseStackList(QWidget* const parent) : QTreeWidget(parent), d(new Private) { d->progressTimer = new QTimer(this); setContextMenuPolicy(Qt::CustomContextMenu); setIconSize(QSize(64, 64)); setSelectionMode(QAbstractItemView::SingleSelection); setSortingEnabled(false); setAllColumnsShowFocus(true); setRootIsDecorated(false); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setColumnCount(3); setHeaderHidden(false); setDragEnabled(false); header()->setSectionResizeMode(QHeaderView::Stretch); QStringList labels; labels.append( i18nc("@title:column Saving checkbox", "Include during Saving") ); labels.append( i18nc("@title:column Output file name", "Output") ); labels.append( i18nc("@title:column Source file names", "Selected Inputs") ); setHeaderLabels(labels); connect(this, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(slotItemClicked(QTreeWidgetItem*))); connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint))); connect(d->progressTimer, SIGNAL(timeout()), this, SLOT(slotProgressTimerDone())); }
PreProcessingPage::PreProcessingPage(Manager* const mngr, KAssistantDialog* const dlg) : KPWizardPage(dlg, i18n("<b>Pre-Processing Images</b>")), d(new PreProcessingPagePriv) { d->mngr = mngr; d->progressTimer = new QTimer(this); KVBox* vbox = new KVBox(this); d->title = new QLabel(vbox); d->title->setWordWrap(true); d->title->setOpenExternalLinks(true); KConfig config("kipirc"); KConfigGroup group = config.group(QString("Panorama Settings")); d->celesteCheckBox = new QCheckBox(i18n("Detect moving skies"), vbox); d->celesteCheckBox->setChecked(group.readEntry("Celeste", false)); d->celesteCheckBox->setToolTip(i18n("Automatic detection of clouds to prevent wrong keypoints matching " "between images due to moving clouds.")); d->celesteCheckBox->setWhatsThis(i18n("<b>Detect moving skies</b>: During the control points selection and matching, " "this option discards any points that are associated to a possible cloud. This " "is useful to prevent moving clouds from altering the control points matching " "process.")); QLabel* space1 = new QLabel(vbox); KHBox* hbox = new KHBox(vbox); d->detailsBtn = new QPushButton(hbox); d->detailsBtn->setText(i18n("Details...")); d->detailsBtn->hide(); QLabel* space2 = new QLabel(hbox); hbox->setStretchFactor(space2, 10); QLabel* space3 = new QLabel(vbox); d->progressLabel = new QLabel(vbox); d->progressLabel->setAlignment(Qt::AlignCenter); QLabel* space4 = new QLabel(vbox); vbox->setStretchFactor(space1, 2); vbox->setStretchFactor(space3, 2); vbox->setStretchFactor(space4, 10); vbox->setSpacing(KDialog::spacingHint()); vbox->setMargin(KDialog::spacingHint()); setPageWidget(vbox); resetTitle(); QPixmap leftPix = KStandardDirs::locate("data", "kipiplugin_panorama/pics/assistant-preprocessing.png"); setLeftBottomPix(leftPix.scaledToWidth(128, Qt::SmoothTransformation)); // connect(d->mngr->thread(), SIGNAL(starting(KIPIPanoramaPlugin::ActionData)), // this, SLOT(slotAction(KIPIPanoramaPlugin::ActionData))); connect(d->progressTimer, SIGNAL(timeout()), this, SLOT(slotProgressTimerDone())); connect(d->detailsBtn, SIGNAL(clicked()), this, SLOT(slotShowDetails())); }
PreProcessingPage::PreProcessingPage(Manager* const mngr, KAssistantDialog* const dlg) : KPWizardPage(dlg, i18n("<b>Pre-Processing Bracketed Images</b>")), d(new PreProcessingPagePriv) { d->mngr = mngr; d->progressTimer = new QTimer(this); KVBox *vbox = new KVBox(this); d->title = new QLabel(vbox); d->title->setWordWrap(true); d->title->setOpenExternalLinks(true); d->alignCheckBox = new QCheckBox(i18n("Align bracketed images"), vbox); KConfig config("kipirc"); KConfigGroup group = config.group(QString("ExpoBlending Settings")); d->alignCheckBox->setChecked(group.readEntry("Auto Alignment", true)); QLabel* space1 = new QLabel(vbox); KHBox* hbox = new KHBox(vbox); d->detailsBtn = new QPushButton(hbox); d->detailsBtn->setText(i18n("Details...")); d->detailsBtn->hide(); QLabel* space2 = new QLabel(hbox); hbox->setStretchFactor(space2, 10); QLabel* space3 = new QLabel(vbox); d->progressLabel = new QLabel(vbox); d->progressLabel->setAlignment(Qt::AlignCenter); QLabel* space4 = new QLabel(vbox); vbox->setStretchFactor(space1, 2); vbox->setStretchFactor(space3, 2); vbox->setStretchFactor(space4, 10); vbox->setSpacing(KDialog::spacingHint()); vbox->setMargin(KDialog::spacingHint()); setPageWidget(vbox); resetTitle(); QPixmap leftPix = KStandardDirs::locate("data", "kipiplugin_expoblending/pics/assistant-preprocessing.png"); setLeftBottomPix(leftPix.scaledToWidth(128, Qt::SmoothTransformation)); connect(d->mngr->thread(), SIGNAL(starting(KIPIExpoBlendingPlugin::ActionData)), this, SLOT(slotAction(KIPIExpoBlendingPlugin::ActionData))); connect(d->progressTimer, SIGNAL(timeout()), this, SLOT(slotProgressTimerDone())); connect(d->detailsBtn, SIGNAL(clicked()), this, SLOT(slotShowDetails())); }
OptimizePage::OptimizePage(Manager* const mngr, KAssistantDialog* const dlg) : KPWizardPage(dlg, i18n("<b>Optimization</b>")), d(new OptimizePagePriv) { d->mngr = mngr; KVBox* vbox = new KVBox(this); d->progressTimer = new QTimer(this); d->title = new QLabel(vbox); d->title->setOpenExternalLinks(true); d->title->setWordWrap(true); KConfig config("kipirc"); KConfigGroup group = config.group(QString("Panorama Settings")); d->horizonCheckbox = new QCheckBox(i18n("Level horizon"), vbox); d->horizonCheckbox->setChecked(group.readEntry("Horizon", true)); d->horizonCheckbox->setToolTip(i18n("Detect the horizon and adapt the project to make it horizontal.")); d->horizonCheckbox->setWhatsThis(i18n("<b>Level horizon</b>: Detect the horizon and adapt the projection so that " "the detected horizon is an horizontal line in the final panorama")); d->projectionAndSizeCheckbox = new QCheckBox(i18n("Automatic projection and crop"), vbox); d->projectionAndSizeCheckbox->setChecked(group.readEntry("Output Projection And Size", true)); d->projectionAndSizeCheckbox->setToolTip(i18n("Adapt the projection of the panorama and the cropping on the resulting " "projection so that every photo fits in the resulting panorama.")); d->projectionAndSizeCheckbox->setWhatsThis(i18n("<b>Automatic projection and crop</b>: Automatically adapt the projection " "and the crop of the panorama to get every photos into the panorama.")); d->preprocessResults = new QLabel(vbox); QLabel* space1 = new QLabel(vbox); vbox->setStretchFactor(space1, 2); KHBox* hbox = new KHBox(vbox); d->detailsBtn = new QPushButton(hbox); d->detailsBtn->setText(i18n("Details...")); d->detailsBtn->hide(); QLabel* space2 = new QLabel(hbox); hbox->setStretchFactor(space2, 10); QLabel* space3 = new QLabel(vbox); vbox->setStretchFactor(space3, 2); d->progressLabel = new QLabel(vbox); d->progressLabel->setAlignment(Qt::AlignCenter); QLabel* space4 = new QLabel(vbox); vbox->setStretchFactor(space4, 10); vbox->setSpacing(KDialog::spacingHint()); vbox->setMargin(KDialog::spacingHint()); setPageWidget(vbox); resetTitle(); QPixmap leftPix = KStandardDirs::locate("data", "kipiplugin_panorama/pics/assistant-hugin.png"); setLeftBottomPix(leftPix.scaledToWidth(128, Qt::SmoothTransformation)); // connect(d->mngr->thread(), SIGNAL(starting(KIPIPanoramaPlugin::ActionData)), // this, SLOT(slotAction(KIPIPanoramaPlugin::ActionData))); connect(d->progressTimer, SIGNAL(timeout()), this, SLOT(slotProgressTimerDone())); connect(d->detailsBtn, SIGNAL(clicked()), this, SLOT(slotShowDetails())); }
PanoOptimizePage::PanoOptimizePage(PanoManager* const mngr, QWizard* const dlg) : DWizardPage(dlg, i18nc("@title:window", "<b>Optimization</b>")), d(new Private) { d->mngr = mngr; d->progressTimer = new QTimer(this); DVBox* const vbox = new DVBox(this); d->title = new QLabel(vbox); d->title->setOpenExternalLinks(true); d->title->setWordWrap(true); KConfig config; KConfigGroup group = config.group("Panorama Settings"); d->horizonCheckbox = new QCheckBox(i18nc("@option:check", "Level horizon"), vbox); d->horizonCheckbox->setChecked(group.readEntry("Horizon", true)); d->horizonCheckbox->setToolTip(i18nc("@info:tooltip", "Detect the horizon and adapt the project to make it horizontal.")); d->horizonCheckbox->setWhatsThis(i18nc("@info:whatsthis", "<b>Level horizon</b>: Detect the horizon and adapt the projection so that " "the detected horizon is an horizontal line in the final panorama")); /* if (!d->mngr->gPano()) { d->projectionAndSizeCheckbox = new QCheckBox(i18nc("@option:check", "Automatic projection and output aspect"), vbox); d->projectionAndSizeCheckbox->setChecked(group.readEntry("Output Projection And Size", true)); d->projectionAndSizeCheckbox->setToolTip(i18nc("@info:tooltip", "Adapt the projection of the panorama and the area rendered on the " "resulting projection so that every photo fits in the resulting " "panorama.")); d->projectionAndSizeCheckbox->setWhatsThis(i18nc("@info:whatsthis", "<b>Automatic projection and output aspect</b>: Automatically " "adapt the projection and the area rendered of the panorama to " "get every photos into the panorama.")); } else { d->projectionAndSizeCheckbox = new QCheckBox(i18nc("@option:check", "Automatic output aspect"), vbox); d->projectionAndSizeCheckbox->setChecked(group.readEntry("Output Projection And Size", true)); d->projectionAndSizeCheckbox->setToolTip(i18nc("@info:tooltip", "Adapt the area rendered on the resulting projection so that " "every photo fits in the resulting panorama.")); d->projectionAndSizeCheckbox->setWhatsThis(i18nc("@info:whatsthis", "<b>Automatic output aspect</b>: Automatically adapt the area " "rendered of the panorama to get every photos into the panorama.")); } */ // d->preprocessResults = new QLabel(vbox); vbox->setStretchFactor(new QWidget(vbox), 2); d->detailsText = new QTextBrowser(vbox); d->detailsText->hide(); vbox->setStretchFactor(new QWidget(vbox), 2); d->progressLabel = new QLabel(vbox); d->progressLabel->setAlignment(Qt::AlignCenter); vbox->setStretchFactor(new QWidget(vbox), 10); setPageWidget(vbox); QPixmap leftPix(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("digikam/data/assistant-hugin.png"))); setLeftBottomPix(leftPix.scaledToWidth(128, Qt::SmoothTransformation)); connect(d->progressTimer, SIGNAL(timeout()), this, SLOT(slotProgressTimerDone())); }