Diffstat (limited to 'noncore/settings/sysinfo/modulesinfo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/sysinfo/modulesinfo.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/noncore/settings/sysinfo/modulesinfo.cpp b/noncore/settings/sysinfo/modulesinfo.cpp index 7abad69..3d127a8 100644 --- a/noncore/settings/sysinfo/modulesinfo.cpp +++ b/noncore/settings/sysinfo/modulesinfo.cpp | |||
@@ -95,14 +95,23 @@ void ModulesInfo::updateData() | |||
95 | char modname[64]; | 95 | char modname[64]; |
96 | char usage[200]; | 96 | char usage[200]; |
97 | int modsize, usecount; | 97 | int modsize, usecount; |
98 | 98 | ||
99 | QString selectedmod; | ||
100 | QListViewItem *curritem = ModulesView->currentItem(); | ||
101 | if ( curritem ) | ||
102 | { | ||
103 | selectedmod = curritem->text( 0 ); | ||
104 | } | ||
105 | |||
99 | ModulesView->clear(); | 106 | ModulesView->clear(); |
100 | 107 | ||
101 | FILE *procfile = fopen( ( QString ) ( "/proc/modules"), "r"); | 108 | FILE *procfile = fopen( ( QString ) ( "/proc/modules"), "r"); |
102 | 109 | ||
103 | if ( procfile ) | 110 | if ( procfile ) |
104 | { | 111 | { |
112 | QListViewItem *newitem; | ||
113 | QListViewItem *selecteditem = 0x0; | ||
105 | while ( true ) { | 114 | while ( true ) { |
106 | int success = fscanf( procfile, "%s%d%d%[^\n]", modname, &modsize, &usecount, usage ); | 115 | int success = fscanf( procfile, "%s%d%d%[^\n]", modname, &modsize, &usecount, usage ); |
107 | 116 | ||
108 | if ( success == EOF ) | 117 | if ( success == EOF ) |
@@ -112,10 +121,15 @@ void ModulesInfo::updateData() | |||
112 | QString qmodsize = QString::number( modsize ).rightJustify( 6, ' ' ); | 121 | QString qmodsize = QString::number( modsize ).rightJustify( 6, ' ' ); |
113 | QString qusecount = QString::number( usecount ).rightJustify( 2, ' ' ); | 122 | QString qusecount = QString::number( usecount ).rightJustify( 2, ' ' ); |
114 | QString qusage = QString( usage ); | 123 | QString qusage = QString( usage ); |
115 | 124 | ||
116 | ( void ) new QListViewItem( ModulesView, qmodname, qmodsize, qusecount, qusage ); | 125 | newitem = new QListViewItem( ModulesView, qmodname, qmodsize, qusecount, qusage ); |
126 | if ( qmodname == selectedmod ) | ||
127 | { | ||
128 | selecteditem = newitem; | ||
129 | } | ||
117 | } | 130 | } |
131 | ModulesView->setCurrentItem( selecteditem ); | ||
118 | 132 | ||
119 | fclose( procfile ); | 133 | fclose( procfile ); |
120 | } | 134 | } |
121 | } | 135 | } |