chore: 格式化ElaWidgetTools代码
This commit is contained in:
@@ -15,13 +15,11 @@
|
||||
#include "ElaTheme.h"
|
||||
#include "ElaToolButton.h"
|
||||
Q_PROPERTY_CREATE_Q_CPP(ElaCalendar, int, BorderRaiuds)
|
||||
ElaCalendar::ElaCalendar(QWidget* parent)
|
||||
: QWidget{parent}, d_ptr(new ElaCalendarPrivate())
|
||||
{
|
||||
ElaCalendar::ElaCalendar(QWidget *parent) : QWidget{parent}, d_ptr(new ElaCalendarPrivate()) {
|
||||
Q_D(ElaCalendar);
|
||||
setFixedSize(305, 340);
|
||||
setObjectName("ElaCalendar");
|
||||
d->q_ptr = this;
|
||||
d->q_ptr = this;
|
||||
d->_pBorderRaiuds = 5;
|
||||
|
||||
// 日历标题
|
||||
@@ -40,7 +38,7 @@ ElaCalendar::ElaCalendar(QWidget* parent)
|
||||
d->_calendarView->setFlow(QListView::LeftToRight);
|
||||
d->_calendarView->setViewMode(QListView::IconMode);
|
||||
d->_calendarView->setResizeMode(QListView::Adjust);
|
||||
ElaScrollBar* vScrollBar = dynamic_cast<ElaScrollBar*>(d->_calendarView->verticalScrollBar());
|
||||
ElaScrollBar *vScrollBar = dynamic_cast<ElaScrollBar *>(d->_calendarView->verticalScrollBar());
|
||||
vScrollBar->setSpeedLimit(6);
|
||||
d->_calendarView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
d->_calendarView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
@@ -60,9 +58,7 @@ ElaCalendar::ElaCalendar(QWidget* parent)
|
||||
d->_modeSwitchButton->setToolButtonStyle(Qt::ToolButtonTextOnly);
|
||||
d->_modeSwitchButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
connect(d->_modeSwitchButton, &ElaToolButton::clicked, d, &ElaCalendarPrivate::onSwitchButtonClicked);
|
||||
connect(d->_calendarView->verticalScrollBar(), &QScrollBar::valueChanged, d, [=]() {
|
||||
d->_updateSwitchButtonText();
|
||||
});
|
||||
connect(d->_calendarView->verticalScrollBar(), &QScrollBar::valueChanged, d, [=]() { d->_updateSwitchButtonText(); });
|
||||
|
||||
// 翻页按钮
|
||||
d->_upButton = new ElaToolButton(this);
|
||||
@@ -75,38 +71,33 @@ ElaCalendar::ElaCalendar(QWidget* parent)
|
||||
d->_downButton->setElaIcon(ElaIconType::CaretDown);
|
||||
connect(d->_downButton, &ElaToolButton::clicked, d, &ElaCalendarPrivate::onDownButtonClicked);
|
||||
|
||||
QHBoxLayout* buttonLayout = new QHBoxLayout();
|
||||
QHBoxLayout *buttonLayout = new QHBoxLayout();
|
||||
buttonLayout->setContentsMargins(5, 5, 10, 0);
|
||||
buttonLayout->addWidget(d->_modeSwitchButton);
|
||||
buttonLayout->addWidget(d->_upButton);
|
||||
buttonLayout->addWidget(d->_downButton);
|
||||
|
||||
QVBoxLayout* mainLayout = new QVBoxLayout(this);
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout(this);
|
||||
mainLayout->setContentsMargins(5, 0, 0, 0);
|
||||
mainLayout->addLayout(buttonLayout);
|
||||
mainLayout->addWidget(d->_calendarTitleView);
|
||||
mainLayout->addWidget(d->_calendarView);
|
||||
|
||||
d->_themeMode = eTheme->getThemeMode();
|
||||
connect(eTheme, &ElaTheme::themeModeChanged, this, [=](ElaThemeType::ThemeMode themeMode) {
|
||||
d->_themeMode = themeMode;
|
||||
});
|
||||
connect(eTheme, &ElaTheme::themeModeChanged, this, [=](ElaThemeType::ThemeMode themeMode) { d->_themeMode = themeMode; });
|
||||
setVisible(true);
|
||||
QDate currentDate = QDate::currentDate();
|
||||
d->_lastSelectedYear = currentDate.year();
|
||||
QDate currentDate = QDate::currentDate();
|
||||
d->_lastSelectedYear = currentDate.year();
|
||||
d->_lastSelectedMonth = currentDate.month();
|
||||
d->_scrollToDate(currentDate);
|
||||
}
|
||||
|
||||
ElaCalendar::~ElaCalendar()
|
||||
{
|
||||
}
|
||||
ElaCalendar::~ElaCalendar() {}
|
||||
|
||||
void ElaCalendar::setSelectedDate(QDate selectedDate)
|
||||
{
|
||||
void ElaCalendar::setSelectedDate(QDate selectedDate) {
|
||||
Q_D(ElaCalendar);
|
||||
if (!selectedDate.isValid() || selectedDate.daysTo(d->_calendarModel->getMaximumDate()) < 0 || selectedDate.daysTo(d->_calendarModel->getMinimumDate()) > 0)
|
||||
{
|
||||
if (!selectedDate.isValid() || selectedDate.daysTo(d->_calendarModel->getMaximumDate()) < 0 ||
|
||||
selectedDate.daysTo(d->_calendarModel->getMinimumDate()) > 0) {
|
||||
return;
|
||||
}
|
||||
d->_pSelectedDate = selectedDate;
|
||||
@@ -114,49 +105,42 @@ void ElaCalendar::setSelectedDate(QDate selectedDate)
|
||||
Q_EMIT pSelectedDateChanged();
|
||||
}
|
||||
|
||||
QDate ElaCalendar::getSelectedDate() const
|
||||
{
|
||||
QDate ElaCalendar::getSelectedDate() const {
|
||||
Q_D(const ElaCalendar);
|
||||
return d->_pSelectedDate;
|
||||
//return d->_calendarModel->getDateFromIndex(d->_calendarView->selectionModel()->currentIndex());
|
||||
// return
|
||||
// d->_calendarModel->getDateFromIndex(d->_calendarView->selectionModel()->currentIndex());
|
||||
}
|
||||
|
||||
void ElaCalendar::setMinimumDate(QDate minimudate)
|
||||
{
|
||||
void ElaCalendar::setMinimumDate(QDate minimudate) {
|
||||
Q_D(ElaCalendar);
|
||||
if (!minimudate.isValid() || minimudate.daysTo(d->_calendarModel->getMaximumDate()) < 0)
|
||||
{
|
||||
if (!minimudate.isValid() || minimudate.daysTo(d->_calendarModel->getMaximumDate()) < 0) {
|
||||
return;
|
||||
}
|
||||
d->_calendarModel->setMaximumDate(minimudate);
|
||||
Q_EMIT pMinimumDateChanged();
|
||||
}
|
||||
|
||||
QDate ElaCalendar::getMinimumDate() const
|
||||
{
|
||||
QDate ElaCalendar::getMinimumDate() const {
|
||||
Q_D(const ElaCalendar);
|
||||
return d->_calendarModel->getMinimumDate();
|
||||
}
|
||||
|
||||
void ElaCalendar::setMaximumDate(QDate maximumDate)
|
||||
{
|
||||
void ElaCalendar::setMaximumDate(QDate maximumDate) {
|
||||
Q_D(ElaCalendar);
|
||||
if (!maximumDate.isValid() || maximumDate.daysTo(d->_calendarModel->getMinimumDate()) > 0)
|
||||
{
|
||||
if (!maximumDate.isValid() || maximumDate.daysTo(d->_calendarModel->getMinimumDate()) > 0) {
|
||||
return;
|
||||
}
|
||||
d->_calendarModel->setMaximumDate(maximumDate);
|
||||
Q_EMIT pMaximumDateChanged();
|
||||
}
|
||||
|
||||
QDate ElaCalendar::getMaximumDate() const
|
||||
{
|
||||
QDate ElaCalendar::getMaximumDate() const {
|
||||
Q_D(const ElaCalendar);
|
||||
return d->_calendarModel->getMaximumDate();
|
||||
}
|
||||
|
||||
void ElaCalendar::paintEvent(QPaintEvent* event)
|
||||
{
|
||||
void ElaCalendar::paintEvent(QPaintEvent *event) {
|
||||
Q_D(ElaCalendar);
|
||||
QPainter painter(this);
|
||||
painter.save();
|
||||
@@ -168,8 +152,7 @@ void ElaCalendar::paintEvent(QPaintEvent* event)
|
||||
painter.setBrush(ElaThemeColor(d->_themeMode, DialogBase));
|
||||
painter.drawRoundedRect(baseRect, d->_pBorderRaiuds, d->_pBorderRaiuds);
|
||||
// 缩放动画
|
||||
if (!d->_isSwitchAnimationFinished)
|
||||
{
|
||||
if (!d->_isSwitchAnimationFinished) {
|
||||
painter.save();
|
||||
QRect pixRect = QRect(baseRect.x(), d->_borderWidth + 45, baseRect.width(), baseRect.height() - 45);
|
||||
painter.setOpacity(d->_pPixOpacity);
|
||||
|
||||
Reference in New Issue
Block a user