-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index 7afe04f..29bf40d 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp | |||
@@ -298,32 +298,47 @@ int Ipkg :: executeIpkgCommand( QStringList &cmd, const QString option ) | |||
298 | } | 298 | } |
299 | 299 | ||
300 | // Now wait for it to finish | 300 | // Now wait for it to finish |
301 | while ( !finished ) | 301 | while ( !finished ) |
302 | qApp->processEvents(); | 302 | qApp->processEvents(); |
303 | } | 303 | } |
304 | 304 | ||
305 | void Ipkg::commandStdout(OProcess*, char *buffer, int buflen) | 305 | void Ipkg::commandStdout(OProcess*, char *buffer, int buflen) |
306 | { | 306 | { |
307 | qDebug("received stdout %d bytes", buflen); | 307 | qDebug("received stdout %d bytes", buflen); |
308 | 308 | ||
309 | QString lineStr = buffer; | 309 | QString lineStr = buffer; |
310 | if ( lineStr[buflen-1] == '\n' ) | 310 | if ( lineStr[buflen-1] == '\n' ) |
311 | buflen --; | 311 | buflen --; |
312 | lineStr = lineStr.left( buflen ); | 312 | lineStr = lineStr.left( buflen ); |
313 | emit outputText( lineStr ); | 313 | emit outputText( lineStr ); |
314 | |||
315 | // check if we are installing dependant packages | ||
316 | if ( option == "install" || option == "reinstall" ) | ||
317 | { | ||
318 | // Need to keep track of any dependant packages that get installed | ||
319 | // so that we can create links to them as necessary | ||
320 | if ( lineStr.startsWith( "Installing " ) ) | ||
321 | { | ||
322 | int start = lineStr.find( " " ) + 1; | ||
323 | int end = lineStr.find( " ", start ); | ||
324 | QString *package = new QString( lineStr.mid( start, end-start ) ); | ||
325 | dependantPackages->append( package ); | ||
326 | } | ||
327 | } | ||
328 | |||
314 | qDebug(lineStr); | 329 | qDebug(lineStr); |
315 | buffer[0] = '\0'; | 330 | buffer[0] = '\0'; |
316 | } | 331 | } |
317 | 332 | ||
318 | void Ipkg::commandStderr(OProcess*, char *buffer, int buflen) | 333 | void Ipkg::commandStderr(OProcess*, char *buffer, int buflen) |
319 | { | 334 | { |
320 | qDebug("received stderrt %d bytes", buflen); | 335 | qDebug("received stderrt %d bytes", buflen); |
321 | 336 | ||
322 | QString lineStr = buffer; | 337 | QString lineStr = buffer; |
323 | if ( lineStr[buflen-1] == '\n' ) | 338 | if ( lineStr[buflen-1] == '\n' ) |
324 | buflen --; | 339 | buflen --; |
325 | lineStr=lineStr.left( buflen ); | 340 | lineStr=lineStr.left( buflen ); |
326 | emit outputText( lineStr ); | 341 | emit outputText( lineStr ); |
327 | buffer[0] = '\0'; | 342 | buffer[0] = '\0'; |
328 | } | 343 | } |
329 | 344 | ||