Warning, /sdk/rust-qt-binding-generator/demo/qml/ProcessesTree.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * Copyright 2017 Jos van den Oever <jos@vandenoever.info> 0003 * 0004 * This program is free software; you can redistribute it and/or 0005 * modify it under the terms of the GNU General Public License as 0006 * published by the Free Software Foundation; either version 2 of 0007 * the License or (at your option) version 3 or any later version 0008 * accepted by the membership of KDE e.V. (or its successor approved 0009 * by the membership of KDE e.V.), which shall act as a proxy 0010 * defined in Section 14 of version 3 of the license. 0011 * 0012 * This program is distributed in the hope that it will be useful, 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0015 * GNU General Public License for more details. 0016 * 0017 * You should have received a copy of the GNU General Public License 0018 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0019 */ 0020 0021 import QtQuick 2.6 0022 import QtQml.Models 2.2 0023 import QtQuick.Controls 1.5 0024 import QtQuick.Layouts 1.3 0025 0026 Item { 0027 TextField { 0028 id: processFilterInput 0029 focus: true 0030 width: parent.width 0031 placeholderText: "Filter processes" 0032 onTextChanged: { 0033 processes.filterRegExp = new RegExp(processFilterInput.text) 0034 } 0035 } 0036 TreeView { 0037 onClicked: { 0038 processSelection.select( 0039 index, ItemSelectionModel.ToggleCurrent) 0040 } 0041 Binding { 0042 target: demo.processes 0043 property: "active" 0044 value: visible 0045 } 0046 width: parent.width 0047 anchors.top: processFilterInput.bottom 0048 anchors.bottom: parent.bottom 0049 id: processView 0050 model: processes 0051 selection: processSelection 0052 selectionMode: SelectionMode.ExtendedSelection 0053 // selectionMode: SelectionMode.SingleSelection 0054 sortIndicatorVisible: true 0055 alternatingRowColors: true 0056 TableViewColumn { 0057 title: "name" 0058 role: "name" 0059 } 0060 TableViewColumn { 0061 title: "cpu" 0062 role: "cpuUsage" 0063 } 0064 TableViewColumn { 0065 title: "memory" 0066 role: "memory" 0067 } 0068 onSortIndicatorColumnChanged: sort() 0069 onSortIndicatorOrderChanged: sort() 0070 function sort() { 0071 var role = getColumn( 0072 processView.sortIndicatorColumn).role 0073 model.sortByRole(role, processView.sortIndicatorOrder) 0074 } 0075 Timer { 0076 interval: 100 0077 running: true 0078 repeat: true 0079 onTriggered: { 0080 var root = processView.rootIndex 0081 var systemd = processes.index(1, 0, root) 0082 if (processes.data(systemd) === "systemd") { 0083 processView.expand(systemd) 0084 running = false 0085 } 0086 } 0087 } 0088 } 0089 }