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