Warning, /multimedia/plasmatube/src/ui/loginflow/AddPeerTubePage.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 PeerTube Source") 0019 0020 function addSource(url) { 0021 PlasmaTube.sourceManager.createPeerTubeSource(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("joinpeertube.org") 0036 } 0037 0038 FormCard.FormDelegateSeparator {} 0039 0040 Repeater { 0041 id: instanceRepeater 0042 0043 model: PeerTubeInstancesModel { 0044 filterString: searchDelegate.text 0045 } 0046 0047 delegate: ColumnLayout { 0048 required property int index 0049 required property string url 0050 0051 FormCard.FormDelegateSeparator { 0052 visible: index !== 0 0053 } 0054 0055 FormCard.FormButtonDelegate { 0056 text: url 0057 onClicked: root.addSource(url) 0058 } 0059 } 0060 } 0061 0062 FormCard.FormTextDelegate { 0063 text: i18n("No public instances found.") 0064 visible: instanceRepeater.count === 0 0065 } 0066 0067 FormCard.FormDelegateSeparator { 0068 visible: searchDelegate.text.length !== 0 0069 } 0070 0071 FormCard.FormButtonDelegate { 0072 text: searchDelegate.text 0073 visible: searchDelegate.text.length !== 0 0074 onClicked: root.addSource(searchDelegate.text) 0075 } 0076 } 0077 }