-rw-r--r-- | noncore/settings/aqpkg/aqpkg.pro | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 75 | ||||
-rw-r--r-- | noncore/settings/aqpkg/utils.cpp | 1 |
3 files changed, 34 insertions, 44 deletions
diff --git a/noncore/settings/aqpkg/aqpkg.pro b/noncore/settings/aqpkg/aqpkg.pro index 882cfd4..a24f036 100644 --- a/noncore/settings/aqpkg/aqpkg.pro +++ b/noncore/settings/aqpkg/aqpkg.pro | |||
@@ -34,7 +34,7 @@ SOURCES = mainwin.cpp \ | |||
34 | TARGET = aqpkg | 34 | TARGET = aqpkg |
35 | INCLUDEPATH += $(OPIEDIR)/include | 35 | INCLUDEPATH += $(OPIEDIR)/include |
36 | DEPENDPATH += $(OPIEDIR)/include | 36 | DEPENDPATH += $(OPIEDIR)/include |
37 | LIBS += -lqpe -lopie -lstdc++ | 37 | LIBS += -lqpe -lopie |
38 | 38 | ||
39 | include ( $(OPIEDIR)/include.pro ) | 39 | include ( $(OPIEDIR)/include.pro ) |
40 | 40 | ||
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index 43eaaae..2a9c576 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp | |||
@@ -27,20 +27,13 @@ | |||
27 | 27 | ||
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include <fstream> | ||
31 | #include <iostream> | ||
32 | #include <vector> | ||
33 | using namespace std; | ||
34 | |||
35 | #include <stdio.h> | ||
36 | #include <unistd.h> | ||
37 | |||
38 | #ifdef QWS | 30 | #ifdef QWS |
39 | #include <qpe/qpeapplication.h> | 31 | #include <qpe/qpeapplication.h> |
40 | #else | 32 | #else |
41 | #include <qapplication.h> | 33 | #include <qapplication.h> |
42 | #endif | 34 | #endif |
43 | #include <qdir.h> | 35 | #include <qdir.h> |
36 | #include <qfile.h> | ||
44 | #include <qtextstream.h> | 37 | #include <qtextstream.h> |
45 | 38 | ||
46 | #include <opie/oprocess.h> | 39 | #include <opie/oprocess.h> |
@@ -203,9 +196,10 @@ void Ipkg :: removeStatusEntry() | |||
203 | tempstr.append( package ); | 196 | tempstr.append( package ); |
204 | emit outputText( tempstr ); | 197 | emit outputText( tempstr ); |
205 | 198 | ||
206 | ifstream in( statusFile ); | 199 | QFile readFile( statusFile ); |
207 | ofstream out( outStatusFile ); | 200 | QFile writeFile( outStatusFile ); |
208 | if ( !in.is_open() ) | 201 | |
202 | if ( !readFile.open( IO_ReadOnly ) ) | ||
209 | { | 203 | { |
210 | tempstr = tr("Couldn't open status file - "); | 204 | tempstr = tr("Couldn't open status file - "); |
211 | tempstr.append( statusFile ); | 205 | tempstr.append( statusFile ); |
@@ -213,7 +207,7 @@ void Ipkg :: removeStatusEntry() | |||
213 | return; | 207 | return; |
214 | } | 208 | } |
215 | 209 | ||
216 | if ( !out.is_open() ) | 210 | if ( !writeFile.open( IO_WriteOnly ) ) |
217 | { | 211 | { |
218 | tempstr = tr("Couldn't create tempory status file - "); | 212 | tempstr = tr("Couldn't create tempory status file - "); |
219 | tempstr.append( outStatusFile ); | 213 | tempstr.append( outStatusFile ); |
@@ -221,61 +215,58 @@ void Ipkg :: removeStatusEntry() | |||
221 | return; | 215 | return; |
222 | } | 216 | } |
223 | 217 | ||
224 | char line[1001]; | 218 | int i = 0; |
219 | |||
220 | QTextStream readStream( &readFile ); | ||
221 | QTextStream writeStream( &writeFile ); | ||
222 | QString line; | ||
223 | |||
225 | char k[21]; | 224 | char k[21]; |
226 | char v[1001]; | 225 | char v[1001]; |
227 | QString key; | 226 | QString key; |
228 | QString value; | 227 | QString value; |
229 | vector<QString> lines; | 228 | |
230 | int i = 0; | 229 | while ( !readStream.atEnd() ) |
231 | do | ||
232 | { | 230 | { |
233 | in.getline( line, 1000 ); | 231 | //read new line |
234 | if ( in.eof() ) | 232 | line = readStream.readLine(); |
235 | continue; | ||
236 | 233 | ||
234 | if ( line.contains( ":", TRUE ) ) | ||
235 | { | ||
236 | //grep key and value from line | ||
237 | k[0] = '\0'; | 237 | k[0] = '\0'; |
238 | v[0] = '\0'; | 238 | v[0] = '\0'; |
239 | |||
240 | sscanf( line, "%[^:]: %[^\n]", k, v ); | 239 | sscanf( line, "%[^:]: %[^\n]", k, v ); |
241 | key = k; | 240 | key = k; |
242 | value = v; | 241 | value = v; |
243 | key = key.stripWhiteSpace(); | 242 | key = key.stripWhiteSpace(); |
244 | value = value.stripWhiteSpace(); | 243 | value = value.stripWhiteSpace(); |
244 | } else { | ||
245 | key = ""; | ||
246 | value = ""; | ||
247 | } | ||
248 | |||
245 | if ( key == "Package" && value == package ) | 249 | if ( key == "Package" && value == package ) |
246 | { | 250 | { |
247 | // Ignore all lines up to next empty | 251 | //skip lines from the deleted package |
248 | do | 252 | while ( ( !readStream.atEnd() ) && ( line.stripWhiteSpace() != "" ) ) |
249 | { | 253 | { |
250 | in.getline( line, 1000 ); | 254 | line = readStream.readLine(); |
251 | if ( in.eof() || QString( line ).stripWhiteSpace() == "" ) | ||
252 | continue; | ||
253 | } while ( !in.eof() && QString( line ).stripWhiteSpace() != "" ); | ||
254 | } | 255 | } |
256 | } else { | ||
255 | 257 | ||
256 | lines.push_back( QString( line ) ); | 258 | //write other lines into the tempfile |
257 | out << line << endl; | 259 | writeStream << line << "\n"; |
258 | |||
259 | // Improve UI responsiveness | ||
260 | i++; | ||
261 | if ( ( i % 50 ) == 0 ) | ||
262 | qApp->processEvents(); | ||
263 | } while ( !in.eof() ); | ||
264 | |||
265 | // Write lines out | ||
266 | vector<QString>::iterator it; | ||
267 | for ( it = lines.begin() ; it != lines.end() ; ++it ) | ||
268 | { | ||
269 | out << (const char *)(*it) << endl; | ||
270 | 260 | ||
271 | // Improve UI responsiveness | 261 | // Improve UI responsiveness |
272 | i++; | 262 | i++; |
273 | if ( ( i % 50 ) == 0 ) | 263 | if ( ( i % 50 ) == 0 ) |
274 | qApp->processEvents(); | 264 | qApp->processEvents(); |
275 | } | 265 | } |
266 | } | ||
276 | 267 | ||
277 | in.close(); | 268 | readFile.close(); |
278 | out.close(); | 269 | writeFile.close(); |
279 | 270 | ||
280 | // Remove old status file and put tmp stats file in its place | 271 | // Remove old status file and put tmp stats file in its place |
281 | remove( statusFile ); | 272 | remove( statusFile ); |
diff --git a/noncore/settings/aqpkg/utils.cpp b/noncore/settings/aqpkg/utils.cpp index 00607dd..be02b3a 100644 --- a/noncore/settings/aqpkg/utils.cpp +++ b/noncore/settings/aqpkg/utils.cpp | |||
@@ -27,7 +27,6 @@ | |||
27 | 27 | ||
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include <stdio.h> | ||
31 | #include <sys/vfs.h> | 30 | #include <sys/vfs.h> |
32 | 31 | ||
33 | #include "utils.h" | 32 | #include "utils.h" |