summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/modulesinfo.cpp
authordrw <drw>2002-12-16 01:55:56 (UTC)
committer drw <drw>2002-12-16 01:55:56 (UTC)
commit64bc40080abc56e6bd804dadb44d2510f25f2efa (patch) (side-by-side diff)
tree20d1840b63dc76608aee6f80bf011811d392fbac /noncore/settings/sysinfo/modulesinfo.cpp
parente4057ee7fe74c83e2dc44f8b9870f65da60fc4fa (diff)
downloadopie-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
Diffstat (limited to 'noncore/settings/sysinfo/modulesinfo.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/sysinfo/modulesinfo.cpp71
1 files changed, 41 insertions, 30 deletions
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()
@@ -93,30 +108,26 @@ void ModulesInfo::updateData()
}
}
-void ModulesInfo::viewModules( QListViewItem *modules )
-{
- 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 )
+void ModulesInfo::slotSendClicked()
{
- char line[200];
- ModulesDtl->ModulesView->setText( " Details:\n------------\n" );
+ QString capstr = tr( "You really want to execute\n" );
+ capstr.append( CommandCB->currentText() );
+ capstr.append( "\nfor this module?" );
- while( true )
+ if ( QMessageBox::warning( this, caption(), capstr,
+ QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape ) == QMessageBox::Yes )
{
- 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();
}