2025-03-13 15:21:23 +08:00

94 lines
2.2 KiB
C++

#include "CMyCalendar.h"
#include "ui_CMyCalendar.h"
#include <pub_logger_api/logger.h>
#include "pub_widget/MessageBox.h"
#include <QDateTime>
CMyCalendar::CMyCalendar(QWidget *parent) :
QWidget(parent),
ui(new Ui::CMyCalendar)
{
ui->setupUi(this);
connect(ui->calendarWidget,SIGNAL(clicked(QDate)),this,SLOT(slot_startTime(QDate)));
connect(ui->calendarWidget_2,SIGNAL(clicked(QDate)),this,SLOT(slot_endTime(QDate)));
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(slot_cancle()));
m_startTime = QDate::currentDate();
m_endTime = QDate::currentDate();
ui->lineEdit->setText(m_startTime.toString("yyyy-MM-dd"));
ui->lineEdit_2->setText(m_endTime.toString("yyyy-MM-dd"));
ui->lineEdit->setReadOnly(true);
ui->lineEdit_2->setReadOnly(true);
}
CMyCalendar::~CMyCalendar()
{
delete ui;
}
void CMyCalendar::setView(E_ALARM_VIEW view)
{
m_view = view;
if(m_view == E_ALARM_HIS_EVENT)
{
ui->pushButton->setEnabled(false);
}else
{
ui->pushButton->setEnabled(true);
}
}
void CMyCalendar::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return)
{
return ;
}
QWidget::keyPressEvent(event);
}
void CMyCalendar::slot_endTime(QDate date)
{
ui->lineEdit_2->setText(date.toString("yyyy-MM-dd"));
m_endTime = date;
if(m_startTime.isNull() )
{
return;
}
if(m_endTime < m_startTime)
{
return ;
}
if(m_view == E_ALARM_HIS_EVENT)
{
QTime time_1(0,0,0);
QTime time_2(23,59,59);
QDateTime startTime;
QDateTime endTime;
startTime.setDate(m_startTime);
startTime.setTime(time_1);
endTime.setDate(m_endTime);
endTime.setTime(time_2);
if((endTime.toMSecsSinceEpoch()-startTime.toMSecsSinceEpoch())/1000/3600/24 >= 90 )
{
return;
}
}
emit sig_endTimeClick(m_startTime,m_endTime);
}
void CMyCalendar::slot_startTime(QDate date)
{
m_startTime = date;
ui->lineEdit->setText(date.toString("yyyy-MM-dd"));
}
void CMyCalendar::slot_cancle()
{
if(m_view == E_ALARM_HIS_EVENT)
{
return;
}
emit sig_cancle();
}