Diffstat (limited to 'noncore/apps/advancedfm/advancedfmMenu.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index a82d69a..eac13f6 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp @@ -721,28 +721,42 @@ void AdvancedFm::selectAll() void AdvancedFm::startProcess(const QString & cmd) { QStringList command; OProcess *process; process = new OProcess(); connect(process, SIGNAL(processExited(OProcess *)), - this, SLOT( processEnded())); + this, SLOT( processEnded(OProcess *))); + + connect(process, SIGNAL( receivedStderr(OProcess *, char *, int)), + this, SLOT( oprocessStderr(OProcess *, char *, int))); command << "/bin/sh"; command << "-c"; command << cmd.latin1(); *process << command; - if(!process->start(OProcess::NotifyOnExit) ) + if(!process->start(OProcess::NotifyOnExit, OProcess::All) ) qDebug("could not start process"); } -void AdvancedFm::processEnded() +void AdvancedFm::processEnded(OProcess *) { // populateLocalView(); populateView(); } +void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int buflen) { + qWarning("received stderrt %d bytes", buflen); + + QString lineStr = buffer; +// lineStr=lineStr.left(lineStr.length()-1); + QMessageBox::warning( this, tr("Error"), lineStr ,tr("Ok") ); + +// OutputEdit->append(lineStr); +// OutputEdit->setCursorPosition( OutputEdit->numLines() + 1,0,FALSE); +} + bool AdvancedFm::eventFilter( QObject * o, QEvent * e ) { if ( o->inherits( "QLineEdit" ) ) { if ( e->type() == QEvent::KeyPress ) { |