[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/ksysguard/libksysguard/processui
From: John Tapsell <john.tapsell () kdemail ! net>
Date: 2007-08-31 20:46:27
Message-ID: 1188593187.055461.27743.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 707042 by johnflux:
Add a function to return a list of the selected processes
M +26 -14 ksysguardprocesslist.cpp
M +4 -0 ksysguardprocesslist.h
--- trunk/KDE/kdebase/workspace/ksysguard/libksysguard/processui/ksysguardprocesslist.cpp \
#707041:707042 @@ -406,24 +406,37 @@
reniceProcess->start("kdesu", arguments);
}
+QList<KSysGuard::Process *> KSysGuardProcessList::selectedProcesses() const
+{
+ QList<KSysGuard::Process *> processes;
+ QModelIndexList selectedIndexes = \
d->mUi->treeView->selectionModel()->selectedRows(); + for(int i = 0; i < \
selectedIndexes.size(); ++i) { + KSysGuard::Process *process = \
reinterpret_cast<KSysGuard::Process *> \
(d->mFilterModel.mapToSource(selectedIndexes.at(i)).internalPointer()); + processes \
<< process; + }
+ return processes;
+
+}
+
void KSysGuardProcessList::reniceSelectedProcesses()
{
- QModelIndexList selectedIndexes = \
d->mUi->treeView->selectionModel()->selectedRows(); + QList<KSysGuard::Process *> \
processes = selectedProcesses(); QStringList selectedAsStrings;
QList< long long> selectedPids;
- int firstPriority = 0;
- for (int i = 0; i < selectedIndexes.size(); ++i) {
- KSysGuard::Process *process = reinterpret_cast<KSysGuard::Process *> \
(d->mFilterModel.mapToSource(selectedIndexes.at(i)).internalPointer());
- if(i==0) firstPriority = process->niceLevel;
- selectedPids << process->pid;
- selectedAsStrings << d->mModel.getStringForProcess(process);
- }
- if (selectedAsStrings.isEmpty())
+ if (processes.isEmpty())
{
KMessageBox::sorry(this, i18n("You need to select a process first."));
return;
}
+
+ int firstPriority = 0;
+ foreach(KSysGuard::Process *process, processes) {
+ selectedPids << process->pid;
+ selectedAsStrings << d->mModel.getStringForProcess(process);
+ }
+ firstPriority = processes.first()->niceLevel;
+
ReniceDlg reniceDlg(d->mUi->treeView, firstPriority, selectedAsStrings);
if(reniceDlg.exec() == QDialog::Rejected) return;
int newPriority = reniceDlg.newPriority;
@@ -465,10 +478,9 @@
QModelIndexList selectedIndexes = \
d->mUi->treeView->selectionModel()->selectedRows(); QStringList selectedAsStrings;
QList< long long> selectedPids;
- QList<KSysGuard::Process *> selectedProcesses;
- for (int i = 0; i < selectedIndexes.size(); ++i) {
- KSysGuard::Process *process = reinterpret_cast<KSysGuard::Process *> \
(d->mFilterModel.mapToSource(selectedIndexes.at(i)).internalPointer());
- selectedProcesses << process;
+
+ QList<KSysGuard::Process *> processes = selectedProcesses();
+ foreach(KSysGuard::Process *process, processes) {
selectedPids << process->pid;
selectedAsStrings << d->mModel.getStringForProcess(process);
}
@@ -494,7 +506,7 @@
return;
}
}
- foreach(KSysGuard::Process *process, selectedProcesses) {
+ foreach(KSysGuard::Process *process, processes) {
process->timeKillWasSent.start();
}
--- trunk/KDE/kdebase/workspace/ksysguard/libksysguard/processui/ksysguardprocesslist.h \
#707041:707042 @@ -71,6 +71,10 @@
/** Whether the widget will show child totals for CPU and Memory etc usage */
bool showTotals() const;
+
+ /** Returns a list of the processes that have been selected by the user. */
+ QList<KSysGuard::Process *> selectedProcesses() const;
+
public Q_SLOTS:
/** Inform the view that the user has changed the current row */
void currentRowChanged(const QModelIndex ¤t);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic