[Digikam-devel] extragear/graphics/digikam

Marcel Wiesweg marcel.wiesweg at gmx.de
Thu Apr 13 22:21:06 BST 2006


SVN commit 529604 by mwiesweg:

digikam from trunk:
Add dcraw autodetection for digikam and showfoto

If dcraw is not found at startup,
a warning message is displayed and the
user is asked to continue or cancel.

CCMAIL: digikam-devel at kde.org



 M  +4 -0      digikam/digikamapp.cpp  
 M  +4 -0      digikam/main.cpp  
 M  +1 -1      libs/dcraw/Makefile.am  
 A             libs/dcraw/dcrawbinary.cpp   [License: GPL]
 A             libs/dcraw/dcrawbinary.h   [License: GPL]
 M  +6 -3      libs/dimg/loaders/rawloader.cpp  
 M  +4 -0      showfoto/main.cpp  


--- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #529603:529604
@@ -82,6 +82,8 @@
 #include "thumbnailsize.h"
 #include "scanlib.h"
 #include "loadingcacheinterface.h"
+#include "imageattributeswatch.h"
+#include "dcrawbinary.h"
 
 namespace Digikam
 {
@@ -164,7 +166,9 @@
     delete mAlbumManager;
     delete AlbumLister::instance();
 
+    ImageAttributesWatch::cleanUp();
     LoadingCacheInterface::cleanUp();
+    DcrawBinary::cleanUp();
 
     m_instance = 0;
 }
--- trunk/extragear/graphics/digikam/digikam/main.cpp #529603:529604
@@ -53,6 +53,7 @@
 #include "albummanager.h"
 #include "digikamapp.h"
 #include "digikamfirstrun.h"
+#include "dcrawbinary.h"
 
 static KCmdLineOptions options[] =
 {
@@ -235,6 +236,9 @@
         return app.exec();
     }
 
+    if (!Digikam::DcrawBinary::instance()->checkSystem())
+        return 1;
+
     Digikam::AlbumManager* man = new Digikam::AlbumManager();
     man->setLibraryPath(albumPath);
 
--- trunk/extragear/graphics/digikam/libs/dcraw/Makefile.am #529603:529604
@@ -4,6 +4,6 @@
 
 noinst_LTLIBRARIES = libdcraw.la
 
-libdcraw_la_SOURCES = dcraw_parse.cpp 
+libdcraw_la_SOURCES = dcraw_parse.cpp dcrawbinary.cpp
 
 libdcraw_la_LDFLAGS = $(all_libraries) $(KDE_RPATH)
--- trunk/extragear/graphics/digikam/libs/dimg/loaders/rawloader.cpp #529603:529604
@@ -51,6 +51,7 @@
 #include "dimg.h"
 #include "dcraw_parse.h"
 #include "rawloader.h"
+#include "dcrawbinary.h"
 
 namespace Digikam
 {
@@ -88,7 +89,8 @@
     // -p : Use the input ICC profiles to define the camera's raw colorspace.
     // -o : Use ICC profiles to define the output colorspace.
 
-    command = "dcraw -c -2 ";
+    command = DcrawBinary::instance()->path();
+    command += " -c -2 ";
     
     if (m_rawDecodingSettings.cameraColorBalance)
         command += "-w ";
@@ -260,9 +262,10 @@
     // -B : Use bilateral filter to smooth noise while preserving edges.
     // -p : Use the input ICC profiles to define the camera's raw colorspace.
     // -o : Use ICC profiles to define the output colorspace.
+
+    command = DcrawBinary::instance()->path();
+    command += " -c -4 ";
     
-    command = "dcraw -c -4 ";
-    
     if (m_rawDecodingSettings.cameraColorBalance)
         command += "-w ";
     
--- trunk/extragear/graphics/digikam/showfoto/main.cpp #529603:529604
@@ -37,6 +37,7 @@
 // Local includes.
 
 #include "showfoto.h"
+#include "dcrawbinary.h"
 
 static KCmdLineOptions options[] =
 {
@@ -100,6 +101,9 @@
     KApplication app;
     KImageIO::registerFormats();
 
+    if (!Digikam::DcrawBinary::instance()->checkSystem())
+        return 1;
+
     KURL::List urlList;
     KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
     for(int i = 0; i < args->count(); i++)



More information about the Digikam-devel mailing list