author | bipolar <bipolar> | 2002-03-07 02:27:02 (UTC) |
---|---|---|
committer | bipolar <bipolar> | 2002-03-07 02:27:02 (UTC) |
commit | 09444065297662fca1396abf8c0c9dd00380699f (patch) (side-by-side diff) | |
tree | 1e7fbec969b991e5f75406674679d450daa94889 /noncore/settings/sysinfo/processinfo.cpp | |
parent | fc2c85782429209229228602b6149248635597a5 (diff) | |
download | opie-09444065297662fca1396abf8c0c9dd00380699f.zip opie-09444065297662fca1396abf8c0c9dd00380699f.tar.gz opie-09444065297662fca1396abf8c0c9dd00380699f.tar.bz2 |
ljp: added processinfo for drw
Diffstat (limited to 'noncore/settings/sysinfo/processinfo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/sysinfo/processinfo.cpp | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/noncore/settings/sysinfo/processinfo.cpp b/noncore/settings/sysinfo/processinfo.cpp index 4ecb704..225da63 100644 --- a/noncore/settings/sysinfo/processinfo.cpp +++ b/noncore/settings/sysinfo/processinfo.cpp @@ -24,15 +24,12 @@ #include <qfile.h> #include <qdir.h> -#include <qmessagebox.h> - -#include <sys/types.h> -#include <signal.h> #include "processinfo.h" +#include "processdetail.h" ProcessInfo::ProcessInfo( QWidget* parent, const char* name, WFlags fl ) : QWidget( parent, name, fl ) { - QVBoxLayout *vb = new QVBoxLayout( this, 5 ); + QVBoxLayout *layout = new QVBoxLayout( this, 5 ); ProcessView = new QListView( this, "ProcessView" ); @@ -40,7 +37,5 @@ ProcessInfo::ProcessInfo( QWidget* parent, const char* name, WFlags fl ) ProcessView->setColumnAlignment( colnum, Qt::AlignRight ); colnum = ProcessView->addColumn( tr( "Command" ),96 ); - ProcessView->setColumnAlignment( colnum, Qt::AlignRight ); colnum = ProcessView->addColumn( tr( "Status" ) ); - ProcessView->setColumnAlignment( colnum, Qt::AlignRight ); colnum = ProcessView->addColumn( tr( "Time" ) ); ProcessView->setColumnAlignment( colnum, Qt::AlignRight ); @@ -48,5 +43,5 @@ ProcessInfo::ProcessInfo( QWidget* parent, const char* name, WFlags fl ) connect( ProcessView, SIGNAL( doubleClicked(QListViewItem *) ), this, SLOT( viewProcess(QListViewItem *) ) ); - vb->addWidget( ProcessView ); + layout->addWidget( ProcessView ); QTimer *t = new QTimer( this ); @@ -120,20 +115,23 @@ void ProcessInfo::updateData() void ProcessInfo::viewProcess(QListViewItem *process) { - QString pid= process->text(0); + QString pid= process->text(0).stripWhiteSpace(); QString command = process->text(1); - switch( QMessageBox::information( this, (tr("Kill Process?")), - (tr("You really want to kill\n"+command+" PID: "+pid+"?")), - (tr("Yes")), (tr("No")), 0 )){ - case 0: // Yes clicked, + ProcessDetail *processdtl = new ProcessDetail( this, 0, TRUE, 0); + processdtl->setCaption( pid + " - " + command ); + processdtl->pid = pid.toUInt(); + processdtl->ProcessView->setTextFormat( RichText ); + FILE *statfile = fopen( ( QString ) ( "/proc/" + pid + "/status"), "r"); + if ( statfile ) + { + char line[81]; + fgets( line, 81, statfile ); + processdtl->ProcessView->setText( line ); + while ( fgets( line, 81, statfile ) ) { - bool ok; - pid_t child=pid.toInt(&ok,10); - if((kill(child,SIGKILL)) < 0) - perror("kill:SIGKILL"); - } - break; - case 1: // Cancel - break; - }; -//printf("Double click for PID: %s\n", process->text(0).stripWhiteSpace().latin1()); + processdtl->ProcessView->append( line ); + } + fclose( statfile ); + } + + processdtl->showMaximized(); } |