summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dive.c67
-rw-r--r--dive.h2
-rw-r--r--qt-ui/simplewidgets.cpp6
-rw-r--r--qthelper.cpp9
4 files changed, 39 insertions, 45 deletions
diff --git a/dive.c b/dive.c
index 2b98c2a77..2b4d14d09 100644
--- a/dive.c
+++ b/dive.c
@@ -2887,8 +2887,7 @@ static bool new_picture_for_dive(struct dive *d, char *filename)
#define D30MIN (30 * 60)
bool dive_check_picture_time(struct dive *d, char *filename, int shift_time)
{
- timestamp_t timestamp = 0;
- picture_get_timestamp(filename, &timestamp);
+ timestamp_t timestamp = picture_get_timestamp(filename);
offset_t offset;
if (timestamp) {
offset.seconds = timestamp - d->when + shift_time;
@@ -2912,27 +2911,25 @@ bool picture_check_valid(char *filename, int shift_time)
return result;
}
-void dive_create_picture(struct dive *d, char *filename, int shift_time)
+void dive_create_picture(struct dive *dive, char *filename, int shift_time)
{
- timestamp_t timestamp;
- if (!new_picture_for_dive(d, filename))
+ if (!new_picture_for_dive(dive, filename))
return;
- if (!dive_check_picture_time(d, filename, shift_time))
+ if (!dive_check_picture_time(dive, filename, shift_time))
return;
- struct picture *p = alloc_picture();
- p->filename = filename;
- picture_get_timestamp(filename, &timestamp);
- p->offset.seconds = timestamp - d->when + shift_time;
- picture_load_exif_data(p);
+ struct picture *picture = alloc_picture();
+ picture->filename = filename;
+ picture->offset.seconds = picture_get_timestamp(filename) - dive->when + shift_time;
+ picture_load_exif_data(picture);
- dive_add_picture(d, p);
- dive_set_geodata_from_picture(d, p);
+ dive_add_picture(dive, picture);
+ dive_set_geodata_from_picture(dive, picture);
}
-void dive_add_picture(struct dive *d, struct picture *newpic)
+void dive_add_picture(struct dive *dive, struct picture *newpic)
{
- struct picture **pic_ptr = &d->picture_list;
+ struct picture **pic_ptr = &dive->picture_list;
/* let's keep the list sorted by time */
while (*pic_ptr && (*pic_ptr)->offset.seconds <= newpic->offset.seconds)
pic_ptr = &(*pic_ptr)->next;
@@ -2941,45 +2938,45 @@ void dive_add_picture(struct dive *d, struct picture *newpic)
return;
}
-unsigned int dive_get_picture_count(struct dive *d)
+unsigned int dive_get_picture_count(struct dive *dive)
{
unsigned int i = 0;
- FOR_EACH_PICTURE (d)
+ FOR_EACH_PICTURE (dive)
i++;
return i;
}
-void dive_set_geodata_from_picture(struct dive *d, struct picture *pic)
+void dive_set_geodata_from_picture(struct dive *dive, struct picture *picture)
{
- struct dive_site *ds = get_dive_site_by_uuid(d->dive_site_uuid);
- if (!dive_site_has_gps_location(ds) && (pic->latitude.udeg || pic->longitude.udeg)) {
+ struct dive_site *ds = get_dive_site_by_uuid(dive->dive_site_uuid);
+ if (!dive_site_has_gps_location(ds) && (picture->latitude.udeg || picture->longitude.udeg)) {
if (ds) {
- ds->latitude = pic->latitude;
- ds->longitude = pic->longitude;
+ ds->latitude = picture->latitude;
+ ds->longitude = picture->longitude;
} else {
- d->dive_site_uuid = create_dive_site_with_gps("", pic->latitude, pic->longitude);
+ dive->dive_site_uuid = create_dive_site_with_gps("", picture->latitude, picture->longitude);
}
}
}
-static void picture_free(struct picture *p)
+static void picture_free(struct picture *picture)
{
- if (!p)
+ if (!picture)
return;
- free(p->filename);
- free(p->hash);
- free(p);
+ free(picture->filename);
+ free(picture->hash);
+ free(picture);
}
void dive_remove_picture(char *filename)
{
- struct picture **ep = &current_dive->picture_list;
- while (ep && !same_string((*ep)->filename, filename))
- ep = &(*ep)->next;
- if (ep) {
- struct picture *temp = (*ep)->next;
- picture_free(*ep);
- *ep = temp;
+ struct picture **picture = &current_dive->picture_list;
+ while (picture && !same_string((*picture)->filename, filename))
+ picture = &(*picture)->next;
+ if (picture) {
+ struct picture *temp = (*picture)->next;
+ picture_free(*picture);
+ *picture = temp;
}
}
diff --git a/dive.h b/dive.h
index b0127f295..c80e84128 100644
--- a/dive.h
+++ b/dive.h
@@ -390,7 +390,7 @@ extern void dive_remove_picture(char *filename);
extern unsigned int dive_get_picture_count(struct dive *d);
extern bool picture_check_valid(char *filename, int shift_time);
extern void picture_load_exif_data(struct picture *p);
-extern void picture_get_timestamp(char *filename, timestamp_t *t);
+extern timestamp_t picture_get_timestamp(char *filename);
extern void dive_set_geodata_from_picture(struct dive *d, struct picture *pic);
extern int explicit_first_cylinder(struct dive *dive, struct divecomputer *dc);
diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp
index fbb613f32..2b8605a69 100644
--- a/qt-ui/simplewidgets.cpp
+++ b/qt-ui/simplewidgets.cpp
@@ -272,7 +272,6 @@ void ShiftImageTimesDialog::buttonClicked(QAbstractButton *button)
void ShiftImageTimesDialog::syncCameraClicked()
{
- timestamp_t timestamp;
QPixmap picture;
QDateTime dcDateTime = QDateTime();
QStringList fileNames = QFileDialog::getOpenFileNames(this,
@@ -289,8 +288,7 @@ void ShiftImageTimesDialog::syncCameraClicked()
scene->addPixmap(picture.scaled(ui.DCImage->size()));
ui.DCImage->setScene(scene);
- picture_get_timestamp(fileNames.at(0).toUtf8().data(), &timestamp);
- dcImageEpoch = timestamp;
+ dcImageEpoch = picture_get_timestamp(fileNames.at(0).toUtf8().data());
dcDateTime.setTime_t(dcImageEpoch);
ui.dcTime->setDateTime(dcDateTime);
connect(ui.dcTime, SIGNAL(dateTimeChanged(const QDateTime &)), this, SLOT(dcDateTimeChanged(const QDateTime &)));
@@ -342,7 +340,7 @@ void ShiftImageTimesDialog::updateInvalid()
continue;
// We've found invalid image
- picture_get_timestamp(fileName.toUtf8().data(), &timestamp);
+ timestamp = picture_get_timestamp(fileName.toUtf8().data());
dcImageEpoch = timestamp;
time.setTime_t(timestamp + m_amount);
ui.invalidLabel->setText(ui.invalidLabel->text() + fileName + " " + time.toString() + "\n");
diff --git a/qthelper.cpp b/qthelper.cpp
index eb0d5e41a..a5597e3fb 100644
--- a/qthelper.cpp
+++ b/qthelper.cpp
@@ -354,20 +354,19 @@ picture_load_exit:
return;
}
-extern "C" void picture_get_timestamp(char *filename, timestamp_t *t)
+extern "C" timestamp_t picture_get_timestamp(char *filename)
{
EXIFInfo exif;
memblock mem;
int retval;
if (readfile(filename, &mem) <= 0)
- return;
+ return 0;
retval = exif.parseFrom((const unsigned char *)mem.buffer, (unsigned)mem.size);
free(mem.buffer);
if (retval != PARSE_EXIF_SUCCESS)
- return;
- *t = exif.epoch();
- return;
+ return 0;
+ return exif.epoch();
}
extern "C" const char *system_default_directory(void)