aboutsummaryrefslogtreecommitdiffstats
path: root/app/main.qml
diff options
context:
space:
mode:
authorVitaly Wool <vitaly.wool@konsulko.com>2018-11-28 16:50:01 +0100
committerVitaly Wool <vitaly.wool@konsulko.com>2018-11-28 16:51:28 +0100
commitd466bf191f581f4e3a3d1988845bffad01f7b3e1 (patch)
tree4f8b56616aaeaddf78c1aa2ea62ab9f30a420c8f /app/main.qml
parentf52f93fa42ffc213653e4772acedfcf849707ce8 (diff)
Add kill button and relevant functionalityguppy_6.99.2guppy/6.99.26.99.2
Add 'Kill' and 'Info' (for future use: display detailed info on process in a separate window) buttons to the Task Manager UI and implement sending kill command to the service. Signed-off-by: Vitaly Wool <vitaly.wool@konsulko.com> Change-Id: Iac50f6ce46fc91471d94118587c6e7ea0842beca
Diffstat (limited to 'app/main.qml')
-rw-r--r--app/main.qml183
1 files changed, 109 insertions, 74 deletions
diff --git a/app/main.qml b/app/main.qml
index 796ec52..58f63a6 100644
--- a/app/main.qml
+++ b/app/main.qml
@@ -1,92 +1,127 @@
-import QtQuick 2.4
+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
+ id: root
+ visible: true
+ width: 745
+ height: 480
- TaskManager {
- id: taskmng
+ 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_});
- }
+ 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_});
- }
+ 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);
- }
+ 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;
- }
- }
- }
+ function findId(tid) {
+ for(var i = 0; i < libraryModel.count; i++) {
+ if(tid == libraryModel.get(i).tid) {
+ return i;
+ }
+ }
+ }
- Component.onCompleted: {
- taskmng.open(bindingAddress);
- }
- }
+ Component.onCompleted: {
+ taskmgr.open(bindingAddress);
+ }
+ }
- ListModel {
- id: libraryModel
- }
+ ListModel {
+ id: libraryModel
+ }
+ Rectangle {
+ id: mainview
+ width: parent.width
+ height: parent.height
+ Row {
+ id: buttonRow
+ width: parent.width
+ anchors.top: mainview.top
- TableView {
- width: root.width
- height: root.height
+ RowLayout {
+ id: buttonRowLayout
+ spacing: 6
- 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
- }
+ 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
+ }
+ }
}