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 }