LoadingDescription PreviewLoadThread::createLoadingDescription(const QString& filePath, const PreviewSettings& previewSettings, int size, const IccProfile& displayProfile) { LoadingDescription description(filePath, previewSettings, size); if (DImg::fileFormat(filePath) == DImg::RAW) { description.rawDecodingSettings.optimizeTimeLoading(); description.rawDecodingSettings.rawPrm.sixteenBitsImage = false; description.rawDecodingSettings.rawPrm.halfSizeColorImage = true; description.rawDecodingHint = LoadingDescription::RawDecodingTimeOptimized; } ICCSettingsContainer settings = IccSettings::instance()->settings(); if (settings.enableCM && settings.useManagedPreviews) { description.postProcessingParameters.colorManagement = LoadingDescription::ConvertForDisplay; if (displayProfile.isNull()) { description.postProcessingParameters.setProfile(IccProfile::sRGB()); } else { description.postProcessingParameters.setProfile(displayProfile); } } return description; }
void SoftProofDialog::slotProfileInfo() { IccProfile profile = d->deviceProfileBox->currentProfile(); if (profile.isNull()) { QMessageBox::critical(this, i18n("Profile Error"), i18n("No profile is selected.")); return; } ICCProfileInfoDlg infoDlg(this, profile.filePath(), profile); infoDlg.exec(); }
bool DMetadata::setIccProfile(const IccProfile& profile) { if (profile.isNull()) { removeExifTag("Exif.Image.InterColorProfile"); } else { QByteArray data = IccProfile(profile).data(); if (!setExifTagData("Exif.Image.InterColorProfile", data)) { return false; } } removeExifColorSpace(); return true; }
ICCProfileInfoDlg::ICCProfileInfoDlg(QWidget* const parent, const QString& profilePath, const IccProfile& profile) : KDialog(parent) { setCaption(i18n("Color Profile Info - %1", profilePath)); setButtons(Help|Ok); setDefaultButton(Ok); setModal(true); setHelp("iccprofile.anchor", "digikam"); ICCProfileWidget* const profileWidget = new ICCProfileWidget(this, 340, 256); if (profile.isNull()) { profileWidget->loadFromURL(KUrl(profilePath)); } else { profileWidget->loadProfile(profilePath, profile); } setMainWidget(profileWidget); }