Running the maintenance mode twice results in the error 'A tool named "" is already running". Something is blocking the execution and digiKam hangs.
Andi, I believe you've worked yourself in that area since March. This is fixed?
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 295256, bug 320121, bug 297614, bug 306282
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