-rw-r--r-- | noncore/settings/backup/backuprestore.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp index cfba907..477e24d 100644 --- a/noncore/settings/backup/backuprestore.cpp +++ b/noncore/settings/backup/backuprestore.cpp @@ -66,34 +66,46 @@ BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name, WFlags f scanForApplicationSettings(); backupLocations.insert( "Documents", QDir::homeDirPath() + "/Documents" ); if (StorageInfo::hasCf()) { backupLocations.insert("CF", "/mnt/cf"); } if (StorageInfo::hasSd() || StorageInfo::hasMmc()) { backupLocations.insert("SD", "/mnt/card"); } + Config config("BackupAndRestore"); + //read last locations + config.setGroup("LastLocation"); + QString lastStoreLocation = config.readEntry( "LastStoreLocation", "" ); + QString lastRestoreLocation = config.readEntry( "LastRestoreLocation", "" ); + int locationIndex = 0; + QMap<QString, QString>::Iterator it; for( it = backupLocations.begin(); it != backupLocations.end(); ++it ) { storeToLocation->insertItem(it.key()); restoreSource->insertItem(it.key()); + + //check for last locations + if ( it.key() == lastStoreLocation ) + storeToLocation->setCurrentItem( locationIndex ); + if ( it.key() == lastRestoreLocation ) + restoreSource->setCurrentItem( locationIndex ); + locationIndex++; } // Read the list of items to ignore. - Config config("BackupAndRestore"); - QList<QString> dontBackupList; dontBackupList.setAutoDelete(true); config.setGroup("DontBackup"); int total = config.readNumEntry("Total", 0); for(int i = 0; i < total; i++) { dontBackupList.append(new QString(config.readEntry(QString("%1").arg(i), ""))); } QList<QListViewItem> list; getAllItems(backupList->firstChild(), list); @@ -270,24 +282,30 @@ void BackupAndRestore::backup() pErrDialog->exec(); delete pErrDialog; break; } setCaption(tr("Backup and Restore.. Failed !!")); return; } else { QMessageBox::information(this, tr( "Message" ), tr( "Backup Successfull." ), QString(tr( "Ok" ) ) ); } + + //write store-location + Config config( "BackupAndRestore" ); + config.setGroup( "LastLocation" ); + config.writeEntry( "LastStoreLocation", storeToLocation->currentText() ); + setCaption(tr("Backup and Restore")); } /*** * Get a list of all of the files to backup. */ int BackupAndRestore::getBackupFiles(QString &backupFiles, QListViewItem *parent) { QListViewItem * currentItem; QString currentHome; if(!parent) currentItem = backupList->firstChild(); @@ -429,20 +447,25 @@ void BackupAndRestore::restore() pErrDialog->exec(); delete pErrDialog; setCaption(tr("Backup and Restore.. Failed !!")); return; break; } } else { - QMessageBox::critical(this, tr( "Message" ), - tr( "Restore Successfull." ), QString( tr( "Ok") ) ); + QMessageBox::information(this, tr( "Message" ), tr( "Restore Successfull." ), QString( tr( "Ok") ) ); } + + //write restore-location + Config config( "BackupAndRestore" ); + config.setGroup( "LastLocation" ); + config.writeEntry( "LastRestoreLocation", restoreSource->currentText() ); + setCaption(tr("Backup and Restore")); } // backuprestore.cpp |