author | drw <drw> | 2002-12-16 01:55:56 (UTC) |
---|---|---|
committer | drw <drw> | 2002-12-16 01:55:56 (UTC) |
commit | 64bc40080abc56e6bd804dadb44d2510f25f2efa (patch) (side-by-side diff) | |
tree | 20d1840b63dc76608aee6f80bf011811d392fbac | |
parent | e4057ee7fe74c83e2dc44f8b9870f65da60fc4fa (diff) | |
download | opie-64bc40080abc56e6bd804dadb44d2510f25f2efa.zip opie-64bc40080abc56e6bd804dadb44d2510f25f2efa.tar.gz opie-64bc40080abc56e6bd804dadb44d2510f25f2efa.tar.bz2 |
1. Added RAM disk to storage tab (could someone verify works on Z?) 2. QScrollView for storage tab 3. Removed module detail dialog since it did not provide any useful information 4. Fix compiler warnings 5. Removed unneeded qDebugs
-rw-r--r-- | noncore/settings/sysinfo/load.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/sysinfo/memory.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/sysinfo/modulesdetail.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/sysinfo/modulesinfo.cpp | 83 | ||||
-rw-r--r-- | noncore/settings/sysinfo/modulesinfo.h | 14 | ||||
-rw-r--r-- | noncore/settings/sysinfo/processdetail.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/sysinfo/storage.cpp | 28 | ||||
-rw-r--r-- | noncore/settings/sysinfo/storage.h | 2 | ||||
-rw-r--r-- | noncore/settings/sysinfo/sysinfo.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/sysinfo/sysinfo.pro | 2 |
10 files changed, 80 insertions, 59 deletions
diff --git a/noncore/settings/sysinfo/load.cpp b/noncore/settings/sysinfo/load.cpp index 900b3d3..d9d7a66 100644 --- a/noncore/settings/sysinfo/load.cpp +++ b/noncore/settings/sysinfo/load.cpp @@ -128,7 +128,7 @@ Load::Load( QWidget *parent, const char *name, WFlags f ) timeout(); } -void Load::paintEvent( QPaintEvent *ev ) +void Load::paintEvent( QPaintEvent * ) { QPainter p( this ); diff --git a/noncore/settings/sysinfo/memory.cpp b/noncore/settings/sysinfo/memory.cpp index 30d42d5..4f612d8 100644 --- a/noncore/settings/sysinfo/memory.cpp +++ b/noncore/settings/sysinfo/memory.cpp @@ -28,7 +28,7 @@ #include "graph.h" #include "memory.h" -MemoryInfo::MemoryInfo( QWidget *parent, const char *name, WFlags f ) +MemoryInfo::MemoryInfo( QWidget *parent, const char *name, WFlags ) : QWidget( parent, name, WStyle_ContextHelp ) { QVBoxLayout *vb = new QVBoxLayout( this, 5 ); diff --git a/noncore/settings/sysinfo/modulesdetail.cpp b/noncore/settings/sysinfo/modulesdetail.cpp index ea5f352..ea9cdfa 100644 --- a/noncore/settings/sysinfo/modulesdetail.cpp +++ b/noncore/settings/sysinfo/modulesdetail.cpp @@ -32,7 +32,7 @@ #include <qtextview.h> #include <qwhatsthis.h> -ModulesDetail::ModulesDetail( QWidget* parent, const char* name, WFlags fl ) +ModulesDetail::ModulesDetail( QWidget* parent, const char* name, WFlags ) : QWidget( parent, name, WStyle_ContextHelp ) { modname = ""; diff --git a/noncore/settings/sysinfo/modulesinfo.cpp b/noncore/settings/sysinfo/modulesinfo.cpp index a0d26c7..c558fad 100644 --- a/noncore/settings/sysinfo/modulesinfo.cpp +++ b/noncore/settings/sysinfo/modulesinfo.cpp @@ -21,10 +21,14 @@ #include <qpe/qpeapplication.h> +#include <qcombobox.h> #include <qfile.h> #include <qheader.h> #include <qlayout.h> #include <qlistview.h> +#include <qmessagebox.h> +#include <qpushbutton.h> +#include <qstring.h> #include <qtimer.h> #include <qwhatsthis.h> @@ -33,9 +37,11 @@ ModulesInfo::ModulesInfo( QWidget* parent, const char* name, WFlags fl ) : QWidget( parent, name, fl ) { - QVBoxLayout *layout = new QVBoxLayout( this, 5 ); + QGridLayout *layout = new QGridLayout( this ); + layout->setSpacing( 4 ); + layout->setMargin( 4 ); - ModulesView = new QListView( this, "ModulesView" ); + ModulesView = new QListView( this ); int colnum = ModulesView->addColumn( tr( "Module" ) ); colnum = ModulesView->addColumn( tr( "Size" ) ); ModulesView->setColumnAlignment( colnum, Qt::AlignRight ); @@ -43,20 +49,29 @@ ModulesInfo::ModulesInfo( QWidget* parent, const char* name, WFlags fl ) ModulesView->setColumnAlignment( colnum, Qt::AlignRight ); colnum = ModulesView->addColumn( tr( "Used By" ) ); ModulesView->setAllColumnsShowFocus( TRUE ); - QPEApplication::setStylusOperation( ModulesView->viewport(), QPEApplication::RightOnHold ); - connect( ModulesView, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint &, int ) ), - this, SLOT( viewModules( QListViewItem * ) ) ); - layout->addWidget( ModulesView ); + layout->addMultiCellWidget( ModulesView, 0, 0, 0, 1 ); QWhatsThis::add( ModulesView, tr( "This is a list of all the kernel modules currently loaded on this handheld device.\n\nClick and hold on a module to see additional information about the module, or to unload it." ) ); + CommandCB = new QComboBox( FALSE, this ); + CommandCB->insertItem( "modprobe -r" ); + CommandCB->insertItem( "rmmod" ); + // I can't think of other useful commands yet. Anyone? + layout->addWidget( CommandCB, 1, 0 ); + QWhatsThis::add( CommandCB, tr( "Select a command here and then click the Send button to the right to send the command to module selected above." ) ); + + QPushButton *btn = new QPushButton( this ); + btn->setMinimumSize( QSize( 50, 24 ) ); + btn->setMaximumSize( QSize( 50, 24 ) ); + btn->setText( tr( "Send" ) ); + connect( btn, SIGNAL( clicked() ), this, SLOT( slotSendClicked() ) ); + layout->addWidget( btn, 1, 1 ); + QWhatsThis::add( btn, tr( "Click here to send the selected command to the module selected above." ) ); + QTimer *t = new QTimer( this ); connect( t, SIGNAL( timeout() ), this, SLOT( updateData() ) ); t->start( 5000 ); updateData(); - - ModulesDtl = new ModulesDetail( 0, 0, 0 ); - ModulesDtl->ModulesView->setTextFormat( PlainText ); } ModulesInfo::~ModulesInfo() @@ -68,16 +83,16 @@ void ModulesInfo::updateData() char modname[64]; char usage[200]; int modsize, usecount; - + ModulesView->clear(); FILE *procfile = fopen( ( QString ) ( "/proc/modules"), "r"); if ( procfile ) { - while ( true ) { + while ( true ) { int success = fscanf( procfile, "%s%d%d%[^\n]", modname, &modsize, &usecount, usage ); - + if ( success == EOF ) break; @@ -85,38 +100,34 @@ void ModulesInfo::updateData() QString qmodsize = QString::number( modsize ).rightJustify( 6, ' ' ); QString qusecount = QString::number( usecount ).rightJustify( 2, ' ' ); QString qusage = QString( usage ); - + ( void ) new QListViewItem( ModulesView, qmodname, qmodsize, qusecount, qusage ); } - + fclose( procfile ); } } -void ModulesInfo::viewModules( QListViewItem *modules ) +void ModulesInfo::slotSendClicked() { - QString modname = modules->text( 0 ); - ModulesDtl->setCaption( QString( "Module: " ) + modname ); - ModulesDtl->modname = modname; - QString command = QString( "/sbin/modinfo " ) + modules->text( 0 ); - - FILE* modinfo = popen( command, "r" ); - - if ( modinfo ) + QString capstr = tr( "You really want to execute\n" ); + capstr.append( CommandCB->currentText() ); + capstr.append( "\nfor this module?" ); + + if ( QMessageBox::warning( this, caption(), capstr, + QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape ) == QMessageBox::Yes ) { - char line[200]; - ModulesDtl->ModulesView->setText( " Details:\n------------\n" ); - - while( true ) - { - int success = fscanf( modinfo, "%[^\n]\n", line ); - if ( success == EOF ) - break; - ModulesDtl->ModulesView->append( line ); - } - - pclose( modinfo ); + QString command = "/sbin/"; + command.append( CommandCB->currentText() ); + command.append( " " ); + command.append( ModulesView->currentItem()->text( 0 ) ); + + FILE* stream = popen( command, "r" ); + if ( stream ) + pclose( stream ); + //{ + // hide(); + //} } - ModulesDtl->showMaximized(); } diff --git a/noncore/settings/sysinfo/modulesinfo.h b/noncore/settings/sysinfo/modulesinfo.h index c702f24..ef1f805 100644 --- a/noncore/settings/sysinfo/modulesinfo.h +++ b/noncore/settings/sysinfo/modulesinfo.h @@ -23,9 +23,9 @@ #define MODULESINFO_H #include <qwidget.h> -#include <qlistview.h> -#include "modulesdetail.h" +class QComboBox; +class QListView; class ModulesInfo : public QWidget { @@ -34,13 +34,13 @@ public: ModulesInfo( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); ~ModulesInfo(); -private slots: - void updateData(); - void viewModules( QListViewItem * ); - private: QListView* ModulesView; - ModulesDetail *ModulesDtl; + QComboBox* CommandCB; + +private slots: + void updateData(); + void slotSendClicked(); }; #endif diff --git a/noncore/settings/sysinfo/processdetail.cpp b/noncore/settings/sysinfo/processdetail.cpp index 661e32c..fcb871f 100644 --- a/noncore/settings/sysinfo/processdetail.cpp +++ b/noncore/settings/sysinfo/processdetail.cpp @@ -30,7 +30,7 @@ #include <qtextview.h> #include <qwhatsthis.h> -ProcessDetail::ProcessDetail( QWidget* parent, const char* name, WFlags fl ) +ProcessDetail::ProcessDetail( QWidget* parent, const char* name, WFlags ) : QWidget( parent, name, WStyle_ContextHelp ) { pid = 0; diff --git a/noncore/settings/sysinfo/storage.cpp b/noncore/settings/sysinfo/storage.cpp index c33663e..5d6cd1b 100644 --- a/noncore/settings/sysinfo/storage.cpp +++ b/noncore/settings/sysinfo/storage.cpp @@ -20,6 +20,7 @@ // additions copyright 2002 by L.J. Potter #include <qlabel.h> #include <qlayout.h> +#include <qscrollview.h> #include <qtimer.h> #include <qwhatsthis.h> @@ -35,8 +36,16 @@ StorageInfo::StorageInfo( QWidget *parent, const char *name ) : QWidget( parent, name ) { - vb = 0; - disks.setAutoDelete(TRUE); + QVBoxLayout *tmpvb = new QVBoxLayout( this ); + QScrollView *sv = new QScrollView( this ); + tmpvb->addWidget( sv, 0, 0 ); + sv->setResizePolicy( QScrollView::AutoOneFit ); + sv->setFrameStyle( QFrame::NoFrame ); + container = new QWidget( sv->viewport() ); + sv->addChild( container ); + vb = 0x0; + + disks.setAutoDelete(TRUE); lines.setAutoDelete(TRUE); updateMounts(); startTimer( 5000 ); @@ -84,10 +93,9 @@ void StorageInfo::updateMounts() if ( mntfp ) { while ( (me = getmntent( mntfp )) != 0 ) { QString fs = me->mnt_fsname; - qDebug(fs+" "+(QString)me->mnt_type); if ( fs.left(7)=="/dev/hd" || fs.left(7)=="/dev/sd" || fs.left(8)=="/dev/mtd" || fs.left(9) == "/dev/mmcd" - || fs.left(9) == "/dev/root" || fs.left(5) == "/ramfs") { + || fs.left(9) == "/dev/root" || fs.left(5) == "/ramfs" || fs.left(5) == "tmpfs" ) { n++; curdisks.append(fs); QString d = me->mnt_dir; @@ -106,7 +114,7 @@ void StorageInfo::updateMounts() disks.clear(); lines.clear(); delete vb; - vb = new QVBoxLayout( this, n > 3 ? 1 : 5 ); + vb = new QVBoxLayout( container/*, n > 3 ? 1 : 5*/ ); bool frst=TRUE; QStringList::ConstIterator it=curdisks.begin(); QStringList::ConstIterator fsit=curfs.begin(); @@ -115,14 +123,13 @@ void StorageInfo::updateMounts() for (; it!=curdisks.end(); ++it, ++fsit) { if ( !frst ) { - QFrame *f = new QFrame( this ); + QFrame *f = new QFrame( container ); vb->addWidget(f); f->setFrameStyle( QFrame::HLine | QFrame::Sunken ); lines.append(f); f->show(); } frst=FALSE; QString humanname=*it; -// qDebug(humanname); if ( isCF(humanname) ) humanname = tr( "CF Card: " ); else if ( humanname == "/dev/hda1" ) @@ -141,13 +148,15 @@ void StorageInfo::updateMounts() humanname = tr( "Int. Storage /dev/mtdblock " ); else if ( humanname.left(9) == "/dev/root" ) humanname = tr( "Int. Storage " ); + else if ( humanname.left(5) == "tmpfs" ) + humanname = tr( "RAM disk" ); // etc. humanname.append( *fsmount ); humanname.append( " " ); humanname.append( *fsTit ); humanname.append( " " ); - MountInfo* mi = new MountInfo( *fsit, humanname, this ); + MountInfo* mi = new MountInfo( *fsit, humanname, container ); vb->addWidget(mi); disks.insert(*fsit,mi); mi->show(); @@ -163,6 +172,8 @@ void StorageInfo::updateMounts() QWhatsThis::add( mi, tr( "This graph represents how much storage is currently used on this hard drive." ) ); else if ( tempstr == tr( "In" ) ) QWhatsThis::add( mi, tr( "This graph represents how much memory is currently used of the built-in memory (i.e. Flash memory) on this handheld device." ) ); + else if ( tempstr == tr( "RA" ) ) + QWhatsThis::add( mi, tr( "This graph represents how much memory is currently used of the temporary RAM disk." ) ); } vb->addStretch(); } else { @@ -177,7 +188,6 @@ void StorageInfo::updateMounts() MountInfo::MountInfo( const QString &path, const QString &ttl, QWidget *parent, const char *name ) : QWidget( parent, name ), title(ttl) { - qDebug("new path is "+path); fs = new FileSystem( path ); QVBoxLayout *vb = new QVBoxLayout( this, 3 ); diff --git a/noncore/settings/sysinfo/storage.h b/noncore/settings/sysinfo/storage.h index 3fa5b79..7e8b4e0 100644 --- a/noncore/settings/sysinfo/storage.h +++ b/noncore/settings/sysinfo/storage.h @@ -29,6 +29,7 @@ class GraphLegend; class FileSystem; class MountInfo; class QVBoxLayout; +class QWidget; class StorageInfo : public QWidget @@ -45,6 +46,7 @@ private: QDict<MountInfo> disks; QList<QFrame> lines; QVBoxLayout *vb; + QWidget *container; }; class MountInfo : public QWidget diff --git a/noncore/settings/sysinfo/sysinfo.cpp b/noncore/settings/sysinfo/sysinfo.cpp index 6d2a64f..872492e 100644 --- a/noncore/settings/sysinfo/sysinfo.cpp +++ b/noncore/settings/sysinfo/sysinfo.cpp @@ -37,7 +37,7 @@ #include <qlayout.h> -SystemInfo::SystemInfo( QWidget *parent, const char *name, WFlags f ) +SystemInfo::SystemInfo( QWidget *parent, const char *name, WFlags ) : QWidget( parent, name, WStyle_ContextHelp ) { setIcon( Resource::loadPixmap( "system_icon" ) ); diff --git a/noncore/settings/sysinfo/sysinfo.pro b/noncore/settings/sysinfo/sysinfo.pro index 236fc02..7e66451 100644 --- a/noncore/settings/sysinfo/sysinfo.pro +++ b/noncore/settings/sysinfo/sysinfo.pro @@ -8,7 +8,6 @@ HEADERS = memory.h \ processinfo.h \ processdetail.h \ modulesinfo.h \ - modulesdetail.h \ versioninfo.h \ sysinfo.h SOURCES = main.cpp \ @@ -19,7 +18,6 @@ SOURCES = main.cpp \ processinfo.cpp \ modulesinfo.cpp \ processdetail.cpp \ - modulesdetail.cpp \ versioninfo.cpp \ sysinfo.cpp INTERFACES = |