author | drw <drw> | 2002-12-16 01:55:56 (UTC) |
---|---|---|
committer | drw <drw> | 2002-12-16 01:55:56 (UTC) |
commit | 64bc40080abc56e6bd804dadb44d2510f25f2efa (patch) (unidiff) | |
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 | |||
@@ -119,25 +119,25 @@ Load::Load( QWidget *parent, const char *name, WFlags f ) | |||
119 | userLoad[i] = 0.0; | 119 | userLoad[i] = 0.0; |
120 | systemLoad[i] = 0.0; | 120 | systemLoad[i] = 0.0; |
121 | } | 121 | } |
122 | maxLoad = 1.3; | 122 | maxLoad = 1.3; |
123 | QTimer *timer = new QTimer( this ); | 123 | QTimer *timer = new QTimer( this ); |
124 | connect( timer, SIGNAL(timeout()), SLOT(timeout()) ); | 124 | connect( timer, SIGNAL(timeout()), SLOT(timeout()) ); |
125 | timer->start( 2000 ); | 125 | timer->start( 2000 ); |
126 | gettimeofday( &last, 0 ); | 126 | gettimeofday( &last, 0 ); |
127 | first = TRUE; | 127 | first = TRUE; |
128 | timeout(); | 128 | timeout(); |
129 | } | 129 | } |
130 | 130 | ||
131 | void Load::paintEvent( QPaintEvent *ev ) | 131 | void Load::paintEvent( QPaintEvent * ) |
132 | { | 132 | { |
133 | QPainter p( this ); | 133 | QPainter p( this ); |
134 | 134 | ||
135 | int h = height() - 5; | 135 | int h = height() - 5; |
136 | 136 | ||
137 | int mult = (int)(h / maxLoad); | 137 | int mult = (int)(h / maxLoad); |
138 | 138 | ||
139 | p.setPen( gray ); | 139 | p.setPen( gray ); |
140 | p.drawLine( 0, h - mult, width(), h - mult ); | 140 | p.drawLine( 0, h - mult, width(), h - mult ); |
141 | p.drawText( 0, h - mult, "100" ); | 141 | p.drawText( 0, h - mult, "100" ); |
142 | p.drawText( 0, h, "0" ); | 142 | p.drawText( 0, h, "0" ); |
143 | 143 | ||
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 | |||
@@ -19,25 +19,25 @@ | |||
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include <qlabel.h> | 21 | #include <qlabel.h> |
22 | #include <qfile.h> | 22 | #include <qfile.h> |
23 | #include <qlayout.h> | 23 | #include <qlayout.h> |
24 | #include <qtextstream.h> | 24 | #include <qtextstream.h> |
25 | #include <qtimer.h> | 25 | #include <qtimer.h> |
26 | #include <qwhatsthis.h> | 26 | #include <qwhatsthis.h> |
27 | 27 | ||
28 | #include "graph.h" | 28 | #include "graph.h" |
29 | #include "memory.h" | 29 | #include "memory.h" |
30 | 30 | ||
31 | MemoryInfo::MemoryInfo( QWidget *parent, const char *name, WFlags f ) | 31 | MemoryInfo::MemoryInfo( QWidget *parent, const char *name, WFlags ) |
32 | : QWidget( parent, name, WStyle_ContextHelp ) | 32 | : QWidget( parent, name, WStyle_ContextHelp ) |
33 | { | 33 | { |
34 | QVBoxLayout *vb = new QVBoxLayout( this, 5 ); | 34 | QVBoxLayout *vb = new QVBoxLayout( this, 5 ); |
35 | 35 | ||
36 | totalMem = new QLabel( this ); | 36 | totalMem = new QLabel( this ); |
37 | vb->addWidget( totalMem ); | 37 | vb->addWidget( totalMem ); |
38 | 38 | ||
39 | data = new GraphData(); | 39 | data = new GraphData(); |
40 | // graph = new PieGraph( this ); | 40 | // graph = new PieGraph( this ); |
41 | graph = new BarGraph( this ); | 41 | graph = new BarGraph( this ); |
42 | graph->setFrameStyle( QFrame::Panel | QFrame::Sunken ); | 42 | graph->setFrameStyle( QFrame::Panel | QFrame::Sunken ); |
43 | vb->addWidget( graph, 1 ); | 43 | vb->addWidget( graph, 1 ); |
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 | |||
@@ -23,25 +23,25 @@ | |||
23 | 23 | ||
24 | #include <sys/types.h> | 24 | #include <sys/types.h> |
25 | #include <stdio.h> | 25 | #include <stdio.h> |
26 | 26 | ||
27 | #include <qcombobox.h> | 27 | #include <qcombobox.h> |
28 | #include <qlayout.h> | 28 | #include <qlayout.h> |
29 | #include <qlistview.h> | 29 | #include <qlistview.h> |
30 | #include <qmessagebox.h> | 30 | #include <qmessagebox.h> |
31 | #include <qpushbutton.h> | 31 | #include <qpushbutton.h> |
32 | #include <qtextview.h> | 32 | #include <qtextview.h> |
33 | #include <qwhatsthis.h> | 33 | #include <qwhatsthis.h> |
34 | 34 | ||
35 | ModulesDetail::ModulesDetail( QWidget* parent, const char* name, WFlags fl ) | 35 | ModulesDetail::ModulesDetail( QWidget* parent, const char* name, WFlags ) |
36 | : QWidget( parent, name, WStyle_ContextHelp ) | 36 | : QWidget( parent, name, WStyle_ContextHelp ) |
37 | { | 37 | { |
38 | modname = ""; | 38 | modname = ""; |
39 | 39 | ||
40 | QGridLayout *layout = new QGridLayout( this ); | 40 | QGridLayout *layout = new QGridLayout( this ); |
41 | layout->setSpacing( 4 ); | 41 | layout->setSpacing( 4 ); |
42 | layout->setMargin( 4 ); | 42 | layout->setMargin( 4 ); |
43 | 43 | ||
44 | CommandCB = new QComboBox( FALSE, this, "CommandCB" ); | 44 | CommandCB = new QComboBox( FALSE, this, "CommandCB" ); |
45 | CommandCB->insertItem( "modprobe -r" ); | 45 | CommandCB->insertItem( "modprobe -r" ); |
46 | CommandCB->insertItem( "rmmod" ); | 46 | CommandCB->insertItem( "rmmod" ); |
47 | // I can't think of other useful commands yet. Anyone? | 47 | // I can't think of other useful commands yet. Anyone? |
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 | |||
@@ -12,111 +12,122 @@ | |||
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 <qpe/qpeapplication.h> | 22 | #include <qpe/qpeapplication.h> |
23 | 23 | ||
24 | #include <qcombobox.h> | ||
24 | #include <qfile.h> | 25 | #include <qfile.h> |
25 | #include <qheader.h> | 26 | #include <qheader.h> |
26 | #include <qlayout.h> | 27 | #include <qlayout.h> |
27 | #include <qlistview.h> | 28 | #include <qlistview.h> |
29 | #include <qmessagebox.h> | ||
30 | #include <qpushbutton.h> | ||
31 | #include <qstring.h> | ||
28 | #include <qtimer.h> | 32 | #include <qtimer.h> |
29 | #include <qwhatsthis.h> | 33 | #include <qwhatsthis.h> |
30 | 34 | ||
31 | #include "modulesinfo.h" | 35 | #include "modulesinfo.h" |
32 | 36 | ||
33 | ModulesInfo::ModulesInfo( QWidget* parent, const char* name, WFlags fl ) | 37 | ModulesInfo::ModulesInfo( QWidget* parent, const char* name, WFlags fl ) |
34 | : QWidget( parent, name, fl ) | 38 | : QWidget( parent, name, fl ) |
35 | { | 39 | { |
36 | QVBoxLayout *layout = new QVBoxLayout( this, 5 ); | 40 | QGridLayout *layout = new QGridLayout( this ); |
41 | layout->setSpacing( 4 ); | ||
42 | layout->setMargin( 4 ); | ||
37 | 43 | ||
38 | ModulesView = new QListView( this, "ModulesView" ); | 44 | ModulesView = new QListView( this ); |
39 | int colnum = ModulesView->addColumn( tr( "Module" ) ); | 45 | int colnum = ModulesView->addColumn( tr( "Module" ) ); |
40 | colnum = ModulesView->addColumn( tr( "Size" ) ); | 46 | colnum = ModulesView->addColumn( tr( "Size" ) ); |
41 | ModulesView->setColumnAlignment( colnum, Qt::AlignRight ); | 47 | ModulesView->setColumnAlignment( colnum, Qt::AlignRight ); |
42 | colnum = ModulesView->addColumn( tr( "Use#" ) ); | 48 | colnum = ModulesView->addColumn( tr( "Use#" ) ); |
43 | ModulesView->setColumnAlignment( colnum, Qt::AlignRight ); | 49 | ModulesView->setColumnAlignment( colnum, Qt::AlignRight ); |
44 | colnum = ModulesView->addColumn( tr( "Used By" ) ); | 50 | colnum = ModulesView->addColumn( tr( "Used By" ) ); |
45 | ModulesView->setAllColumnsShowFocus( TRUE ); | 51 | ModulesView->setAllColumnsShowFocus( TRUE ); |
46 | QPEApplication::setStylusOperation( ModulesView->viewport(), QPEApplication::RightOnHold ); | 52 | layout->addMultiCellWidget( ModulesView, 0, 0, 0, 1 ); |
47 | connect( ModulesView, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint &, int ) ), | ||
48 | this, SLOT( viewModules( QListViewItem * ) ) ); | ||
49 | layout->addWidget( ModulesView ); | ||
50 | 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." ) ); | 53 | 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." ) ); |
51 | 54 | ||
55 | CommandCB = new QComboBox( FALSE, this ); | ||
56 | CommandCB->insertItem( "modprobe -r" ); | ||
57 | CommandCB->insertItem( "rmmod" ); | ||
58 | // I can't think of other useful commands yet. Anyone? | ||
59 | layout->addWidget( CommandCB, 1, 0 ); | ||
60 | 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." ) ); | ||
61 | |||
62 | QPushButton *btn = new QPushButton( this ); | ||
63 | btn->setMinimumSize( QSize( 50, 24 ) ); | ||
64 | btn->setMaximumSize( QSize( 50, 24 ) ); | ||
65 | btn->setText( tr( "Send" ) ); | ||
66 | connect( btn, SIGNAL( clicked() ), this, SLOT( slotSendClicked() ) ); | ||
67 | layout->addWidget( btn, 1, 1 ); | ||
68 | QWhatsThis::add( btn, tr( "Click here to send the selected command to the module selected above." ) ); | ||
69 | |||
52 | QTimer *t = new QTimer( this ); | 70 | QTimer *t = new QTimer( this ); |
53 | connect( t, SIGNAL( timeout() ), this, SLOT( updateData() ) ); | 71 | connect( t, SIGNAL( timeout() ), this, SLOT( updateData() ) ); |
54 | t->start( 5000 ); | 72 | t->start( 5000 ); |
55 | 73 | ||
56 | updateData(); | 74 | updateData(); |
57 | |||
58 | ModulesDtl = new ModulesDetail( 0, 0, 0 ); | ||
59 | ModulesDtl->ModulesView->setTextFormat( PlainText ); | ||
60 | } | 75 | } |
61 | 76 | ||
62 | ModulesInfo::~ModulesInfo() | 77 | ModulesInfo::~ModulesInfo() |
63 | { | 78 | { |
64 | } | 79 | } |
65 | 80 | ||
66 | void ModulesInfo::updateData() | 81 | void ModulesInfo::updateData() |
67 | { | 82 | { |
68 | char modname[64]; | 83 | char modname[64]; |
69 | char usage[200]; | 84 | char usage[200]; |
70 | int modsize, usecount; | 85 | int modsize, usecount; |
71 | 86 | ||
72 | ModulesView->clear(); | 87 | ModulesView->clear(); |
73 | 88 | ||
74 | FILE *procfile = fopen( ( QString ) ( "/proc/modules"), "r"); | 89 | FILE *procfile = fopen( ( QString ) ( "/proc/modules"), "r"); |
75 | 90 | ||
76 | if ( procfile ) | 91 | if ( procfile ) |
77 | { | 92 | { |
78 | while ( true ) { | 93 | while ( true ) { |
79 | int success = fscanf( procfile, "%s%d%d%[^\n]", modname, &modsize, &usecount, usage ); | 94 | int success = fscanf( procfile, "%s%d%d%[^\n]", modname, &modsize, &usecount, usage ); |
80 | 95 | ||
81 | if ( success == EOF ) | 96 | if ( success == EOF ) |
82 | break; | 97 | break; |
83 | 98 | ||
84 | QString qmodname = QString( modname ); | 99 | QString qmodname = QString( modname ); |
85 | QString qmodsize = QString::number( modsize ).rightJustify( 6, ' ' ); | 100 | QString qmodsize = QString::number( modsize ).rightJustify( 6, ' ' ); |
86 | QString qusecount = QString::number( usecount ).rightJustify( 2, ' ' ); | 101 | QString qusecount = QString::number( usecount ).rightJustify( 2, ' ' ); |
87 | QString qusage = QString( usage ); | 102 | QString qusage = QString( usage ); |
88 | 103 | ||
89 | ( void ) new QListViewItem( ModulesView, qmodname, qmodsize, qusecount, qusage ); | 104 | ( void ) new QListViewItem( ModulesView, qmodname, qmodsize, qusecount, qusage ); |
90 | } | 105 | } |
91 | 106 | ||
92 | fclose( procfile ); | 107 | fclose( procfile ); |
93 | } | 108 | } |
94 | } | 109 | } |
95 | 110 | ||
96 | void ModulesInfo::viewModules( QListViewItem *modules ) | 111 | void ModulesInfo::slotSendClicked() |
97 | { | 112 | { |
98 | QString modname = modules->text( 0 ); | 113 | QString capstr = tr( "You really want to execute\n" ); |
99 | ModulesDtl->setCaption( QString( "Module: " ) + modname ); | 114 | capstr.append( CommandCB->currentText() ); |
100 | ModulesDtl->modname = modname; | 115 | capstr.append( "\nfor this module?" ); |
101 | QString command = QString( "/sbin/modinfo " ) + modules->text( 0 ); | 116 | |
102 | 117 | if ( QMessageBox::warning( this, caption(), capstr, | |
103 | FILE* modinfo = popen( command, "r" ); | 118 | QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape ) == QMessageBox::Yes ) |
104 | |||
105 | if ( modinfo ) | ||
106 | { | 119 | { |
107 | char line[200]; | 120 | QString command = "/sbin/"; |
108 | ModulesDtl->ModulesView->setText( " Details:\n------------\n" ); | 121 | command.append( CommandCB->currentText() ); |
109 | 122 | command.append( " " ); | |
110 | while( true ) | 123 | command.append( ModulesView->currentItem()->text( 0 ) ); |
111 | { | 124 | |
112 | int success = fscanf( modinfo, "%[^\n]\n", line ); | 125 | FILE* stream = popen( command, "r" ); |
113 | if ( success == EOF ) | 126 | if ( stream ) |
114 | break; | 127 | pclose( stream ); |
115 | ModulesDtl->ModulesView->append( line ); | 128 | //{ |
116 | } | 129 | // hide(); |
117 | 130 | //} | |
118 | pclose( modinfo ); | ||
119 | } | 131 | } |
120 | 132 | ||
121 | ModulesDtl->showMaximized(); | ||
122 | } | 133 | } |
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 | |||
@@ -14,33 +14,33 @@ | |||
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 | #ifndef MODULESINFO_H | 22 | #ifndef MODULESINFO_H |
23 | #define MODULESINFO_H | 23 | #define MODULESINFO_H |
24 | 24 | ||
25 | #include <qwidget.h> | 25 | #include <qwidget.h> |
26 | #include <qlistview.h> | ||
27 | 26 | ||
28 | #include "modulesdetail.h" | 27 | class QComboBox; |
28 | class QListView; | ||
29 | 29 | ||
30 | class ModulesInfo : public QWidget | 30 | class ModulesInfo : public QWidget |
31 | { | 31 | { |
32 | Q_OBJECT | 32 | Q_OBJECT |
33 | public: | 33 | public: |
34 | ModulesInfo( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | 34 | ModulesInfo( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); |
35 | ~ModulesInfo(); | 35 | ~ModulesInfo(); |
36 | 36 | ||
37 | private slots: | ||
38 | void updateData(); | ||
39 | void viewModules( QListViewItem * ); | ||
40 | |||
41 | private: | 37 | private: |
42 | QListView* ModulesView; | 38 | QListView* ModulesView; |
43 | ModulesDetail *ModulesDtl; | 39 | QComboBox* CommandCB; |
40 | |||
41 | private slots: | ||
42 | void updateData(); | ||
43 | void slotSendClicked(); | ||
44 | }; | 44 | }; |
45 | 45 | ||
46 | #endif | 46 | #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 | |||
@@ -21,25 +21,25 @@ | |||
21 | 21 | ||
22 | #include <sys/types.h> | 22 | #include <sys/types.h> |
23 | #include <signal.h> | 23 | #include <signal.h> |
24 | 24 | ||
25 | #include <qcombobox.h> | 25 | #include <qcombobox.h> |
26 | #include <qlayout.h> | 26 | #include <qlayout.h> |
27 | #include <qlistview.h> | 27 | #include <qlistview.h> |
28 | #include <qmessagebox.h> | 28 | #include <qmessagebox.h> |
29 | #include <qpushbutton.h> | 29 | #include <qpushbutton.h> |
30 | #include <qtextview.h> | 30 | #include <qtextview.h> |
31 | #include <qwhatsthis.h> | 31 | #include <qwhatsthis.h> |
32 | 32 | ||
33 | ProcessDetail::ProcessDetail( QWidget* parent, const char* name, WFlags fl ) | 33 | ProcessDetail::ProcessDetail( QWidget* parent, const char* name, WFlags ) |
34 | : QWidget( parent, name, WStyle_ContextHelp ) | 34 | : QWidget( parent, name, WStyle_ContextHelp ) |
35 | { | 35 | { |
36 | pid = 0; | 36 | pid = 0; |
37 | 37 | ||
38 | QGridLayout *layout = new QGridLayout( this ); | 38 | QGridLayout *layout = new QGridLayout( this ); |
39 | layout->setSpacing( 4 ); | 39 | layout->setSpacing( 4 ); |
40 | layout->setMargin( 4 ); | 40 | layout->setMargin( 4 ); |
41 | 41 | ||
42 | SignalCB = new QComboBox( FALSE, this, "SignalCB" ); | 42 | SignalCB = new QComboBox( FALSE, this, "SignalCB" ); |
43 | SignalCB->insertItem( " 1: SIGHUP" ); | 43 | SignalCB->insertItem( " 1: SIGHUP" ); |
44 | SignalCB->insertItem( " 2: SIGINT" ); | 44 | SignalCB->insertItem( " 2: SIGINT" ); |
45 | SignalCB->insertItem( " 3: SIGQUIT" ); | 45 | SignalCB->insertItem( " 3: SIGQUIT" ); |
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 | |||
@@ -11,41 +11,50 @@ | |||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | // additions copyright 2002 by L.J. Potter | 20 | // additions copyright 2002 by L.J. Potter |
21 | #include <qlabel.h> | 21 | #include <qlabel.h> |
22 | #include <qlayout.h> | 22 | #include <qlayout.h> |
23 | #include <qscrollview.h> | ||
23 | #include <qtimer.h> | 24 | #include <qtimer.h> |
24 | #include <qwhatsthis.h> | 25 | #include <qwhatsthis.h> |
25 | 26 | ||
26 | #include "graph.h" | 27 | #include "graph.h" |
27 | #include "storage.h" | 28 | #include "storage.h" |
28 | 29 | ||
29 | #include <stdio.h> | 30 | #include <stdio.h> |
30 | #if defined(_OS_LINUX_) || defined(Q_OS_LINUX) | 31 | #if defined(_OS_LINUX_) || defined(Q_OS_LINUX) |
31 | #include <sys/vfs.h> | 32 | #include <sys/vfs.h> |
32 | #include <mntent.h> | 33 | #include <mntent.h> |
33 | #endif | 34 | #endif |
34 | 35 | ||
35 | StorageInfo::StorageInfo( QWidget *parent, const char *name ) | 36 | StorageInfo::StorageInfo( QWidget *parent, const char *name ) |
36 | : QWidget( parent, name ) | 37 | : QWidget( parent, name ) |
37 | { | 38 | { |
38 | vb = 0; | 39 | QVBoxLayout *tmpvb = new QVBoxLayout( this ); |
39 | disks.setAutoDelete(TRUE); | 40 | QScrollView *sv = new QScrollView( this ); |
41 | tmpvb->addWidget( sv, 0, 0 ); | ||
42 | sv->setResizePolicy( QScrollView::AutoOneFit ); | ||
43 | sv->setFrameStyle( QFrame::NoFrame ); | ||
44 | container = new QWidget( sv->viewport() ); | ||
45 | sv->addChild( container ); | ||
46 | vb = 0x0; | ||
47 | |||
48 | disks.setAutoDelete(TRUE); | ||
40 | lines.setAutoDelete(TRUE); | 49 | lines.setAutoDelete(TRUE); |
41 | updateMounts(); | 50 | updateMounts(); |
42 | startTimer( 5000 ); | 51 | startTimer( 5000 ); |
43 | } | 52 | } |
44 | 53 | ||
45 | void StorageInfo::timerEvent(QTimerEvent*) | 54 | void StorageInfo::timerEvent(QTimerEvent*) |
46 | { | 55 | { |
47 | updateMounts(); | 56 | updateMounts(); |
48 | } | 57 | } |
49 | 58 | ||
50 | static bool isCF(const QString& m) | 59 | static bool isCF(const QString& m) |
51 | { | 60 | { |
@@ -75,118 +84,119 @@ void StorageInfo::updateMounts() | |||
75 | #if defined(_OS_LINUX_) || defined(Q_OS_LINUX) | 84 | #if defined(_OS_LINUX_) || defined(Q_OS_LINUX) |
76 | struct mntent *me; | 85 | struct mntent *me; |
77 | FILE *mntfp = setmntent( "/etc/mtab", "r" ); | 86 | FILE *mntfp = setmntent( "/etc/mtab", "r" ); |
78 | QStringList curdisks; | 87 | QStringList curdisks; |
79 | QStringList curfs; | 88 | QStringList curfs; |
80 | QStringList mountList; | 89 | QStringList mountList; |
81 | QStringList fsT; | 90 | QStringList fsT; |
82 | bool rebuild = FALSE; | 91 | bool rebuild = FALSE; |
83 | int n=0; | 92 | int n=0; |
84 | if ( mntfp ) { | 93 | if ( mntfp ) { |
85 | while ( (me = getmntent( mntfp )) != 0 ) { | 94 | while ( (me = getmntent( mntfp )) != 0 ) { |
86 | QString fs = me->mnt_fsname; | 95 | QString fs = me->mnt_fsname; |
87 | qDebug(fs+" "+(QString)me->mnt_type); | ||
88 | if ( fs.left(7)=="/dev/hd" || fs.left(7)=="/dev/sd" | 96 | if ( fs.left(7)=="/dev/hd" || fs.left(7)=="/dev/sd" |
89 | || fs.left(8)=="/dev/mtd" || fs.left(9) == "/dev/mmcd" | 97 | || fs.left(8)=="/dev/mtd" || fs.left(9) == "/dev/mmcd" |
90 | || fs.left(9) == "/dev/root" || fs.left(5) == "/ramfs") { | 98 | || fs.left(9) == "/dev/root" || fs.left(5) == "/ramfs" || fs.left(5) == "tmpfs" ) { |
91 | n++; | 99 | n++; |
92 | curdisks.append(fs); | 100 | curdisks.append(fs); |
93 | QString d = me->mnt_dir; | 101 | QString d = me->mnt_dir; |
94 | curfs.append(d); | 102 | curfs.append(d); |
95 | QString mount = me->mnt_dir; | 103 | QString mount = me->mnt_dir; |
96 | mountList.append(mount); | 104 | mountList.append(mount); |
97 | QString t = me->mnt_type; | 105 | QString t = me->mnt_type; |
98 | fsT.append(t); | 106 | fsT.append(t); |
99 | if ( !disks.find(d) ) | 107 | if ( !disks.find(d) ) |
100 | rebuild = TRUE; | 108 | rebuild = TRUE; |
101 | } | 109 | } |
102 | } | 110 | } |
103 | endmntent( mntfp ); | 111 | endmntent( mntfp ); |
104 | } | 112 | } |
105 | if ( rebuild || n != (int)disks.count() ) { | 113 | if ( rebuild || n != (int)disks.count() ) { |
106 | disks.clear(); | 114 | disks.clear(); |
107 | lines.clear(); | 115 | lines.clear(); |
108 | delete vb; | 116 | delete vb; |
109 | vb = new QVBoxLayout( this, n > 3 ? 1 : 5 ); | 117 | vb = new QVBoxLayout( container/*, n > 3 ? 1 : 5*/ ); |
110 | bool frst=TRUE; | 118 | bool frst=TRUE; |
111 | QStringList::ConstIterator it=curdisks.begin(); | 119 | QStringList::ConstIterator it=curdisks.begin(); |
112 | QStringList::ConstIterator fsit=curfs.begin(); | 120 | QStringList::ConstIterator fsit=curfs.begin(); |
113 | QStringList::ConstIterator fsmount=mountList.begin(); | 121 | QStringList::ConstIterator fsmount=mountList.begin(); |
114 | QStringList::ConstIterator fsTit=fsT.begin(); | 122 | QStringList::ConstIterator fsTit=fsT.begin(); |
115 | 123 | ||
116 | for (; it!=curdisks.end(); ++it, ++fsit) { | 124 | for (; it!=curdisks.end(); ++it, ++fsit) { |
117 | if ( !frst ) { | 125 | if ( !frst ) { |
118 | QFrame *f = new QFrame( this ); | 126 | QFrame *f = new QFrame( container ); |
119 | vb->addWidget(f); | 127 | vb->addWidget(f); |
120 | f->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | 128 | f->setFrameStyle( QFrame::HLine | QFrame::Sunken ); |
121 | lines.append(f); | 129 | lines.append(f); |
122 | f->show(); | 130 | f->show(); |
123 | } frst=FALSE; | 131 | } frst=FALSE; |
124 | QString humanname=*it; | 132 | QString humanname=*it; |
125 | // qDebug(humanname); | ||
126 | if ( isCF(humanname) ) | 133 | if ( isCF(humanname) ) |
127 | humanname = tr( "CF Card: " ); | 134 | humanname = tr( "CF Card: " ); |
128 | else if ( humanname == "/dev/hda1" ) | 135 | else if ( humanname == "/dev/hda1" ) |
129 | humanname = tr( "Hard Disk " ); | 136 | humanname = tr( "Hard Disk " ); |
130 | else if ( humanname.left(9) == "/dev/mmcd" ) | 137 | else if ( humanname.left(9) == "/dev/mmcd" ) |
131 | humanname = tr( "SD Card " ); | 138 | humanname = tr( "SD Card " ); |
132 | else if ( humanname.left(7) == "/dev/hd" ) | 139 | else if ( humanname.left(7) == "/dev/hd" ) |
133 | humanname = tr( "Hard Disk /dev/hd " ); | 140 | humanname = tr( "Hard Disk /dev/hd " ); |
134 | else if ( humanname.left(7) == "/dev/sd" ) | 141 | else if ( humanname.left(7) == "/dev/sd" ) |
135 | humanname = tr( "SCSI Hard Disk /dev/sd " ); | 142 | humanname = tr( "SCSI Hard Disk /dev/sd " ); |
136 | else if ( humanname == "/dev/mtdblock1" || humanname == "/dev/mtdblock/1" ) | 143 | else if ( humanname == "/dev/mtdblock1" || humanname == "/dev/mtdblock/1" ) |
137 | humanname = tr( "Int. Storage " ); | 144 | humanname = tr( "Int. Storage " ); |
138 | else if ( humanname.left(14) == "/dev/mtdblock/" ) | 145 | else if ( humanname.left(14) == "/dev/mtdblock/" ) |
139 | humanname = tr( "Int. Storage /dev/mtdblock/ " ); | 146 | humanname = tr( "Int. Storage /dev/mtdblock/ " ); |
140 | else if ( humanname.left(13) == "/dev/mtdblock" ) | 147 | else if ( humanname.left(13) == "/dev/mtdblock" ) |
141 | humanname = tr( "Int. Storage /dev/mtdblock " ); | 148 | humanname = tr( "Int. Storage /dev/mtdblock " ); |
142 | else if ( humanname.left(9) == "/dev/root" ) | 149 | else if ( humanname.left(9) == "/dev/root" ) |
143 | humanname = tr( "Int. Storage " ); | 150 | humanname = tr( "Int. Storage " ); |
151 | else if ( humanname.left(5) == "tmpfs" ) | ||
152 | humanname = tr( "RAM disk" ); | ||
144 | // etc. | 153 | // etc. |
145 | humanname.append( *fsmount ); | 154 | humanname.append( *fsmount ); |
146 | humanname.append( " " ); | 155 | humanname.append( " " ); |
147 | humanname.append( *fsTit ); | 156 | humanname.append( *fsTit ); |
148 | humanname.append( " " ); | 157 | humanname.append( " " ); |
149 | 158 | ||
150 | MountInfo* mi = new MountInfo( *fsit, humanname, this ); | 159 | MountInfo* mi = new MountInfo( *fsit, humanname, container ); |
151 | vb->addWidget(mi); | 160 | vb->addWidget(mi); |
152 | disks.insert(*fsit,mi); | 161 | disks.insert(*fsit,mi); |
153 | mi->show(); | 162 | mi->show(); |
154 | fsmount++;fsTit++; | 163 | fsmount++;fsTit++; |
155 | QString tempstr = humanname.left( 2 ); | 164 | QString tempstr = humanname.left( 2 ); |
156 | if ( tempstr == tr( "CF" ) ) | 165 | if ( tempstr == tr( "CF" ) ) |
157 | QWhatsThis::add( mi, tr( "This graph represents how much memory is currently used on this Compact Flash memory card." ) ); | 166 | QWhatsThis::add( mi, tr( "This graph represents how much memory is currently used on this Compact Flash memory card." ) ); |
158 | else if ( tempstr == tr( "Ha" ) ) | 167 | else if ( tempstr == tr( "Ha" ) ) |
159 | QWhatsThis::add( mi, tr( "This graph represents how much storage is currently used on this hard drive." ) ); | 168 | QWhatsThis::add( mi, tr( "This graph represents how much storage is currently used on this hard drive." ) ); |
160 | else if ( tempstr == tr( "SD" ) ) | 169 | else if ( tempstr == tr( "SD" ) ) |
161 | QWhatsThis::add( mi, tr( "This graph represents how much memory is currently used on this Secure Digital memory card." ) ); | 170 | QWhatsThis::add( mi, tr( "This graph represents how much memory is currently used on this Secure Digital memory card." ) ); |
162 | else if ( tempstr == tr( "SC" ) ) | 171 | else if ( tempstr == tr( "SC" ) ) |
163 | QWhatsThis::add( mi, tr( "This graph represents how much storage is currently used on this hard drive." ) ); | 172 | QWhatsThis::add( mi, tr( "This graph represents how much storage is currently used on this hard drive." ) ); |
164 | else if ( tempstr == tr( "In" ) ) | 173 | else if ( tempstr == tr( "In" ) ) |
165 | 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." ) ); | 174 | 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." ) ); |
175 | else if ( tempstr == tr( "RA" ) ) | ||
176 | QWhatsThis::add( mi, tr( "This graph represents how much memory is currently used of the temporary RAM disk." ) ); | ||
166 | } | 177 | } |
167 | vb->addStretch(); | 178 | vb->addStretch(); |
168 | } else { | 179 | } else { |
169 | // just update them | 180 | // just update them |
170 | for (QDictIterator<MountInfo> i(disks); i.current(); ++i) | 181 | for (QDictIterator<MountInfo> i(disks); i.current(); ++i) |
171 | i.current()->updateData(); | 182 | i.current()->updateData(); |
172 | } | 183 | } |
173 | #endif | 184 | #endif |
174 | } | 185 | } |
175 | 186 | ||
176 | 187 | ||
177 | MountInfo::MountInfo( const QString &path, const QString &ttl, QWidget *parent, const char *name ) | 188 | MountInfo::MountInfo( const QString &path, const QString &ttl, QWidget *parent, const char *name ) |
178 | : QWidget( parent, name ), title(ttl) | 189 | : QWidget( parent, name ), title(ttl) |
179 | { | 190 | { |
180 | qDebug("new path is "+path); | ||
181 | fs = new FileSystem( path ); | 191 | fs = new FileSystem( path ); |
182 | QVBoxLayout *vb = new QVBoxLayout( this, 3 ); | 192 | QVBoxLayout *vb = new QVBoxLayout( this, 3 ); |
183 | 193 | ||
184 | totalSize = new QLabel( this ); | 194 | totalSize = new QLabel( this ); |
185 | vb->addWidget( totalSize ); | 195 | vb->addWidget( totalSize ); |
186 | 196 | ||
187 | data = new GraphData(); | 197 | data = new GraphData(); |
188 | graph = new BarGraph( this ); | 198 | graph = new BarGraph( this ); |
189 | graph->setFrameStyle( QFrame::Panel | QFrame::Sunken ); | 199 | graph->setFrameStyle( QFrame::Panel | QFrame::Sunken ); |
190 | vb->addWidget( graph, 1 ); | 200 | vb->addWidget( graph, 1 ); |
191 | graph->setData( data ); | 201 | graph->setData( data ); |
192 | 202 | ||
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 | |||
@@ -20,40 +20,42 @@ | |||
20 | #include <qwidget.h> | 20 | #include <qwidget.h> |
21 | #include <qframe.h> | 21 | #include <qframe.h> |
22 | #include <qlist.h> | 22 | #include <qlist.h> |
23 | #include <qdict.h> | 23 | #include <qdict.h> |
24 | 24 | ||
25 | class QLabel; | 25 | class QLabel; |
26 | class GraphData; | 26 | class GraphData; |
27 | class Graph; | 27 | class Graph; |
28 | class GraphLegend; | 28 | class GraphLegend; |
29 | class FileSystem; | 29 | class FileSystem; |
30 | class MountInfo; | 30 | class MountInfo; |
31 | class QVBoxLayout; | 31 | class QVBoxLayout; |
32 | class QWidget; | ||
32 | 33 | ||
33 | 34 | ||
34 | class StorageInfo : public QWidget | 35 | class StorageInfo : public QWidget |
35 | { | 36 | { |
36 | Q_OBJECT | 37 | Q_OBJECT |
37 | public: | 38 | public: |
38 | StorageInfo( QWidget *parent=0, const char *name=0 ); | 39 | StorageInfo( QWidget *parent=0, const char *name=0 ); |
39 | 40 | ||
40 | protected: | 41 | protected: |
41 | void timerEvent(QTimerEvent*); | 42 | void timerEvent(QTimerEvent*); |
42 | 43 | ||
43 | private: | 44 | private: |
44 | void updateMounts(); | 45 | void updateMounts(); |
45 | QDict<MountInfo> disks; | 46 | QDict<MountInfo> disks; |
46 | QList<QFrame> lines; | 47 | QList<QFrame> lines; |
47 | QVBoxLayout *vb; | 48 | QVBoxLayout *vb; |
49 | QWidget *container; | ||
48 | }; | 50 | }; |
49 | 51 | ||
50 | class MountInfo : public QWidget | 52 | class MountInfo : public QWidget |
51 | { | 53 | { |
52 | Q_OBJECT | 54 | Q_OBJECT |
53 | public: | 55 | public: |
54 | MountInfo( const QString &path, const QString &ttl, QWidget *parent=0, const char *name=0 ); | 56 | MountInfo( const QString &path, const QString &ttl, QWidget *parent=0, const char *name=0 ); |
55 | ~MountInfo(); | 57 | ~MountInfo(); |
56 | 58 | ||
57 | void updateData(); | 59 | void updateData(); |
58 | 60 | ||
59 | private: | 61 | private: |
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 | |||
@@ -28,25 +28,25 @@ | |||
28 | #include "processinfo.h" | 28 | #include "processinfo.h" |
29 | #include "modulesinfo.h" | 29 | #include "modulesinfo.h" |
30 | #include "versioninfo.h" | 30 | #include "versioninfo.h" |
31 | #include "sysinfo.h" | 31 | #include "sysinfo.h" |
32 | 32 | ||
33 | #include <opie/otabwidget.h> | 33 | #include <opie/otabwidget.h> |
34 | 34 | ||
35 | #include <qpe/config.h> | 35 | #include <qpe/config.h> |
36 | #include <qpe/resource.h> | 36 | #include <qpe/resource.h> |
37 | 37 | ||
38 | #include <qlayout.h> | 38 | #include <qlayout.h> |
39 | 39 | ||
40 | SystemInfo::SystemInfo( QWidget *parent, const char *name, WFlags f ) | 40 | SystemInfo::SystemInfo( QWidget *parent, const char *name, WFlags ) |
41 | : QWidget( parent, name, WStyle_ContextHelp ) | 41 | : QWidget( parent, name, WStyle_ContextHelp ) |
42 | { | 42 | { |
43 | setIcon( Resource::loadPixmap( "system_icon" ) ); | 43 | setIcon( Resource::loadPixmap( "system_icon" ) ); |
44 | setCaption( tr("System Info") ); | 44 | setCaption( tr("System Info") ); |
45 | 45 | ||
46 | resize( 220, 180 ); | 46 | resize( 220, 180 ); |
47 | 47 | ||
48 | Config config( "qpe" ); | 48 | Config config( "qpe" ); |
49 | config.setGroup( "Appearance" ); | 49 | config.setGroup( "Appearance" ); |
50 | bool advanced = config.readBoolEntry( "Advanced", TRUE ); | 50 | bool advanced = config.readBoolEntry( "Advanced", TRUE ); |
51 | 51 | ||
52 | QVBoxLayout *lay = new QVBoxLayout( this ); | 52 | QVBoxLayout *lay = new QVBoxLayout( this ); |
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 | |||
@@ -1,34 +1,32 @@ | |||
1 | TEMPLATE = app | 1 | TEMPLATE = app |
2 | CONFIG = qt warn_on release | 2 | CONFIG = qt warn_on release |
3 | DESTDIR = $(OPIEDIR)/bin | 3 | DESTDIR = $(OPIEDIR)/bin |
4 | HEADERS = memory.h \ | 4 | HEADERS = memory.h \ |
5 | graph.h \ | 5 | graph.h \ |
6 | load.h \ | 6 | load.h \ |
7 | storage.h \ | 7 | storage.h \ |
8 | processinfo.h \ | 8 | processinfo.h \ |
9 | processdetail.h \ | 9 | processdetail.h \ |
10 | modulesinfo.h \ | 10 | modulesinfo.h \ |
11 | modulesdetail.h \ | ||
12 | versioninfo.h \ | 11 | versioninfo.h \ |
13 | sysinfo.h | 12 | sysinfo.h |
14 | SOURCES = main.cpp \ | 13 | SOURCES = main.cpp \ |
15 | memory.cpp \ | 14 | memory.cpp \ |
16 | graph.cpp \ | 15 | graph.cpp \ |
17 | load.cpp \ | 16 | load.cpp \ |
18 | storage.cpp \ | 17 | storage.cpp \ |
19 | processinfo.cpp \ | 18 | processinfo.cpp \ |
20 | modulesinfo.cpp \ | 19 | modulesinfo.cpp \ |
21 | processdetail.cpp \ | 20 | processdetail.cpp \ |
22 | modulesdetail.cpp \ | ||
23 | versioninfo.cpp \ | 21 | versioninfo.cpp \ |
24 | sysinfo.cpp | 22 | sysinfo.cpp |
25 | INTERFACES = | 23 | INTERFACES = |
26 | INCLUDEPATH += $(OPIEDIR)/include | 24 | INCLUDEPATH += $(OPIEDIR)/include |
27 | DEPENDPATH += $(OPIEDIR)/include | 25 | DEPENDPATH += $(OPIEDIR)/include |
28 | LIBS += -lqpe -lopie | 26 | LIBS += -lqpe -lopie |
29 | TARGET = sysinfo | 27 | TARGET = sysinfo |
30 | 28 | ||
31 | TRANSLATIONS = ../../../i18n/de/sysinfo.ts \ | 29 | TRANSLATIONS = ../../../i18n/de/sysinfo.ts \ |
32 | ../../../i18n/xx/sysinfo.ts \ | 30 | ../../../i18n/xx/sysinfo.ts \ |
33 | ../../../i18n/en/sysinfo.ts \ | 31 | ../../../i18n/en/sysinfo.ts \ |
34 | ../../../i18n/es/sysinfo.ts \ | 32 | ../../../i18n/es/sysinfo.ts \ |