void AdvancedRenameProcessDialog::getNextThumbnail() { if (!d->newNameList.isEmpty()) { QString path = d->newNameList.first().first.toLocalFile(); d->thumbLoadThread->find(ThumbnailIdentifier(path)); } }
void CalMonthWidget::setImage(const QUrl& url) { if (!url.isValid()) { return; } d->imagePath = url; CalSettings::instance()->setImage(d->month, d->imagePath); d->thumbLoadThread->find(ThumbnailIdentifier(url.toLocalFile()), d->thumbSize.width()); }
QIcon DFileIconProvider::icon(const QFileInfo& info) const { qCDebug(DIGIKAM_GENERAL_LOG) << "request thumb icon for " << info.absoluteFilePath(); m_catcher->setActive(true); m_catcher->thread()->find(ThumbnailIdentifier(info.absoluteFilePath())); m_catcher->enqueue(); QList<QImage> images = m_catcher->waitForThumbnails(); QIcon icon(QPixmap::fromImage(images.first())); m_catcher->setActive(false); return icon; }
QList<LoadingDescription> ThumbnailLoadThread::Private::makeDescriptions(const QList<ThumbnailIdentifier>& identifiers, int size) { QList<LoadingDescription> descriptions; { LoadingDescription description = createLoadingDescription(ThumbnailIdentifier(), size, false); foreach(const ThumbnailIdentifier& identifier, identifiers) { description.filePath = identifier.filePath; description.previewParameters.storageReference = identifier.id; if (!checkDescription(description)) { continue; } descriptions << description; } }
QPixmap GPSImageModel::getPixmapForIndex(const QPersistentModelIndex& itemIndex, const int size) { if (itemIndex.isValid()) { Q_ASSERT(itemIndex.model() == this); } // TODO: should we cache the pixmap on our own here or does the interface usually cache it for us? // TODO: do we need to make sure we do not request the same pixmap twice in a row? // construct the key under which we stored the pixmap in the cache: GPSImageItem* const imageItem = itemFromIndex(itemIndex); if (!imageItem) return QPixmap(); QPixmap thumbnail; if (d->thumbnailLoadThread->find(ThumbnailIdentifier(imageItem->url().toLocalFile()), thumbnail, size)) { return thumbnail.copy(1, 1, thumbnail.size().width()-2, thumbnail.size().height()-2); } return QPixmap(); }
void ImageDialogPreview::slotShowPreview(const QUrl& url) { if (!url.isValid()) { slotClearPreview(); return; } if (url != d->currentURL) { slotClearPreview(); d->currentURL = url; d->thumbLoadThread->find(ThumbnailIdentifier(d->currentURL.toLocalFile())); d->metaIface.load(d->currentURL.toLocalFile()); PhotoInfoContainer info = d->metaIface.getPhotographInformation(); VideoInfoContainer videoInfo = d->metaIface.getVideoInformation(); if (!info.isEmpty()) { DToolTipStyleSheet cnt; QString identify = QString::fromLatin1("<qt><center>"); QString make, model, dateTime, aperture, focalLength, exposureTime, sensitivity; QString aspectRatio, audioBitRate, audioChannelType, audioCompressor, duration, frameRate, videoCodec; if (info.make.isEmpty()) { make = cnt.unavailable; } else { make = info.make; } if (info.model.isEmpty()) { model = cnt.unavailable; } else { model = info.model; } if (!info.dateTime.isValid()) { dateTime = cnt.unavailable; } else { dateTime = QLocale().toString(info.dateTime, QLocale::ShortFormat); } if (info.aperture.isEmpty()) { aperture = cnt.unavailable; } else { aperture = info.aperture; } if (info.focalLength.isEmpty()) { focalLength = cnt.unavailable; } else { focalLength = info.focalLength; } if (info.exposureTime.isEmpty()) { exposureTime = cnt.unavailable; } else { exposureTime = info.exposureTime; } if (info.sensitivity.isEmpty()) { sensitivity = cnt.unavailable; } else { sensitivity = i18n("%1 ISO", info.sensitivity); } if (videoInfo.aspectRatio.isEmpty()) { aspectRatio = cnt.unavailable; } else { aspectRatio = videoInfo.aspectRatio; } if (videoInfo.audioBitRate.isEmpty()) { audioBitRate = cnt.unavailable; } else { audioBitRate = videoInfo.audioBitRate; } if (videoInfo.audioChannelType.isEmpty()) { audioChannelType = cnt.unavailable; } else { audioChannelType = videoInfo.audioChannelType; } if (videoInfo.audioCompressor.isEmpty()) { audioCompressor = cnt.unavailable; } else { audioCompressor = videoInfo.audioCompressor; } if (videoInfo.duration.isEmpty()) { duration = cnt.unavailable; } else { duration = videoInfo.duration; } if (videoInfo.frameRate.isEmpty()) { frameRate = cnt.unavailable; } else { frameRate = videoInfo.frameRate; } if (videoInfo.videoCodec.isEmpty()) { videoCodec = cnt.unavailable; } else { videoCodec = videoInfo.videoCodec; } identify += QString::fromLatin1("<table cellspacing=0 cellpadding=0>"); identify += cnt.cellBeg + i18n("<i>Make:</i>") + cnt.cellMid + make + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>Model:</i>") + cnt.cellMid + model + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>Created:</i>") + cnt.cellMid + dateTime + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>Aperture:</i>") + cnt.cellMid + aperture + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>Focal:</i>") + cnt.cellMid + focalLength + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>Exposure:</i>") + cnt.cellMid + exposureTime + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>Sensitivity:</i>") + cnt.cellMid + sensitivity + cnt.cellEnd; if (!videoInfo.isEmpty()) { identify += cnt.cellBeg + i18n("<i>AspectRatio:</i>") + cnt.cellMid + aspectRatio + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>AudioBitRate:</i>") + cnt.cellMid + audioBitRate + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>AudioChannelType:</i>") + cnt.cellMid + audioChannelType + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>AudioCompressor:</i>") + cnt.cellMid + audioCompressor + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>Duration:</i>") + cnt.cellMid + duration + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>FrameRate:</i>") + cnt.cellMid + frameRate + cnt.cellEnd; identify += cnt.cellBeg + i18n("<i>VideoCodec:</i>") + cnt.cellMid + videoCodec + cnt.cellEnd; } identify += QString::fromLatin1("</table></center></qt>"); d->infoLabel->setText(identify); } else { d->infoLabel->clear(); } } }
bool DTrashItemModel::pixmapForItem(const QString& path, QPixmap& pix) const { return d->thumbnailThread->find(ThumbnailIdentifier(path), pix, d->thumbSize); }