1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1
import TaskManager 1.0
Window {
id: root
visible: true
width: 745
height: 480
TaskManager {
id: taskmgr
onUpdateProcess: {
var index = findId(tid_);
libraryModel.set(index, {"cmd": cmd_, "tid": tid_, "user": euid_, "system_cpu": scpu_,
"user_cpu": ucpu_, "resident_memory": resident_memory_, "state": state_});
}
onAddProcess: {
libraryModel.append({"cmd": cmd_, "tid": tid_, "user": euid_, "system_cpu": scpu_,
"user_cpu": ucpu_, "resident_memory": resident_memory_, "state": state_});
}
onRemoveProcess: {
var index = findId(tid_);
libraryModel.remove(index);
}
function findId(tid) {
for(var i = 0; i < libraryModel.count; i++) {
if(tid == libraryModel.get(i).tid) {
return i;
}
}
}
Component.onCompleted: {
taskmgr.open(bindingAddress);
}
}
ListModel {
id: libraryModel
}
Rectangle {
id: mainview
width: parent.width
height: parent.height
Row {
id: buttonRow
width: parent.width
anchors.top: mainview.top
RowLayout {
id: buttonRowLayout
spacing: 6
Button {
id: infoButton
text: "Info"
enabled: tableView.currentRow != -1
}
Button {
id: killButton
text: "Kill"
enabled: tableView.currentRow != -1
onClicked: {
tableView.selection.forEach( function(rowIndex) {
taskmgr.kill(libraryModel.get(rowIndex).tid)}
)
tableView.selection.clear()
}
}
}
}
TableView {
id: tableView
height: parent.height - buttonRow.height
width: parent.width
anchors.top: buttonRow.bottom
TableViewColumn {
role: "cmd"
title: "Process"
width: 150
}
TableViewColumn {
role: "tid"
title: "ID"
width: 80
}
TableViewColumn {
role: "user"
title: "User"
width: 80
}
TableViewColumn {
role: "system_cpu"
title: "System %"
width: 100
}
TableViewColumn {
role: "user_cpu"
title: "User %"
width: 100
}
TableViewColumn {
role: "resident_memory"
title: "Memory"
width: 100
}
TableViewColumn {
role: "state"
title: "State"
width: 90
}
model: libraryModel
}
}
}
|