summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/processinfo.cpp
Unidiff
Diffstat (limited to 'noncore/settings/sysinfo/processinfo.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/sysinfo/processinfo.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/noncore/settings/sysinfo/processinfo.cpp b/noncore/settings/sysinfo/processinfo.cpp
index 769410f..2232771 100644
--- a/noncore/settings/sysinfo/processinfo.cpp
+++ b/noncore/settings/sysinfo/processinfo.cpp
@@ -98,14 +98,23 @@ void ProcessInfo::updateData()
98 signal, blocked, sigignore, sigcatch; 98 signal, blocked, sigignore, sigcatch;
99 uint flags, minflt, cminflt, majflt, cmajflt, timeout, itrealvalue, vsize, rss, rlim, startcode, 99 uint flags, minflt, cminflt, majflt, cmajflt, timeout, itrealvalue, vsize, rss, rlim, startcode,
100 endcode, startstack, kstkesp, kstkeip, wchan; 100 endcode, startstack, kstkesp, kstkeip, wchan;
101 char state; 101 char state;
102 char comm[64]; 102 char comm[64];
103 103
104 QString selectedpid;
105 QListViewItem *curritem = ProcessView->currentItem();
106 if ( curritem )
107 {
108 selectedpid = curritem->text( 0 );
109 }
110
104 ProcessView->clear(); 111 ProcessView->clear();
105 112
113 QListViewItem *newitem;
114 QListViewItem *selecteditem = 0x0;
106 QDir *procdir = new QDir("/proc", 0, QDir::Name, QDir::Dirs); 115 QDir *procdir = new QDir("/proc", 0, QDir::Name, QDir::Dirs);
107 QFileInfoList *proclist = new QFileInfoList(*(procdir->entryInfoList())); 116 QFileInfoList *proclist = new QFileInfoList(*(procdir->entryInfoList()));
108 if ( proclist ) 117 if ( proclist )
109 { 118 {
110 QFileInfoListIterator it(*proclist); 119 QFileInfoListIterator it(*proclist);
111 QFileInfo *f; 120 QFileInfo *f;
@@ -129,16 +138,21 @@ void ProcessInfo::updateData()
129 QString processcmd = QString( comm ).replace( QRegExp( "[()]" ), "" ); 138 QString processcmd = QString( comm ).replace( QRegExp( "[()]" ), "" );
130 QString processstatus = QChar(state); 139 QString processstatus = QChar(state);
131 QString processtime = QString::number( ( utime + stime ) / 100 ); 140 QString processtime = QString::number( ( utime + stime ) / 100 );
132 processtime = processtime.rightJustify( 9, ' ' ); 141 processtime = processtime.rightJustify( 9, ' ' );
133 fclose( procfile ); 142 fclose( procfile );
134 143
135 ( void ) new QListViewItem( ProcessView, processnum, processcmd, processstatus, processtime ); 144 newitem = new QListViewItem( ProcessView, processnum, processcmd, processstatus, processtime );
145 if ( processnum == selectedpid )
146 {
147 selecteditem = newitem;
148 }
136 } 149 }
137 } 150 }
138 } 151 }
152 ProcessView->setCurrentItem( selecteditem );
139 } 153 }
140 154
141 delete proclist; 155 delete proclist;
142 delete procdir; 156 delete procdir;
143} 157}
144 158