summaryrefslogtreecommitdiff
authoreilers <eilers>2003-02-06 10:45:32 (UTC)
committer eilers <eilers>2003-02-06 10:45:32 (UTC)
commitd55ed582e988f3ceb5eb25d08139aef8e432e260 (patch) (unidiff)
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
@@ -106,102 +106,102 @@ BackupAndRestore::~BackupAndRestore(){
106 QList<QListViewItem> list; 106 QList<QListViewItem> list;
107 getAllItems(backupList->firstChild(), list); 107 getAllItems(backupList->firstChild(), list);
108 108
109 Config config("BackupAndRestore"); 109 Config config("BackupAndRestore");
110 config.setGroup("DontBackup"); 110 config.setGroup("DontBackup");
111 config.clearGroup(); 111 config.clearGroup();
112 112
113 int count = 0; 113 int count = 0;
114 for(uint i = 0; i < list.count(); i++){ 114 for(uint i = 0; i < list.count(); i++){
115 if(list.at(i)->text(HEADER_BACKUP) == ""){ 115 if(list.at(i)->text(HEADER_BACKUP) == ""){
116 config.writeEntry(QString("%1").arg(count), list.at(i)->text(HEADER_NAME)); 116 config.writeEntry(QString("%1").arg(count), list.at(i)->text(HEADER_NAME));
117 count++; 117 count++;
118 } 118 }
119 } 119 }
120 config.writeEntry("Total", count); 120 config.writeEntry("Total", count);
121} 121}
122 122
123QList<QListViewItem> BackupAndRestore::getAllItems(QListViewItem *item, QList<QListViewItem> &list){ 123QList<QListViewItem> BackupAndRestore::getAllItems(QListViewItem *item, QList<QListViewItem> &list){
124 while(item){ 124 while(item){
125 if(item->childCount() > 0) 125 if(item->childCount() > 0)
126 getAllItems(item->firstChild(), list); 126 getAllItems(item->firstChild(), list);
127 list.append(item); 127 list.append(item);
128 item = item->nextSibling(); 128 item = item->nextSibling();
129 } 129 }
130 return list; 130 return list;
131} 131}
132 132
133/** 133/**
134 * Selects and unselects the item by setting the HEADER_BACKUP to B or !. 134 * Selects and unselects the item by setting the HEADER_BACKUP to B or !.
135 * and changing the icon to match 135 * and changing the icon to match
136 * @param currentItem the item to swich the selection choice. 136 * @param currentItem the item to swich the selection choice.
137 */ 137 */
138void BackupAndRestore::selectItem(QListViewItem *currentItem){ 138void BackupAndRestore::selectItem(QListViewItem *currentItem){
139 if(!currentItem) 139 if(!currentItem)
140 return; 140 return;
141 141
142 if(currentItem->text(HEADER_BACKUP) == "B"){ 142 if(currentItem->text(HEADER_BACKUP) == "B"){
143 currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/null")); 143 currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/null"));
144 currentItem->setText(HEADER_BACKUP, ""); 144 currentItem->setText(HEADER_BACKUP, "");
145 } 145 }
146 else{ 146 else{
147 currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/check")); 147 currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/check"));
148 currentItem->setText(HEADER_BACKUP, "B"); 148 currentItem->setText(HEADER_BACKUP, "B");
149 } 149 }
150} 150}
151 151
152void BackupAndRestore::scanForApplicationSettings(){ 152void BackupAndRestore::scanForApplicationSettings(){
153 QDir d(applicationSettings->text(BACKUP_LOCATION)); 153 QDir d(applicationSettings->text(BACKUP_LOCATION));
154 d.setFilter( QDir::Files | QDir::NoSymLinks ); 154 d.setFilter( QDir::Dirs | QDir::Files | QDir::NoSymLinks );
155 const QFileInfoList *list = d.entryInfoList(); 155 const QFileInfoList *list = d.entryInfoList();
156 QFileInfoListIterator it( *list ); 156 QFileInfoListIterator it( *list );
157 QFileInfo *fi; 157 QFileInfo *fi;
158 while ( (fi=it.current()) ) { 158 while ( (fi=it.current()) ) {
159 //qDebug((d.path()+fi->fileName()).latin1()); 159 // qDebug((d.path()+fi->fileName()).latin1());
160 QListViewItem *newItem = new QListViewItem(applicationSettings, fi->fileName()); 160 QListViewItem *newItem = new QListViewItem(applicationSettings, fi->fileName());
161 selectItem(newItem); 161 selectItem(newItem);
162 ++it; 162 ++it;
163 } 163 }
164} 164}
165 165
166/** 166/**
167 * The "Backup" button has been pressed. Get a list of all of the files that 167 * The "Backup" button has been pressed. Get a list of all of the files that
168 * should be backed up. If there are no files, emit and error and exit. 168 * should be backed up. If there are no files, emit and error and exit.
169 * Determine the file name to store the backup in. Backup the file(s) using 169 * Determine the file name to store the backup in. Backup the file(s) using
170 * tar and gzip --best. Report failure or success 170 * tar and gzip --best. Report failure or success
171 */ 171 */
172void BackupAndRestore::backupPressed(){ 172void BackupAndRestore::backupPressed(){
173 QString backupFiles; 173 QString backupFiles;
174 if(getBackupFiles(backupFiles, NULL) == 0){ 174 if(getBackupFiles(backupFiles, NULL) == 0){
175 QMessageBox::critical(this, "Message", 175 QMessageBox::critical(this, "Message",
176 "No items selected.",QString("Ok") ); 176 "No items selected.",QString("Ok") );
177 return; 177 return;
178 } 178 }
179 179
180 setCaption(tr("Backup and Restore... working...")); 180 setCaption(tr("Backup and Restore... working..."));
181 QString outputFile = backupLocations[storeToLocation->currentText()]; 181 QString outputFile = backupLocations[storeToLocation->currentText()];
182 182
183 QDateTime time = QDateTime::currentDateTime(); 183 QDateTime time = QDateTime::currentDateTime();
184 QString dateString = time.date().toString().replace(QRegExp(" "), ""); 184 QString dateString = time.date().toString().replace(QRegExp(" "), "");
185 outputFile += "/" + dateString; 185 outputFile += "/" + dateString;
186 186
187 QString t = outputFile; 187 QString t = outputFile;
188 int c = 1; 188 int c = 1;
189 while(QFile::exists(outputFile + EXTENSION)){ 189 while(QFile::exists(outputFile + EXTENSION)){
190 outputFile = t + QString("%1").arg(c); 190 outputFile = t + QString("%1").arg(c);
191 c++; 191 c++;
192 } 192 }
193 193
194 qDebug(QString("system(\"tar -c %1 | gzip > %2\")").arg(backupFiles).arg(outputFile).latin1()); 194 qDebug(QString("system(\"tar -c %1 | gzip > %2\")").arg(backupFiles).arg(outputFile).latin1());
195 outputFile += EXTENSION; 195 outputFile += EXTENSION;
196 196
197 int r = system( QString("tar -c %1 | gzip > %2").arg(backupFiles).arg(outputFile).latin1() ); 197 int r = system( QString("tar -c %1 | gzip > %2").arg(backupFiles).arg(outputFile).latin1() );
198 198
199 199
200 200
201 if(r != 0){ 201 if(r != 0){
202 perror("Error: "); 202 perror("Error: ");
203 QString errorMsg="Error\n"+(QString)strerror(errno); 203 QString errorMsg="Error\n"+(QString)strerror(errno);
204 204
205 QMessageBox::critical(this, "Message", "Backup Failed.\n"+errorMsg, QString("Ok") ); 205 QMessageBox::critical(this, "Message", "Backup Failed.\n"+errorMsg, QString("Ok") );
206 return; 206 return;
207 } 207 }