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

@@ -12,29 +12,20 @@
#include <QTimer>
#include <QVBoxLayout>
#include <QtMath>
ElaWindowPrivate::ElaWindowPrivate(QObject* parent)
: QObject{parent}
{
}
ElaWindowPrivate::ElaWindowPrivate(QObject *parent) : QObject{parent} {}
ElaWindowPrivate::~ElaWindowPrivate()
{
}
ElaWindowPrivate::~ElaWindowPrivate() {}
void ElaWindowPrivate::onNavigationButtonClicked()
{
if (_isWMClickedAnimationFinished)
{
void ElaWindowPrivate::onNavigationButtonClicked() {
if (_isWMClickedAnimationFinished) {
_isNavigationDisplayModeChanged = false;
_resetWindowLayout(true);
_navigationBar->setIsTransparent(false);
_navigationBar->setDisplayMode(ElaNavigationType::Maximal, false);
_navigationBar->move(-_navigationBar->width(), _navigationBar->pos().y());
_navigationBar->resize(_navigationBar->width(), _navigationCenterStackedWidget->height() + 1);
QPropertyAnimation* navigationMoveAnimation = new QPropertyAnimation(_navigationBar, "pos");
connect(navigationMoveAnimation, &QPropertyAnimation::finished, this, [=]() {
_isNavigationBarExpanded = true;
});
QPropertyAnimation *navigationMoveAnimation = new QPropertyAnimation(_navigationBar, "pos");
connect(navigationMoveAnimation, &QPropertyAnimation::finished, this, [=]() { _isNavigationBarExpanded = true; });
navigationMoveAnimation->setEasingCurve(QEasingCurve::InOutSine);
navigationMoveAnimation->setDuration(300);
navigationMoveAnimation->setStartValue(_navigationBar->pos());
@@ -44,29 +35,23 @@ void ElaWindowPrivate::onNavigationButtonClicked()
}
}
void ElaWindowPrivate::onWMWindowClickedEvent(QVariantMap data)
{
void ElaWindowPrivate::onWMWindowClickedEvent(QVariantMap data) {
ElaAppBarType::WMMouseActionType actionType = data.value("WMClickType").value<ElaAppBarType::WMMouseActionType>();
if (actionType == ElaAppBarType::WMLBUTTONDBLCLK || actionType == ElaAppBarType::WMLBUTTONUP || actionType == ElaAppBarType::WMNCLBUTTONDOWN)
{
if (ElaApplication::containsCursorToItem(_navigationBar))
{
if (actionType == ElaAppBarType::WMLBUTTONDBLCLK || actionType == ElaAppBarType::WMLBUTTONUP || actionType == ElaAppBarType::WMNCLBUTTONDOWN) {
if (ElaApplication::containsCursorToItem(_navigationBar)) {
return;
}
if (_isNavigationBarExpanded)
{
QPropertyAnimation* navigationMoveAnimation = new QPropertyAnimation(_navigationBar, "pos");
if (_isNavigationBarExpanded) {
QPropertyAnimation *navigationMoveAnimation = new QPropertyAnimation(_navigationBar, "pos");
connect(navigationMoveAnimation, &QPropertyAnimation::valueChanged, this, [=]() {
if (_isNavigationDisplayModeChanged)
{
if (_isNavigationDisplayModeChanged) {
_isWMClickedAnimationFinished = true;
_resetWindowLayout(false);
navigationMoveAnimation->deleteLater();
}
});
connect(navigationMoveAnimation, &QPropertyAnimation::finished, this, [=]() {
if (!_isNavigationDisplayModeChanged)
{
if (!_isNavigationDisplayModeChanged) {
_navigationBar->setDisplayMode(ElaNavigationType::Minimal, false);
_resetWindowLayout(false);
}
@@ -82,18 +67,14 @@ void ElaWindowPrivate::onWMWindowClickedEvent(QVariantMap data)
}
}
void ElaWindowPrivate::onThemeReadyChange()
{
void ElaWindowPrivate::onThemeReadyChange() {
Q_Q(ElaWindow);
// 主题变更绘制窗口
switch (eApp->getWindowDisplayMode())
{
switch (eApp->getWindowDisplayMode()) {
case ElaApplicationType::Normal:
case ElaApplicationType::ElaMica:
{
case ElaApplicationType::ElaMica: {
_appBar->setIsOnlyAllowMinAndClose(true);
if (!_animationWidget)
{
if (!_animationWidget) {
QPoint centerPos = q->mapFromGlobal(QCursor::pos());
_animationWidget = new ElaThemeAnimationWidget(q);
connect(_animationWidget, &ElaThemeAnimationWidget::animationFinished, this, [=]() {
@@ -102,19 +83,16 @@ void ElaWindowPrivate::onThemeReadyChange()
});
_animationWidget->move(0, 0);
_animationWidget->setOldWindowBackground(q->grab(q->rect()).toImage());
if (eTheme->getThemeMode() == ElaThemeType::Light)
{
if (eTheme->getThemeMode() == ElaThemeType::Light) {
eTheme->setThemeMode(ElaThemeType::Dark);
}
else
{
} else {
eTheme->setThemeMode(ElaThemeType::Light);
}
_animationWidget->setCenter(centerPos);
qreal topLeftDis = _distance(centerPos, QPoint(0, 0));
qreal topRightDis = _distance(centerPos, QPoint(q->width(), 0));
qreal bottomLeftDis = _distance(centerPos, QPoint(0, q->height()));
qreal bottomRightDis = _distance(centerPos, QPoint(q->width(), q->height()));
qreal topLeftDis = _distance(centerPos, QPoint(0, 0));
qreal topRightDis = _distance(centerPos, QPoint(q->width(), 0));
qreal bottomLeftDis = _distance(centerPos, QPoint(0, q->height()));
qreal bottomRightDis = _distance(centerPos, QPoint(q->width(), q->height()));
QList<qreal> disList{topLeftDis, topRightDis, bottomLeftDis, bottomRightDis};
std::sort(disList.begin(), disList.end());
_animationWidget->setEndRadius(disList[3]);
@@ -124,14 +102,10 @@ void ElaWindowPrivate::onThemeReadyChange()
}
break;
}
default:
{
if (eTheme->getThemeMode() == ElaThemeType::Light)
{
default: {
if (eTheme->getThemeMode() == ElaThemeType::Light) {
eTheme->setThemeMode(ElaThemeType::Dark);
}
else
{
} else {
eTheme->setThemeMode(ElaThemeType::Light);
}
break;
@@ -139,31 +113,25 @@ void ElaWindowPrivate::onThemeReadyChange()
}
}
void ElaWindowPrivate::onDisplayModeChanged()
{
void ElaWindowPrivate::onDisplayModeChanged() {
_currentNavigationBarDisplayMode = _pNavigationBarDisplayMode;
switch (_pNavigationBarDisplayMode)
{
case ElaNavigationType::Auto:
{
switch (_pNavigationBarDisplayMode) {
case ElaNavigationType::Auto: {
_appBar->setWindowButtonFlag(ElaAppBarType::NavigationButtonHint, false);
_doNavigationDisplayModeChange();
break;
}
case ElaNavigationType::Minimal:
{
case ElaNavigationType::Minimal: {
_navigationBar->setDisplayMode(ElaNavigationType::Minimal, true);
_appBar->setWindowButtonFlag(ElaAppBarType::NavigationButtonHint);
break;
}
case ElaNavigationType::Compact:
{
case ElaNavigationType::Compact: {
_navigationBar->setDisplayMode(ElaNavigationType::Compact, true);
_appBar->setWindowButtonFlag(ElaAppBarType::NavigationButtonHint, false);
break;
}
case ElaNavigationType::Maximal:
{
case ElaNavigationType::Maximal: {
_navigationBar->setDisplayMode(ElaNavigationType::Maximal, true);
_appBar->setWindowButtonFlag(ElaAppBarType::NavigationButtonHint, false);
break;
@@ -171,25 +139,20 @@ void ElaWindowPrivate::onDisplayModeChanged()
}
}
void ElaWindowPrivate::onThemeModeChanged(ElaThemeType::ThemeMode themeMode)
{
void ElaWindowPrivate::onThemeModeChanged(ElaThemeType::ThemeMode themeMode) {
Q_Q(ElaWindow);
_themeMode = themeMode;
switch (eApp->getWindowDisplayMode())
{
case ElaApplicationType::Normal:
{
switch (eApp->getWindowDisplayMode()) {
case ElaApplicationType::Normal: {
QPalette palette = q->palette();
palette.setBrush(QPalette::Window, ElaThemeColor(_themeMode, WindowBase));
q->setPalette(palette);
break;
}
case ElaApplicationType::ElaMica:
{
case ElaApplicationType::ElaMica: {
break;
}
default:
{
default: {
QPalette palette = q->palette();
palette.setBrush(QPalette::Window, Qt::transparent);
q->setPalette(palette);
@@ -199,82 +162,63 @@ void ElaWindowPrivate::onThemeModeChanged(ElaThemeType::ThemeMode themeMode)
q->update();
}
void ElaWindowPrivate::onNavigationNodeClicked(ElaNavigationType::NavigationNodeType nodeType, QString nodeKey, bool isRouteBack)
{
QWidget* page = _routeMap.value(nodeKey);
if (!page)
{
void ElaWindowPrivate::onNavigationNodeClicked(ElaNavigationType::NavigationNodeType nodeType, QString nodeKey, bool isRouteBack) {
QWidget *page = _routeMap.value(nodeKey);
if (!page) {
// 页脚没有绑定页面
return;
}
int nodeIndex = _navigationCenterStackedWidget->indexOf(page);
if (_navigationTargetIndex == nodeIndex || _navigationCenterStackedWidget->count() <= nodeIndex)
{
if (_navigationTargetIndex == nodeIndex || _navigationCenterStackedWidget->count() <= nodeIndex) {
return;
}
_navigationTargetIndex = nodeIndex;
_navigationCenterStackedWidget->doWindowStackSwitch(_pStackSwitchMode, nodeIndex, isRouteBack);
}
void ElaWindowPrivate::onNavigationNodeAdded(ElaNavigationType::NavigationNodeType nodeType, QString nodeKey, QWidget* page)
{
if (nodeType == ElaNavigationType::PageNode)
{
void ElaWindowPrivate::onNavigationNodeAdded(ElaNavigationType::NavigationNodeType nodeType, QString nodeKey, QWidget *page) {
if (nodeType == ElaNavigationType::PageNode) {
_routeMap.insert(nodeKey, page);
_navigationCenterStackedWidget->addWidget(page);
}
else
{
} else {
_routeMap.insert(nodeKey, page);
if (page)
{
if (page) {
_navigationCenterStackedWidget->addWidget(page);
}
}
}
void ElaWindowPrivate::onNavigationNodeRemoved(ElaNavigationType::NavigationNodeType nodeType, QString nodeKey)
{
void ElaWindowPrivate::onNavigationNodeRemoved(ElaNavigationType::NavigationNodeType nodeType, QString nodeKey) {
Q_Q(ElaWindow);
if (!_routeMap.contains(nodeKey))
{
if (!_routeMap.contains(nodeKey)) {
return;
}
QWidget* page = _routeMap.value(nodeKey);
QWidget *page = _routeMap.value(nodeKey);
_routeMap.remove(nodeKey);
_navigationCenterStackedWidget->removeWidget(page);
QWidget* currentWidget = _navigationCenterStackedWidget->currentWidget();
if (currentWidget)
{
QWidget *currentWidget = _navigationCenterStackedWidget->currentWidget();
if (currentWidget) {
q->navigation(currentWidget->property("ElaPageKey").toString());
}
}
void ElaWindowPrivate::onNavigationRouteBack(QVariantMap routeData)
{
int routeIndex = routeData.value("ElaCentralStackIndex").toUInt();
void ElaWindowPrivate::onNavigationRouteBack(QVariantMap routeData) {
int routeIndex = routeData.value("ElaCentralStackIndex").toUInt();
_centralStackTargetIndex = routeIndex;
_centerStackedWidget->doWindowStackSwitch(_pStackSwitchMode, routeIndex, true);
}
qreal ElaWindowPrivate::_distance(QPoint point1, QPoint point2)
{
qreal ElaWindowPrivate::_distance(QPoint point1, QPoint point2) {
return std::sqrt((point1.x() - point2.x()) * (point1.x() - point2.x()) + (point1.y() - point2.y()) * (point1.y() - point2.y()));
}
void ElaWindowPrivate::_resetWindowLayout(bool isAnimation)
{
if (isAnimation)
{
while (_centerLayout->count() > 0)
{
void ElaWindowPrivate::_resetWindowLayout(bool isAnimation) {
if (isAnimation) {
while (_centerLayout->count() > 0) {
_centerLayout->takeAt(0);
}
}
else
{
if (_centerLayout->count() == 0)
{
} else {
if (_centerLayout->count() == 0) {
_navigationBar->setIsTransparent(true);
_navigationBar->setDisplayMode(ElaNavigationType::Minimal, false);
_centerLayout->addWidget(_navigationBar);
@@ -283,37 +227,28 @@ void ElaWindowPrivate::_resetWindowLayout(bool isAnimation)
}
}
void ElaWindowPrivate::_doNavigationDisplayModeChange()
{
void ElaWindowPrivate::_doNavigationDisplayModeChange() {
Q_Q(ElaWindow);
if (_isWindowClosing || !_isNavigationEnable || !_isInitFinished)
{
if (_isWindowClosing || !_isNavigationEnable || !_isInitFinished) {
return;
}
if (_pNavigationBarDisplayMode == ElaNavigationType::Minimal)
{
if (_pNavigationBarDisplayMode == ElaNavigationType::Minimal) {
_resetWindowLayout(false);
}
if (_pNavigationBarDisplayMode == ElaNavigationType::Auto)
{
if (_pNavigationBarDisplayMode == ElaNavigationType::Auto) {
_isNavigationDisplayModeChanged = true;
_isWMClickedAnimationFinished = true;
_isWMClickedAnimationFinished = true;
_resetWindowLayout(false);
int width = q->centralWidget()->width();
if (width >= 850 && _currentNavigationBarDisplayMode != ElaNavigationType::Maximal)
{
if (width >= 850 && _currentNavigationBarDisplayMode != ElaNavigationType::Maximal) {
_navigationBar->setDisplayMode(ElaNavigationType::Maximal);
_currentNavigationBarDisplayMode = ElaNavigationType::Maximal;
_appBar->setWindowButtonFlag(ElaAppBarType::NavigationButtonHint, false);
}
else if (width >= 550 && width < 850 && _currentNavigationBarDisplayMode != ElaNavigationType::Compact)
{
} else if (width >= 550 && width < 850 && _currentNavigationBarDisplayMode != ElaNavigationType::Compact) {
_navigationBar->setDisplayMode(ElaNavigationType::Compact);
_currentNavigationBarDisplayMode = ElaNavigationType::Compact;
_appBar->setWindowButtonFlag(ElaAppBarType::NavigationButtonHint, false);
}
else if (width < 550 && _currentNavigationBarDisplayMode != ElaNavigationType::Minimal)
{
} else if (width < 550 && _currentNavigationBarDisplayMode != ElaNavigationType::Minimal) {
_navigationBar->setDisplayMode(ElaNavigationType::Minimal);
_currentNavigationBarDisplayMode = ElaNavigationType::Minimal;
_appBar->setWindowButtonFlag(ElaAppBarType::NavigationButtonHint);