summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/backup/backuprestore.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp
index 533d3a5..1ebe912 100644
--- a/noncore/settings/backup/backuprestore.cpp
+++ b/noncore/settings/backup/backuprestore.cpp
@@ -6,96 +6,99 @@
6#include <qmultilineedit.h> 6#include <qmultilineedit.h>
7 7
8#include <qdir.h> 8#include <qdir.h>
9#include <qfile.h> 9#include <qfile.h>
10#include <qfileinfo.h> 10#include <qfileinfo.h>
11#include <qlistview.h> 11#include <qlistview.h>
12#include <qpushbutton.h> 12#include <qpushbutton.h>
13#include <qheader.h> 13#include <qheader.h>
14#include <qpe/resource.h> 14#include <qpe/resource.h>
15#include <qpe/config.h> 15#include <qpe/config.h>
16#include <qmessagebox.h> 16#include <qmessagebox.h>
17#include <qcombobox.h> 17#include <qcombobox.h>
18#include <qlist.h> 18#include <qlist.h>
19#include <stdlib.h> 19#include <stdlib.h>
20#include <qregexp.h> 20#include <qregexp.h>
21 21
22#include <errno.h> 22#include <errno.h>
23#include <stdlib.h> 23#include <stdlib.h>
24#include <unistd.h> 24#include <unistd.h>
25#include <sys/stat.h> 25#include <sys/stat.h>
26#include <dirent.h> 26#include <dirent.h>
27 27
28#define HEADER_NAME 0 28#define HEADER_NAME 0
29#define HEADER_BACKUP 1 29#define HEADER_BACKUP 1
30#define BACKUP_LOCATION 2 30#define BACKUP_LOCATION 2
31 31
32#define EXTENSION ".bck" 32#define EXTENSION ".bck"
33 33
34BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name) 34BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name)
35 : BackupAndRestoreBase(parent, name){ 35 : BackupAndRestoreBase(parent, name){
36 this->showMaximized(); 36 this->showMaximized();
37 backupList->header()->hide(); 37 backupList->header()->hide();
38 restoreList->header()->hide(); 38 restoreList->header()->hide();
39 connect(backupButton, SIGNAL(clicked()), 39 connect(backupButton, SIGNAL(clicked()),
40 this, SLOT(backupPressed())); 40 this, SLOT(backupPressed()));
41 connect(restoreButton, SIGNAL(clicked()), 41 connect(restoreButton, SIGNAL(clicked()),
42 this, SLOT(restore())); 42 this, SLOT(restore()));
43 connect(backupList, SIGNAL(clicked( QListViewItem * )), 43 connect(backupList, SIGNAL(clicked( QListViewItem * )),
44 this, SLOT(selectItem(QListViewItem*))); 44 this, SLOT(selectItem(QListViewItem*)));
45 connect(restoreSource, SIGNAL(activated( int )), 45 connect(restoreSource, SIGNAL(activated( int )),
46 this, SLOT(sourceDirChanged(int))); 46 this, SLOT(sourceDirChanged(int)));
47 47
48 systemSettings = new QListViewItem(backupList, "System Settings", "", 48 systemSettings = new QListViewItem(backupList, "System Settings", "",
49 "/etc"); 49 "/etc");
50 selectItem(systemSettings); 50 selectItem(systemSettings);
51 applicationSettings = new QListViewItem(backupList, "Application Settings", "", 51 applicationSettings = new QListViewItem(backupList, "Application Settings", "",
52 QDir::homeDirPath() + "/Settings/"); 52 QDir::homeDirPath() + "/Settings/");
53 selectItem(applicationSettings); 53 selectItem(applicationSettings);
54 applicationSettings = new QListViewItem(backupList, "Application Data", "",
55 QDir::homeDirPath() + "/Applications/");
56 selectItem(applicationSettings);
54 documents= new QListViewItem(backupList, "Documents", "", 57 documents= new QListViewItem(backupList, "Documents", "",
55 QDir::homeDirPath() + "/Documents/"); 58 QDir::homeDirPath() + "/Documents/");
56 selectItem(documents); 59 selectItem(documents);
57 60
58 scanForApplicationSettings(); 61 scanForApplicationSettings();
59 62
60 Config config("BackupAndRestore"); 63 Config config("BackupAndRestore");
61 config.setGroup("General"); 64 config.setGroup("General");
62 int totalLocations = config.readNumEntry("totalLocations",0); 65 int totalLocations = config.readNumEntry("totalLocations",0);
63 66
64//todo make less static here and use Storage class to get infos 67//todo make less static here and use Storage class to get infos
65 if(totalLocations == 0){ 68 if(totalLocations == 0){
66 backupLocations.insert("Documents", "/root/Documents"); 69 backupLocations.insert("Documents", "/root/Documents");
67 backupLocations.insert("CF", "/mnt/cf"); 70 backupLocations.insert("CF", "/mnt/cf");
68 backupLocations.insert("SD", "/mnt/card"); 71 backupLocations.insert("SD", "/mnt/card");
69 } 72 }
70 else{ 73 else{
71 for(int i = 0; i < totalLocations; i++){ 74 for(int i = 0; i < totalLocations; i++){
72 backupLocations.insert(config.readEntry(QString("backupLocationName_%1").arg(i)), 75 backupLocations.insert(config.readEntry(QString("backupLocationName_%1").arg(i)),
73 config.readEntry(QString("backupLocation_%1").arg(i))); 76 config.readEntry(QString("backupLocation_%1").arg(i)));
74 } 77 }
75 } 78 }
76 QMap<QString, QString>::Iterator it; 79 QMap<QString, QString>::Iterator it;
77 for( it = backupLocations.begin(); it != backupLocations.end(); ++it ){ 80 for( it = backupLocations.begin(); it != backupLocations.end(); ++it ){
78 storeToLocation->insertItem(it.key()); 81 storeToLocation->insertItem(it.key());
79 restoreSource->insertItem(it.key()); 82 restoreSource->insertItem(it.key());
80 } 83 }
81 84
82 // Read the list of items to ignore. 85 // Read the list of items to ignore.
83 QList<QString> dontBackupList; 86 QList<QString> dontBackupList;
84 dontBackupList.setAutoDelete(true); 87 dontBackupList.setAutoDelete(true);
85 config.setGroup("DontBackup"); 88 config.setGroup("DontBackup");
86 int total = config.readNumEntry("Total", 0); 89 int total = config.readNumEntry("Total", 0);
87 for(int i = 0; i < total; i++){ 90 for(int i = 0; i < total; i++){
88 dontBackupList.append(new QString(config.readEntry(QString("%1").arg(i), ""))); 91 dontBackupList.append(new QString(config.readEntry(QString("%1").arg(i), "")));
89 } 92 }
90 93
91 QList<QListViewItem> list; 94 QList<QListViewItem> list;
92 getAllItems(backupList->firstChild(), list); 95 getAllItems(backupList->firstChild(), list);
93 96
94 for(uint i = 0; i < list.count(); i++){ 97 for(uint i = 0; i < list.count(); i++){
95 QString text = list.at(i)->text(HEADER_NAME); 98 QString text = list.at(i)->text(HEADER_NAME);
96 for(uint i2 = 0; i2 < dontBackupList.count(); i2++){ 99 for(uint i2 = 0; i2 < dontBackupList.count(); i2++){
97 if(*dontBackupList.at(i2) == text){ 100 if(*dontBackupList.at(i2) == text){
98 selectItem(list.at(i)); 101 selectItem(list.at(i));
99 break; 102 break;
100 } 103 }
101 } 104 }