From bf3fb436be9b1ef745e89048644243eea7601976 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Oct 29 2008 20:09:43 +0000 Subject: - respin libkexiv2/libkdcraw backport patches --- diff --git a/kdegraphics-4.1.2-libkdcraw-0.4.0.patch b/kdegraphics-4.1.2-libkdcraw-0.4.0.patch index 804198d..f88ec1c 100644 --- a/kdegraphics-4.1.2-libkdcraw-0.4.0.patch +++ b/kdegraphics-4.1.2-libkdcraw-0.4.0.patch @@ -1,7 +1,7 @@ Index: test/raw2png.cpp =================================================================== --- test/raw2png.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ test/raw2png.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ test/raw2png.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,123 @@ +/* ============================================================ + * @@ -129,54 +129,68 @@ Index: test/raw2png.cpp Property changes on: test/raw2png.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: test/CMakeLists.txt =================================================================== --- test/CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ test/CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) -@@ -0,0 +1,29 @@ -+ ++++ test/CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) +@@ -0,0 +1,44 @@ +KDE4_NO_ENABLE_FINAL(kdcraw) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../libkdcraw) + -+# Disable dcraw C Ansi code warnings from LibRaw. Just to be clear on the console. -+FOREACH(_curentfile ${libraw_LIB_SRCS}) -+ SET_SOURCE_FILES_PROPERTIES(${_curentfile} PROPERTIES COMPILE_FLAGS -w) -+ENDFOREACH(_curentfile ${libraw_LIB_SRCS}) -+ +# add a small macro so that this is a bit cleaner -+macro(libkdcraw_build_test) ++MACRO(libkdcraw_build_test) + SET(_target ${ARGV0}) -+ SET(${_target}_SRCS ../libraw/samples/${_target}.cpp ${libraw_LIB_SRCS}) ++ SET(${_target}_SRCS ++ ../libraw/samples/${_target}.cpp ++ ${libraw_LIB_SRCS} ++ ) ++ ++ # Disable dcraw C Ansi code warnings from LibRaw. Just to be clear on the console. ++ FOREACH(_curentfile ${${_target}_SRCS}) ++ SET_SOURCE_FILES_PROPERTIES(${_curentfile} PROPERTIES COMPILE_FLAGS -w) ++ ENDFOREACH(_curentfile ${${_target}_SRCS}) ++ + KDE4_ADD_EXECUTABLE(${_target} NOGUI ${${_target}_SRCS}) -+ TARGET_LINK_LIBRARIES(${_target} ${MATH_LIBRARY} ${LCMS_LIBRARIES} ${JPEG_LIBRARY} ${OPENMP_LDFLAGS}) ++ TARGET_LINK_LIBRARIES(${_target} ++ ${MATH_LIBRARY} ++ ${LCMS_LIBRARIES} ++ ${JPEG_LIBRARY} ++ ${OPENMP_LDFLAGS} ++ ${CMAKE_THREAD_LIBS_INIT} ++ ) + SET_TARGET_PROPERTIES(${_target} PROPERTIES COMPILE_FLAGS -DLIBRAW_BUILDLIB) + IF(WIN32) + TARGET_LINK_LIBRARIES(${_target} ws2_32) + ENDIF(WIN32) -+endmacro(libkdcraw_build_test) ++ENDMACRO(libkdcraw_build_test) + +SET(raw2png_SRCS raw2png.cpp) +KDE4_ADD_EXECUTABLE(raw2png NOGUI ${raw2png_SRCS}) +TARGET_LINK_LIBRARIES(raw2png kdcraw) + -+libkdcraw_build_test( identify ) -+libkdcraw_build_test( simple_dcraw ) -+libkdcraw_build_test( mem_image ) -+libkdcraw_build_test( dcraw_emu ) -\ No newline at end of file ++LIBKDCRAW_BUILD_TEST(identify) ++LIBKDCRAW_BUILD_TEST(simple_dcraw) ++LIBKDCRAW_BUILD_TEST(mem_image) ++LIBKDCRAW_BUILD_TEST(dcraw_emu) ++LIBKDCRAW_BUILD_TEST(dcraw_half) ++#IF(WIN32) ++# LIBKDCRAW_BUILD_TEST(half_mt_win32) ++#ELSE(WIN32) ++# LIBKDCRAW_BUILD_TEST(half_mt) ++#ENDIF(WIN32) Property changes on: test/CMakeLists.txt ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/libraw/libraw_alloc.h =================================================================== --- libraw/libraw/libraw_alloc.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/libraw/libraw_alloc.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/libraw/libraw_alloc.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,98 @@ +/* -*- C++ -*- + * File: libraw_alloc.h @@ -279,13 +293,13 @@ Index: libraw/libraw/libraw_alloc.h Property changes on: libraw/libraw/libraw_alloc.h ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/libraw/libraw_internal.h =================================================================== --- libraw/libraw/libraw_internal.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/libraw/libraw_internal.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/libraw/libraw_internal.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,233 @@ +/* -*- C++ -*- + * File: libraw_internal.h @@ -523,13 +537,13 @@ Index: libraw/libraw/libraw_internal.h Property changes on: libraw/libraw/libraw_internal.h ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/libraw/libraw.h =================================================================== --- libraw/libraw/libraw.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/libraw/libraw.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/libraw/libraw.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,328 @@ +/* -*- C++ -*- + * File: libraw.h @@ -862,13 +876,13 @@ Index: libraw/libraw/libraw.h Property changes on: libraw/libraw/libraw.h ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/libraw/libraw_types.h =================================================================== --- libraw/libraw/libraw_types.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/libraw/libraw_types.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/libraw/libraw_types.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,272 @@ +/* -*- C++ -*- + * File: libraw_types.h @@ -1145,13 +1159,13 @@ Index: libraw/libraw/libraw_types.h Property changes on: libraw/libraw/libraw_types.h ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/libraw/libraw_version.h =================================================================== --- libraw/libraw/libraw_version.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/libraw/libraw_version.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/libraw/libraw_version.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,47 @@ +/* -*- C++ -*- + * File: version.h @@ -1203,13 +1217,13 @@ Index: libraw/libraw/libraw_version.h Property changes on: libraw/libraw/libraw_version.h ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/libraw/libraw_const.h =================================================================== --- libraw/libraw/libraw_const.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/libraw/libraw_const.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/libraw/libraw_const.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,147 @@ +/* -*- C++ -*- + * File: libraw_const.h @@ -1361,13 +1375,13 @@ Index: libraw/libraw/libraw_const.h Property changes on: libraw/libraw/libraw_const.h ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/samples/mem_image.cpp =================================================================== --- libraw/samples/mem_image.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/samples/mem_image.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/samples/mem_image.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,198 @@ +/* -*- C++ -*- + * File: mem_image.cpp @@ -1570,13 +1584,13 @@ Index: libraw/samples/mem_image.cpp Property changes on: libraw/samples/mem_image.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/samples/dcraw_emu.cpp =================================================================== --- libraw/samples/dcraw_emu.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/samples/dcraw_emu.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/samples/dcraw_emu.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,216 @@ +/* -*- C++ -*- + * File: dcraw_emu.cpp @@ -1797,13 +1811,13 @@ Index: libraw/samples/dcraw_emu.cpp Property changes on: libraw/samples/dcraw_emu.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libraw/samples/simple_dcraw.cpp =================================================================== --- libraw/samples/simple_dcraw.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/samples/simple_dcraw.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/samples/simple_dcraw.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,157 @@ +/* -*- C++ -*- + * File: simple_dcraw.cpp @@ -1965,13 +1979,13 @@ Index: libraw/samples/simple_dcraw.cpp Property changes on: libraw/samples/simple_dcraw.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native -Index: libraw/samples/dcraw_half.c +Index: libraw/samples/dcraw_half.cpp =================================================================== ---- libraw/samples/dcraw_half.c (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/samples/dcraw_half.c (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libraw/samples/dcraw_half.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) ++++ libraw/samples/dcraw_half.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,83 @@ +/* -*- C++ -*- + * File: simple_dcraw_c.c @@ -2057,15 +2071,16 @@ Index: libraw/samples/dcraw_half.c + return 0; +} -Property changes on: libraw/samples/dcraw_half.c +Property changes on: libraw/samples/dcraw_half.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:mergeinfo +Added: svn:eol-style + native -Index: libraw/samples/half_mt.c +Index: libraw/samples/half_mt.cpp =================================================================== ---- libraw/samples/half_mt.c (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/samples/half_mt.c (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libraw/samples/half_mt.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) ++++ libraw/samples/half_mt.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,178 @@ +/* -*- C++ -*- + * File: simple_dcraw_c.c @@ -2246,15 +2261,16 @@ Index: libraw/samples/half_mt.c + return 0; +} -Property changes on: libraw/samples/half_mt.c +Property changes on: libraw/samples/half_mt.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:mergeinfo +Added: svn:eol-style + native Index: libraw/samples/identify.cpp =================================================================== --- libraw/samples/identify.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libraw/samples/identify.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libraw/samples/identify.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,126 @@ +/* -*- C++ -*- + * File: identify.cpp @@ -2385,13 +2401,229 @@ Index: libraw/samples/identify.cpp Property changes on: libraw/samples/identify.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native +Index: libraw/samples/half_mt_win32.cpp +=================================================================== +--- libraw/samples/half_mt_win32.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) ++++ libraw/samples/half_mt_win32.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) +@@ -0,0 +1,211 @@ ++/* -*- C++ -*- ++ * File: simple_dcraw_c.c ++ * Copyright 2008 Alex Tutubalin ++ * Created: Sat Mar 8 , 2008 ++ * ++ * LibRaw C API mutithreaded sample (emulates call to "dcraw -h [-w] [-a] [-v]") ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++ * 02111-1307, USA. ++ */ ++#include ++#include ++#include ++#include ++#include ++#include "libraw/libraw.h" ++ ++#ifdef WIN32 ++#define snprintf _snprintf ++#endif ++ ++ ++#define HANDLE_ERRORS(ret) do { \ ++ if(ret) \ ++ { \ ++ fprintf(stderr,"%s: %s\n",fn,libraw_strerror(ret)); \ ++ if(LIBRAW_FATAL_ERROR(ret)) \ ++ { \ ++ libraw_close(iprc); \ ++ return -1; \ ++ } \ ++ } \ ++ }while(0) ++ ++ ++// global settings ++int verbose=0,use_camera_wb=0,use_auto_wb=0,tiff_mode=0; ++ ++// global file queue ++HANDLE qmutex; ++char **queue=NULL; ++size_t qsize=0,qptr=0; ++ ++char *get_next_file() ++{ ++ char *ret; ++ DWORD dwWaitResult; ++ if(!queue) return NULL; ++ if(qptr>=qsize) return NULL; ++ ++ dwWaitResult = WaitForSingleObject( ++ qmutex, // handle to mutex ++ INFINITE); // no time-out interval ++ switch (dwWaitResult) ++ { ++ // The thread got ownership of the mutex ++ case WAIT_OBJECT_0: ++ ret = queue[qptr++]; ++ ReleaseMutex(qmutex); ++ break; ++ case WAIT_ABANDONED: ++ return NULL; // cannot obtain the lock ++ }; ++ return ret; ++} ++ ++ ++// thread routine ++int process_files(void *q) ++{ ++ int ret; ++ int count=0; ++ char outfn[1024], *fn; ++ libraw_data_t *iprc = libraw_init(0); ++ ++ if(!iprc) ++ { ++ fprintf(stderr,"Cannot create libraw handle\n"); ++ return -1; ++ } ++ ++ while((fn = get_next_file())) ++ { ++ ++ iprc->params.half_size = 1; /* dcraw -h */ ++ iprc->params.use_camera_wb = use_camera_wb; ++ iprc->params.use_auto_wb = use_auto_wb; ++ iprc->params.output_tiff = tiff_mode; ++ ++ ret = libraw_open_file(iprc,fn); ++ if(verbose) fprintf(stderr,"%s: %s/%s\n",fn,iprc->idata.make,iprc->idata.model); ++ HANDLE_ERRORS(ret); ++ ++ ret = libraw_unpack(iprc); ++ HANDLE_ERRORS(ret); ++ ++ ret = libraw_dcraw_process(iprc); ++ HANDLE_ERRORS(ret); ++ ++ snprintf(outfn,1023,"%s.%s",fn,tiff_mode?"tif":"ppm"); ++ ++ if(verbose) fprintf(stderr,"Writing file %s\n",outfn); ++ ret = libraw_dcraw_ppm_tiff_writer(iprc,outfn); ++ HANDLE_ERRORS(ret); ++ count++; ++ } ++ libraw_close(iprc); ++ printf("Processed %d files\n",count); ++ return 0; ++} ++ ++void usage(const char*p) ++{ ++ printf( ++ "Options:\n" ++ "-J n - set parrallel job coun (default 2)\n" ++ "-v - verbose\n" ++ "-w - use camera white balance\n" ++ "-T - output TIFF instead of PPM\n" ++ "-a - average image for white balance\n"); ++ exit(1); ++} ++ ++int show_files(void *q) ++{ ++ char *p; ++ int cnt = 0; ++ while(p = get_next_file()) ++ { ++ printf("%s\n",p); ++ cnt++; ++ } ++ return cnt; ++ ++} ++ ++int main(int ac, char *av[]) ++{ ++ int i,max_threads = 2; ++ HANDLE *threads; ++ DWORD ThreadID; ++ ++ if(ac<2) ++ usage(av[0]); ++ ++ queue = calloc(ac-1,sizeof(queue[0])); ++ ++ for (i=1;i @@ -13907,7 +14139,7 @@ Index: libkdcraw/libkdcraw_export.h Index: libkdcraw/kdcrawprivate.h =================================================================== --- libkdcraw/kdcrawprivate.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libkdcraw/kdcrawprivate.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libkdcraw/kdcrawprivate.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,80 @@ +/* ============================================================ + * @@ -13992,13 +14224,13 @@ Index: libkdcraw/kdcrawprivate.h Property changes on: libkdcraw/kdcrawprivate.h ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libkdcraw/kdcraw.cpp =================================================================== ---- libkdcraw/kdcraw.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/kdcraw.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw/kdcraw.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/kdcraw.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -10,10 +10,6 @@ * Copyright (C) 2006-2008 by Marcel Wiesweg * Copyright (C) 2007-2008 by Guillaume Castagnino @@ -14934,9 +15166,12 @@ Index: libkdcraw/kdcraw.cpp RGB[0] = X*XYZ_to_RGB[0][0] + Y*XYZ_to_RGB[1][0] + Z*XYZ_to_RGB[2][0]; RGB[1] = X*XYZ_to_RGB[0][1] + Y*XYZ_to_RGB[1][1] + Z*XYZ_to_RGB[2][1]; RGB[2] = X*XYZ_to_RGB[0][2] + Y*XYZ_to_RGB[1][2] + Z*XYZ_to_RGB[2][2]; -@@ -787,7 +522,7 @@ +@@ -785,9 +520,9 @@ + /* By default, decraw override his default D65 WB + We need to keep it as a basis : if not, colors with some DSLR will have a high dominant of color that will lead to - a completly wrong WB +- a completly wrong WB ++ a completely wrong WB */ - if (rawFileIdentify (identify, d->filePath)) + if (rawFileIdentify(identify, filePath)) @@ -15242,8 +15477,8 @@ Index: libkdcraw/kdcraw.cpp } // namespace KDcrawIface Index: libkdcraw/rawdecodingsettings.h =================================================================== ---- libkdcraw/rawdecodingsettings.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/rawdecodingsettings.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw/rawdecodingsettings.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/rawdecodingsettings.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -25,6 +25,11 @@ #ifndef RAW_DECODING_SETTINGS_H #define RAW_DECODING_SETTINGS_H @@ -15274,7 +15509,7 @@ Index: libkdcraw/rawdecodingsettings.h - AUTO: Averages an auto WB on the entire image - CUSTOM: Let use set it's own temperature and green factor (later converted to RGBG factors) + NONE: no white balance used : dcraw reverts to standard daylight D65 WB. -+ CAMERA: Use the camera embeded WB if available. Reverts to NONE if not. ++ CAMERA: Use the camera embedded WB if available. Reverts to NONE if not. + AUTO: Averages an auto WB on the entire image. + CUSTOM: Let use set it's own temperature and green factor (later converted to RGBG factors). + AERA: Let use an aera from image to average white balance (see whiteBalanceArea for details). @@ -15293,7 +15528,7 @@ Index: libkdcraw/rawdecodingsettings.h - enum OutputColorSpace + /** Input color profile used to decoded image + NOINPUTCS: No input color profile. -+ EMBEDDED: Use the camera profile embeded in RAW file if exist. ++ EMBEDDED: Use the camera profile embedded in RAW file if exist. + CUSTOMINPUTCS: Use a custom input color space profile. + */ + enum InputColorSpace @@ -15561,10 +15796,214 @@ Index: libkdcraw/rawdecodingsettings.h }; } // namespace KDcrawIface +Index: libkdcraw/squeezedcombobox.cpp +=================================================================== +--- libkdcraw/squeezedcombobox.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) ++++ libkdcraw/squeezedcombobox.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) +@@ -0,0 +1,199 @@ ++/* ============================================================ ++ * ++ * This file is a part of kipi-plugins project ++ * http://www.kipi-plugins.org ++ * ++ * Date : 2008-08-21 ++ * Description : a combo box with a width not depending of text ++ * content size ++ * ++ * Copyright (C) 2005 by Tom Albers ++ * Copyright (C) 2008 by Andi Clemens ++ * Copyright (C) 2006-2008 by Gilles Caulier ++ * ++ * This program is free software; you can redistribute it ++ * and/or modify it under the terms of the GNU General ++ * Public License as published by the Free Software Foundation; ++ * either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * ============================================================ */ ++ ++// Qt includes. ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++// Local includes. ++ ++#include "squeezedcombobox.h" ++#include "squeezedcombobox.moc" ++ ++namespace KDcrawIface ++{ ++ ++class SqueezedComboBoxPriv ++{ ++public: ++ ++ SqueezedComboBoxPriv() ++ { ++ timer = 0; ++ } ++ ++ QMap originalItems; ++ ++ QTimer *timer; ++}; ++ ++SqueezedComboBox::SqueezedComboBox(QWidget *parent, const char *name) ++ : QComboBox(parent) ++{ ++ d = new SqueezedComboBoxPriv; ++ setObjectName(name); ++ setMinimumWidth(100); ++ d->timer = new QTimer(this); ++ d->timer->setSingleShot(true); ++ ++ connect(d->timer, SIGNAL(timeout()), ++ this, SLOT(slotTimeOut())); ++ ++ connect(this, SIGNAL(activated(int)), ++ SLOT(slotUpdateToolTip(int))); ++} ++ ++SqueezedComboBox::~SqueezedComboBox() ++{ ++ delete d->timer; ++ delete d; ++} ++ ++bool SqueezedComboBox::contains(const QString& text) const ++{ ++ if (text.isEmpty()) ++ return false; ++ ++ for (QMap::const_iterator it = d->originalItems.begin() ; it != d->originalItems.end(); ++ ++it) ++ { ++ if (it.value() == text) ++ return true; ++ } ++ ++ return false; ++} ++ ++QSize SqueezedComboBox::sizeHint() const ++{ ++ ensurePolished(); ++ QFontMetrics fm = fontMetrics(); ++ ++ int maxW = count() ? 18 : 7 * fm.width(QChar('x')) + 18; ++ int maxH = qMax( fm.lineSpacing(), 14 ) + 2; ++ ++ QStyleOptionComboBox options; ++ options.initFrom(this); ++ ++ return style()->sizeFromContents(QStyle::CT_ComboBox, &options, ++ QSize(maxW, maxH), this).expandedTo(QApplication::globalStrut()); ++} ++ ++void SqueezedComboBox::insertSqueezedItem(const QString& newItem, int index, ++ const QVariant& userData) ++{ ++ d->originalItems[index] = newItem; ++ QComboBox::insertItem(index, squeezeText(newItem), userData); ++ ++ // if this is the first item, set the tooltip. ++ if (index == 0) ++ slotUpdateToolTip(0); ++} ++ ++void SqueezedComboBox::insertSqueezedList(const QStringList& newItems, int index) ++{ ++ for(QStringList::const_iterator it = newItems.begin() ; it != newItems.end() ; ++it) ++ { ++ insertSqueezedItem(*it, index); ++ index++; ++ } ++} ++ ++void SqueezedComboBox::addSqueezedItem(const QString& newItem, ++ const QVariant& userData) ++{ ++ insertSqueezedItem(newItem, count(), userData); ++} ++ ++void SqueezedComboBox::setCurrent(const QString& itemText) ++{ ++ QString squeezedText = squeezeText(itemText); ++ qint32 itemIndex = findText(squeezedText); ++ if (itemIndex >= 0) ++ setCurrentIndex(itemIndex); ++} ++ ++void SqueezedComboBox::resizeEvent(QResizeEvent *) ++{ ++ d->timer->start(200); ++} ++ ++void SqueezedComboBox::slotTimeOut() ++{ ++ for (QMap::iterator it = d->originalItems.begin() ; ++ it != d->originalItems.end(); ++it) ++ { ++ setItemText( it.key(), squeezeText( it.value() ) ); ++ } ++} ++ ++QString SqueezedComboBox::squeezeText(const QString& original) ++{ ++ // not the complete widgetSize is usable. Need to compensate for that. ++ int widgetSize = width()-30; ++ QFontMetrics fm( fontMetrics() ); ++ ++ // If we can fit the full text, return that. ++ if (fm.width(original) < widgetSize) ++ return(original); ++ ++ // We need to squeeze. ++ QString sqItem = original; // prevent empty return value; ++ widgetSize = widgetSize-fm.width("..."); ++ for (int i = 0 ; i != original.length(); ++i) ++ { ++ if ( (int)fm.width(original.right(i)) > widgetSize) ++ { ++ sqItem = QString(original.left(i) + "..."); ++ break; ++ } ++ } ++ return sqItem; ++} ++ ++void SqueezedComboBox::slotUpdateToolTip(int index) ++{ ++ setToolTip(d->originalItems[index]); ++} ++ ++QString SqueezedComboBox::itemHighlighted() ++{ ++ int curItem = currentIndex(); ++ return d->originalItems[curItem]; ++} ++ ++QString SqueezedComboBox::item(int index) ++{ ++ return d->originalItems[index]; ++} ++ ++} // namespace KDcrawIface Index: libkdcraw/kdcraw.h =================================================================== ---- libkdcraw/kdcraw.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/kdcraw.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw/kdcraw.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/kdcraw.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -25,7 +25,7 @@ #ifndef KDCRAW_H #define KDCRAW_H @@ -15719,8 +16158,8 @@ Index: libkdcraw/kdcraw.h } // namespace KDcrawIface Index: libkdcraw/rawfiles.h =================================================================== ---- libkdcraw/rawfiles.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/rawfiles.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw/rawfiles.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/rawfiles.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -24,9 +24,66 @@ #ifndef RAW_FILES_H #define RAW_FILES_H @@ -15790,10 +16229,177 @@ Index: libkdcraw/rawfiles.h +static const int raw_file_extensions_version = 2; #endif // RAW_FILES_H +Index: libkdcraw/squeezedcombobox.h +=================================================================== +--- libkdcraw/squeezedcombobox.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) ++++ libkdcraw/squeezedcombobox.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) +@@ -0,0 +1,162 @@ ++/* ============================================================ ++ * ++ * This file is a part of kipi-plugins project ++ * http://www.kipi-plugins.org ++ * ++ * Date : 2008-08-21 ++ * Description : a combo box with a width not depending of text ++ * content size ++ * ++ * Copyright (C) 2005 by Tom Albers ++ * Copyright (C) 2008 by Andi Clemens ++ * Copyright (C) 2006-2008 by Gilles Caulier ++ * ++ * This program is free software; you can redistribute it ++ * and/or modify it under the terms of the GNU General ++ * Public License as published by the Free Software Foundation; ++ * either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * ============================================================ */ ++ ++#ifndef SQUEEZEDCOMBOBOX_H ++#define SQUEEZEDCOMBOBOX_H ++ ++// Qt includes. ++ ++#include ++ ++// Local includes. ++ ++#include "libkdcraw_export.h" ++ ++namespace KDcrawIface ++{ ++ ++class SqueezedComboBoxPriv; ++ ++/** @class SqueezedComboBox ++ * ++ * This widget is a QComboBox, but then a little bit ++ * different. It only shows the right part of the items ++ * depending on de size of the widget. When it is not ++ * possible to show the complete item, it will be shortened ++ * and "..." will be prepended. ++ */ ++class LIBKDCRAW_EXPORT SqueezedComboBox : public QComboBox ++{ ++ Q_OBJECT ++ ++public: ++ ++ /** ++ * Constructor ++ * @param parent parent widget ++ * @param name name to give to the widget ++ */ ++ SqueezedComboBox(QWidget *parent = 0, const char *name = 0 ); ++ /** ++ * destructor ++ */ ++ virtual ~SqueezedComboBox(); ++ ++ /** ++ * ++ * Returns true if the combobox contains the original (not-squeezed) ++ * version of text. ++ * @param text the original (not-squeezed) text to check for ++ */ ++ bool contains(const QString& text) const; ++ ++ /** ++ * This inserts a item to the list. See QComboBox::insertItem() ++ * for details. Please do not use QComboBox::insertItem() to this ++ * widget, as that will fail. ++ * @param newItem the original (long version) of the item which needs ++ * to be added to the combobox ++ * @param index the position in the widget. ++ * @param userData custom meta-data assigned to new item. ++ */ ++ void insertSqueezedItem(const QString& newItem, int index, ++ const QVariant& userData=QVariant()); ++ ++ /** ++ * This inserts items to the list. See QComboBox::insertItems() ++ * for details. Please do not use QComboBox:: insertItems() to this ++ * widget, as that will fail. ++ * @param newItems the originals (long version) of the items which needs ++ * to be added to the combobox ++ * @param index the position in the widget. ++ */ ++ void insertSqueezedList(const QStringList& newItems, int index); ++ ++ /** ++ * Append an item. ++ * @param newItem the original (long version) of the item which needs ++ * to be added to the combobox ++ * @param userData custom meta-data assigned to new item. ++ */ ++ void addSqueezedItem(const QString& newItem, ++ const QVariant& userData=QVariant()); ++ ++ /** ++ * Set the current item to the one matching the given text. ++ * ++ * @param itemText the original (long version) of the item text ++ */ ++ void setCurrent(const QString& itemText); ++ ++ /** ++ * This method returns the full text (not squeezed) of the currently ++ * highlighted item. ++ * @return full text of the highlighted item ++ */ ++ QString itemHighlighted(); ++ ++ /** ++ * This method returns the full text (not squeezed) for the index. ++ * @param index the position in the widget. ++ * @return full text of the item ++ */ ++ QString item(int index); ++ ++ /** ++ * Sets the sizeHint() of this widget. ++ */ ++ virtual QSize sizeHint() const; ++ ++private Q_SLOTS: ++ ++ void slotTimeOut(); ++ void slotUpdateToolTip(int index); ++ ++private: ++ ++ void resizeEvent(QResizeEvent *); ++ QString squeezeText(const QString& original); ++ ++ // Prevent these from being used. ++ QString currentText() const; ++ void setCurrentText(const QString& itemText); ++ void insertItem(const QString& text); ++ void insertItem(qint32 index, const QString& text); ++ void insertItem(int index, const QIcon& icon, const QString& text, const QVariant& userData=QVariant()); ++ void insertItems(int index, const QStringList& list); ++ void addItem(const QString& text); ++ void addItem(const QIcon& icon, const QString& text, const QVariant& userData=QVariant()); ++ void addItems(const QStringList& texts); ++ QString itemText(int index) const; ++ ++private: ++ ++ SqueezedComboBoxPriv *d; ++}; ++ ++} // namespace KDcrawIface ++ ++#endif // SQUEEZEDCOMBOBOX_H Index: libkdcraw/dcrawinfocontainer.h =================================================================== ---- libkdcraw/dcrawinfocontainer.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/dcrawinfocontainer.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw/dcrawinfocontainer.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/dcrawinfocontainer.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -23,13 +23,13 @@ #ifndef DCRAW_INFO_CONTAINER_H #define DCRAW_INFO_CONTAINER_H @@ -15810,7 +16416,7 @@ Index: libkdcraw/dcrawinfocontainer.h #include "libkdcraw_export.h" -@@ -41,6 +41,18 @@ +@@ -41,10 +41,22 @@ public: @@ -15829,6 +16435,11 @@ Index: libkdcraw/dcrawinfocontainer.h /** Standard constructor */ DcrawInfoContainer() { +- sensitivity = -1; ++ sensitivity = -1.0; + exposureTime = -1.0; + aperture = -1.0; + focalLength = -1.0; @@ -61,6 +73,21 @@ cameraMult[1] = 0.0; cameraMult[2] = 0.0; @@ -15879,7 +16490,7 @@ Index: libkdcraw/dcrawinfocontainer.h + aperture == -1.0 && + focalLength == -1.0 && + pixelAspectRatio == 1.0 && -+ sensitivity == -1 && ++ sensitivity == -1.0 && + rawColors == -1 && + rawImages == -1 && + blackPoint == 0 && @@ -15970,7 +16581,7 @@ Index: libkdcraw/dcrawinfocontainer.h + /** The sensitivity in ISO used by camera to take the picture. */ - long sensitivity; -+ long sensitivity; ++ float sensitivity; /** ==> 1/exposureTime = exposure time in seconds. */ - float exposureTime; @@ -16038,8 +16649,8 @@ Index: libkdcraw/dcrawinfocontainer.h } // namespace KDcrawIface Index: libkdcraw/dcrawsettingswidget.cpp =================================================================== ---- libkdcraw/dcrawsettingswidget.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/dcrawsettingswidget.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw/dcrawsettingswidget.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/dcrawsettingswidget.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -25,25 +25,24 @@ // Qt includes. @@ -17043,7 +17654,7 @@ Index: libkdcraw/dcrawsettingswidget.cpp Index: libkdcraw/rcombobox.cpp =================================================================== --- libkdcraw/rcombobox.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 0) -+++ libkdcraw/rcombobox.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) ++++ libkdcraw/rcombobox.cpp (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -0,0 +1,148 @@ +/* ============================================================ + * @@ -17196,13 +17807,13 @@ Index: libkdcraw/rcombobox.cpp Property changes on: libkdcraw/rcombobox.cpp ___________________________________________________________________ -Name: svn:eol-style +Added: svn:eol-style + native Index: libkdcraw/dcrawsettingswidget.h =================================================================== ---- libkdcraw/dcrawsettingswidget.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/dcrawsettingswidget.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw/dcrawsettingswidget.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/dcrawsettingswidget.h (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -25,11 +25,16 @@ #ifndef DCRAW_SETTINGS_WIDGET_H #define DCRAW_SETTINGS_WIDGET_H @@ -17343,9 +17954,9 @@ Index: libkdcraw/dcrawsettingswidget.h Index: libkdcraw/CMakeLists.txt =================================================================== ---- libkdcraw/CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw/CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) -@@ -1,24 +1,33 @@ +--- libkdcraw/CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw/CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) +@@ -1,24 +1,35 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.h) @@ -17364,6 +17975,7 @@ Index: libkdcraw/CMakeLists.txt + dcrawsettingswidget.cpp + rcombobox.cpp + rnuminput.cpp ++ squeezedcombobox.cpp + ${libraw_LIB_SRCS} + ) + @@ -17385,13 +17997,14 @@ Index: libkdcraw/CMakeLists.txt + dcrawsettingswidget.h + rnuminput.h + rcombobox.h ++ squeezedcombobox.h dcrawinfocontainer.h rawfiles.h libkdcraw_export.h Index: libkdcraw.pc.cmake =================================================================== ---- libkdcraw.pc.cmake (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw.pc.cmake (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw.pc.cmake (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw.pc.cmake (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -4,7 +4,7 @@ includedir=${INCLUDE_INSTALL_DIR} @@ -17403,8 +18016,8 @@ Index: libkdcraw.pc.cmake Version: ${DCRAW_LIB_VERSION_STRING} Index: AUTHORS =================================================================== ---- AUTHORS (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ AUTHORS (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- AUTHORS (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ AUTHORS (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -9,3 +9,7 @@ Gerhard Kulzer Achim Bohnet @@ -17416,8 +18029,8 @@ Index: AUTHORS \ No newline at end of file Index: TODO =================================================================== ---- TODO (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ TODO (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- TODO (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ TODO (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -1,3 +1 @@ -- Use libRaw C++ interface instead dcraw.c. (http://www.libraw.org) -- Remove QProcess. Use multithreading instead. @@ -17426,8 +18039,8 @@ Index: TODO +- Add DNG writting mode support using Adobe DNG sdk Index: libkdcraw.lsm.cmake =================================================================== ---- libkdcraw.lsm.cmake (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ libkdcraw.lsm.cmake (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- libkdcraw.lsm.cmake (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ libkdcraw.lsm.cmake (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -2,8 +2,8 @@ Title: libkdcraw Version: ${DCRAW_LIB_VERSION_STRING} @@ -17441,8 +18054,8 @@ Index: libkdcraw.lsm.cmake Maintained-by: Index: NEWS =================================================================== ---- NEWS (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ NEWS (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- NEWS (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ NEWS (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -1,8 +1,51 @@ -0.2.0 +0.4.0 - Released with KDE 4.2.0 @@ -17498,12 +18111,12 @@ Index: NEWS - updated dcraw to 8.81 Index: CMakeLists.txt =================================================================== ---- CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -1,21 +1,25 @@ PROJECT(libkdcraw) -+option(ENABLE_OPENMP "Build with OpenMP support to use LibRaw parallel demosaicing operation" OFF) ++OPTION(ENABLE_OPENMP "Build with OpenMP support to use LibRaw parallel demosaicing operation" OFF) + # ======================================================= # Informations to update before to release this library. @@ -17630,8 +18243,8 @@ Index: CMakeLists.txt +SUBDIRS(profiles) Index: README =================================================================== ---- README (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 868654) -+++ README (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 868654) +--- README (.../tags/KDE/4.1.2/kdegraphics/libs/libkdcraw) (revision 877548) ++++ README (.../trunk/KDE/kdegraphics/libs/libkdcraw) (revision 877548) @@ -1,4 +1,4 @@ -DCRAW program interface for KDE +LibRaw C++ interface for KDE @@ -17674,3 +18287,12 @@ Index: README -- INSTALL ------------------------------------------------------------ In order to compile, especially when QT3/Qt4 are installed at the same time, +@@ -60,7 +67,7 @@ + + IMPORTANT : the bugreports and wishlist are hosted by the KDE bugs report + system who can be contacted by the standard Kde help menu of plugins dialog. +-A mail will be automaticly sent to the Kipi mailing list. ++A mail will be automatically sent to the Kipi mailing list. + There is no need to contact directly the Kipi mailing list for a bug report + or a devel wish. + diff --git a/kdegraphics-4.1.2-libkexiv2-0.4.0.patch b/kdegraphics-4.1.2-libkexiv2-0.4.0.patch index d5d45db..645f518 100644 --- a/kdegraphics-4.1.2-libkexiv2-0.4.0.patch +++ b/kdegraphics-4.1.2-libkexiv2-0.4.0.patch @@ -1,7 +1,7 @@ Index: libkexiv2/kexiv2comments.cpp =================================================================== ---- libkexiv2/kexiv2comments.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2comments.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2comments.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2comments.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -10,10 +10,6 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -25,8 +25,8 @@ Index: libkexiv2/kexiv2comments.cpp return false; Index: libkexiv2/kexiv2gps.cpp =================================================================== ---- libkexiv2/kexiv2gps.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2gps.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2gps.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2gps.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -10,20 +10,16 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -129,8 +129,8 @@ Index: libkexiv2/kexiv2gps.cpp } // NameSpace KExiv2Iface Index: libkexiv2/kexiv2private.cpp =================================================================== ---- libkexiv2/kexiv2private.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2private.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2private.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2private.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -9,10 +9,6 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -171,8 +171,8 @@ Index: libkexiv2/kexiv2private.cpp QString KExiv2Priv::convertCommentValue(const Exiv2::Exifdatum &exifDatum) Index: libkexiv2/kexiv2exif.cpp =================================================================== ---- libkexiv2/kexiv2exif.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2exif.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2exif.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2exif.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -10,20 +10,16 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -224,7 +224,34 @@ Index: libkexiv2/kexiv2exif.cpp d->printExiv2ExceptionError("Cannot set Exif data using Exiv2 ", e); } -@@ -743,7 +740,7 @@ +@@ -618,11 +615,16 @@ + case Exiv2::unsignedLong: + case Exiv2::signedShort: + case Exiv2::signedLong: +- return QVariant((int)it->toLong(component)); ++ if (it->count() > component) ++ return QVariant((int)it->toLong(component)); ++ else ++ return QVariant(QVariant::Int); + case Exiv2::unsignedRational: + case Exiv2::signedRational: + if (rationalAsListOfInts) + { ++ if (it->count() <= component) ++ return QVariant(QVariant::List); + QList list; + list << (*it).toRational(component).first; + list << (*it).toRational(component).second; +@@ -630,6 +632,8 @@ + } + else + { ++ if (it->count() <= component) ++ return QVariant(QVariant::Double); + // prefer double precision + double num = (*it).toRational(component).first; + double den = (*it).toRational(component).second; +@@ -743,7 +747,7 @@ if (it != exifData.end()) { long orientation = it->toLong(); @@ -233,7 +260,7 @@ Index: libkexiv2/kexiv2exif.cpp rotateExifQImage(thumbnail, (ImageOrientation)orientation); } -@@ -820,7 +817,7 @@ +@@ -820,7 +824,7 @@ thumbFile.setAutoRemove(true); thumbFile.open(); thumb.save(thumbFile.fileName(), "JPEG"); @@ -244,8 +271,8 @@ Index: libkexiv2/kexiv2exif.cpp #if (EXIV2_TEST_VERSION(0,17,91)) Index: libkexiv2/kexiv2.cpp =================================================================== ---- libkexiv2/kexiv2.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -9,10 +9,6 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -431,8 +458,8 @@ Index: libkexiv2/kexiv2.cpp untouchedTags << "Exif.Image.BitsPerSample"; Index: libkexiv2/kexiv2iptc.cpp =================================================================== ---- libkexiv2/kexiv2iptc.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2iptc.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2iptc.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2iptc.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -10,20 +10,16 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -562,8 +589,8 @@ Index: libkexiv2/kexiv2iptc.cpp ++it; Index: libkexiv2/kexiv2private.h =================================================================== ---- libkexiv2/kexiv2private.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2private.h (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2private.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2private.h (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -41,7 +41,6 @@ #include #include @@ -582,8 +609,8 @@ Index: libkexiv2/kexiv2private.h Index: libkexiv2/kexiv2image.cpp =================================================================== ---- libkexiv2/kexiv2image.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2image.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2image.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2image.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -10,20 +10,16 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -843,8 +870,8 @@ Index: libkexiv2/kexiv2image.cpp data.resize(previewFile.size()); Index: libkexiv2/CMakeLists.txt =================================================================== ---- libkexiv2/CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -1,7 +1,9 @@ -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") @@ -867,8 +894,8 @@ Index: libkexiv2/CMakeLists.txt TARGET_LINK_LIBRARIES( kexiv2 ${EXPAT_LIBRARIES} ) Index: libkexiv2/kexiv2.h =================================================================== ---- libkexiv2/kexiv2.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2.h (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2.h (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2.h (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -118,13 +118,27 @@ //-- STATICS methods ---------------------------------------------- //----------------------------------------------------------------- @@ -913,8 +940,8 @@ Index: libkexiv2/kexiv2.h */ Index: libkexiv2/kexiv2xmp.cpp =================================================================== ---- libkexiv2/kexiv2xmp.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ libkexiv2/kexiv2xmp.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- libkexiv2/kexiv2xmp.cpp (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ libkexiv2/kexiv2xmp.cpp (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -10,20 +10,16 @@ * Copyright (C) 2006-2008 by Gilles Caulier * Copyright (C) 2006-2008 by Marcel Wiesweg @@ -1147,8 +1174,8 @@ Index: libkexiv2/kexiv2xmp.cpp newSubjectCodes.append(*it); Index: TODO =================================================================== ---- TODO (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ TODO (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- TODO (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ TODO (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -1,3 +1,3 @@ - Extract GPS info from XMP tags. -- Exif/Iptc => Xmp synchrosization. @@ -1156,8 +1183,8 @@ Index: TODO - Xmp side-car file support. Index: NEWS =================================================================== ---- NEWS (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ NEWS (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- NEWS (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ NEWS (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -1,9 +1,27 @@ -0.2.0 +0.4.0 - @@ -1189,8 +1216,8 @@ Index: NEWS 001 ==> 146864: Lesser XMP support in digiKam. Index: CMakeLists.txt =================================================================== ---- CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) +--- CMakeLists.txt (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ CMakeLists.txt (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) @@ -15,11 +15,13 @@ # 0.1.7 => 4.0.1 # 0.1.8 => 5.0.0 @@ -1225,9 +1252,20 @@ Index: CMakeLists.txt # ======================================================= Index: README =================================================================== ---- README (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 868653) -+++ README (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 868653) -@@ -17,10 +17,10 @@ +--- README (.../tags/KDE/4.1.2/kdegraphics/libs/libkexiv2) (revision 877548) ++++ README (.../trunk/KDE/kdegraphics/libs/libkexiv2) (revision 877548) +@@ -9,18 +9,20 @@ + -- ABOUT -------------------------------------------------------------- + + Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures +-metadata as EXIF/IPTC and XMP. ++metadata as EXIF/IPTC and XMP. Metadata interface follow this paper: + ++http://www.metadataworkinggroup.com/pdf/mwg_guidance.pdf ++ + This library is used by kipi-plugins, digiKam and others kipi host programs. + + The library documentation is available on header files. -- DEPENDENCIES ------------------------------------------------------- @@ -1242,3 +1280,12 @@ Index: README Note: Exiv2 >= 0.16 is require to handle XMP metadata. +@@ -61,7 +63,7 @@ + + IMPORTANT : the bugreports and wishlist are hosted by the KDE bugs report + system who can be contacted by the standard Kde help menu of plugins dialog. +-A mail will be automaticly sent to the Kipi mailing list. ++A mail will be automatically sent to the Kipi mailing list. + There is no need to contact directly the Kipi mailing list for a bug report + or a devel wish. + diff --git a/kdegraphics.spec b/kdegraphics.spec index 2c5dcf6..6e34f24 100644 --- a/kdegraphics.spec +++ b/kdegraphics.spec @@ -6,7 +6,7 @@ Summary: K Desktop Environment - Graphics Applications Epoch: 7 Version: 4.1.2 -Release: 3%{?dist} +Release: 4%{?dist} Name: kdegraphics #Obsoletes: kdegraphics4 < %{version}-%{release} @@ -92,7 +92,7 @@ Requires: kdelibs4-devel Requires: pkgconfig %if ! 0%{?omit_kde3_conflicts} Obsoletes: libkdcraw-devel < 0.4.0, libkexiv2-devel < 0.4.0, libkipi-devel < 0.2.0 -Provides: libkdcraw-devel = 0.4.0, libkexiv2-devel = 0.4.0, libkipi-devel = 0.2.0 +Provides: libkdcraw-devel = 0.4.0-2, libkexiv2-devel = 0.4.0-2, libkipi-devel = 0.2.0-1 %endif %description devel %{summary}. @@ -124,7 +124,7 @@ make %{?_smp_mflags} -C %{_target_platform} VERBOSE=1 %install rm -rf %{buildroot} -make install DESTDIR=%{buildroot} -C %{_target_platform} +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} %if 0%{?omit_kde3_conflicts} # Conflicts: libkexiv2-devel libkdcraw-devel libkipi-devel @@ -201,6 +201,9 @@ rm -rf %{buildroot} %changelog +* Wed Oct 29 2008 Rex Dieter 4.1.2-4 +- respin libkexiv2/libkdcraw backport patches + * Mon Oct 06 2008 Kevin Kofler 4.1.2-3 - respun tarball - backport latest libkexiv2 and libkdcraw from trunk