summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/ipkg.cpp15
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
305void Ipkg::commandStdout(OProcess*, char *buffer, int buflen) 305void 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
318void Ipkg::commandStderr(OProcess*, char *buffer, int buflen) 333void 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