-rw-r--r-- | noncore/settings/sysinfo/processinfo.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/noncore/settings/sysinfo/processinfo.cpp b/noncore/settings/sysinfo/processinfo.cpp index 2232771..1de1a19 100644 --- a/noncore/settings/sysinfo/processinfo.cpp +++ b/noncore/settings/sysinfo/processinfo.cpp | |||
@@ -140,62 +140,66 @@ void ProcessInfo::updateData() | |||
140 | QString processtime = QString::number( ( utime + stime ) / 100 ); | 140 | QString processtime = QString::number( ( utime + stime ) / 100 ); |
141 | processtime = processtime.rightJustify( 9, ' ' ); | 141 | processtime = processtime.rightJustify( 9, ' ' ); |
142 | fclose( procfile ); | 142 | fclose( procfile ); |
143 | 143 | ||
144 | newitem = new QListViewItem( ProcessView, processnum, processcmd, processstatus, processtime ); | 144 | newitem = new QListViewItem( ProcessView, processnum, processcmd, processstatus, processtime ); |
145 | if ( processnum == selectedpid ) | 145 | if ( processnum == selectedpid ) |
146 | { | 146 | { |
147 | selecteditem = newitem; | 147 | selecteditem = newitem; |
148 | } | 148 | } |
149 | } | 149 | } |
150 | } | 150 | } |
151 | } | 151 | } |
152 | ProcessView->setCurrentItem( selecteditem ); | 152 | ProcessView->setCurrentItem( selecteditem ); |
153 | } | 153 | } |
154 | 154 | ||
155 | delete proclist; | 155 | delete proclist; |
156 | delete procdir; | 156 | delete procdir; |
157 | } | 157 | } |
158 | 158 | ||
159 | void ProcessInfo::slotSendClicked() | 159 | void ProcessInfo::slotSendClicked() |
160 | { | 160 | { |
161 | QListViewItem *currprocess = ProcessView->currentItem(); | 161 | QListViewItem *currprocess = ProcessView->currentItem(); |
162 | if ( !currprocess ) | 162 | if ( !currprocess ) |
163 | { | 163 | { |
164 | return; | 164 | return; |
165 | } | 165 | } |
166 | 166 | ||
167 | QString capstr = tr( "You really want to send\n" ); | 167 | QString capstr = tr( "You really want to send\n" ); |
168 | capstr.append( SignalCB->currentText() ); | 168 | capstr.append( SignalCB->currentText() ); |
169 | capstr.append( "\nto this process?" ); | 169 | capstr.append( "\nto this process?" ); |
170 | 170 | ||
171 | 171 | ||
172 | if ( QMessageBox::warning( this, currprocess->text( 1 ), capstr, | 172 | if ( QMessageBox::warning( this, currprocess->text( 1 ), capstr, |
173 | QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape ) == QMessageBox::Yes ) | 173 | QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape ) == QMessageBox::Yes ) |
174 | { | 174 | { |
175 | QString sigstr = SignalCB->currentText(); | 175 | currprocess = ProcessView->currentItem(); |
176 | sigstr.truncate(2); | 176 | if ( currprocess ) |
177 | int sigid = sigstr.toUInt(); | 177 | { |
178 | kill( currprocess->text( 0 ).stripWhiteSpace().toUInt(), sigid ); | 178 | QString sigstr = SignalCB->currentText(); |
179 | sigstr.truncate(2); | ||
180 | int sigid = sigstr.toUInt(); | ||
181 | kill( currprocess->text( 0 ).stripWhiteSpace().toUInt(), sigid ); | ||
182 | } | ||
179 | } | 183 | } |
180 | 184 | ||
181 | } | 185 | } |
182 | 186 | ||
183 | void ProcessInfo::viewProcess( QListViewItem *process ) | 187 | void ProcessInfo::viewProcess( QListViewItem *process ) |
184 | { | 188 | { |
185 | QString pid= process->text( 0 ).stripWhiteSpace(); | 189 | QString pid= process->text( 0 ).stripWhiteSpace(); |
186 | QString command = process->text( 1 ); | 190 | QString command = process->text( 1 ); |
187 | ProcessDtl->setCaption( pid + " - " + command ); | 191 | ProcessDtl->setCaption( pid + " - " + command ); |
188 | FILE *statfile = fopen( ( QString ) ( "/proc/" + pid + "/status"), "r"); | 192 | FILE *statfile = fopen( ( QString ) ( "/proc/" + pid + "/status"), "r"); |
189 | if ( statfile ) | 193 | if ( statfile ) |
190 | { | 194 | { |
191 | char line[81]; | 195 | char line[81]; |
192 | fgets( line, 81, statfile ); | 196 | fgets( line, 81, statfile ); |
193 | ProcessDtl->detailView->setText( line ); | 197 | ProcessDtl->detailView->setText( line ); |
194 | while ( fgets( line, 81, statfile ) ) | 198 | while ( fgets( line, 81, statfile ) ) |
195 | { | 199 | { |
196 | ProcessDtl->detailView->append( line ); | 200 | ProcessDtl->detailView->append( line ); |
197 | } | 201 | } |
198 | fclose( statfile ); | 202 | fclose( statfile ); |
199 | } | 203 | } |
200 | ProcessDtl->showMaximized(); | 204 | ProcessDtl->showMaximized(); |
201 | } | 205 | } |