Warning, /multimedia/plasmatube/src/ui/loginflow/AddPipedPage.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com> 0002 // SPDX-License-Identifier: GPL-3.0-or-later 0003 0004 import QtQuick 0005 import QtQuick.Controls as QQC2 0006 import QtQuick.Layouts 0007 import QtQuick.Window 0008 import QtQml.Models 0009 0010 import org.kde.kirigami as Kirigami 0011 import org.kde.kirigamiaddons.formcard as FormCard 0012 import org.kde.kitemmodels as KItemModels 0013 import org.kde.plasmatube 0014 0015 FormCard.FormCardPage { 0016 id: root 0017 0018 title: i18nc("@title:window", "Add Piped Source") 0019 0020 function addSource(url) { 0021 PlasmaTube.sourceManager.createPipedSource(url); 0022 if (root.Window.window !== applicationWindow()) { 0023 root.Window.window.close(); 0024 } 0025 } 0026 0027 FormCard.FormHeader { 0028 title: i18n("Select a instance") 0029 } 0030 0031 FormCard.FormCard { 0032 FormCard.FormTextFieldDelegate { 0033 id: searchDelegate 0034 label: i18n("Search") 0035 placeholderText: i18n("pipedapi.kavin.rocks") 0036 } 0037 0038 FormCard.FormDelegateSeparator {} 0039 0040 Repeater { 0041 model: KItemModels.KSortFilterProxyModel { 0042 id: filterModel 0043 0044 sourceModel: PipedInstancesModel {} 0045 0046 filterString: searchDelegate.text 0047 filterRoleName: "url" 0048 } 0049 0050 delegate: ColumnLayout { 0051 required property int index 0052 required property string name 0053 required property string url 0054 0055 FormCard.FormDelegateSeparator { 0056 visible: index !== 0 0057 } 0058 0059 FormCard.FormButtonDelegate { 0060 text: name 0061 onClicked: root.addSource(url) 0062 } 0063 } 0064 } 0065 0066 FormCard.FormTextDelegate { 0067 text: i18n("No public instances found.") 0068 visible: filterModel.count === 0 0069 } 0070 0071 FormCard.FormDelegateSeparator {} 0072 0073 FormCard.FormButtonDelegate { 0074 text: i18nc("Add instance", "Add %1", searchDelegate.text) 0075 visible: searchDelegate.text.length !== 0 0076 onClicked: root.addSource(searchDelegate.text) 0077 } 0078 } 0079 }