mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Break picture handling code from C++ to C.
This commit breaks the loading of images that were done in the divelist into smaller bits. A bit of code refactor was done in order to correct the placement of a few methods. ShiftTimesDialog::EpochFromExiv got moved to Exif::epoch dive_add_picture is now used instead of add_event picture_load_exif_data got implemented using the old listview code. dive_set_geodata_from_picture got implemented using the old listview code. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
13e8aba7da
commit
d95d1735b5
9 changed files with 87 additions and 70 deletions
|
|
@ -247,31 +247,12 @@ void ShiftImageTimesDialog::syncCameraClicked()
|
|||
free(mem.buffer);
|
||||
if (retval != PARSE_EXIF_SUCCESS)
|
||||
return;
|
||||
dcImageEpoch = epochFromExiv(&exiv);
|
||||
dcImageEpoch = exiv.epoch();
|
||||
dcDateTime.setTime_t(dcImageEpoch);
|
||||
ui.dcTime->setDateTime(dcDateTime);
|
||||
connect(ui.dcTime, SIGNAL(dateTimeChanged(const QDateTime &)), this, SLOT(dcDateTimeChanged(const QDateTime &)));
|
||||
}
|
||||
|
||||
//TODO: This should be moved to C-Code.
|
||||
time_t ShiftImageTimesDialog::epochFromExiv(EXIFInfo *exif)
|
||||
{
|
||||
struct tm tm;
|
||||
int year, month, day, hour, min, sec;
|
||||
|
||||
if (strlen(exif->DateTimeOriginal.c_str()))
|
||||
sscanf(exif->DateTimeOriginal.c_str(), "%d:%d:%d %d:%d:%d", &year, &month, &day, &hour, &min, &sec);
|
||||
else
|
||||
sscanf(exif->DateTime.c_str(), "%d:%d:%d %d:%d:%d", &year, &month, &day, &hour, &min, &sec);
|
||||
tm.tm_year = year;
|
||||
tm.tm_mon = month - 1;
|
||||
tm.tm_mday = day;
|
||||
tm.tm_hour = hour;
|
||||
tm.tm_min = min;
|
||||
tm.tm_sec = sec;
|
||||
return (utc_mktime(&tm));
|
||||
}
|
||||
|
||||
void ShiftImageTimesDialog::dcDateTimeChanged(const QDateTime &newDateTime)
|
||||
{
|
||||
if (!dcImageEpoch)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue