summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/modulesinfo.cpp
Unidiff
Diffstat (limited to 'noncore/settings/sysinfo/modulesinfo.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/sysinfo/modulesinfo.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/noncore/settings/sysinfo/modulesinfo.cpp b/noncore/settings/sysinfo/modulesinfo.cpp
index 566b179..9cb8ad2 100644
--- a/noncore/settings/sysinfo/modulesinfo.cpp
+++ b/noncore/settings/sysinfo/modulesinfo.cpp
@@ -10,35 +10,37 @@
10** Based on ProcessInfo by Dan Williams <williamsdr@acm.org> 10** Based on ProcessInfo by Dan Williams <williamsdr@acm.org>
11** 11**
12** This file may be distributed and/or modified under the terms of the 12** This file may be distributed and/or modified under the terms of the
13** GNU General Public License version 2 as published by the Free Software 13** GNU General Public License version 2 as published by the Free Software
14** Foundation and appearing in the file LICENSE.GPL included in the 14** Foundation and appearing in the file LICENSE.GPL included in the
15** packaging of this file. 15** packaging of this file.
16** 16**
17** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 17** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 18** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19** 19**
20**********************************************************************/ 20**********************************************************************/
21 21
22#include "modulesinfo.h"
23#include "detail.h"
24
25/* OPIE */
22#include <qpe/qpeapplication.h> 26#include <qpe/qpeapplication.h>
23 27
28/* QT */
24#include <qfile.h> 29#include <qfile.h>
25#include <qlayout.h> 30#include <qlayout.h>
26#include <qmessagebox.h> 31#include <qmessagebox.h>
27#include <qtimer.h> 32#include <qtimer.h>
28#include <qwhatsthis.h> 33#include <qwhatsthis.h>
29 34
30#include "modulesinfo.h"
31#include "detail.h"
32
33ModulesInfo::ModulesInfo( QWidget* parent, const char* name, WFlags fl ) 35ModulesInfo::ModulesInfo( QWidget* parent, const char* name, WFlags fl )
34 : QWidget( parent, name, fl ) 36 : QWidget( parent, name, fl )
35{ 37{
36 QGridLayout *layout = new QGridLayout( this ); 38 QGridLayout *layout = new QGridLayout( this );
37 layout->setSpacing( 4 ); 39 layout->setSpacing( 4 );
38 layout->setMargin( 4 ); 40 layout->setMargin( 4 );
39 41
40 ModulesView = new QListView( this ); 42 ModulesView = new QListView( this );
41 int colnum = ModulesView->addColumn( tr( "Module" ) ); 43 int colnum = ModulesView->addColumn( tr( "Module" ) );
42 colnum = ModulesView->addColumn( tr( "Size" ) ); 44 colnum = ModulesView->addColumn( tr( "Size" ) );
43 ModulesView->setColumnAlignment( colnum, Qt::AlignRight ); 45 ModulesView->setColumnAlignment( colnum, Qt::AlignRight );
44 colnum = ModulesView->addColumn( tr( "Use#" ) ); 46 colnum = ModulesView->addColumn( tr( "Use#" ) );
@@ -73,49 +75,49 @@ ModulesInfo::ModulesInfo( QWidget* parent, const char* name, WFlags fl )
73 75
74 QTimer *t = new QTimer( this ); 76 QTimer *t = new QTimer( this );
75 connect( t, SIGNAL( timeout() ), this, SLOT( updateData() ) ); 77 connect( t, SIGNAL( timeout() ), this, SLOT( updateData() ) );
76 t->start( 5000 ); 78 t->start( 5000 );
77 79
78 updateData(); 80 updateData();
79 81
80 ModulesDtl = new Detail(); 82 ModulesDtl = new Detail();
81 QWhatsThis::add( ModulesDtl->detailView, tr( "This area shows detailed information about this module." ) ); 83 QWhatsThis::add( ModulesDtl->detailView, tr( "This area shows detailed information about this module." ) );
82} 84}
83 85
84ModulesInfo::~ModulesInfo() 86ModulesInfo::~ModulesInfo()
85{ 87{}
86}
87 88
88void ModulesInfo::updateData() 89void ModulesInfo::updateData()
89{ 90{
90 char modname[64]; 91 char modname[64];
91 char usage[200]; 92 char usage[200];
92 int modsize, usecount; 93 int modsize, usecount;
93 94
94 QString selectedmod; 95 QString selectedmod;
95 QListViewItem *curritem = ModulesView->currentItem(); 96 QListViewItem *curritem = ModulesView->currentItem();
96 if ( curritem ) 97 if ( curritem )
97 { 98 {
98 selectedmod = curritem->text( 0 ); 99 selectedmod = curritem->text( 0 );
99 } 100 }
100 101
101 ModulesView->clear(); 102 ModulesView->clear();
102 103
103 FILE *procfile = fopen( ( QString ) ( "/proc/modules"), "r"); 104 FILE *procfile = fopen( ( QString ) ( "/proc/modules"), "r");
104 105
105 if ( procfile ) 106 if ( procfile )
106 { 107 {
107 QListViewItem *newitem; 108 QListViewItem *newitem;
108 QListViewItem *selecteditem = 0x0; 109 QListViewItem *selecteditem = 0x0;
109 while ( true ) { 110 while ( true )
111 {
110 modname[0] = '\0'; 112 modname[0] = '\0';
111 usage[0] = '\0'; 113 usage[0] = '\0';
112 int success = fscanf( procfile, "%s%d%d%[^\n]", modname, &modsize, &usecount, usage ); 114 int success = fscanf( procfile, "%s%d%d%[^\n]", modname, &modsize, &usecount, usage );
113 115
114 if ( success == EOF ) 116 if ( success == EOF )
115 break; 117 break;
116 118
117 QString qmodname = QString( modname ); 119 QString qmodname = QString( modname );
118 QString qmodsize = QString::number( modsize ).rightJustify( 6, ' ' ); 120 QString qmodsize = QString::number( modsize ).rightJustify( 6, ' ' );
119 QString qusecount = QString::number( usecount ).rightJustify( 2, ' ' ); 121 QString qusecount = QString::number( usecount ).rightJustify( 2, ' ' );
120 QString qusage = QString( usage ); 122 QString qusage = QString( usage );
121 123
@@ -174,15 +176,15 @@ void ModulesInfo::viewModules( QListViewItem *modules )
174 176
175 while( true ) 177 while( true )
176 { 178 {
177 int success = fscanf( modinfo, "%[^\n]\n", line ); 179 int success = fscanf( modinfo, "%[^\n]\n", line );
178 if ( success == EOF ) 180 if ( success == EOF )
179 break; 181 break;
180 ModulesDtl->detailView->append( line ); 182 ModulesDtl->detailView->append( line );
181 } 183 }
182 184
183 pclose( modinfo ); 185 pclose( modinfo );
184 } 186 }
185 187
186 ModulesDtl->showMaximized(); 188 QPEApplication::showWidget( ModulesDtl );
187} 189}
188 190