chore: 格式化ElaWidgetTools代码
This commit is contained in:
@@ -12,34 +12,23 @@
|
||||
#include "ElaApplication.h"
|
||||
#include "ElaMicaBaseInitObject.h"
|
||||
#include "ElaWinShadowHelper.h"
|
||||
ElaApplicationPrivate::ElaApplicationPrivate(QObject* parent)
|
||||
: QObject{parent}
|
||||
{
|
||||
}
|
||||
ElaApplicationPrivate::ElaApplicationPrivate(QObject *parent) : QObject{parent} {}
|
||||
|
||||
ElaApplicationPrivate::~ElaApplicationPrivate()
|
||||
{
|
||||
}
|
||||
ElaApplicationPrivate::~ElaApplicationPrivate() {}
|
||||
|
||||
void ElaApplicationPrivate::onThemeModeChanged(ElaThemeType::ThemeMode themeMode)
|
||||
{
|
||||
void ElaApplicationPrivate::onThemeModeChanged(ElaThemeType::ThemeMode themeMode) {
|
||||
_themeMode = themeMode;
|
||||
switch (_pWindowDisplayMode)
|
||||
{
|
||||
case ElaApplicationType::Normal:
|
||||
{
|
||||
switch (_pWindowDisplayMode) {
|
||||
case ElaApplicationType::Normal: {
|
||||
break;
|
||||
}
|
||||
case ElaApplicationType::ElaMica:
|
||||
{
|
||||
case ElaApplicationType::ElaMica: {
|
||||
_updateAllMicaWidget();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
default: {
|
||||
#ifdef Q_OS_WIN
|
||||
for (auto widget: _micaWidgetList)
|
||||
{
|
||||
for (auto widget : _micaWidgetList) {
|
||||
ElaWinShadowHelper::getInstance()->setWindowThemeMode(widget->winId(), _themeMode == ElaThemeType::Light);
|
||||
}
|
||||
#endif
|
||||
@@ -48,26 +37,18 @@ void ElaApplicationPrivate::onThemeModeChanged(ElaThemeType::ThemeMode themeMode
|
||||
}
|
||||
}
|
||||
|
||||
bool ElaApplicationPrivate::eventFilter(QObject* watched, QEvent* event)
|
||||
{
|
||||
switch (event->type())
|
||||
{
|
||||
case QEvent::Show:
|
||||
{
|
||||
if (_pWindowDisplayMode == ElaApplicationType::WindowDisplayMode::ElaMica)
|
||||
{
|
||||
QWidget* widget = qobject_cast<QWidget*>(watched);
|
||||
if (widget)
|
||||
{
|
||||
bool ElaApplicationPrivate::eventFilter(QObject *watched, QEvent *event) {
|
||||
switch (event->type()) {
|
||||
case QEvent::Show: {
|
||||
if (_pWindowDisplayMode == ElaApplicationType::WindowDisplayMode::ElaMica) {
|
||||
QWidget *widget = qobject_cast<QWidget *>(watched);
|
||||
if (widget) {
|
||||
_updateMica(widget);
|
||||
}
|
||||
}
|
||||
else if (_pWindowDisplayMode != ElaApplicationType::WindowDisplayMode::Normal)
|
||||
{
|
||||
} else if (_pWindowDisplayMode != ElaApplicationType::WindowDisplayMode::Normal) {
|
||||
#ifdef Q_OS_WIN
|
||||
QWidget* widget = qobject_cast<QWidget*>(watched);
|
||||
if (widget)
|
||||
{
|
||||
QWidget *widget = qobject_cast<QWidget *>(watched);
|
||||
if (widget) {
|
||||
ElaWinShadowHelper::getInstance()->setWindowDisplayMode(widget, _pWindowDisplayMode, _pWindowDisplayMode);
|
||||
}
|
||||
#endif
|
||||
@@ -75,44 +56,36 @@ bool ElaApplicationPrivate::eventFilter(QObject* watched, QEvent* event)
|
||||
break;
|
||||
}
|
||||
case QEvent::Move:
|
||||
case QEvent::Resize:
|
||||
{
|
||||
if (_pWindowDisplayMode == ElaApplicationType::WindowDisplayMode::ElaMica)
|
||||
{
|
||||
QWidget* widget = qobject_cast<QWidget*>(watched);
|
||||
if (widget)
|
||||
{
|
||||
case QEvent::Resize: {
|
||||
if (_pWindowDisplayMode == ElaApplicationType::WindowDisplayMode::ElaMica) {
|
||||
QWidget *widget = qobject_cast<QWidget *>(watched);
|
||||
if (widget) {
|
||||
_updateMica(widget);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case QEvent::Destroy:
|
||||
{
|
||||
QWidget* widget = qobject_cast<QWidget*>(watched);
|
||||
if (widget)
|
||||
{
|
||||
case QEvent::Destroy: {
|
||||
QWidget *widget = qobject_cast<QWidget *>(watched);
|
||||
if (widget) {
|
||||
_micaWidgetList.removeOne(widget);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return QObject::eventFilter(watched, event);
|
||||
}
|
||||
|
||||
void ElaApplicationPrivate::_initMicaBaseImage(QImage img)
|
||||
{
|
||||
void ElaApplicationPrivate::_initMicaBaseImage(QImage img) {
|
||||
Q_Q(ElaApplication);
|
||||
if (img.isNull())
|
||||
{
|
||||
if (img.isNull()) {
|
||||
return;
|
||||
}
|
||||
QThread* initThread = new QThread();
|
||||
ElaMicaBaseInitObject* initObject = new ElaMicaBaseInitObject(this);
|
||||
QThread *initThread = new QThread();
|
||||
ElaMicaBaseInitObject *initObject = new ElaMicaBaseInitObject(this);
|
||||
connect(initThread, &QThread::finished, initObject, &ElaMicaBaseInitObject::deleteLater);
|
||||
connect(initObject, &ElaMicaBaseInitObject::initFinished, initThread, [=]() {
|
||||
Q_EMIT q->pWindowDisplayModeChanged();
|
||||
@@ -127,66 +100,57 @@ void ElaApplicationPrivate::_initMicaBaseImage(QImage img)
|
||||
Q_EMIT initMicaBase(img);
|
||||
}
|
||||
|
||||
QRect ElaApplicationPrivate::_calculateWindowVirtualGeometry(QWidget* widget)
|
||||
{
|
||||
QRect geometry = widget->geometry();
|
||||
QRect ElaApplicationPrivate::_calculateWindowVirtualGeometry(QWidget *widget) {
|
||||
QRect geometry = widget->geometry();
|
||||
qreal xImageRatio = 1, yImageRatio = 1;
|
||||
QRect relativeGeometry;
|
||||
if (qApp->screens().count() > 1)
|
||||
{
|
||||
QScreen* currentScreen = qApp->screenAt(geometry.topLeft());
|
||||
if (currentScreen)
|
||||
{
|
||||
if (qApp->screens().count() > 1) {
|
||||
QScreen *currentScreen = qApp->screenAt(geometry.topLeft());
|
||||
if (currentScreen) {
|
||||
QRect screenGeometry = currentScreen->availableGeometry();
|
||||
xImageRatio = (qreal)_lightBaseImage.width() / screenGeometry.width();
|
||||
yImageRatio = (qreal)_lightBaseImage.height() / screenGeometry.height();
|
||||
relativeGeometry = QRect((geometry.x() - screenGeometry.x()) * xImageRatio, (geometry.y() - screenGeometry.y()) * yImageRatio, geometry.width() * xImageRatio, geometry.height() * yImageRatio);
|
||||
xImageRatio = (qreal)_lightBaseImage.width() / screenGeometry.width();
|
||||
yImageRatio = (qreal)_lightBaseImage.height() / screenGeometry.height();
|
||||
relativeGeometry = QRect((geometry.x() - screenGeometry.x()) * xImageRatio, (geometry.y() - screenGeometry.y()) * yImageRatio,
|
||||
geometry.width() * xImageRatio, geometry.height() * yImageRatio);
|
||||
return relativeGeometry;
|
||||
}
|
||||
}
|
||||
QRect primaryScreenGeometry = qApp->primaryScreen()->availableGeometry();
|
||||
xImageRatio = (qreal)_lightBaseImage.width() / primaryScreenGeometry.width();
|
||||
yImageRatio = (qreal)_lightBaseImage.height() / primaryScreenGeometry.height();
|
||||
relativeGeometry = QRect((geometry.x() - primaryScreenGeometry.x()) * xImageRatio, (geometry.y() - primaryScreenGeometry.y()) * yImageRatio, geometry.width() * xImageRatio, geometry.height() * yImageRatio);
|
||||
xImageRatio = (qreal)_lightBaseImage.width() / primaryScreenGeometry.width();
|
||||
yImageRatio = (qreal)_lightBaseImage.height() / primaryScreenGeometry.height();
|
||||
relativeGeometry = QRect((geometry.x() - primaryScreenGeometry.x()) * xImageRatio, (geometry.y() - primaryScreenGeometry.y()) * yImageRatio,
|
||||
geometry.width() * xImageRatio, geometry.height() * yImageRatio);
|
||||
return relativeGeometry;
|
||||
}
|
||||
|
||||
void ElaApplicationPrivate::_updateMica(QWidget* widget, bool isProcessEvent)
|
||||
{
|
||||
if (widget->isVisible())
|
||||
{
|
||||
void ElaApplicationPrivate::_updateMica(QWidget *widget, bool isProcessEvent) {
|
||||
if (widget->isVisible()) {
|
||||
QPalette palette = widget->palette();
|
||||
if (_themeMode == ElaThemeType::Light)
|
||||
{
|
||||
palette.setBrush(QPalette::Window, _lightBaseImage.copy(_calculateWindowVirtualGeometry(widget)).scaled(widget->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
|
||||
}
|
||||
else
|
||||
{
|
||||
palette.setBrush(QPalette::Window, _darkBaseImage.copy(_calculateWindowVirtualGeometry(widget)).scaled(widget->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
|
||||
if (_themeMode == ElaThemeType::Light) {
|
||||
palette.setBrush(QPalette::Window, _lightBaseImage.copy(_calculateWindowVirtualGeometry(widget))
|
||||
.scaled(widget->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
|
||||
} else {
|
||||
palette.setBrush(
|
||||
QPalette::Window,
|
||||
_darkBaseImage.copy(_calculateWindowVirtualGeometry(widget)).scaled(widget->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
|
||||
}
|
||||
widget->setPalette(palette);
|
||||
if (isProcessEvent)
|
||||
{
|
||||
if (isProcessEvent) {
|
||||
QApplication::processEvents();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ElaApplicationPrivate::_updateAllMicaWidget()
|
||||
{
|
||||
if (_pWindowDisplayMode == ElaApplicationType::WindowDisplayMode::ElaMica)
|
||||
{
|
||||
for (auto widget: _micaWidgetList)
|
||||
{
|
||||
void ElaApplicationPrivate::_updateAllMicaWidget() {
|
||||
if (_pWindowDisplayMode == ElaApplicationType::WindowDisplayMode::ElaMica) {
|
||||
for (auto widget : _micaWidgetList) {
|
||||
_updateMica(widget, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ElaApplicationPrivate::_resetAllMicaWidget()
|
||||
{
|
||||
for (auto widget: _micaWidgetList)
|
||||
{
|
||||
void ElaApplicationPrivate::_resetAllMicaWidget() {
|
||||
for (auto widget : _micaWidgetList) {
|
||||
QPalette palette = widget->palette();
|
||||
palette.setBrush(QPalette::Window, Qt::transparent);
|
||||
widget->setPalette(palette);
|
||||
|
||||
Reference in New Issue
Block a user