summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/pimconverter/converter.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/noncore/tools/pimconverter/converter.cpp b/noncore/tools/pimconverter/converter.cpp
index e8bd475..d92f382 100644
--- a/noncore/tools/pimconverter/converter.cpp
+++ b/noncore/tools/pimconverter/converter.cpp
@@ -246,13 +246,13 @@ bool Converter::sqliteMoveAndConvert( const QString& name, const QString& src, c
error = true;
}
if ( error ){
QMessageBox::critical( this, tr("Pim-Converter"),
- tr("<qt>Conversion not possible: \n"
+ tr("<qt>Conversion not possible: <br>"
"Problem: %1</qt>").arg(cmd) );
return error;
}
/*
@@ -271,19 +271,33 @@ bool Converter::sqliteMoveAndConvert( const QString& name, const QString& src, c
cmd = "sqlite " + Global::shellQuote(dest) + " .dump | sqlite3 " + Global::shellQuote(src);
if ( ::system( cmd ) != 0 ){
error = true;
}
}
+
+ /*
+ * Check whether conversion really worked. If not, move old database back to recover it
+ */
+ if ( !QFile::exists( src ) ){
+ cmd = "mv " + Global::shellQuote(dest) + " " + Global::shellQuote(src);
+ if ( ::system( cmd ) != 0 ){
+ }
+ error = true;
+ cmd = "Database-Format is not V2!?";
+ }
+
if ( error ){
QMessageBox::critical( this, tr("Pim-Converter"),
- tr("<qt>An internal error occurred: "
- "Converting the database was impossible! "
- "Command: '%1' </qt>").arg(cmd) );
+ tr("<qt>An internal error occurred: <br>"
+ "Converting the database was impossible! <br>"
+ "Command/Reason: '%1' </qt>").arg(cmd) );
}
+
+
}
void Converter::start_upgrade()
{