/* * AdvoTracker - Hotline tracking tool for Advocats * * Copyright (c) 2017 Ralf Zerres . */ import QtQuick 2.10 // Qt 5.10 import QtQuick.Controls 2.3 // Qt 5.10 import QtQuick.Layouts 1.3 // Qt 5.10 import QtQuick.Controls.Material 2.3 // Qt 5.10 // AdvoTracker Module import de.networkx.AdvoTracker 1.0 as Nwx import SortFilterProxyModel 0.2 ItemDelegate { id: itemUserList Layout.fillWidth: true width: parent.width anchors.right: parent.fill focus: true contentItem: RowLayout { id: rowUserList spacing: 8 anchors.horizontalCenter: parent.horizontalCenter //focus: true Label { id: userId text: model.userId Layout.preferredWidth: 150 } Label { id: userName text: model.firstName + " " + model.lastName Layout.fillWidth: true } /* Nwx.IconButton { id: valueUserList text: model.userIcon Layout.preferredWidth: 50 } */ } // rowUserList (contentItem) // adapt the current item states: State { name: "Current" when: itemUserList.ListView.isCurrentItem PropertyChanges { target: userId ; color: Material.color(Material.primary, Material.ShadeA700) } PropertyChanges { target: userName ; color: Material.color(Material.accent, Material.ShadeA700) } } transitions: Transition { NumberAnimation { properties: "color"; duration: 200 } SpringAnimation { spring: 2; damping: 0.1 } } MouseArea { anchors.fill: parent acceptedButtons: Qt.LeftButton onPressed: { console.log("Mouse-Press: left; index:", index, "; lastName:", filterModelUser.get(index).lastName) /*PropertyChanges { target: nameUserList ; color: Material.color(Material.primary) } PropertyChanges { target: labelUserList color: Material.color(Material.Red, Material.ShadeA700) } */ itemUserList.ListView.view.currentIndex = index } onDoubleClicked: { console.log("Mouse-Press: double; index:", index, "; lastName:", filterModelUser.get(index).lastName) console.log("Mouse-Press: double; index:", index, "; userId:", filterModelUser.get(index).userId) //stackViewMain.push(componentDetail, { userId: filterModelUser.get(index).userId } ) stackViewMain.push("qrc:/pages/PageUserDetail.qml", { userId: filterModelUser.get(index).userId } ) } } // MouseArea MouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton onPressed: { console.log("Mouse-Press: right; index:", index, "; userId:", filterModelUser.get(index).userId) itemUserList.ListView.view.currentIndex = index } } // MouseArea Keys.onPressed: { console.log("list-item: " + event.key + " : " + event.text) } Shortcut { context: Qt.ApplicationShortcut sequence: [ StandardKey.Find ] //onActivated: view.currentIndex++ onActivated: { searchToolBar.forceActiveFocus() console.log("Key-Press->Find: Shortcut activated.") } } Keys.onUpPressed: { console.log("Key-Press: Up; index:", index, "; UserId:", filterModelUser.get(index).userId) //scrollBarUserList.decrease() } Keys.onDownPressed: scrollBarUserList.increase() Keys.onReturnPressed: { itemUserList.ListView.view.currentIndex = index //stackViewMain.push(componentDetail, { userId: "filterModelUser.get(index).userId" } ) stackViewMain.push("qrc:/page/PageUserDetail.qml", { userId: filterModelUser.get(index).userId } ) } Keys.onTabPressed: { // Windows: Ctrl-Tab, Alt+Right, Ctrl-F6 // Gnome: Ctrl-Tab console.log("Key-Press: Tab; index:", index, "; iconName:", filterModelUser.get(index).userId) itemUserList.ListView.view.currentIndex = index + 1 } Keys.onBacktabPressed: { // Windows: Ctrl-Shift-Tab, Alt+Left, Ctrl-Shift-F6 // Gnome: Ctrl-Shift-Tab, Alt+Left console.log("Key-Press: Backtab (Shift+tab); index:", index, "; iconName:", filterModelUser.get(index).userId) itemUserList.ListView.view.currentIndex = index -1 } } // itemUserList