The time adjustment tool in Digikam's BQM is - IMHO - a step backwards from the old 4.7.x feature which was separate. I think the time adjustment tool doesn't really belong into BQM: Time adjustment is usually very fast (so there is no need to queue it), doesn't require creation of file copies, but absolutely requires a preview of what the target timestamps will look like for each file - and exactly what metadata will be modified. Also time adjustment is used very frequently (possibly more frequently than other adjustments) and so needs a simple, easily accessible UI - and BQM is neither, unfortunately. But if the time adjustment tool will stay in BQM, I have some suggestions to make it more usable anyway: 1. It is very easy to destroy timestamps altogether. This should never happen. To reproduce: manipulate an image which has no metadata (just the file system timestamp), for example a mp4 video, select "Digikam timestamp" as source, subtract 1h (for example) from the timestamp, but leave all target checkboxes unchecked. => The file will be 'touch'ed to have the current datetime as timestamp, the old timestamp will be lost. Solution: Make it mandatory to check at least one target checkbox for the modified time. Also warn if no target checkboxes are checked before running the batch. Also - by default - display a visible(!) preview of the modified timestamps, maybe as additional columns in the batch queue which appear when selecting time adjustment - one for each modified timestamp (EXIF/IPTC/XMP/Filesytem/...). 2. It is completely unclear whether Digikam will *create* the target metadata timestamps if checked or if it will only update them when they exist already. I do not want Digikam to *create* additional timestamps, I just want it to update existing ones. Solution: A checkbox (checked by default) which says "Only update existing timestamp metadata". In the queue window, display a new timestamp value in the respective column (see #1) only if it will be updated. 3. It is hard to find out how *not* to create *copies* of modified files. If you select the Timestamp tool, then set it to overwrite existing files (which is misleading, there is no overwriting being done) and to do no renaming, I *think* it is just modifying the timestamps, but I don't know - is it also resampling / recompressing the JPEG files? Solution: Explain what settings are required *just* to modify timestamps and not the image data at all. Or better yet, if the timestamp tool is selected, make these settings the default. *Even* better, if the time adjustment tool is the only selected batch tool, just 4. For large time difference corrections, it is hard to calculate exactly what amount needs to be added or subtracted. It would be easier if there were an option to set the absolute time for the *first* selected image and let Digikam calculate the difference (add/subtract) for the remaining images based on this delta. (This is how iPhoto does it.) Thank you! :-)
Hello, can somebody please handle this usability issue? I just messed up the timestamps of about 400 photos because I accidentally re-executed a timestamp batch job on a previously selected list of photos which - for some reason - were still in the batch queue manager. Also, BQM went into an endless loop and executed the time adjustment (subtraction of some hours) multiple times on some photos! I just want a simple UI to adjust the timestamp on my photos and videos. I don't think this feature belongs into BQM ... Thanks!
Created attachment 114195 [details] Picasa's date and time change option
I also believe the date and time change tools (either by editing metadata or using the batch manager) are unnecessarily complicated. Yes, it is good that we have the option to edit every single one of the date metadata fields, either being XMP, Exif or IPTC, but for most cases, a much simpler dialog could be used and wouldn't lead to confusion. I have in mind Picasa's dialog, with just two fields and two options, and it is often more than enough. See attached screenshot. It would be great if we could have a simple date/time change option.
Created attachment 114557 [details] iphoto timeadjust dialog Same with iPhoto - the dialog is extremely simple, yet allows for relative and absolute adjustments of multiple photos and can even directly adjust (existing) metadata of the files. With Digikam I am given seven options of metadata to adjust, how should a normal user know which ones are relevant?
Adding my two cents of agreement here. The first time I ran through the BQM to change a bunch of timestamps I ended up with a bunch of duplicate files as I didn't set the "overwrite" settings But, as the original poster mentioned its not clear what "Overwrite" is doing. Hopefully its just editting the EXIF data.
The BQM always needs a target file internally. For metadata tools, if there are no image editing tools in the queue, a copy of the original file is created. Then the metadata operations are performed on the copy. If there was no error, either the copy is renamed, or if the overwrite option is set, the original file is replaced. Maik
Then - either the Time adjust tool does not belong in BQM or - the BQM needs to hide this complexity from the user. As a friend of mine (who does software development at Apple) keeps saying: technical reasons are no excuse for bad UI design. ;)
> But, as the original poster mentioned its not clear what "Overwrite" is doing. Hopefully its just editting the EXIF data. It just changes the EXIF data, it doesn't affect the picture itself (I made sure personally before correcting the date of many pictures).
Git commit 78a52448882d3819b5ae5644b83cf9e8b43d90ad by Maik Qualmann. Committed on 19/09/2018 at 11:03. Pushed by mqualmann into branch 'master'. first step to backport Time Adjust tool as a separate tool to digiKam Related: bug 366777 FIXED-IN: 6.0.0 M +3 -1 NEWS M +1 -0 core/app/CMakeLists.txt M +1 -0 core/app/main/digikamapp.h M +1 -0 core/app/main/digikamapp_p.h M +1 -0 core/app/main/digikamapp_setup.cpp M +22 -0 core/app/main/digikamapp_tools.cpp M +2 -1 core/app/main/digikamui5.rc M +11 -0 core/libs/widgets/mainview/dxmlguiwindow.cpp M +5 -0 core/libs/widgets/mainview/dxmlguiwindow.h M +1 -0 core/utilities/CMakeLists.txt M +0 -4 core/utilities/queuemanager/CMakeLists.txt A +31 -0 core/utilities/timeadjust/CMakeLists.txt R +0 -0 core/utilities/timeadjust/clockphotodialog.cpp [from: core/utilities/queuemanager/tools/metadata/clockphotodialog.cpp - 100% similarity] R +3 -3 core/utilities/timeadjust/clockphotodialog.h [from: core/utilities/queuemanager/tools/metadata/clockphotodialog.h - 093% similarity] R +0 -0 core/utilities/timeadjust/detbyclockphotobutton.cpp [from: core/utilities/queuemanager/tools/metadata/detbyclockphotobutton.cpp - 100% similarity] R +4 -4 core/utilities/timeadjust/detbyclockphotobutton.h [from: core/utilities/queuemanager/tools/metadata/detbyclockphotobutton.h - 090% similarity] R +0 -0 core/utilities/timeadjust/timeadjustcontainer.cpp [from: core/utilities/queuemanager/tools/metadata/timeadjustcontainer.cpp - 100% similarity] R +8 -4 core/utilities/timeadjust/timeadjustcontainer.h [from: core/utilities/queuemanager/tools/metadata/timeadjustcontainer.h - 092% similarity] A +442 -0 core/utilities/timeadjust/timeadjustdialog.cpp [License: GPL (v2+)] A +108 -0 core/utilities/timeadjust/timeadjustdialog.h [License: GPL (v2+)] A +113 -0 core/utilities/timeadjust/timeadjustlist.cpp [License: GPL (v2+)] A +74 -0 core/utilities/timeadjust/timeadjustlist.h [License: GPL (v2+)] R +0 -0 core/utilities/timeadjust/timeadjustsettings.cpp [from: core/utilities/queuemanager/tools/metadata/timeadjustsettings.cpp - 100% similarity] C +5 -4 core/utilities/timeadjust/timeadjustsettings.h [from: core/utilities/queuemanager/tools/metadata/timeadjustsettings.h - 089% similarity] A +226 -0 core/utilities/timeadjust/timeadjusttask.cpp [License: GPL (v2+)] C +17 -24 core/utilities/timeadjust/timeadjusttask.h [from: core/utilities/queuemanager/tools/metadata/timeadjustsettings.h - 057% similarity] A +133 -0 core/utilities/timeadjust/timeadjustthread.cpp [License: GPL (v2+)] R +24 -24 core/utilities/timeadjust/timeadjustthread.h [from: core/utilities/queuemanager/tools/metadata/timeadjustsettings.h - 057% similarity] https://commits.kde.org/digikam/78a52448882d3819b5ae5644b83cf9e8b43d90ad
Will this make it into 6.0-final?
yes, and it's already available in last official 6.0.0-beta3 released few days ago... Gilles Caulier