2021-10-09 16:38:34 +08:00
|
|
|
#include "editpatientform.h"
|
|
|
|
|
#include "ui_editpatientform.h"
|
|
|
|
|
#include <QListView>
|
|
|
|
|
#include <QHBoxLayout>
|
|
|
|
|
#include <QToolButton>
|
2021-10-12 15:07:06 +08:00
|
|
|
#include <QButtonGroup>
|
2021-10-09 16:38:34 +08:00
|
|
|
#include "guimacros.h"
|
2021-10-12 14:11:19 +08:00
|
|
|
#include <qdebug.h>
|
2021-12-28 18:23:02 +08:00
|
|
|
#include "event/EventCenter.h"
|
|
|
|
|
|
|
|
|
|
EditPatientForm::EditPatientForm(QWidget* parent) :
|
|
|
|
|
QWidget(parent),
|
|
|
|
|
ui(new Ui::EditPatientForm)
|
2021-10-09 16:38:34 +08:00
|
|
|
{
|
2022-01-12 11:24:37 +08:00
|
|
|
// this->layout()->setContentsMargins(5,5,5,5);
|
2021-12-28 18:23:02 +08:00
|
|
|
ui->setupUi(this);
|
|
|
|
|
//ui->lbl_Sex->setText(tr("Gender"));
|
|
|
|
|
QHBoxLayout* sexlayout = new QHBoxLayout(ui->sexpanelwidget);
|
|
|
|
|
sexlayout->setMargin(6);
|
|
|
|
|
ADD_TOOL_SIZE_BTN_TO_LAYOUT(F, ":/icons/female_d.png", 30, sexlayout);
|
|
|
|
|
ADD_TOOL_SIZE_BTN_TO_LAYOUT(M, ":/icons/male_d.png", 30, sexlayout);
|
|
|
|
|
btnF->setText(tr("Female"));
|
|
|
|
|
btnM->setText(tr("Male"));
|
|
|
|
|
|
2022-01-12 11:24:37 +08:00
|
|
|
ui->hideBtn->setSizePolicy(QSizePolicy::Policy::Expanding,QSizePolicy::Policy::Preferred);
|
|
|
|
|
ui->hideBtn->setObjectName("hideeditBtn");
|
|
|
|
|
ui->hideBtn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
|
|
|
ui->hideBtn->setIcon(QIcon(":/icons/hidearrow.png"));
|
|
|
|
|
ui->hideBtn->setIconSize({30,30});
|
|
|
|
|
ui->hideBtn->setText(tr(" Hide Panel"));
|
|
|
|
|
connect(ui->hideBtn,&QToolButton::clicked,[=](){
|
|
|
|
|
emit hideBtnClicked();
|
|
|
|
|
});
|
|
|
|
|
|
2021-12-28 18:23:02 +08:00
|
|
|
// btnFemale->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
|
|
|
|
// btnMale->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
|
|
|
|
|
|
|
|
|
btnF->setObjectName("sexBtn");
|
|
|
|
|
btnM->setObjectName("sexBtn");
|
|
|
|
|
//btnF->setText("Female");
|
|
|
|
|
//btnM->setText("Male");
|
|
|
|
|
ui->sexpanelwidget->setEnabled(editEnable);
|
|
|
|
|
btnF->setEnabled(editEnable);
|
|
|
|
|
btnM->setEnabled(editEnable);
|
|
|
|
|
btnF->setCheckable(true);
|
|
|
|
|
btnM->setCheckable(true);
|
|
|
|
|
QButtonGroup* group = new QButtonGroup(this);
|
|
|
|
|
group->addButton(btnF);
|
|
|
|
|
group->addButton(btnM);
|
|
|
|
|
btnF->setChecked(true);
|
|
|
|
|
btnFemale = btnF;
|
|
|
|
|
btnMale = btnM;
|
|
|
|
|
QHBoxLayout* layout = new QHBoxLayout(this->ui->editcmdWidget);
|
|
|
|
|
|
|
|
|
|
ADD_TOOL_BTN(Cancel, ":/icons/close_circle.png");
|
|
|
|
|
ADD_TOOL_BTN(Accpet, ":/icons/selected.png");
|
|
|
|
|
btnCancel->setText(tr("Cancel"));
|
|
|
|
|
btnAccpet->setText(tr("Accept"));
|
|
|
|
|
btnCancel->setEnabled(editEnable);
|
|
|
|
|
btnCancel->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
|
|
|
|
btnCancel->setIcon(QIcon(editEnable ? ":/icons/close_circle.png" : ":/icons/close_circle_d.png"));
|
|
|
|
|
btnAccpet->setEnabled(editEnable);
|
|
|
|
|
btnAccpet->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
|
|
|
|
btnAccpet->setIcon(QIcon(editEnable ? ":/icons/selected.png" : ":/icons/selected_d.png"));
|
|
|
|
|
btnEditAccept = btnAccpet;
|
|
|
|
|
btnEditCancel = btnCancel;
|
|
|
|
|
connect(btnEditCancel, &QToolButton::clicked, [=]() {
|
|
|
|
|
clearPatientInformation();
|
|
|
|
|
this->setEditEnable(false);
|
|
|
|
|
restorePatientInformation();
|
|
|
|
|
emit editCancel();
|
|
|
|
|
});
|
|
|
|
|
connect(btnEditAccept, &QToolButton::clicked, [=]() {
|
|
|
|
|
if (ui->tbx_ID->text().isEmpty())return;
|
|
|
|
|
if (ui->tbx_Name->text().isEmpty())return;
|
|
|
|
|
storePatientInformation();
|
|
|
|
|
bool result = true;
|
|
|
|
|
emit editAccept(getPatientInformation(), result);
|
|
|
|
|
if (result) this->setEditEnable(false);
|
|
|
|
|
});
|
|
|
|
|
ui->tbx_Dob->setDisplayFormat("yyyy/MM/dd");
|
|
|
|
|
|
|
|
|
|
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() {
|
|
|
|
|
|
|
|
|
|
ui->retranslateUi(this);
|
|
|
|
|
btnF->setText(tr("Female"));
|
|
|
|
|
btnM->setText(tr("Male"));
|
|
|
|
|
btnCancel->setText(tr("Cancel"));
|
|
|
|
|
btnAccpet->setText(tr("Accept"));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-09 16:38:34 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EditPatientForm::~EditPatientForm()
|
|
|
|
|
{
|
2021-12-28 18:23:02 +08:00
|
|
|
delete ui;
|
2021-10-09 16:38:34 +08:00
|
|
|
}
|
2021-10-12 10:28:30 +08:00
|
|
|
|
2021-12-28 18:23:02 +08:00
|
|
|
void EditPatientForm::setPatientInformation(PatientInformation* information) {
|
|
|
|
|
if (information)
|
|
|
|
|
{
|
|
|
|
|
ui->tbx_ID->setText(information->ID);
|
|
|
|
|
ui->tbx_Dob->setDate(QDate::fromString(information->BirthDate, "yyyy-MM-dd"));
|
|
|
|
|
ui->tbx_Name->setText(information->Name);
|
|
|
|
|
ui->rtbx_Comment->setText(information->Comment);
|
|
|
|
|
btnFemale->setChecked(information->Sex == "F");
|
|
|
|
|
btnMale->setChecked(information->Sex != "F");
|
|
|
|
|
currentPatientUID = information->PatientUID;
|
|
|
|
|
AddDate = information->AddDate;
|
|
|
|
|
storePatientInformation();
|
|
|
|
|
}
|
2021-10-12 10:28:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void EditPatientForm::clearPatientInformation() {
|
2021-12-28 18:23:02 +08:00
|
|
|
ui->tbx_ID->setText("");
|
|
|
|
|
ui->tbx_Dob->setDate(QDate::currentDate());
|
|
|
|
|
ui->tbx_Name->setText("");
|
|
|
|
|
btnFemale->setChecked(true);
|
|
|
|
|
btnMale->setChecked(false);
|
|
|
|
|
ui->rtbx_Comment->setText("");
|
|
|
|
|
currentPatientUID = "";
|
|
|
|
|
AddDate = "";
|
2021-10-12 10:28:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void EditPatientForm::setEditEnable(bool enable) {
|
2021-12-28 18:23:02 +08:00
|
|
|
ui->tbx_ID->setEnabled(enable);
|
|
|
|
|
ui->tbx_Dob->setEnabled(enable);
|
|
|
|
|
ui->tbx_Name->setEnabled(enable);
|
|
|
|
|
ui->sexpanelwidget->setEnabled(enable);
|
|
|
|
|
btnFemale->setEnabled(enable);
|
|
|
|
|
btnFemale->setIcon(QIcon(enable ? ":/icons/female.png" : ":/icons/female_d.png"));
|
|
|
|
|
btnMale->setEnabled(enable);
|
|
|
|
|
btnMale->setIcon(QIcon(enable ? ":/icons/male.png" : ":/icons/male_d.png"));
|
|
|
|
|
ui->rtbx_Comment->setEnabled(enable);
|
|
|
|
|
btnEditAccept->setEnabled(enable);
|
|
|
|
|
btnEditCancel->setEnabled(enable);
|
|
|
|
|
btnEditCancel->setIcon(QIcon(enable ? ":/icons/close_circle.png" : ":/icons/close_circle_d.png"));
|
|
|
|
|
btnEditAccept->setIcon(QIcon(enable ? ":/icons/selected.png" : ":/icons/selected_d.png"));
|
|
|
|
|
editEnable = enable;
|
|
|
|
|
// ui->->setEnabled(enable);
|
2021-10-12 10:28:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void EditPatientForm::storePatientInformation() {
|
2021-12-28 18:23:02 +08:00
|
|
|
store.PatientUID = currentPatientUID;
|
|
|
|
|
store.AddDate = AddDate;
|
|
|
|
|
store.ID = ui->tbx_ID->text();
|
|
|
|
|
store.BirthDate = ui->tbx_Dob->date().toString("yyyy-MM-dd");
|
|
|
|
|
store.Name = ui->tbx_Name->text();
|
|
|
|
|
store.Sex = btnFemale->isChecked() ? "F" : "M";
|
|
|
|
|
store.Comment = ui->rtbx_Comment->toPlainText();
|
|
|
|
|
qDebug() << store.PatientUID << "," << store.ID << "," << store.BirthDate << "," << store.Name << "," << store.Sex;
|
2021-10-12 10:28:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void EditPatientForm::restorePatientInformation() {
|
2021-12-28 18:23:02 +08:00
|
|
|
currentPatientUID = store.PatientUID;
|
|
|
|
|
AddDate = store.AddDate;
|
|
|
|
|
ui->tbx_ID->setText(store.ID);
|
|
|
|
|
ui->tbx_Dob->setDate(QDate::fromString(store.BirthDate, "yyyy-MM-dd"));
|
|
|
|
|
ui->tbx_Name->setText(store.Name);
|
|
|
|
|
ui->rtbx_Comment->setText(store.Comment);
|
|
|
|
|
btnFemale->setChecked(store.Sex == "F");
|
|
|
|
|
btnMale->setChecked(store.Sex != "F");
|
|
|
|
|
// ui->cb_Sex->setCurrentText(store.Sex=="F"?"Female":(store.Name=="M"?"Male":"Other"));
|
2021-10-12 14:11:19 +08:00
|
|
|
|
2021-10-12 10:28:30 +08:00
|
|
|
}
|