![]() |
TiPhotoLocator 1.4
A tiny application to easily geotag your photos
|
La classe ExifWriteTask permet d'écrire des metadata dans une photo JPEG de façon asynchrone. Plus de détails...
#include <ExifWriteTask.h>
Fonctions membres publiques | |
| ExifWriteTask (const QVariantMap exifData, PhotoModel *photoModel, bool generateBackup=false) | |
| Constructeur. On enregistre les paramètres. | |
| virtual void | run () |
| Lancement de la tache. On lance exifTool dans un QProcess, et on écrit les metadata dans l'image JPG. Cette tache est exécutée dans un thread QRunnable. | |
Attributs privés | |
| QVariantMap | m_exifData |
| Liste des metadata à écrire. | |
| bool | m_generateBackup |
| True si un backup de l'image doit être généré. | |
| PhotoModel * | m_photoModel |
| Modèle des photos. | |
La classe ExifWriteTask permet d'écrire des metadata dans une photo JPEG de façon asynchrone.
Tache asynchrone par utilisation de QThreadPool.
|
explicit |
Constructeur. On enregistre les paramètres.
| exifData | la liste des metadata à écrire dans le fichier JPG. |
| generateBackup | true si un backup de l'image doit être généré avant sa modification. Code de remplissage de la QMap: QVariantMap exifData;
exifData.insert("index", idx; // Index de la photo
exifData.insert("imageUrl", idx.data(ImageUrlRole)); // Ce champ sert de clef
exifData.insert("GPSLatitude", idx.data(LatitudeRole));
exifData.insert("GPSLongitude", idx.data(LongitudeRole));
exifData.insert("GPSLatitudeRef", idx.data(LatitudeRole).toInt()>0 ? "N" : "S" );
exifData.insert("GPSLongitudeRef", idx.data(LongitudeRole).toInt()>0 ? "E" : "W" );
exifData.insert("DateTimeOriginal", idx.data(DateTimeOriginalRole));
exifData.insert("MetadataEditingSoftware", software);
exifData.insert("Creator", idx.data(CreatorRole)); // MWG écrit aussi dans Artist
exifData.insert("City", idx.data(CityRole)); // MWG écrit dans EXIF et dans IptcExt
exifData.insert("Country", idx.data(CountryRole)); // MWG écrit dans EXIF et dans IptcExt
exifData.insert("Location", idx.data(LocationRole)); // MWG écrit dans EXIF et dans IptcExt
exifData.insert("Description", idx.data(DescriptionRole)); // MWG écrit aussi dans ImageDescription
exifData.insert("CaptionWriter", idx.data(CaptionWriterRole));
exifData.insert("Keywords", idx.data(KeywordsRole)); // Liste des keywords
|
|
virtual |
Lancement de la tache. On lance exifTool dans un QProcess, et on écrit les metadata dans l'image JPG. Cette tache est exécutée dans un thread QRunnable.