summaryrefslogtreecommitdiff
path: root/noncore/settings/backup/backuprestore.cpp
authorar <ar>2005-02-01 19:54:57 (UTC)
committer ar <ar>2005-02-01 19:54:57 (UTC)
commit62aad63f824740f15357c28e6bb61fbdf2120585 (patch) (side-by-side diff)
tree079a6f219f8eed3743414b64b68e45d7003a08d7 /noncore/settings/backup/backuprestore.cpp
parent17a8d1d5d2d9ec7a5e09da00e055d566fbd85353 (diff)
downloadopie-62aad63f824740f15357c28e6bb61fbdf2120585.zip
opie-62aad63f824740f15357c28e6bb61fbdf2120585.tar.gz
opie-62aad63f824740f15357c28e6bb61fbdf2120585.tar.bz2
- fix bug #1536
custom locations are stored and removed immadiately after add and remove in location list.
Diffstat (limited to 'noncore/settings/backup/backuprestore.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/backup/backuprestore.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp
index d028379..8928cda 100644
--- a/noncore/settings/backup/backuprestore.cpp
+++ b/noncore/settings/backup/backuprestore.cpp
@@ -66,49 +66,48 @@ using namespace Opie::Ui;
#include <unistd.h>
#include <sys/stat.h>
#include <dirent.h>
#define HEADER_NAME 0
#define HEADER_BACKUP 1
#define BACKUP_LOCATION 2
#define EXTENSION ".bck"
const QString tempFileName = "/tmp/backup.err";
BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name, WFlags fl)
: BackupAndRestoreBase(parent, name, fl)
{
backupList->header()->hide();
restoreList->header()->hide();
locationList->header()->hide();
connect( backupButton, SIGNAL( clicked() ), this, SLOT( backup() ) );
connect( restoreButton, SIGNAL( clicked() ), this, SLOT( restore() ) );
connect( backupList, SIGNAL( clicked( QListViewItem* ) ), this, SLOT( selectItem( QListViewItem* ) ) );
connect( restoreSource, SIGNAL( activated( int ) ), this, SLOT( sourceDirChanged( int ) ) );
connect( addLocationButton, SIGNAL( clicked() ), this, SLOT( addLocation() ) );
connect( removeLocationButton, SIGNAL( clicked() ), this, SLOT( removeLocation() ) );
- connect( saveLocationsButton, SIGNAL( clicked() ), this, SLOT( saveLocations() ) );
connect( selectLocationButton, SIGNAL( clicked() ), this, SLOT( selectLocation() ) );
//add directorys for backing up
applicationSettings = new QListViewItem(backupList, "Application Settings", "", "Settings/");
selectItem(applicationSettings);
applicationSettings = new QListViewItem(backupList, "Application Data", "", "Applications/");
selectItem(applicationSettings);
documents= new QListViewItem(backupList, "Documents", "", "Documents/");
selectItem(documents);
scanForApplicationSettings();
refreshLocations();
refreshBackupLocations();
// Read the list of items to ignore.
QList<QString> dontBackupList;
dontBackupList.setAutoDelete(true);
Config config("BackupAndRestore");
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), "")));
}
@@ -706,56 +705,58 @@ QString BackupAndRestore::getExcludeFile()
}
void BackupAndRestore::refreshLocations()
{
locationList->clear();
//todo: implement add locations
Config config( "BackupAndRestore" );
config.setGroup( "Locations" );
QStringList locations( config.readListEntry( "locations", '|' ) );
for ( QStringList::Iterator it = locations.begin(); it != locations.end(); ++it ) {
(void) new QListViewItem( locationList, *it );
}
}
void BackupAndRestore::addLocation()
{
if ( ( !locationEdit->text().isEmpty() ) &&
( QDir( locationEdit->text() ).exists() ) )
{
(void) new QListViewItem( locationList, locationEdit->text() );
locationEdit->setText( "" );
+ saveLocations();
}
}
void BackupAndRestore::removeLocation()
{
if ( locationList->selectedItem() )
{
delete( locationList->selectedItem() );
+ saveLocations();
}
}
void BackupAndRestore::saveLocations()
{
Config config("BackupAndRestore");
config.setGroup("Locations");
QStringList locations;
for ( QListViewItemIterator it( locationList ); it.current(); ++it )
{
locations.append( it.current()->text( 0 ) );
}
config.writeEntry( "locations", locations, '|' );
refreshBackupLocations();
}
void BackupAndRestore::selectLocation()
{
QString location = OFileDialog::getDirectory( OFileSelector::DIRECTORYSELECTOR );
if ( !location.isEmpty() )
{
locationEdit->setText( location );