Warning, /plasma-bigscreen/peertube-voice-application/ui/views/TileView.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * Copyright 2019 Aditya Mehra <aix.m@outlook.com> 0003 * Copyright 2019 Marco Martin <mart@kde.org> 0004 * 0005 * This program is free software; you can redistribute it and/or modify 0006 * it under the terms of the GNU General Public License as published by 0007 * the Free Software Foundation; either version 2 of the License, or 0008 * (at your option) any later version. 0009 * 0010 * This program is distributed in the hope that it will be useful, 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0013 * GNU General Public License for more details. 0014 * 0015 * You should have received a copy of the GNU General Public License 0016 * along with this program; if not, write to the Free Software 0017 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA. 0018 */ 0019 0020 import QtQuick 2.12 0021 import QtQuick.Layouts 1.4 0022 import QtQuick.Controls 2.4 as Controls 0023 import org.kde.plasma.components 3.0 as PlasmaComponents 0024 import org.kde.kirigami 2.5 as Kirigami 0025 0026 0027 FocusScope { 0028 id: root 0029 signal activated 0030 property string title 0031 property alias view: view 0032 property alias delegate: view.delegate 0033 property alias model: view.model 0034 property alias count: view.count 0035 property alias currentIndex: view.currentIndex 0036 property alias currentItem: view.currentItem 0037 Layout.fillWidth: true 0038 implicitHeight: view.implicitHeight + Kirigami.Units.largeSpacing 0039 property alias cellWidth: view.cellWidth 0040 property alias cellHeight: view.cellHeight 0041 0042 property Item navigationUp 0043 property Item navigationDown 0044 0045 GridView { 0046 id: view 0047 anchors { 0048 left: parent.left 0049 right: parent.right 0050 top: parent.top 0051 bottom: parent.bottom 0052 topMargin: Kirigami.Units.largeSpacing * 2 0053 leftMargin: Kirigami.Units.largeSpacing * 2 0054 rightMargin: Kirigami.Units.largeSpacing * 2 0055 } 0056 focus: true 0057 z: activeFocus ? 10: 1 0058 cellWidth: parent.width / 4 0059 cellHeight: parent.height / 1.5 0060 keyNavigationEnabled: true 0061 highlightFollowsCurrentItem: true 0062 highlightRangeMode: GridView.ApplyRange 0063 snapMode: GridView.SnapToRow 0064 cacheBuffer: width 0065 highlightMoveDuration: Kirigami.Units.longDuration 0066 clip: true 0067 0068 onCurrentItemChanged: { 0069 positionViewAtIndex(view.currentIndex, GridView.SnapPosition) 0070 } 0071 0072 move: Transition { 0073 SmoothedAnimation { 0074 property: "x" 0075 duration: Kirigami.Units.longDuration 0076 } 0077 } 0078 0079 KeyNavigation.left: root 0080 KeyNavigation.right: root 0081 } 0082 } 0083