File indexing completed on 2024-06-16 04:46:58

0001 /*
0002     SPDX-FileCopyrightText: 2014-2015 Christian Dávid <christian-david@web.de>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef IBANBICITEMEDIT_H
0007 #define IBANBICITEMEDIT_H
0008 
0009 #include <QWidget>
0010 #include <payeeidentifier/payeeidentifier.h>
0011 
0012 namespace Ui
0013 {
0014 class ibanBicItemEdit;
0015 }
0016 
0017 class ibanBicItemEdit : public QWidget
0018 {
0019     Q_OBJECT
0020     Q_PROPERTY(payeeIdentifier identifier READ identifier WRITE setIdentifier NOTIFY identifierChanged STORED true)
0021     Q_PROPERTY(QString iban READ iban WRITE setIban NOTIFY ibanChanged STORED false DESIGNABLE true)
0022     Q_PROPERTY(QString bic READ bic WRITE setBic NOTIFY bicChanged STORED false DESIGNABLE true)
0023 
0024 public:
0025     explicit ibanBicItemEdit(QWidget* parent = 0);
0026 
0027     payeeIdentifier identifier() const;
0028     QString iban() const;
0029     QString bic() const;
0030 
0031 public Q_SLOTS:
0032     void setIdentifier(const payeeIdentifier&);
0033     void setIban(const QString&);
0034     void setBic(const QString&);
0035 
0036 Q_SIGNALS:
0037     void commitData(QWidget*);
0038     void closeEditor(QWidget* editor);
0039     void identifierChanged(payeeIdentifier);
0040     void ibanChanged(QString);
0041     void bicChanged(QString);
0042 
0043 private Q_SLOTS:
0044     void updateIdentifier();
0045 
0046     /** @brief emits commitData(this) and closeEditor(this) */
0047     void editFinished();
0048 
0049 private:
0050     struct Private;
0051     Private* d;
0052 };
0053 
0054 #endif // IBANBICITEMEDIT_H