File indexing completed on 2024-04-28 03:43:17

0001 /*
0002     SPDX-FileCopyrightText: 2017 Jasem Mutlaq <mutlaqja@ikarustech.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QDialog>
0010 
0011 #include "indi/indicamera.h"
0012 
0013 #include "ui_customproperties.h"
0014 
0015 class CustomProperties : public QDialog, public Ui::CustomProperties
0016 {
0017         Q_OBJECT
0018 
0019     public:
0020         CustomProperties();
0021 
0022         void setCCD(ISD::Camera *ccd);
0023 
0024         QMap<QString, QMap<QString, QVariant> > getCustomProperties() const;
0025         void setCustomProperties(const QMap<QString, QMap<QString, QVariant> > &value);
0026 
0027     signals:
0028         void valueChanged();
0029 
0030     private slots:
0031         void slotAdd();
0032         void slotRemove();
0033         void slotClear();
0034         void slotApply();
0035 
0036     private:
0037 
0038         void syncProperties();
0039 
0040         ISD::Camera *currentCCD = { nullptr };
0041         QMap<QString, QMap<QString, QVariant>> customProperties;
0042 };