[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [calligra/calligra/2.9] krita/plugins/formats/jpeg: Add an option to the jpeg converter to not save 
From:       Boudewijn Rempt <boud () valdyas ! org>
Date:       2015-09-19 8:54:51
Message-ID: E1ZdDv1-00073K-NF () scm ! kde ! org
[Download RAW message or body]

Git commit d1cbf8e4aaef397b82d512189f79432566c7e702 by Boudewijn Rempt.
Committed on 19/09/2015 at 07:50.
Pushed by rempt into branch 'calligra/2.9'.

Add an option to the jpeg converter to not save the icc profile

Which discards any information about what the colors really mean,
but so be it.

M  +6    -3    krita/plugins/formats/jpeg/kis_jpeg_converter.cc
M  +1    -0    krita/plugins/formats/jpeg/kis_jpeg_converter.h
M  +5    -0    krita/plugins/formats/jpeg/kis_jpeg_export.cc
M  +16   -6    krita/plugins/formats/jpeg/kis_wdg_options_jpeg.ui

http://commits.kde.org/calligra/d1cbf8e4aaef397b82d512189f79432566c7e702

diff --git a/krita/plugins/formats/jpeg/kis_jpeg_converter.cc \
b/krita/plugins/formats/jpeg/kis_jpeg_converter.cc index dbe470a..5fbd3bd 100644
--- a/krita/plugins/formats/jpeg/kis_jpeg_converter.cc
+++ b/krita/plugins/formats/jpeg/kis_jpeg_converter.cc
@@ -631,8 +631,6 @@ KisImageBuilder_Result KisJPEGConverter::buildFile(const KUrl& \
uri, KisPaintLaye  }
     }
 
-    const KoColorProfile* colorProfile = layer->colorSpace()->profile();
-    QByteArray colorProfileData = colorProfile->rawData();
 
     KisPaintDeviceSP dev = new KisPaintDevice(layer->colorSpace());
     KoColor c(options.transparencyFillColor, layer->colorSpace());
@@ -641,7 +639,12 @@ KisImageBuilder_Result KisJPEGConverter::buildFile(const KUrl& \
                uri, KisPaintLaye
     gc.bitBlt(QPoint(0, 0), layer->paintDevice(), QRect(0, 0, width, height));
     gc.end();
 
-    write_icc_profile(& cinfo, (uchar*) colorProfileData.data(), \
colorProfileData.size()); +
+    if (options.saveProfile) {
+        const KoColorProfile* colorProfile = layer->colorSpace()->profile();
+        QByteArray colorProfileData = colorProfile->rawData();
+        write_icc_profile(& cinfo, (uchar*) colorProfileData.data(), \
colorProfileData.size()); +    }
 
     // Write data information
 
diff --git a/krita/plugins/formats/jpeg/kis_jpeg_converter.h \
b/krita/plugins/formats/jpeg/kis_jpeg_converter.h index 41bb2b8..68dec8d 100644
--- a/krita/plugins/formats/jpeg/kis_jpeg_converter.h
+++ b/krita/plugins/formats/jpeg/kis_jpeg_converter.h
@@ -71,6 +71,7 @@ struct KisJPEGOptions {
     QList<const KisMetaData::Filter*> filters;
     QColor transparencyFillColor;
     bool forceSRGB;
+    bool saveProfile;
 };
 
 namespace KisMetaData
diff --git a/krita/plugins/formats/jpeg/kis_jpeg_export.cc \
b/krita/plugins/formats/jpeg/kis_jpeg_export.cc index 173e218..92f82d4 100644
--- a/krita/plugins/formats/jpeg/kis_jpeg_export.cc
+++ b/krita/plugins/formats/jpeg/kis_jpeg_export.cc
@@ -117,6 +117,8 @@ KisImportExportFilter::ConversionStatus \
KisJPEGExport::convert(const QByteArray&  wdgUi.chkForceSRGB->setVisible(!sRGB);
     wdgUi.chkForceSRGB->setChecked(cfg.getBool("forceSRGB", false));
 
+    wdgUi.chkSaveProfile->setChecked(cfg.getBool("saveProfile", true));
+
     QStringList rgb = cfg.getString("transparencyFillcolor", \
"255,255,255").split(',');  \
                wdgUi.bnTransparencyFillColor->setDefaultColor(Qt::white);
     wdgUi.bnTransparencyFillColor->setColor(QColor(rgb[0].toInt(), rgb[1].toInt(), \
rgb[2].toInt())); @@ -146,6 +148,9 @@ KisImportExportFilter::ConversionStatus \
KisJPEGExport::convert(const QByteArray&  options.forceSRGB = \
wdgUi.chkForceSRGB->isChecked();  cfg.setProperty("forceSRGB", options.forceSRGB);
 
+    options.saveProfile = wdgUi.chkSaveProfile->isChecked();
+    cfg.setProperty("saveProfile", options.saveProfile);
+
     // Advanced
     options.optimize = wdgUi.optimize->isChecked();
     cfg.setProperty("optimize", options.optimize);
diff --git a/krita/plugins/formats/jpeg/kis_wdg_options_jpeg.ui \
b/krita/plugins/formats/jpeg/kis_wdg_options_jpeg.ui index f35da3f..99cc12c 100644
--- a/krita/plugins/formats/jpeg/kis_wdg_options_jpeg.ui
+++ b/krita/plugins/formats/jpeg/kis_wdg_options_jpeg.ui
@@ -109,7 +109,7 @@
          </item>
         </layout>
        </item>
-       <item row="3" column="0">
+       <item row="4" column="0">
         <spacer name="verticalSpacer_2">
          <property name="orientation">
           <enum>Qt::Vertical</enum>
@@ -122,6 +122,16 @@
          </property>
         </spacer>
        </item>
+       <item row="3" column="0">
+        <widget class="QCheckBox" name="chkSaveProfile">
+         <property name="text">
+          <string>Save ICC Profile</string>
+         </property>
+         <property name="checked">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tab_2">
@@ -333,16 +343,16 @@
  </widget>
  <customwidgets>
   <customwidget>
+   <class>KColorButton</class>
+   <extends>QPushButton</extends>
+   <header>kcolorbutton.h</header>
+  </customwidget>
+  <customwidget>
    <class>KisDoubleSliderSpinBox</class>
    <extends>QWidget</extends>
    <header>kis_slider_spin_box.h</header>
    <container>1</container>
   </customwidget>
-  <customwidget>
-   <class>KColorButton</class>
-   <extends>QPushButton</extends>
-   <header>kcolorbutton.h</header>
-  </customwidget>
  </customwidgets>
  <tabstops>
   <tabstop>tabWidget</tabstop>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic