Warning, /pim/itinerary/src/app/OnlineImportPage.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2023 Volker Krause <vkrause@kde.org>
0003 SPDX-FileCopyrightText: 2023 Carl Schwan <carl@carlschwan.eu>
0004 SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006
0007 import QtQuick
0008 import QtQuick.Layouts
0009 import QtQuick.Controls as QQC2
0010 import org.kde.kirigami as Kirigami
0011 import org.kde.kirigamiaddons.formcard as FormCard
0012 import org.kde.itinerary
0013
0014 FormCard.FormCardPage {
0015 id: root
0016 title: i18n("Import Online Ticket")
0017
0018 property string source
0019
0020 function search() {
0021 searchButton.description = '';
0022 importer.search(root.source, vendorInputForm.item.arguments);
0023 }
0024
0025 data: OnlineTicketImporter {
0026 id: importer
0027 reservationManager: ReservationManager
0028 onSearchSucceeded: {
0029 ApplicationController.infoMessage(i18n("Ticket imported"));
0030 applicationWindow().pageStack.goBack();
0031 }
0032 onSearchFailed: {
0033 searchButton.description = importer.errorMessage === "" ? i18n("No ticket found") : importer.errorMessage;
0034 }
0035 }
0036
0037 FormCard.FormHeader {
0038 title: i18n("Online Ticket")
0039 }
0040
0041 FormCard.FormCard {
0042 Loader {
0043 id: vendorInputForm
0044 Layout.fillWidth: true
0045 source: root.source !== "" ? Qt.resolvedUrl("onlineimport/" + root.source + ".qml") : null
0046 enabled: !importer.searching
0047 Connections {
0048 target: vendorInputForm.item
0049 function onSearch() { root.search(); }
0050 }
0051 }
0052
0053 FormCard.FormDelegateSeparator {}
0054
0055 FormCard.FormButtonDelegate {
0056 id: searchButton
0057 text: i18n("Search...")
0058 icon.name: importer.searching ? "view-refresh" : "search"
0059 enabled: !importer.searching && vendorInputForm.item.arguments !== undefined
0060 onClicked: root.search()
0061 }
0062 }
0063 }