[Digikam-devel] [Bug 132694] RAW Thumbnailing very slower and resource intensive
Gilles Caulier
caulier.gilles at free.fr
Wed Sep 6 14:08:16 BST 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=132694
------- Additional Comments From caulier.gilles free fr 2006-09-06 15:08 -------
SVN commit 581470 by cgilles:
digikam from trunk : dcraw autodetection at startup : now digiKAm check the dcraw version installed on your computer and report the results to user if necessary.
This commit fix showfoto RAW files rules if dcraw detection has failed.
Note :
- minimum dcraw version require : 8.09.
- recommended dcraw version >= 8.30.
CCBUGS: 132694
M +1 -1 albumiconview.cpp
M +30 -11 digikamapp.cpp
M +0 -1 digikamapp.h
M +0 -4 main.cpp
--- trunk/extragear/graphics/digikam/digikam/albumiconview.cpp #581469:581470
@ -890,7 +890,7 @
QString imagefilter = settings->getImageFileFilter().lower() +
settings->getImageFileFilter().upper();
- if (DcrawBinary::instance()->isAvailable())
+ if (DcrawBinary::instance()->versionIsRight())
{
// add raw files only if dcraw is available
imagefilter += settings->getRawFileFilter().lower() +
--- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #581469:581470
@ -35,6 +35,7 @
// KDE includes.
+#include <kaboutdata.h>
#include <kconfig.h>
#include <kdebug.h>
#include <klocale.h>
@ -101,13 +102,12 @
DigikamApp::DigikamApp()
: KMainWindow( 0, "Digikam" )
{
- m_instance = this;
- m_config = kapp->config();
- m_accelerators = 0;
-
- mFullScreen = false;
- mView = 0;
- mValidIccPath = true;
+ m_instance = this;
+ m_config = kapp->config();
+ m_accelerators = 0;
+ mFullScreen = false;
+ mView = 0;
+ mValidIccPath = true;
mSplash = 0;
if(m_config->readBoolEntry("Show Splash", true) &&
@ -123,9 +123,10 @
AlbumLister::instance();
mCameraMediaList = new QPopupMenu;
- connect( mCameraMediaList, SIGNAL( aboutToShow() ),
- SLOT( slotCameraMediaMenu() ) );
+ connect(mCameraMediaList, SIGNAL( aboutToShow() ),
+ this, SLOT(slotCameraMediaMenu()));
+
mCameraList = new CameraList(this, locateLocal("appdata", "cameras.xml"));
connect(mCameraList, SIGNAL(signalCameraAdded(CameraType *)),
@ -140,22 +141,32 @
applyMainWindowSettings(m_config);
+ // Check ICC profiles repository
+ if(mSplash)
+ mSplash->message(i18n("Checking ICC repository"), AlignLeft, white);
+
m_config->setGroup("Color Management");
QDir tmpPath(m_config->readPathEntry("DefaultPath", QString::null));
if (!tmpPath.exists())
{
mValidIccPath = false;
}
-
kdDebug() << "ICC profiles repository is: " << tmpPath.dirName() << endl;
+ // Check witch dcraw version available
+
+ if(mSplash)
+ mSplash->message(i18n("Checking dcraw version"), AlignLeft, white);
+
+ Digikam::DcrawBinary::instance()->checkSystem();
+
// Actual file scanning is done in main() - is this necessary here?
mAlbumManager->setLibraryPath(mAlbumSettings->getAlbumLibraryPath());
+ // Read albums from database
if(mSplash)
mSplash->message(i18n("Reading database"), AlignLeft, white);
- // Read albums from database
mAlbumManager->startScan();
// Load KIPI Plugins.
@ -167,8 +178,10 @
setAutoSaveSettings();
mDcopIface = new DCOPIface(this, "camera");
+
connect(mDcopIface, SIGNAL(signalCameraAutoDetect()),
this, SLOT(slotDcopCameraAutoDetect()));
+
connect(mDcopIface, SIGNAL(signalDownloadImages( const QString & )),
this, SLOT(slotDcopDownloadImages(const QString &)));
}
@ -205,6 +218,7 @
void DigikamApp::show()
{
+ // Remove Splashscreen.
if(mSplash)
{
mSplash->finish(this);
@ -213,6 +227,8 @
}
KMainWindow::show();
+
+ // Report errors from ICC repository path.
if(!mValidIccPath)
{
QString message = i18n("<qt><p>ICC profiles path seems to be invalid.</p>"
@ -232,6 +248,9 @
m_config->writeEntry("EnableCM", false);
}
}
+
+ // Report errors from dcraw detection.
+ Digikam::DcrawBinary::instance()->checkReport();
}
const QPtrList<KAction>& DigikamApp::menuImageActions()
--- trunk/extragear/graphics/digikam/digikam/digikamapp.h #581469:581470
@ -163,7 +163,6 @
private:
bool mFullScreen;
-
bool mValidIccPath;
// KIPI plugins support
--- trunk/extragear/graphics/digikam/digikam/main.cpp #581469:581470
@ -53,7 +53,6 @
#include "albummanager.h"
#include "digikamapp.h"
#include "digikamfirstrun.h"
-#include "dcrawbinary.h"
static KCmdLineOptions options[] =
{
@ -236,9 +235,6 @
return app.exec();
}
- if (!Digikam::DcrawBinary::instance()->checkSystem())
- return 1;
-
Digikam::AlbumManager* man = new Digikam::AlbumManager();
man->setLibraryPath(albumPath);
More information about the Digikam-devel
mailing list