@ -70,8 +70,7 @@ void GeoTagController::startTagging(void)
@@ -70,8 +70,7 @@ void GeoTagController::startTagging(void)
QDir imageDirectory = QDir ( _worker . imageDirectory ( ) ) ;
if ( ! imageDirectory . exists ( ) ) {
_errorMessage = tr ( " Cannot find the image directory " ) ;
emit errorMessageChanged ( _errorMessage ) ;
_setErrorMessage ( tr ( " Cannot find the image directory " ) ) ;
return ;
}
if ( _worker . saveDirectory ( ) = = " " ) {
@ -83,23 +82,20 @@ void GeoTagController::startTagging(void)
@@ -83,23 +82,20 @@ void GeoTagController::startTagging(void)
msgBox . setWindowModality ( Qt : : ApplicationModal ) ;
msgBox . addButton ( tr ( " Replace " ) , QMessageBox : : ActionRole ) ;
if ( msgBox . exec ( ) = = QMessageBox : : Cancel ) {
_errorMessage = tr ( " Images have already been tagged " ) ;
emit errorMessageChanged ( _errorMessage ) ;
_setErrorMessage ( tr ( " Images have already been tagged " ) ) ;
return ;
}
QDir oldTaggedFolder = QDir ( _worker . imageDirectory ( ) + " /TAGGED " ) ;
oldTaggedFolder . removeRecursively ( ) ;
if ( ! imageDirectory . mkdir ( _worker . imageDirectory ( ) + " /TAGGED " ) ) {
_errorMessage = tr ( " Couldn't replace the previously tagged images " ) ;
emit errorMessageChanged ( _errorMessage ) ;
_setErrorMessage ( tr ( " Couldn't replace the previously tagged images " ) ) ;
return ;
}
}
} else {
QDir saveDirectory = QDir ( _worker . saveDirectory ( ) ) ;
if ( ! saveDirectory . exists ( ) ) {
_errorMessage = tr ( " Cannot find the save directory " ) ;
emit errorMessageChanged ( _errorMessage ) ;
_setErrorMessage ( tr ( " Cannot find the save directory " ) ) ;
return ;
}
saveDirectory . setFilter ( QDir : : Files | QDir : : Readable | QDir : : NoSymLinks | QDir : : Writable ) ;
@ -115,15 +111,13 @@ void GeoTagController::startTagging(void)
@@ -115,15 +111,13 @@ void GeoTagController::startTagging(void)
msgBox . setWindowModality ( Qt : : ApplicationModal ) ;
msgBox . addButton ( tr ( " Replace " ) , QMessageBox : : ActionRole ) ;
if ( msgBox . exec ( ) = = QMessageBox : : Cancel ) {
_errorMessage = tr ( " Save folder not empty " ) ;
emit errorMessageChanged ( _errorMessage ) ;
_setErrorMessage ( tr ( " Save folder not empty " ) ) ;
return ;
}
foreach ( QString dirFile , imageList )
{
if ( ! saveDirectory . remove ( dirFile ) ) {
_errorMessage = tr ( " Couldn't replace the existing images " ) ;
emit errorMessageChanged ( _errorMessage ) ;
_setErrorMessage ( tr ( " Couldn't replace the existing images " ) ) ;
return ;
}
}
@ -144,6 +138,13 @@ void GeoTagController::_workerError(QString errorMessage)
@@ -144,6 +138,13 @@ void GeoTagController::_workerError(QString errorMessage)
emit errorMessageChanged ( errorMessage ) ;
}
void GeoTagController : : _setErrorMessage ( const QString & error )
{
_errorMessage = error ;
emit errorMessageChanged ( error ) ;
}
GeoTagWorker : : GeoTagWorker ( void )
: _cancel ( false )
, _logFile ( " " )
@ -210,9 +211,10 @@ void GeoTagWorker::run(void)
@@ -210,9 +211,10 @@ void GeoTagWorker::run(void)
// Instantiate appropriate parser
_triggerList . clear ( ) ;
bool parseComplete = false ;
QString errorString ;
if ( isULog ) {
ULogParser parser ;
parseComplete = parser . getTagsFromLog ( log , _triggerList ) ;
parseComplete = parser . getTagsFromLog ( log , _triggerList , errorString ) ;
} else {
PX4LogParser parser ;
@ -227,7 +229,8 @@ void GeoTagWorker::run(void)
@@ -227,7 +229,8 @@ void GeoTagWorker::run(void)
return ;
} else {
qCDebug ( GeotaggingLog ) < < " Log parsing failed " ;
emit error ( tr ( " Log parsing failed - tagging cancelled " ) ) ;
errorString = tr ( " %1 - tagging cancelled " ) . arg ( errorString . isEmpty ( ) ? tr ( " Log parsing failed " ) : errorString ) ;
emit error ( errorString ) ;
return ;
}
}