-rw-r--r-- | noncore/settings/backup/backuprestore.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp index 93bedf6..1b34105 100644 --- a/noncore/settings/backup/backuprestore.cpp +++ b/noncore/settings/backup/backuprestore.cpp | |||
@@ -20,104 +20,113 @@ | |||
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 | #include <qpe/storage.h> |
25 | 25 | ||
26 | #include <errno.h> | 26 | #include <errno.h> |
27 | #include <stdlib.h> | 27 | #include <stdlib.h> |
28 | #include <unistd.h> | 28 | #include <unistd.h> |
29 | #include <sys/stat.h> | 29 | #include <sys/stat.h> |
30 | #include <dirent.h> | 30 | #include <dirent.h> |
31 | 31 | ||
32 | #define HEADER_NAME 0 | 32 | #define HEADER_NAME 0 |
33 | #define HEADER_BACKUP 1 | 33 | #define HEADER_BACKUP 1 |
34 | #define BACKUP_LOCATION 2 | 34 | #define BACKUP_LOCATION 2 |
35 | 35 | ||
36 | #define EXTENSION ".bck" | 36 | #define EXTENSION ".bck" |
37 | 37 | ||
38 | const QString tempFileName = "/tmp/backup.err"; | 38 | const QString tempFileName = "/tmp/backup.err"; |
39 | 39 | ||
40 | 40 | ||
41 | BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name, WFlags fl) | 41 | BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name, WFlags fl) |
42 | : BackupAndRestoreBase(parent, name, fl) | 42 | : BackupAndRestoreBase(parent, name, fl) |
43 | { | 43 | { |
44 | this->showMaximized(); | 44 | this->showMaximized(); |
45 | backupList->header()->hide(); | 45 | backupList->header()->hide(); |
46 | restoreList->header()->hide(); | 46 | restoreList->header()->hide(); |
47 | connect(backupButton, SIGNAL(clicked()), | 47 | connect(backupButton, SIGNAL(clicked()), |
48 | this, SLOT(backup())); | 48 | this, SLOT(backup())); |
49 | connect(restoreButton, SIGNAL(clicked()), | 49 | connect(restoreButton, SIGNAL(clicked()), |
50 | this, SLOT(restore())); | 50 | this, SLOT(restore())); |
51 | connect(backupList, SIGNAL(clicked( QListViewItem * )), | 51 | connect(backupList, SIGNAL(clicked( QListViewItem * )), |
52 | this, SLOT(selectItem(QListViewItem*))); | 52 | this, SLOT(selectItem(QListViewItem*))); |
53 | connect(restoreSource, SIGNAL(activated( int )), | 53 | connect(restoreSource, SIGNAL(activated( int )), |
54 | this, SLOT(sourceDirChanged(int))); | 54 | this, SLOT(sourceDirChanged(int))); |
55 | connect(updateList, SIGNAL(clicked()), | 55 | connect(updateList, SIGNAL(clicked()), |
56 | this, SLOT( fileListUpdate())); | 56 | this, SLOT( fileListUpdate())); |
57 | 57 | ||
58 | //add directorys for backing up | 58 | //add directorys for backing up |
59 | applicationSettings = new QListViewItem(backupList, "Application Settings", "", "Settings/"); | 59 | applicationSettings = new QListViewItem(backupList, "Application Settings", "", "Settings/"); |
60 | selectItem(applicationSettings); | 60 | selectItem(applicationSettings); |
61 | applicationSettings = new QListViewItem(backupList, "Application Data", "", "Applications/"); | 61 | applicationSettings = new QListViewItem(backupList, "Application Data", "", "Applications/"); |
62 | selectItem(applicationSettings); | 62 | selectItem(applicationSettings); |
63 | documents= new QListViewItem(backupList, "Documents", "", "Documents/"); | 63 | documents= new QListViewItem(backupList, "Documents", "", "Documents/"); |
64 | selectItem(documents); | 64 | selectItem(documents); |
65 | 65 | ||
66 | scanForApplicationSettings(); | 66 | scanForApplicationSettings(); |
67 | 67 | ||
68 | StorageInfo storage; | ||
69 | |||
68 | backupLocations.insert( "Documents", QDir::homeDirPath() + "/Documents" ); | 70 | backupLocations.insert( "Documents", QDir::homeDirPath() + "/Documents" ); |
69 | if (StorageInfo::hasCf()) | 71 | if ( storage.hasCf() ) |
72 | { | ||
73 | backupLocations.insert( "CF", storage.getCfPath() ); | ||
74 | qDebug( "Cf Path: " + storage.getCfPath() ); | ||
75 | } | ||
76 | if ( storage.hasSd() ) | ||
70 | { | 77 | { |
71 | backupLocations.insert("CF", "/mnt/cf"); | 78 | backupLocations.insert( "SD", storage.getSdPath() ); |
79 | qDebug( " Sd Path: " + storage.getSdPath() ); | ||
72 | } | 80 | } |
73 | if (StorageInfo::hasSd() || StorageInfo::hasMmc()) | 81 | if ( storage.hasMmc() ) |
74 | { | 82 | { |
75 | backupLocations.insert("SD", "/mnt/card"); | 83 | backupLocations.insert( "MMC", storage.getMmcPath() ); |
84 | qDebug( "Mmc Path: " + storage.getMmcPath() ); | ||
76 | } | 85 | } |
77 | 86 | ||
78 | Config config("BackupAndRestore"); | 87 | Config config("BackupAndRestore"); |
79 | //read last locations | 88 | //read last locations |
80 | config.setGroup("LastLocation"); | 89 | config.setGroup("LastLocation"); |
81 | QString lastStoreLocation = config.readEntry( "LastStoreLocation", "" ); | 90 | QString lastStoreLocation = config.readEntry( "LastStoreLocation", "" ); |
82 | QString lastRestoreLocation = config.readEntry( "LastRestoreLocation", "" ); | 91 | QString lastRestoreLocation = config.readEntry( "LastRestoreLocation", "" ); |
83 | int locationIndex = 0; | 92 | int locationIndex = 0; |
84 | 93 | ||
85 | QMap<QString, QString>::Iterator it; | 94 | QMap<QString, QString>::Iterator it; |
86 | for( it = backupLocations.begin(); it != backupLocations.end(); ++it ) | 95 | for( it = backupLocations.begin(); it != backupLocations.end(); ++it ) |
87 | { | 96 | { |
88 | storeToLocation->insertItem(it.key()); | 97 | storeToLocation->insertItem(it.key()); |
89 | restoreSource->insertItem(it.key()); | 98 | restoreSource->insertItem(it.key()); |
90 | 99 | ||
91 | //check for last locations | 100 | //check for last locations |
92 | if ( it.key() == lastStoreLocation ) | 101 | if ( it.key() == lastStoreLocation ) |
93 | storeToLocation->setCurrentItem( locationIndex ); | 102 | storeToLocation->setCurrentItem( locationIndex ); |
94 | if ( it.key() == lastRestoreLocation ) | 103 | if ( it.key() == lastRestoreLocation ) |
95 | restoreSource->setCurrentItem( locationIndex ); | 104 | restoreSource->setCurrentItem( locationIndex ); |
96 | locationIndex++; | 105 | locationIndex++; |
97 | } | 106 | } |
98 | 107 | ||
99 | // Read the list of items to ignore. | 108 | // Read the list of items to ignore. |
100 | QList<QString> dontBackupList; | 109 | QList<QString> dontBackupList; |
101 | dontBackupList.setAutoDelete(true); | 110 | dontBackupList.setAutoDelete(true); |
102 | config.setGroup("DontBackup"); | 111 | config.setGroup("DontBackup"); |
103 | int total = config.readNumEntry("Total", 0); | 112 | int total = config.readNumEntry("Total", 0); |
104 | for(int i = 0; i < total; i++) | 113 | for(int i = 0; i < total; i++) |
105 | { | 114 | { |
106 | dontBackupList.append(new QString(config.readEntry(QString("%1").arg(i), ""))); | 115 | dontBackupList.append(new QString(config.readEntry(QString("%1").arg(i), ""))); |
107 | } | 116 | } |
108 | 117 | ||
109 | QList<QListViewItem> list; | 118 | QList<QListViewItem> list; |
110 | getAllItems(backupList->firstChild(), list); | 119 | getAllItems(backupList->firstChild(), list); |
111 | 120 | ||
112 | for(uint i = 0; i < list.count(); i++) | 121 | for(uint i = 0; i < list.count(); i++) |
113 | { | 122 | { |
114 | QString text = list.at(i)->text(HEADER_NAME); | 123 | QString text = list.at(i)->text(HEADER_NAME); |
115 | for(uint i2 = 0; i2 < dontBackupList.count(); i2++) | 124 | for(uint i2 = 0; i2 < dontBackupList.count(); i2++) |
116 | { | 125 | { |
117 | if(*dontBackupList.at(i2) == text) | 126 | if(*dontBackupList.at(i2) == text) |
118 | { | 127 | { |
119 | selectItem(list.at(i)); | 128 | selectItem(list.at(i)); |
120 | break; | 129 | break; |
121 | } | 130 | } |
122 | } | 131 | } |
123 | } | 132 | } |