Changeset View
Changeset View
Standalone View
Standalone View
src/ksanewidget.cpp
Context not available. | |||||
197 | d->m_warmingUp->setMinimumHeight(minHeight); | 197 | d->m_warmingUp->setMinimumHeight(minHeight); | ||
---|---|---|---|---|---|
198 | 198 | | |||
199 | d->m_previewFrame = new QWidget; | 199 | d->m_previewFrame = new QWidget; | ||
200 | QVBoxLayout *preview_layout = new QVBoxLayout(d->m_previewFrame); | 200 | QHBoxLayout *preview_h_layout = new QHBoxLayout(d->m_previewFrame); | ||
201 | preview_h_layout->setContentsMargins(0, 0, 0, 0); | ||||
202 | preview_h_layout->setSpacing(0); | ||||
203 | QWidget* preview_holder = new QWidget(d->m_previewFrame); | ||||
204 | preview_h_layout->addWidget(preview_holder, 100); | ||||
205 | QVBoxLayout *preview_layout = new QVBoxLayout(preview_holder); | ||||
201 | preview_layout->setContentsMargins(0, 0, 0, 0); | 206 | preview_layout->setContentsMargins(0, 0, 0, 0); | ||
202 | preview_layout->addWidget(d->m_previewViewer, 100); | 207 | preview_layout->addWidget(d->m_previewViewer, 100); | ||
203 | preview_layout->addWidget(d->m_warmingUp, 0); | 208 | preview_layout->addWidget(d->m_warmingUp, 0); | ||
204 | preview_layout->addWidget(d->m_activityFrame, 0); | 209 | preview_layout->addWidget(d->m_activityFrame, 0); | ||
205 | preview_layout->addWidget(d->m_btnFrame, 0); | 210 | preview_layout->addWidget(d->m_btnFrame, 0); | ||
206 | 211 | | |||
212 | // Create Tab Widget to switch between preview image display nd last scanned image display | ||||
213 | d->m_viewsTabWidget = new QTabWidget(); | ||||
214 | d->m_viewsTabWidget->setTabPosition(QTabWidget::East); | ||||
215 | d->m_viewsTabWidget->setDocumentMode(true); | ||||
216 | connect(d->m_viewsTabWidget, SIGNAL(currentChanged(int)), d, SLOT(currentTabChanged(int))); | ||||
217 | | ||||
218 | d->m_viewsTabWidget->addTab(new QWidget, i18n("Preview")); | ||||
219 | d->m_viewsTabWidget->addTab(new QWidget, i18n("Current Scan")); | ||||
220 | preview_h_layout->addWidget(d->m_viewsTabWidget, 0); | ||||
221 | | ||||
207 | // Create Options Widget | 222 | // Create Options Widget | ||
208 | d->m_optsTabWidget = new QTabWidget(); | 223 | d->m_optsTabWidget = new QTabWidget(); | ||
209 | 224 | | |||
Context not available. | |||||
486 | connect(d->m_previewThread, SIGNAL(finished()), d, SLOT(previewScanDone())); | 501 | connect(d->m_previewThread, SIGNAL(finished()), d, SLOT(previewScanDone())); | ||
487 | 502 | | |||
488 | // Create the read thread | 503 | // Create the read thread | ||
489 | d->m_scanThread = new KSaneScanThread(d->m_saneHandle, &d->m_scanData); | 504 | d->m_scanThread = new KSaneScanThread(d->m_saneHandle, &d->m_scanData, &d->m_scanImg); | ||
490 | connect(d->m_scanThread, SIGNAL(finished()), d, SLOT(oneFinalScanDone())); | 505 | connect(d->m_scanThread, SIGNAL(finished()), d, SLOT(oneFinalScanDone())); | ||
491 | 506 | | |||
492 | // Create the options interface | 507 | // Create the options interface | ||
Context not available. | |||||
652 | void KSaneWidget::startPreviewScan() | 667 | void KSaneWidget::startPreviewScan() | ||
653 | { | 668 | { | ||
654 | if (d->m_btnFrame->isEnabled()) { | 669 | if (d->m_btnFrame->isEnabled()) { | ||
670 | if (d->isScanImageDisplayed()) { | ||||
671 | // resets displayed image tab to preview mode if Preview button is pressed while displaying last scanned image | ||||
672 | d->m_viewsTabWidget->setCurrentIndex(0); | ||||
673 | } | ||||
655 | d->startPreviewScan(); | 674 | d->startPreviewScan(); | ||
656 | } else { | 675 | } else { | ||
657 | // if the button frame is disabled, there is no open device to scan from | 676 | // if the button frame is disabled, there is no open device to scan from | ||
Context not available. | |||||
898 | d->m_scanBtn->setHidden(hidden); | 917 | d->m_scanBtn->setHidden(hidden); | ||
899 | } | 918 | } | ||
900 | 919 | | |||
920 | void KSaneWidget::enableDisplayLastScan(bool enable) | ||||
921 | { | ||||
922 | d->m_displayLastScan = enable; | ||||
923 | d->m_viewsTabWidget->setVisible(enable); | ||||
924 | | ||||
925 | if (!d->m_scanOngoing) { | ||||
926 | if (!enable) { | ||||
927 | d->m_viewsTabWidget->setCurrentIndex(0); | ||||
928 | d->m_scanImg = QImage(); // free memory | ||||
929 | } else { | ||||
930 | d->m_scanImg = QImage(d->currentSelectionSize(), QImage::Format_RGB32); | ||||
931 | d->m_scanImg.fill(0xFFFFFFFF); | ||||
932 | if (d->isScanImageDisplayed()) { | ||||
933 | d->m_previewViewer->setQImage(&d->m_scanImg, false, false); | ||||
934 | d->m_previewViewer->zoom2Fit(); | ||||
935 | } | ||||
936 | } | ||||
937 | } | ||||
938 | } | ||||
939 | | ||||
940 | bool KSaneWidget::displayLastScan() | ||||
941 | { | ||||
942 | return d->m_displayLastScan; | ||||
943 | } | ||||
944 | | ||||
901 | } // NameSpace KSaneIface | 945 | } // NameSpace KSaneIface | ||
Context not available. |