summaryrefslogtreecommitdiff
authoreilers <eilers>2003-02-06 10:45:32 (UTC)
committer eilers <eilers>2003-02-06 10:45:32 (UTC)
commitd55ed582e988f3ceb5eb25d08139aef8e432e260 (patch) (side-by-side diff)
treee97ec0a1f7e00e781d34f22691dd2f94c39f57eb
parent51f39143a14b10b971670ad3a204af35be2564bb (diff)
downloadopie-d55ed582e988f3ceb5eb25d08139aef8e432e260.zip
opie-d55ed582e988f3ceb5eb25d08139aef8e432e260.tar.gz
opie-d55ed582e988f3ceb5eb25d08139aef8e432e260.tar.bz2
Now we store the application subdirectories, too ! Otherwise this tool
does not help us anything !
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/backup/backuprestore.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp
index 457282a..81d7ed3 100644
--- a/noncore/settings/backup/backuprestore.cpp
+++ b/noncore/settings/backup/backuprestore.cpp
@@ -90,134 +90,134 @@ BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name)
QList<QListViewItem> list;
getAllItems(backupList->firstChild(), list);
for(uint i = 0; i < list.count(); i++){
QString text = list.at(i)->text(HEADER_NAME);
for(uint i2 = 0; i2 < dontBackupList.count(); i2++){
if(*dontBackupList.at(i2) == text){
selectItem(list.at(i));
break;
}
}
}
}
BackupAndRestore::~BackupAndRestore(){
QList<QListViewItem> list;
getAllItems(backupList->firstChild(), list);
Config config("BackupAndRestore");
config.setGroup("DontBackup");
config.clearGroup();
int count = 0;
for(uint i = 0; i < list.count(); i++){
if(list.at(i)->text(HEADER_BACKUP) == ""){
config.writeEntry(QString("%1").arg(count), list.at(i)->text(HEADER_NAME));
count++;
}
}
config.writeEntry("Total", count);
}
QList<QListViewItem> BackupAndRestore::getAllItems(QListViewItem *item, QList<QListViewItem> &list){
while(item){
if(item->childCount() > 0)
getAllItems(item->firstChild(), list);
list.append(item);
item = item->nextSibling();
}
return list;
}
/**
* Selects and unselects the item by setting the HEADER_BACKUP to B or !.
* and changing the icon to match
* @param currentItem the item to swich the selection choice.
*/
void BackupAndRestore::selectItem(QListViewItem *currentItem){
if(!currentItem)
return;
if(currentItem->text(HEADER_BACKUP) == "B"){
currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/null"));
currentItem->setText(HEADER_BACKUP, "");
}
else{
currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/check"));
currentItem->setText(HEADER_BACKUP, "B");
}
}
void BackupAndRestore::scanForApplicationSettings(){
QDir d(applicationSettings->text(BACKUP_LOCATION));
- d.setFilter( QDir::Files | QDir::NoSymLinks );
+ d.setFilter( QDir::Dirs | QDir::Files | QDir::NoSymLinks );
const QFileInfoList *list = d.entryInfoList();
QFileInfoListIterator it( *list );
QFileInfo *fi;
while ( (fi=it.current()) ) {
- //qDebug((d.path()+fi->fileName()).latin1());
+ // qDebug((d.path()+fi->fileName()).latin1());
QListViewItem *newItem = new QListViewItem(applicationSettings, fi->fileName());
selectItem(newItem);
++it;
}
}
/**
* The "Backup" button has been pressed. Get a list of all of the files that
* should be backed up. If there are no files, emit and error and exit.
* Determine the file name to store the backup in. Backup the file(s) using
* tar and gzip --best. Report failure or success
*/
void BackupAndRestore::backupPressed(){
QString backupFiles;
if(getBackupFiles(backupFiles, NULL) == 0){
QMessageBox::critical(this, "Message",
"No items selected.",QString("Ok") );
return;
}
setCaption(tr("Backup and Restore... working..."));
QString outputFile = backupLocations[storeToLocation->currentText()];
QDateTime time = QDateTime::currentDateTime();
QString dateString = time.date().toString().replace(QRegExp(" "), "");
outputFile += "/" + dateString;
QString t = outputFile;
int c = 1;
while(QFile::exists(outputFile + EXTENSION)){
outputFile = t + QString("%1").arg(c);
c++;
}
qDebug(QString("system(\"tar -c %1 | gzip > %2\")").arg(backupFiles).arg(outputFile).latin1());
outputFile += EXTENSION;
int r = system( QString("tar -c %1 | gzip > %2").arg(backupFiles).arg(outputFile).latin1() );
if(r != 0){
perror("Error: ");
QString errorMsg="Error\n"+(QString)strerror(errno);
QMessageBox::critical(this, "Message", "Backup Failed.\n"+errorMsg, QString("Ok") );
return;
}
else{
QMessageBox::information(this, "Message", "Backup Successfull.",QString("Ok") );
}
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();
else{