diff options
author | Vitaly Wool <vitaly.wool@konsulko.com> | 2018-11-28 16:50:01 +0100 |
---|---|---|
committer | Vitaly Wool <vitaly.wool@konsulko.com> | 2018-11-28 16:51:28 +0100 |
commit | d466bf191f581f4e3a3d1988845bffad01f7b3e1 (patch) | |
tree | 4f8b56616aaeaddf78c1aa2ea62ab9f30a420c8f /app/main.qml | |
parent | f52f93fa42ffc213653e4772acedfcf849707ce8 (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.qml | 183 |
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 + } + } } |