1 /*
2     SPDX-FileCopyrightText: 2017 Jasem Mutlaq <mutlaqja@ikarustech.com>
3 
4     SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include <QDialog>
10 
11 #include "indi/indiccd.h"
12 
13 #include "ui_customproperties.h"
14 
15 class CustomProperties : public QDialog, public Ui::CustomProperties
16 {
17     Q_OBJECT
18 
19 public:
20     CustomProperties();
21 
22     void setCCD(ISD::CCD *ccd);
23 
24     QMap<QString, QMap<QString, double> > getCustomProperties() const;
25     void setCustomProperties(const QMap<QString, QMap<QString, double> > &value);
26 
27 signals:
28     void valueChanged();
29 
30 private slots:
31     void slotAdd();
32     void slotRemove();
33     void slotClear();
34     void slotApply();
35 
36 private:
37 
38     void syncProperties();
39 
40     ISD::CCD *currentCCD = { nullptr };
41     QMap<QString, QMap<QString,double>> customProperties;
42 };
43