Bug 295256

Summary: Indicator missing while digiKam is filling the maintenance queue
Product: [Applications] digikam Reporter: Andi Clemens <andi.clemens>
Component: ProgressManager-BatchAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles
Priority: NOR    
Version: 2.5.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 3.3.0
Sentry Crash Report:

Description Andi Clemens 2012-03-03 12:21:26 UTC
If you have a large collection of images and use the maintenance dialog with "rebuild thumbnails -> scan", than the digiKam UI hangs and is not responding anymore. After the queue has been filled, the application is usable again.

This only happens when using the "scan" mode, I guess the time spent in the calculation of already existing thumbnails takes too long.

Maybe we need to move this calculation in a dedicated thread...
Comment 1 Marcel Wiesweg 2012-07-04 19:55:47 UTC
Andi, same as 195255: still valid?
Comment 2 caulier.gilles 2013-07-28 08:24:49 UTC
Git commit 62125c25374b0caf2d6a3812d1d34812ede8a6fd by Gilles Caulier.
Committed on 28/07/2013 at 08:00.
Pushed by cgilles into branch 'master'.

Maintenance Manager : complete rewrite of maintenance tools handling.
Instead to use signal provided by tool to know if job is done, use progress manager signal.
Store instance of each tools in d private container instead stack to provide a better check of stage under progress.
Patch ScanController to provide a better feedback to NewItemsFinder, in all scan mode. Add a new method to only call core code to perform
scan WITHOUT to show a progress dialog. In fact progress manager as already all in place to give user feedback about progress...
Patch FaceManagement maintenance tool to indicate that face are detected and recognized.
Move status progress bar with ProgresManager code, as this one is fully relevant.

Marcel, I would to drop fully DProgressDialog code, which is only used now to ScanController, with all first run step to collect all information from image
managed by database. I remember that in 2.x serie, you have patched digiKam to only perform first run scan in background when albumgui is show. I'm right ?
At now, this feature sound fonctionnal some time, but it's not fully reproducible.
If you take a look how Google Picasa work, you will see that main DB referencing run in background when main GUI is displayed. A progress indication is show in statusbar.
User can start to work with collected items in real time and don't need to wait a long time that all referencing is done through a small progress dialog...
Look this entry for ex : 320359.
What do you think about?
Related: bug 320121, bug 295255, bug 297614, bug 306282

CCMAIL: marcel.wiesweg@gmx.de

FIXED-IN: 3.3.0

M  +1    -1    CMakeLists.txt
M  +19   -7    digikam/database/scancontroller.cpp
M  +7    -0    digikam/database/scancontroller.h
M  +1    -1    libs/progressmanager/progressmanager.cpp
R  +1    -0    libs/progressmanager/statusprogressbar.cpp [from: libs/widgets/common/statusprogressbar.cpp - 098% similarity]
R  +1    -0    libs/progressmanager/statusprogressbar.h [from: libs/widgets/common/statusprogressbar.h - 096% similarity]
M  +2    -3    utilities/maintenance/duplicatesfinder.cpp
M  +1    -1    utilities/maintenance/facedetector.cpp
M  +1    -2    utilities/maintenance/fingerprintsgenerator.cpp
M  +1    -1    utilities/maintenance/maintenancedlg.cpp
M  +117  -77   utilities/maintenance/maintenancemngr.cpp
M  +14   -8    utilities/maintenance/maintenancemngr.h
M  +3    -1    utilities/maintenance/maintenancetool.cpp
M  +24   -20   utilities/maintenance/newitemsfinder.cpp
M  +0    -1    utilities/maintenance/newitemsfinder.h
M  +1    -2    utilities/maintenance/thumbsgenerator.cpp

http://commits.kde.org/digikam/62125c25374b0caf2d6a3812d1d34812ede8a6fd