-rw-r--r-- | noncore/settings/sysinfo/processinfo.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/noncore/settings/sysinfo/processinfo.cpp b/noncore/settings/sysinfo/processinfo.cpp index f95d9cc..8e992d5 100644 --- a/noncore/settings/sysinfo/processinfo.cpp +++ b/noncore/settings/sysinfo/processinfo.cpp @@ -18,16 +18,20 @@ **********************************************************************/ #include <qheader.h> #include <qlistview.h> #include <qlayout.h> #include <qtimer.h> #include <qfile.h> #include <qdir.h> +#include <qmessagebox.h> + +#include <sys/types.h> +#include <signal.h> #include "processinfo.h" ProcessInfo::ProcessInfo( QWidget* parent, const char* name, WFlags fl ) : QWidget( parent, name, fl ) { QVBoxLayout *vb = new QVBoxLayout( this, 5 ); @@ -110,10 +114,26 @@ void ProcessInfo::updateData() } delete proclist; delete procdir; } void ProcessInfo::viewProcess(QListViewItem *process) { + QString pid= process->text(0); + 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, + { + bool ok; + pid_t child=pid.toInt(&ok,10); + if((kill(child,SIGTERM)) < 0) + perror("kill:SIGTERM"); + } + break; + case 1: // Cancel + break; + }; //printf("Double click for PID: %s\n", process->text(0).stripWhiteSpace().latin1()); } |