SVN commit 497507 by fjcruz:
First attempt to implement a file dialog with metadata preview for icc files. CCMAIL:[hidden email] M +85 -0 iccpreviewwidget.cpp M +1 -0 iccpreviewwidget.h --- trunk/extragear/graphics/digikam/libs/widgets/iccpreviewwidget.cpp #497506:497507 @@ -69,6 +69,11 @@ deviceClass->setFrameStyle(QFrame::NoFrame); QLabel *label4 = new QLabel(i18n("Device class: "), deviceClass); m_deviceClass = new QLabel(0, deviceClass); + + QHGroupBox *renderingIntent = new QHGroupBox(metaData); + renderingIntent->setFrameStyle(QFrame::NoFrame); + QLabel *label5 = new QLabel(i18n("Rendering intent: "), renderingIntent); + m_renderingIntent = new QLabel(0, renderingIntent); layout->addWidget(metaData); } @@ -81,6 +86,7 @@ void ICCPreviewWidget::showPreview( const KURL &url) { //TODO + getICCData(url); } void ICCPreviewWidget::clearPreview() @@ -92,7 +98,86 @@ { //TODO cmsHPROFILE tmpProfile=0; + QString space, device, intent; tmpProfile = cmsOpenProfileFromFile(QFile::encodeName(url.path()), "r"); + + m_name->setText(QString(cmsTakeProductName(tmpProfile))); + m_description->setText(QString(cmsTakeProductDesc(tmpProfile))); + + switch (cmsGetColorSpace(tmpProfile)) + { + case icSigLabData: + space = i18n("Lab"); + break; + case icSigLuvData: + space = i18n("Luv"); + break; + case icSigRgbData: + space = i18n("RGB"); + break; + case icSigGrayData: + space = i18n("GRAY"); + break; + case icSigHsvData: + space = i18n("HSV"); + break; + case icSigHlsData: + space = i18n("HLS"); + break; + case icSigCmykData: + space = i18n("CMYK"); + break; + case icSigCmyData: + space= i18n("CMY"); + break; + default: + space = i18n("Other"); + break; + } + + m_colorSpace->setText(space); + + switch ((int)cmsGetDeviceClass(tmpProfile)) + { + case icSigInputClass: + device = i18n("Input device"); + break; + case icSigDisplayClass: + device = i18n("Display device"); + break; + case icSigOutputClass: + device = i18n("Output device"); + break; + case icSigColorSpaceClass: + device = i18n("Color space"); + break; + case icSigLinkClass: + device = i18n("Link device"); + break; + } + m_deviceClass->setText(device); + + int profileIntent = cmsTakeRenderingIntent(tmpProfile); + + //"Decode" profile rendering intent + switch (cmsTakeRenderingIntent(tmpProfile)) + { + case 0: + intent = i18n("Perceptual"); + break; + case 1: + intent = i18n("Relative Colorimetric"); + break; + case 2: + intent = i18n("Saturation"); + break; + case 3: + intent = i18n("Absolute Colorimetric"); + break; + } + m_renderingIntent->setText(intent); + + cmsCloseProfile(tmpProfile); } } --- trunk/extragear/graphics/digikam/libs/widgets/iccpreviewwidget.h #497506:497507 @@ -57,6 +57,7 @@ QLabel *m_description; QLabel *m_colorSpace; QLabel *m_deviceClass; + QLabel *m_renderingIntent; private: _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |