summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show 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
@@ -236,64 +236,78 @@ bool Converter::sqliteMoveAndConvert( const QString& name, const QString& src, c
bool error = false;
QString cmd;
if (!QFile::exists( src ) ) {
cmd = tr( "No SQLite2 database could be found!" );
error = true;
}
if( QFile::exists( dest ) ) {
cmd = tr( "The database is already converted!" );
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;
}
/*
* Move it over
*/
cmd = "mv " + Global::shellQuote(src) + " " + Global::shellQuote(dest);
if( ::system( cmd ) != 0 ){
error = true;
}
/*
* Convert it
*/
if ( !error ){
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()
{
odebug << "Start upgrading" << oendl;
switch( QMessageBox::warning( this, tr("Pim-Converter"),
tr("<qt>Are you really sure that you "
"want to convert your database from "
"sqlite V2 to sqlite V3?</qt>"),
QMessageBox::Ok | QMessageBox::Default,
QMessageBox::Abort | QMessageBox::Escape )) {
case QMessageBox::Abort: // Abort clicked or Escape pressed
// abort