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