summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/processinfo.cpp
Unidiff
Diffstat (limited to 'noncore/settings/sysinfo/processinfo.cpp') (more/less context) (ignore 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
@@ -101,8 +101,17 @@ void ProcessInfo::updateData()
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 )
@@ -132,10 +141,15 @@ void ProcessInfo::updateData()
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;