Warning, /plasma-bigscreen/youtube-voice-application/ui/+mediacenter/CategoryBoxSearchView.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * Copyright 2018 by Aditya Mehra <aix.m@outlook.com> 0003 * 0004 * This program is free software: you can redistribute it and/or modify 0005 * it under the terms of the GNU General Public License as published by 0006 * the Free Software Foundation, either version 3 of the License, or 0007 * (at your option) any later version. 0008 0009 * This program is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 * GNU General Public License for more details. 0013 0014 * You should have received a copy of the GNU General Public License 0015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0016 */ 0017 0018 import QtQuick 2.9 0019 import QtQuick.Layouts 1.4 0020 import QtGraphicalEffects 1.0 0021 import QtQuick.Controls 2.3 0022 import org.kde.kirigami 2.8 as Kirigami 0023 import org.kde.plasma.core 2.0 as PlasmaCore 0024 import org.kde.plasma.components 3.0 as PlasmaComponents3 0025 import org.kde.plasma.components 2.0 as PlasmaComponents 0026 import Mycroft 1.0 as Mycroft 0027 import "+mediacenter/views" as Views 0028 import "+mediacenter/delegates" as Delegates 0029 0030 Item { 0031 property var searchListModel: sessionData.searchListBlob.videoList 0032 Layout.fillWidth: true 0033 Layout.fillHeight: true 0034 0035 onFocusChanged: { 0036 if(focus){ 0037 searchBarArea.forceActiveFocus() 0038 } 0039 } 0040 0041 function searchYoutubeLiveResults(query){ 0042 triggerGuiEvent("YoutubeSkill.SearchLive", {"Query": query}) 0043 } 0044 0045 Rectangle { 0046 id: searchBarArea 0047 anchors.top: parent.top 0048 anchors.topMargin: Kirigami.Units.largeSpacing 0049 anchors.horizontalCenter: parent.horizontalCenter 0050 height: Kirigami.Units.gridUnit * 3 0051 width: parent.width / 3 0052 radius: 12 0053 color: searchBarArea.activeFocus ? Qt.rgba(Kirigami.Theme.highlightColor.r, Kirigami.Theme.highlightColor.g, Kirigami.Theme.highlightColor.b, 0.95) : Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.95) 0054 0055 Keys.onReturnPressed: { 0056 videoQueryBox.forceActiveFocus() 0057 } 0058 0059 KeyNavigation.up: searchCatButton 0060 KeyNavigation.down: searchGridView 0061 0062 RowLayout { 0063 anchors.fill: parent 0064 TextField { 0065 id: videoQueryBox 0066 Layout.leftMargin: Kirigami.Units.largeSpacing 0067 Layout.fillWidth: true 0068 placeholderText: "Search here..." 0069 Layout.fillHeight: true 0070 onAccepted: { 0071 searchYoutubeLiveResults(videoQueryBox.text) 0072 } 0073 KeyNavigation.down: searchGridView 0074 KeyNavigation.right: searchVideoQuery 0075 } 0076 0077 Kirigami.Icon { 0078 id: searchVideoQuery 0079 Layout.preferredWidth: Kirigami.Units.gridUnit * 2 0080 Layout.fillHeight: true 0081 source: "search" 0082 KeyNavigation.left: videoQueryBox 0083 KeyNavigation.down: searchGridView 0084 0085 Keys.onReturnPressed: { 0086 searchYoutubeLiveResults(videoQueryBox.text) 0087 } 0088 0089 MouseArea { 0090 anchors.fill: parent 0091 onClicked: { 0092 searchYoutubeLiveResults(videoQueryBox.text) 0093 } 0094 } 0095 0096 ColorOverlay { 0097 anchors.fill: parent 0098 source: searchVideoQuery 0099 color: Kirigami.Theme.highlightColor 0100 visible: searchVideoQuery.activeFocus ? 1 : 0 0101 } 0102 } 0103 } 0104 } 0105 0106 Views.BigTileView { 0107 id: searchGridView 0108 anchors { 0109 top: searchBarArea.bottom 0110 left: parent.left 0111 right: parent.right 0112 bottom: parent.bottom 0113 topMargin: Kirigami.Units.largeSpacing 0114 } 0115 focus: true 0116 model: searchListModel 0117 Layout.fillWidth: true 0118 Layout.fillHeight: true 0119 cellWidth: view.width / 4 0120 // FIXME: componentize more all this stuff 0121 cellHeight: cellWidth / 1.8 + Kirigami.Units.gridUnit * 5 0122 title: count > 0 ? "Search Results" : " " 0123 delegate: Delegates.ListVideoCard { 0124 width: searchGridView.cellWidth 0125 height: searchGridView.cellHeight 0126 } 0127 0128 KeyNavigation.up: searchBarArea 0129 } 0130 }