summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo
authordrw <drw>2002-03-09 21:58:30 (UTC)
committer drw <drw>2002-03-09 21:58:30 (UTC)
commita07cd819c6ce288e6b4426ce1668e57bb629c868 (patch) (side-by-side diff)
treea4b7418180eb56f22529e0471bfce9cae6cbe833 /noncore/settings/sysinfo
parent80be7dabb1e1390e4d412c785d9f44e2293b2d5d (diff)
downloadopie-a07cd819c6ce288e6b4426ce1668e57bb629c868.zip
opie-a07cd819c6ce288e6b4426ce1668e57bb629c868.tar.gz
opie-a07cd819c6ce288e6b4426ce1668e57bb629c868.tar.bz2
drw: Code enhancements to reduce executable size.
Diffstat (limited to 'noncore/settings/sysinfo') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/sysinfo/processdetail.cpp22
-rw-r--r--noncore/settings/sysinfo/processdetail.h6
-rw-r--r--noncore/settings/sysinfo/processinfo.cpp41
-rw-r--r--noncore/settings/sysinfo/processinfo.h3
4 files changed, 32 insertions, 40 deletions
diff --git a/noncore/settings/sysinfo/processdetail.cpp b/noncore/settings/sysinfo/processdetail.cpp
index 06e5c0d..ef612e6 100644
--- a/noncore/settings/sysinfo/processdetail.cpp
+++ b/noncore/settings/sysinfo/processdetail.cpp
@@ -29,19 +29,16 @@
#include <qlistview.h>
#include <qmessagebox.h>
-ProcessDetail::ProcessDetail( QWidget* parent, const char* name, bool modal, WFlags fl )
- : QDialog( parent, name, modal, fl )
+ProcessDetail::ProcessDetail( QWidget* parent, const char* name, WFlags fl )
+ : QWidget( parent, name, fl )
{
pid = 0;
QGridLayout *layout = new QGridLayout( this );
- layout->setSpacing( 6 );
- layout->setMargin( 11 );
+ layout->setSpacing( 4 );
+ layout->setMargin( 4 );
SignalCB = new QComboBox( FALSE, this, "SignalCB" );
- SignalCB->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)7, SignalCB->sizePolicy().hasHeightForWidth() ) );
- SignalCB->setMinimumSize( QSize( 50, 24 ) );
- SignalCB->setMaximumSize( QSize( 600, 24 ) );
SignalCB->insertItem( " 1: SIGHUP" );
SignalCB->insertItem( " 2: SIGINT" );
SignalCB->insertItem( " 9: SIGKILL" );
@@ -51,11 +48,9 @@ ProcessDetail::ProcessDetail( QWidget* parent, const char* name, bool modal, WF
layout->addWidget( SignalCB, 1, 0 );
ProcessView = new QTextView( this, "ProcessView" );
- ProcessView->setFrameShadow( QTextView::Plain );
layout->addMultiCellWidget( ProcessView, 0, 0, 0, 1 );
SendButton = new QPushButton( this, "SendButton" );
- SendButton->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, SendButton->sizePolicy().hasHeightForWidth() ) );
SendButton->setMinimumSize( QSize( 50, 24 ) );
SendButton->setMaximumSize( QSize( 50, 24 ) );
SendButton->setText( tr( "Send" ) );
@@ -73,13 +68,14 @@ void ProcessDetail::slotSendClicked()
sigstr.truncate(2);
int sigid = sigstr.toUInt();
- if ( !QMessageBox::information( this, caption(),
- ( tr( "You really want to send\n" + SignalCB->currentText() + "\nto this process?") ),
- ( tr( "Yes" ) ), ( tr( "No" ) ), 0 ) )
+ if ( QMessageBox::warning( this, caption(),
+ tr( "You really want to send\n" + SignalCB->currentText() + "\nto this process?"),
+ QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape )
+ == QMessageBox::Yes )
{
if ( kill( pid, sigid ) == 0 )
{
- accept();
+ hide();
}
}
diff --git a/noncore/settings/sysinfo/processdetail.h b/noncore/settings/sysinfo/processdetail.h
index 5d418ac..22e196f 100644
--- a/noncore/settings/sysinfo/processdetail.h
+++ b/noncore/settings/sysinfo/processdetail.h
@@ -20,18 +20,18 @@
#ifndef PROCESSDETAIL_H
#define PROCESSDETAIL_H
-#include <qdialog.h>
+#include <qwidget.h>
#include <qcombo.h>
#include <qtextview.h>
#include <qpushbutton.h>
#include <qlistview.h>
-class ProcessDetail : public QDialog
+class ProcessDetail : public QWidget
{
Q_OBJECT
public:
- ProcessDetail( QWidget* parent, const char* name, bool modal, WFlags fl );
+ ProcessDetail( QWidget* parent, const char* name, WFlags fl );
~ProcessDetail();
QComboBox* SignalCB;
diff --git a/noncore/settings/sysinfo/processinfo.cpp b/noncore/settings/sysinfo/processinfo.cpp
index 225da63..ad81d7b 100644
--- a/noncore/settings/sysinfo/processinfo.cpp
+++ b/noncore/settings/sysinfo/processinfo.cpp
@@ -25,7 +25,6 @@
#include <qdir.h>
#include "processinfo.h"
-#include "processdetail.h"
ProcessInfo::ProcessInfo( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl )
@@ -49,6 +48,9 @@ ProcessInfo::ProcessInfo( QWidget* parent, const char* name, WFlags fl )
t->start( 5000 );
updateData();
+
+ ProcessDtl = new ProcessDetail( 0, 0, 0 );
+ ProcessDtl->ProcessView->setTextFormat( RichText );
}
ProcessInfo::~ProcessInfo()
@@ -57,22 +59,16 @@ ProcessInfo::~ProcessInfo()
void ProcessInfo::updateData()
{
- QString processnum("");
- QString processcmd("");
- QString processstatus("");
- QString processtime("");
int pid, ppid, pgrp, session, tty, tpgid, utime, stime, cutime, cstime, counter, priority, starttime,
signal, blocked, sigignore, sigcatch;
uint flags, minflt, cminflt, majflt, cmajflt, timeout, itrealvalue, vsize, rss, rlim, startcode,
endcode, startstack, kstkesp, kstkeip, wchan;
char state;
- char comm[255];
+ char comm[64];
ProcessView->clear();
- QDir *procdir = new QDir("/proc");
- procdir->setFilter(QDir::Dirs);
- procdir->setSorting(QDir::Name);
+ QDir *procdir = new QDir("/proc", 0, QDir::Name, QDir::Dirs);
QFileInfoList *proclist = new QFileInfoList(*(procdir->entryInfoList()));
if ( proclist )
{
@@ -81,8 +77,8 @@ void ProcessInfo::updateData()
while ( ( f = it.current() ) != 0 )
{
++it;
- processnum = f->fileName();
- if ( processnum >= "0" && processnum <= "99999" )
+ QString processnum = f->fileName();
+ if ( processnum >= "1" && processnum <= "99999" )
{
FILE *procfile = fopen( ( QString ) ( "/proc/" + processnum + "/stat"), "r");
@@ -95,10 +91,9 @@ void ProcessInfo::updateData()
&itrealvalue, &starttime, &vsize, &rss, &rlim, &startcode, &endcode, &startstack,
&kstkesp, &kstkeip, &signal, &blocked, &sigignore, &sigcatch, &wchan );
processnum = processnum.rightJustify( 5, ' ' );
- processcmd = QString( comm ).replace( QRegExp( "(" ), "" );
- processcmd = processcmd.replace( QRegExp( ")" ), "" );
- processstatus = state;
- processtime.setNum( ( utime + stime ) / 100 );
+ QString processcmd = QString( comm ).replace( QRegExp( "[()]" ), "" );
+ QString processstatus = QChar(state);
+ QString processtime = QString::number( ( utime + stime ) / 100 );
processtime = processtime.rightJustify( 9, ' ' );
fclose( procfile );
@@ -114,24 +109,22 @@ void ProcessInfo::updateData()
void ProcessInfo::viewProcess(QListViewItem *process)
{
- QString pid= process->text(0).stripWhiteSpace();
- QString command = process->text(1);
- ProcessDetail *processdtl = new ProcessDetail( this, 0, TRUE, 0);
- processdtl->setCaption( pid + " - " + command );
- processdtl->pid = pid.toUInt();
- processdtl->ProcessView->setTextFormat( RichText );
+ QString pid= process->text( 0 ).stripWhiteSpace();
+ QString command = process->text( 1 );
+ ProcessDtl->setCaption( pid + " - " + command );
+ ProcessDtl->pid = pid.toUInt();
FILE *statfile = fopen( ( QString ) ( "/proc/" + pid + "/status"), "r");
if ( statfile )
{
char line[81];
fgets( line, 81, statfile );
- processdtl->ProcessView->setText( line );
+ ProcessDtl->ProcessView->setText( line );
while ( fgets( line, 81, statfile ) )
{
- processdtl->ProcessView->append( line );
+ ProcessDtl->ProcessView->append( line );
}
fclose( statfile );
}
- processdtl->showMaximized();
+ ProcessDtl->showMaximized();
}
diff --git a/noncore/settings/sysinfo/processinfo.h b/noncore/settings/sysinfo/processinfo.h
index e5bacca..89d1a93 100644
--- a/noncore/settings/sysinfo/processinfo.h
+++ b/noncore/settings/sysinfo/processinfo.h
@@ -23,6 +23,8 @@
#include <qwidget.h>
#include <qlistview.h>
+#include "processdetail.h"
+
class ProcessInfo : public QWidget
{
Q_OBJECT
@@ -36,6 +38,7 @@ private slots:
private:
QListView* ProcessView;
+ ProcessDetail *ProcessDtl;
};
#endif