-rw-r--r-- | noncore/settings/backup/backuprestore.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp index 36b101c..1748e8d 100644 --- a/noncore/settings/backup/backuprestore.cpp +++ b/noncore/settings/backup/backuprestore.cpp @@ -3,16 +3,17 @@ /* OPIE */ #include <opie2/odebug.h> #include <opie2/ostorageinfo.h> using namespace Opie::Core; #include <opie2/ofiledialog.h> +#include <opie2/owait.h> using namespace Opie::Ui; #include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qpe/config.h> /* QT */ #include <qapplication.h> @@ -246,17 +247,21 @@ void BackupAndRestore::backup() QString backupFiles; if(getBackupFiles(backupFiles, NULL) == 0) { QMessageBox::critical(this, "Message", "No items selected.",QString("Ok") ); return; } - setCaption(tr("Backup and Restore... working...")); + OWait *owait = new OWait(); + Global::statusMessage( tr( "Backing up..." ) ); + owait->show(); + qApp->processEvents(); + QString outputFile = backupLocations[storeToLocation->currentText()]; QDateTime datetime = QDateTime::currentDateTime(); QString dateString = QString::number( datetime.date().year() ) + QString::number( datetime.date().month() ).rightJustify(2, '0') + QString::number( datetime.date().day() ).rightJustify(2, '0'); outputFile += "/" + dateString; @@ -279,16 +284,20 @@ void BackupAndRestore::backup() .arg( backupFiles ) .arg( outputFile.latin1() ) .arg( tempFileName.latin1() ); odebug << commandLine << oendl; int r = system( commandLine ); + owait->hide(); + delete owait; + + //Error-Handling if(r != 0) { perror("Error: "); QString errorMsg= tr( "Error from System:\n" ) + (QString)strerror( errno ); switch( QMessageBox::critical(this, tr( "Message" ), tr( "Backup Failed!" ) + "\n" + errorMsg, QString( tr( "Ok" ) ), QString( tr( "Details" ) ) ) ) { @@ -429,17 +438,21 @@ void BackupAndRestore::restore() { QListViewItem *restoreItem = restoreList->currentItem(); if(!restoreItem) { QMessageBox::critical(this, tr( "Message" ), tr( "Please select something to restore." ),QString( tr( "Ok") ) ); return; } - setCaption(tr("Backup and Restore... working...")); + + OWait *owait = new OWait(); + Global::statusMessage( tr( "Restore Backup..." ) ); + owait->show(); + qApp->processEvents(); QString restoreFile = backupLocations[restoreSource->currentText()]; restoreFile += "/" + restoreItem->text(0); odebug << restoreFile << oendl; //check if backup file come from opie 1.0.x @@ -462,16 +475,19 @@ void BackupAndRestore::restore() commandLine = QString( "cd %1 && tar -zxf %2 2> %3" ).arg( startDir ) .arg( restoreFile.latin1() ) .arg( tempFileName.latin1() ); odebug << commandLine << oendl; r = system( commandLine ); + owait->hide(); + delete owait; + //error handling if(r != 0) { QString errorMsg= tr( "Error from System:\n" ) + (QString)strerror( errno ); switch( QMessageBox::critical(this, tr( "Message" ), tr( "Restore Failed." ) + "\n" + errorMsg, QString( tr( "Ok") ), QString( tr( "Details" ) ) ) ) { case 1: |