summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/simplewidgets.cpp22
-rw-r--r--desktop-widgets/simplewidgets.h1
2 files changed, 14 insertions, 9 deletions
diff --git a/desktop-widgets/simplewidgets.cpp b/desktop-widgets/simplewidgets.cpp
index 79a3cc069..64845712d 100644
--- a/desktop-widgets/simplewidgets.cpp
+++ b/desktop-widgets/simplewidgets.cpp
@@ -354,6 +354,11 @@ ShiftImageTimesDialog::ShiftImageTimesDialog(QWidget *parent, QStringList fileNa
connect(ui.matchAllImages, SIGNAL(toggled(bool)), this, SLOT(matchAllImagesToggled(bool)));
dcImageEpoch = (time_t)0;
+ // Get times of all files. 0 means that the time couldn't be determined.
+ int numFiles = fileNames.size();
+ timestamps.resize(numFiles);
+ for (int i = 0; i < numFiles; ++i)
+ timestamps[i] = picture_get_timestamp(qPrintable(fileNames[i]));
updateInvalid();
}
@@ -375,7 +380,6 @@ void ShiftImageTimesDialog::setOffset(time_t offset)
void ShiftImageTimesDialog::updateInvalid()
{
- timestamp_t timestamp;
bool allValid = true;
ui.warningLabel->hide();
ui.invalidFilesText->hide();
@@ -389,17 +393,17 @@ void ShiftImageTimesDialog::updateInvalid()
}
ui.invalidFilesText->append(tr("\nFiles with inappropriate date/time") + ":");
- Q_FOREACH (const QString &fileName, fileNames) {
- if (picture_check_valid(qPrintable(fileName), m_amount))
+ int numFiles = fileNames.size();
+ for (int i = 0; i < numFiles; ++i) {
+ if (picture_check_valid_time(timestamps[i], m_amount))
continue;
- // We've found invalid image
- timestamp = picture_get_timestamp(qPrintable(fileName));
- time_first.setTime_t(timestamp + m_amount);
- if (timestamp == 0)
- ui.invalidFilesText->append(fileName + " - " + tr("No Exif date/time found"));
+ // We've found an invalid image
+ time_first.setTime_t(timestamps[i] + m_amount);
+ if (timestamps[i] == 0)
+ ui.invalidFilesText->append(fileNames[i] + " - " + tr("No Exif date/time found"));
else
- ui.invalidFilesText->append(fileName + " - " + time_first.toString());
+ ui.invalidFilesText->append(fileNames[i] + " - " + time_first.toString());
allValid = false;
}
diff --git a/desktop-widgets/simplewidgets.h b/desktop-widgets/simplewidgets.h
index 526e2be50..e8c999c40 100644
--- a/desktop-widgets/simplewidgets.h
+++ b/desktop-widgets/simplewidgets.h
@@ -118,6 +118,7 @@ slots:
private:
QStringList fileNames;
+ QVector<timestamp_t> timestamps;
Ui::ShiftImageTimesDialog ui;
time_t m_amount;
time_t dcImageEpoch;