/*! * * Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file VRxProfiles.cpp * \author (last) Behrouz NematiPour * \date (last) 21-Nov-2023 * \author (original) Peter Lucia * \date (original) 22-Sep-2020 * */ #include "VRxProfiles.h" // Qt #include #include // Project #include "ApplicationController.h" #include "RxProfilesController.h" #include "FileHandler.h" #include "MsgDefs.h" #include "TreatmentLog.h" #include "MRxProfilesData.h" using namespace Gui; using namespace View; using namespace Storage; VRxProfiles::VRxProfiles(QObject *parent) : QObject(parent), _rxProfilesModels(this) { connect (this, SIGNAL(didRxProfileList()), &_RxProfilesController, SLOT(doInitRxProfiles())); ACTION_METHOD_BRIDGE_CONNECTION(RxProfileList, _RxProfilesController, QList) QQmlEngine::setObjectOwnership(&_rxProfilesModels, QQmlEngine::CppOwnership); _rxProfilesModels.setRoleNames({ { eDataRole_BloodFlow , "bloodFlow" }, { eDataRole_DialysateFlow , "dialysateFlow" }, { eDataRole_TreatmentDuration , "treatmentDuration" }, { eDataRole_AcidConcentrateType , "acidConcentrate" }, { eDataRole_BicarbonateConcentrateType , "bicarbConcentrate" }, { eDataRole_DialysateTemperature , "dialysateTemperature" }, { eDataRole_DialyzerType , "dialyzertype" }, { eDataRole_HeparinConcentration , "heparinConcentrate" }, { eDataRole_HeparinBolusVolume , "heparinVolume" }, { eDataRole_HeparinDispenseRate , "heparinDispenseRate" }, { eDataRole_HeparinStop , "heparinStop" }, { eDataRole_VitalSigns , "vitalSigns" }, { eDataRole_ProfileName , "profileName" }, { eDataRole_Favorite , "favorites" }, { eDataRole_LastModifiedDate , "lastModifiedDate" }, { eDataRole_RecentlyUsedDate , "recentlyUsedDate" }, }); } void VRxProfiles::doInitRxProfilesList() { emit didRxProfileList(); } /** * Converts To MListModel the List of Models */ void VRxProfiles::onRxProfileList(const QList &vRxProfileDataList) { QList> RxProfilesList; for (const RxProfilesData &rxData : vRxProfileDataList) { QHash hash; for (int i = 0; i < rxData.rxProfileContent.size(); ++i) { hash.insert(i+Qt::UserRole, QVariant(rxData.rxProfileContent.at(i))); } // hash[eDataRole_BloodFlow ] = QVariant(rxData.rxProfileContent.at(eDataRole_BloodFlow )); // hash[eDataRole_DialysateFlow ] = QVariant(rxData.rxProfileContent.at(eDataRole_DialysateFlow )); // hash[eDataRole_TreatmentDuration ] = QVariant(rxData.rxProfileContent.at(eDataRole_TreatmentDuration )); // hash[eDataRole_AcidConcentrateType ] = QVariant(rxData.rxProfileContent.at(eDataRole_AcidConcentrateType )); // hash[eDataRole_BicarbonateConcentrateType ] = QVariant(rxData.rxProfileContent.at(eDataRole_BicarbonateConcentrateType )); // hash[eDataRole_DialysateTemperature ] = QVariant(rxData.rxProfileContent.at(eDataRole_DialysateTemperature )); // hash[eDataRole_DialyzerType ] = QVariant(rxData.rxProfileContent.at(eDataRole_DialyzerType )); // hash[eDataRole_HeparinConcentration ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinConcentration )); // hash[eDataRole_HeparinBolusVolume ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinBolusVolume )); // hash[eDataRole_HeparinDispenseRate ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinDispenseRate )); // hash[eDataRole_HeparinStop ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinStop )); // hash[eDataRole_VitalSigns ] = QVariant(rxData.rxProfileContent.at(eDataRole_VitalSigns )); // hash[eDataRole_ProfileName ] = QVariant(rxData.rxProfileContent.at(eDataRole_ProfileName )); // hash[eDataRole_Favorite ] = QVariant(rxData.rxProfileContent.at(eDataRole_Favorite )); // hash[eDataRole_LastModifiedDate ] = QVariant(rxData.rxProfileContent.at(eDataRole_LastModifiedDate )); // hash[eDataRole_RecentlyUsedDate ] = QVariant(rxData.rxProfileContent.at(eDataRole_RecentlyUsedDate )); RxProfilesList.append(hash); } _rxProfilesModels = RxProfilesList; } //void VRxProfiles::onRxProfileList(const QFileInfoList &vRxProfiles) //{ // qDebug() << "-meow-" << vRxProfiles; // QStringList fileNames; // for (const QFileInfo fileInfo:vRxProfiles){ // fileNames << fileInfo.baseName().replace("_", " "); // } // rxProfilesList(fileNames); // qDebug() << _rxProfilesList; //}