Newer
Older
CasicBioRecNew / AddPersonForm.h
#ifndef ADDPERSONFORM_H
#define ADDPERSONFORM_H

#include <QWidget>
#include <QFile>

#include "QDblClickLabel.h"
#include "OperationTipsDialog.h"

#include "casic/ProMemory.h"
#include "dao/util/CacheManager.h"
#include "utils/UtilInclude.h"

namespace Ui {
class AddPersonForm;
}

class AddPersonForm : public QWidget
{
    Q_OBJECT

public:
    explicit AddPersonForm(QWidget *parent = nullptr);
    ~AddPersonForm();

    void setPersonId(QString personId);
    void updateFormTitle(QString title);

    void loadPersonInfo(QString personId);
    void clearPersonInfo();

public slots:
    void drawImageOnForm(QImage imageDisp);
    void onFailedCaptureFace();
    void onSuccessCaptureFace(QString personIdByFace);

private slots:
    void on_btnBack_clicked();

    void on_btnHome_clicked();

    void on_btnSave_clicked();

    void onPhotoFaceDoubleClicked();
    void onPhotoIrisDoubleClicked();

private:
    Ui::AddPersonForm *ui;

    QString personId;

    QString face; // 人脸图像数据
    QByteArray faceCode; // 人脸特征编码数据
    bool faceReCaptured; // 编辑时是否需要更新人脸数据

    QLabel * faceLabel; // 采集人脸时显示的画面

    bool validateForm();
    void registPerson();
    void editPersonInfo();

signals:
    void switchToUserListForm();
    void backToHomePage();
    void startCaptureFace();
};

#endif // ADDPERSONFORM_H