Warning, /office/klevernotes/src/contents/ui/sideBar/TreeView.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 // SPDX-FileCopyrightText: 2022 Louis Schul <schul9louis@gmail.com>
0003
0004 import QtQuick
0005 import QtQuick.Controls 2 as Controls
0006
0007 import org.kde.kirigamiaddons.delegates 1 as Delegates
0008 import org.kde.kirigami 2.5 as Kirigami
0009 import org.kde.kitemmodels 1
0010
0011 import org.kde.Klever 1.0
0012
0013 Controls.ScrollView {
0014 id: scrollView
0015
0016 property alias model: descendantsModel.model
0017 property alias currentItem: treeView.currentItem
0018 property alias currentIndex: treeView.currentIndex
0019 property alias descendantsModel: descendantsModel
0020
0021 signal itemRightClicked(clickedItem: TreeItem)
0022
0023 ListView {
0024 id: treeView
0025
0026 model: KDescendantsProxyModel {
0027 id: descendantsModel
0028 }
0029
0030 delegate: TreeItem {
0031 id: treeItem
0032
0033 onItemRightClicked: {
0034 scrollView.itemRightClicked(treeItem)
0035 }
0036 onWantFocusChanged: if (wantFocus) {
0037 clicked()
0038 }
0039 onWantExpandChanged: if (wantExpand) {
0040 if (!kDescendantExpanded) {
0041 descendantsModel.toggleChildren(index)
0042 }
0043 }
0044 onClicked: {
0045 descendantsModel.toggleChildren(index)
0046 forceActiveFocus()
0047 const mainWindow = applicationWindow()
0048 if (mainWindow.isMainPage()) {
0049 const mainPage = mainWindow.pageStack.currentItem
0050 mainPage.currentlySelected = treeItem
0051 treeView.currentIndex = index
0052 }
0053 }
0054 }
0055 }
0056
0057 function getModelIndex(rowIndex) {
0058 return descendantsModel.mapToSource(descendantsModel.index(rowIndex, 0))
0059 }
0060 }