void DBusyDlg::setBusyThread(DBusyThread* const thread) { d->thread = thread; if (d->thread) { connect(d->thread, SIGNAL(signalComplete()), this, SLOT(slotComplete())); qCDebug(DIGIKAM_GENERAL_LOG) << "Thread is started"; d->thread->start(); } }
void MaintenanceTool::slotDone() { QTime t = QTime::fromMSecsSinceStartOfDay(d->duration.elapsed()); if (d->notification) { // Pop-up a message to bring user when all is done. DNotificationWrapper(id(), i18n("Process is done.\nDuration: %1", t.toString()), qApp->activeWindow(), label()); } emit signalComplete(); setComplete(); }
void SaveImgThread::run() { // Perform saving --------------------------------------------------------------- QImage prev = d->img.scaled(1280, 1024, Qt::KeepAspectRatio, Qt::SmoothTransformation); QImage thumb = d->img.scaled(160, 120, Qt::KeepAspectRatio, Qt::SmoothTransformation); QByteArray prof = KPWriteImage::getICCProfilFromFile(RawDecodingSettings::SRGB); KPMetadata meta; meta.setImageProgramId(QString("Kipi-plugins"), QString(kipiplugins_version)); meta.setImageDimensions(d->img.size()); if (d->format != QString("JPEG")) meta.setImagePreview(prev); meta.setExifThumbnail(thumb); meta.setExifTagString("Exif.Image.DocumentName", QString("Scanned Image")); // not i18n meta.setExifTagString("Exif.Image.Make", d->make); meta.setXmpTagString("Xmp.tiff.Make", d->make); meta.setExifTagString("Exif.Image.Model", d->model); meta.setXmpTagString("Xmp.tiff.Model", d->model); meta.setImageDateTime(QDateTime::currentDateTime()); meta.setImageOrientation(KPMetadata::ORIENTATION_NORMAL); meta.setImageColorWorkSpace(KPMetadata::WORKSPACE_SRGB); KPWriteImage wImageIface; if (d->frmt != KSaneIface::KSaneWidget::FormatRGB_16_C) { QByteArray data((const char*)d->img.bits(), d->img.numBytes()); wImageIface.setImageData(data, d->img.width(), d->img.height(), false, true, prof, meta); } else { // 16 bits color depth image. wImageIface.setImageData(d->ksaneData, d->width, d->height, true, false, prof, meta); } bool ret = false; QString path; if(d->newUrl.isLocalFile()) path = d->newUrl.toLocalFile(); else path = d->newUrl.path(); if (d->format == QString("JPEG")) { ret = wImageIface.write2JPEG(path); } else if (d->format == QString("PNG")) { ret = wImageIface.write2PNG(path); } else if (d->format == QString("TIFF")) { ret = wImageIface.write2TIFF(path); } else { ret = d->img.save(path, d->format.toAscii().data()); } emit signalComplete(d->newUrl, ret); }
void BatchSyncMetadata::complete() { emit signalProgressBarMode(StatusProgressBar::TextMode, QString()); emit signalComplete(); }
void SaveImgThread::run() { emit signalProgress(d->newUrl, 10); bool sixteenBit = (d->frmt == KSaneWidget::FormatRGB_16_C); DImg img((uint)d->width, (uint)d->height, sixteenBit, false); int progress; if (!sixteenBit) { uchar* src = (uchar*)d->ksaneData.data(); uchar* dst = img.bits(); for (int w = 0; w < d->width; ++w) { dst[0] = src[2]; // Blue dst[1] = src[1]; // Green dst[2] = src[0]; // Red dst[3] = 0x00; // Alpha dst += 4; src += 3; progress = 10 + (int)(((double)w * 50.0) / d->width); if (progress % 5 == 0) { emit signalProgress(d->newUrl, progress); } } } else { unsigned short* src = (unsigned short*)d->ksaneData.data(); unsigned short* dst = (unsigned short*)img.bits(); for (int w = 0; w < d->width; ++w) { dst[0] = src[2]; // Blue dst[1] = src[1]; // Green dst[2] = src[0]; // Red dst[3] = 0x0000; // Alpha dst += 4; src += 3; progress = 10 + (int)(((double)w * 50.0) / d->width); if (progress % 5 == 0) { emit signalProgress(d->newUrl, progress); } } } emit signalProgress(d->newUrl, 60); bool success = img.save(d->newUrl.toLocalFile(), d->format); emit signalProgress(d->newUrl, 80); if (!success) { emit signalComplete(d->newUrl, success); return; } DMetadata meta(d->newUrl.toLocalFile()); meta.setExifTagString("Exif.Image.DocumentName", QLatin1String("Scanned Image")); // not i18n meta.setExifTagString("Exif.Image.Make", d->make); meta.setXmpTagString("Xmp.tiff.Make", d->make); meta.setExifTagString("Exif.Image.Model", d->model); meta.setXmpTagString("Xmp.tiff.Model", d->model); meta.setImageOrientation(DMetadata::ORIENTATION_NORMAL); meta.setImageColorWorkSpace(DMetadata::WORKSPACE_SRGB); emit signalProgress(d->newUrl, 90); meta.applyChanges(); emit signalProgress(d->newUrl, 100); emit signalComplete(d->newUrl, success); }