File indexing completed on 2024-12-08 07:56:29
0001 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0002 // SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org> 0003 0004 #pragma once 0005 0006 #include <memory> 0007 0008 #include <QObject> 0009 #include <QProcess> 0010 0011 #include "Patient.h" 0012 0013 Q_DECLARE_METATYPE(Patient *) 0014 class DetailsLoader : public QObject 0015 { 0016 Q_OBJECT 0017 0018 Q_PROPERTY(Patient *patient MEMBER m_patient WRITE setPatient NOTIFY patientChanged) 0019 Patient *m_patient = nullptr; 0020 void setPatient(Patient *patient); 0021 Q_SIGNAL void patientChanged(); 0022 0023 public: 0024 using QObject::QObject; 0025 0026 Q_SIGNALS: 0027 void details(const QString &details); 0028 void error(const QString &error); 0029 0030 private: 0031 void load(); 0032 std::unique_ptr<QProcess> m_LoaderProcess; 0033 };