summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/backup/backuprestore.cpp31
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