chore: 格式化ElaWidgetTools代码

This commit is contained in:
sleepwithoutbz
2025-09-20 01:39:00 +08:00
parent d2fded145d
commit 4ab391f8a1
394 changed files with 10913 additions and 15860 deletions

View File

@@ -11,35 +11,32 @@
#include "ElaTheme.h"
#include "private/ElaMessageBarPrivate.h"
ElaMessageBar::ElaMessageBar(ElaMessageBarType::PositionPolicy policy, ElaMessageBarType::MessageMode messageMode, QString& title, QString& text, int displayMsec, QWidget* parent)
: QWidget{parent}, d_ptr(new ElaMessageBarPrivate())
{
ElaMessageBar::ElaMessageBar(ElaMessageBarType::PositionPolicy policy, ElaMessageBarType::MessageMode messageMode, QString &title, QString &text,
int displayMsec, QWidget *parent)
: QWidget{parent}, d_ptr(new ElaMessageBarPrivate()) {
Q_D(ElaMessageBar);
d->q_ptr = this;
d->q_ptr = this;
d->_borderRadius = 6;
d->_title = title;
d->_text = text;
d->_policy = policy;
d->_messageMode = messageMode;
d->_themeMode = eTheme->getThemeMode();
d->_title = title;
d->_text = text;
d->_policy = policy;
d->_messageMode = messageMode;
d->_themeMode = eTheme->getThemeMode();
setFixedHeight(60);
setMouseTracking(true);
d->_pOpacity = 1;
setFont(QFont("微软雅黑"));
parent->installEventFilter(this);
d->_closeButton = new ElaIconButton(ElaIconType::Xmark, 17, d->_closeButtonWidth, 30, this);
switch (d->_messageMode)
{
case ElaMessageBarType::Success:
{
switch (d->_messageMode) {
case ElaMessageBarType::Success: {
d->_closeButton->setLightHoverColor(QColor(0xCA, 0xDE, 0xC8));
d->_closeButton->setDarkHoverColor(QColor(0xCA, 0xDE, 0xC8));
d->_closeButton->setDarkIconColor(Qt::black);
d->_closeButton->setDarkHoverIconColor(Qt::black);
break;
}
case ElaMessageBarType::Warning:
{
case ElaMessageBarType::Warning: {
d->_closeButton->setLightHoverColor(QColor(0x5E, 0x4C, 0x22));
d->_closeButton->setDarkHoverColor(QColor(0x5E, 0x4C, 0x22));
d->_closeButton->setLightIconColor(Qt::white);
@@ -47,16 +44,14 @@ ElaMessageBar::ElaMessageBar(ElaMessageBarType::PositionPolicy policy, ElaMessag
d->_closeButton->setLightHoverIconColor(Qt::white);
break;
}
case ElaMessageBarType::Information:
{
case ElaMessageBarType::Information: {
d->_closeButton->setLightHoverColor(QColor(0xDE, 0xDE, 0xDE));
d->_closeButton->setDarkHoverColor(QColor(0xDE, 0xDE, 0xDE));
d->_closeButton->setDarkIconColor(Qt::black);
d->_closeButton->setDarkHoverIconColor(Qt::black);
break;
}
case ElaMessageBarType::Error:
{
case ElaMessageBarType::Error: {
d->_closeButton->setLightHoverColor(QColor(0xF2, 0xDD, 0xE0));
d->_closeButton->setDarkHoverColor(QColor(0xF2, 0xDD, 0xE0));
d->_closeButton->setDarkIconColor(Qt::black);
@@ -66,7 +61,7 @@ ElaMessageBar::ElaMessageBar(ElaMessageBarType::PositionPolicy policy, ElaMessag
}
d->_closeButton->setBorderRadius(5);
connect(d->_closeButton, &ElaIconButton::clicked, d, &ElaMessageBarPrivate::onCloseButtonClicked);
QHBoxLayout* mainLayout = new QHBoxLayout(this);
QHBoxLayout *mainLayout = new QHBoxLayout(this);
mainLayout->setContentsMargins(0, 0, 10, 0);
mainLayout->addStretch();
mainLayout->addWidget(d->_closeButton);
@@ -75,98 +70,75 @@ ElaMessageBar::ElaMessageBar(ElaMessageBarType::PositionPolicy policy, ElaMessag
d->_messageBarCreate(displayMsec);
}
ElaMessageBar::~ElaMessageBar()
{
}
ElaMessageBar::~ElaMessageBar() {}
void ElaMessageBar::success(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget* parent)
{
void ElaMessageBar::success(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget *parent) {
// qDebug() << QApplication::topLevelWidgets();
if (!parent)
{
QList<QWidget*> widgetList = QApplication::topLevelWidgets();
for (auto widget: widgetList)
{
if (widget->property("ElaBaseClassName").toString() == "ElaWindow")
{
if (!parent) {
QList<QWidget *> widgetList = QApplication::topLevelWidgets();
for (auto widget : widgetList) {
if (widget->property("ElaBaseClassName").toString() == "ElaWindow") {
parent = widget;
}
}
if (!parent)
{
if (!parent) {
return;
}
}
ElaMessageBar* bar = new ElaMessageBar(policy, ElaMessageBarType::Success, title, text, displayMsec, parent);
ElaMessageBar *bar = new ElaMessageBar(policy, ElaMessageBarType::Success, title, text, displayMsec, parent);
Q_UNUSED(bar);
}
void ElaMessageBar::warning(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget* parent)
{
if (!parent)
{
QList<QWidget*> widgetList = QApplication::topLevelWidgets();
for (auto widget: widgetList)
{
if (widget->property("ElaBaseClassName").toString() == "ElaWindow")
{
void ElaMessageBar::warning(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget *parent) {
if (!parent) {
QList<QWidget *> widgetList = QApplication::topLevelWidgets();
for (auto widget : widgetList) {
if (widget->property("ElaBaseClassName").toString() == "ElaWindow") {
parent = widget;
}
}
if (!parent)
{
if (!parent) {
return;
}
}
ElaMessageBar* bar = new ElaMessageBar(policy, ElaMessageBarType::Warning, title, text, displayMsec, parent);
ElaMessageBar *bar = new ElaMessageBar(policy, ElaMessageBarType::Warning, title, text, displayMsec, parent);
Q_UNUSED(bar);
}
void ElaMessageBar::information(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget* parent)
{
if (!parent)
{
QList<QWidget*> widgetList = QApplication::topLevelWidgets();
for (auto widget: widgetList)
{
if (widget->property("ElaBaseClassName").toString() == "ElaWindow")
{
void ElaMessageBar::information(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget *parent) {
if (!parent) {
QList<QWidget *> widgetList = QApplication::topLevelWidgets();
for (auto widget : widgetList) {
if (widget->property("ElaBaseClassName").toString() == "ElaWindow") {
parent = widget;
}
}
if (!parent)
{
if (!parent) {
return;
}
}
ElaMessageBar* bar = new ElaMessageBar(policy, ElaMessageBarType::Information, title, text, displayMsec, parent);
ElaMessageBar *bar = new ElaMessageBar(policy, ElaMessageBarType::Information, title, text, displayMsec, parent);
Q_UNUSED(bar);
}
void ElaMessageBar::error(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget* parent)
{
if (!parent)
{
QList<QWidget*> widgetList = QApplication::topLevelWidgets();
for (auto widget: widgetList)
{
if (widget->property("ElaBaseClassName").toString() == "ElaWindow")
{
void ElaMessageBar::error(ElaMessageBarType::PositionPolicy policy, QString title, QString text, int displayMsec, QWidget *parent) {
if (!parent) {
QList<QWidget *> widgetList = QApplication::topLevelWidgets();
for (auto widget : widgetList) {
if (widget->property("ElaBaseClassName").toString() == "ElaWindow") {
parent = widget;
}
}
if (!parent)
{
if (!parent) {
return;
}
}
ElaMessageBar* bar = new ElaMessageBar(policy, ElaMessageBarType::Error, title, text, displayMsec, parent);
ElaMessageBar *bar = new ElaMessageBar(policy, ElaMessageBarType::Error, title, text, displayMsec, parent);
Q_UNUSED(bar);
}
void ElaMessageBar::paintEvent(QPaintEvent* event)
{
void ElaMessageBar::paintEvent(QPaintEvent *event) {
Q_D(ElaMessageBar);
QPainter painter(this);
painter.setOpacity(d->_pOpacity);
@@ -177,25 +149,20 @@ void ElaMessageBar::paintEvent(QPaintEvent* event)
// 背景和图标绘制
painter.save();
painter.setPen(d->_themeMode == ElaThemeType::Light ? QColor(0xBE, 0xBA, 0xBE) : QColor(0x52, 0x50, 0x52));
switch (d->_messageMode)
{
case ElaMessageBarType::Success:
{
switch (d->_messageMode) {
case ElaMessageBarType::Success: {
d->_drawSuccess(&painter);
break;
}
case ElaMessageBarType::Warning:
{
case ElaMessageBarType::Warning: {
d->_drawWarning(&painter);
break;
}
case ElaMessageBarType::Information:
{
case ElaMessageBarType::Information: {
d->_drawInformation(&painter);
break;
}
case ElaMessageBarType::Error:
{
case ElaMessageBarType::Error: {
d->_drawError(&painter);
break;
}
@@ -207,8 +174,7 @@ void ElaMessageBar::paintEvent(QPaintEvent* event)
font.setPixelSize(16);
painter.setFont(font);
int titleTextWidth = painter.fontMetrics().horizontalAdvance(d->_title) + 1;
if (titleTextWidth > 100)
{
if (titleTextWidth > 100) {
titleTextWidth = 100;
}
int textFlags = Qt::AlignLeft | Qt::AlignVCenter | Qt::TextWordWrap | Qt::TextWrapAnywhere;
@@ -217,59 +183,56 @@ void ElaMessageBar::paintEvent(QPaintEvent* event)
font.setWeight(QFont::Light);
font.setPixelSize(15);
painter.setFont(font);
painter.drawText(QRect(d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing, 0, width() - (d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing + d->_closeButtonWidth + d->_closeButtonLeftRightMargin / 2), height()), textFlags, d->_text);
int textHeight = painter.fontMetrics().boundingRect(QRect(d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing, 0, width() - (d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing + d->_closeButtonWidth + d->_closeButtonLeftRightMargin), height()), textFlags, d->_text).height();
if (textHeight >= minimumHeight() - 20)
{
painter.drawText(QRect(d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing, 0,
width() - (d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing + d->_closeButtonWidth +
d->_closeButtonLeftRightMargin / 2),
height()),
textFlags, d->_text);
int textHeight = painter.fontMetrics()
.boundingRect(QRect(d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing, 0,
width() - (d->_leftPadding + d->_titleLeftSpacing + titleTextWidth + d->_textLeftSpacing +
d->_closeButtonWidth + d->_closeButtonLeftRightMargin),
height()),
textFlags, d->_text)
.height();
if (textHeight >= minimumHeight() - 20) {
setMinimumHeight(textHeight + 20);
}
painter.restore();
}
bool ElaMessageBar::eventFilter(QObject* watched, QEvent* event)
{
bool ElaMessageBar::eventFilter(QObject *watched, QEvent *event) {
Q_D(ElaMessageBar);
if (watched == parentWidget())
{
switch (event->type())
{
case QEvent::Resize:
{
QResizeEvent* resizeEvent = dynamic_cast<QResizeEvent*>(event);
QSize offsetSize = parentWidget()->size() - resizeEvent->oldSize();
if (d->_isNormalDisplay)
{
switch (d->_policy)
{
case ElaMessageBarType::Top:
{
if (watched == parentWidget()) {
switch (event->type()) {
case QEvent::Resize: {
QResizeEvent *resizeEvent = dynamic_cast<QResizeEvent *>(event);
QSize offsetSize = parentWidget()->size() - resizeEvent->oldSize();
if (d->_isNormalDisplay) {
switch (d->_policy) {
case ElaMessageBarType::Top: {
this->move(parentWidget()->width() / 2 - minimumWidth() / 2, this->y());
break;
}
case ElaMessageBarType::Bottom:
{
case ElaMessageBarType::Bottom: {
this->move(parentWidget()->width() / 2 - minimumWidth() / 2, this->pos().y() + offsetSize.height());
break;
}
case ElaMessageBarType::Left:
case ElaMessageBarType::TopLeft:
{
case ElaMessageBarType::TopLeft: {
this->move(d->_messageBarHorizontalMargin, this->pos().y());
break;
}
case ElaMessageBarType::BottomLeft:
{
case ElaMessageBarType::BottomLeft: {
this->move(d->_messageBarHorizontalMargin, this->pos().y() + offsetSize.height());
break;
}
case ElaMessageBarType::Right:
case ElaMessageBarType::TopRight:
{
case ElaMessageBarType::TopRight: {
this->move(parentWidget()->width() - minimumWidth() - d->_messageBarHorizontalMargin, this->y());
break;
}
case ElaMessageBarType::BottomRight:
{
case ElaMessageBarType::BottomRight: {
this->move(parentWidget()->width() - minimumWidth() - d->_messageBarHorizontalMargin, this->pos().y() + offsetSize.height());
break;
}
@@ -277,8 +240,7 @@ bool ElaMessageBar::eventFilter(QObject* watched, QEvent* event)
}
break;
}
default:
{
default: {
break;
}
}