From e8e0a5b11e3e55d1f05d21d75f05848c7c1f6789 Mon Sep 17 00:00:00 2001 From: zhangkun Date: Wed, 27 Nov 2024 19:31:38 +0800 Subject: [PATCH] feat(osd): add windoweffect osd as title pms: BUG-286919, BUG-286903, BUG-286797 --- panels/notification/osd/CMakeLists.txt | 1 + .../osd/windoweffect/CMakeLists.txt | 15 ++ .../package/icons/osd_balance_effect.dci | Bin 0 -> 25698 bytes .../package/icons/osd_best_visuals.dci | Bin 0 -> 22558 bytes .../package/icons/osd_optimal_performance.dci | Bin 0 -> 22574 bytes .../osd/windoweffect/package/main.qml | 133 ++++++++++++++++++ .../osd/windoweffect/package/metadata.json | 8 ++ .../org.deepin.ds.osd.windoweffect.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_az.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_bo.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_ca.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_es.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_fi.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_fr.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_hu.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_it.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_ja.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_ko.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_nb_NO.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_pl.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_pt_BR.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_ru.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_uk.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_zh_CN.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_zh_HK.ts | 37 +++++ .../org.deepin.ds.osd.windoweffect_zh_TW.ts | 37 +++++ .../osd/windoweffect/windoweffectapplet.cpp | 46 ++++++ .../osd/windoweffect/windoweffectapplet.h | 43 ++++++ 28 files changed, 949 insertions(+) create mode 100644 panels/notification/osd/windoweffect/CMakeLists.txt create mode 100644 panels/notification/osd/windoweffect/package/icons/osd_balance_effect.dci create mode 100644 panels/notification/osd/windoweffect/package/icons/osd_best_visuals.dci create mode 100644 panels/notification/osd/windoweffect/package/icons/osd_optimal_performance.dci create mode 100644 panels/notification/osd/windoweffect/package/main.qml create mode 100644 panels/notification/osd/windoweffect/package/metadata.json create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_az.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_bo.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ca.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_es.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fi.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fr.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_hu.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_it.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ja.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ko.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_nb_NO.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pl.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pt_BR.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ru.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_uk.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_CN.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_HK.ts create mode 100644 panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_TW.ts create mode 100644 panels/notification/osd/windoweffect/windoweffectapplet.cpp create mode 100644 panels/notification/osd/windoweffect/windoweffectapplet.h diff --git a/panels/notification/osd/CMakeLists.txt b/panels/notification/osd/CMakeLists.txt index 75957f4d1..687b4be14 100644 --- a/panels/notification/osd/CMakeLists.txt +++ b/panels/notification/osd/CMakeLists.txt @@ -22,3 +22,4 @@ add_subdirectory(audio) add_subdirectory(displaymode) add_subdirectory(kblayout) add_subdirectory(brightness) +add_subdirectory(windoweffect) diff --git a/panels/notification/osd/windoweffect/CMakeLists.txt b/panels/notification/osd/windoweffect/CMakeLists.txt new file mode 100644 index 000000000..be9e3444e --- /dev/null +++ b/panels/notification/osd/windoweffect/CMakeLists.txt @@ -0,0 +1,15 @@ +# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. +# +# SPDX-License-Identifier: GPL-3.0-or-later + +add_library(osd-windowEffect SHARED + windoweffectapplet.cpp + windoweffectapplet.h +) + +target_link_libraries(osd-windowEffect PRIVATE + dde-shell-frame +) + +ds_install_package(PACKAGE org.deepin.ds.osd.windoweffect TARGET osd-windowEffect) +ds_handle_package_translation(PACKAGE org.deepin.ds.osd.windoweffect) diff --git a/panels/notification/osd/windoweffect/package/icons/osd_balance_effect.dci b/panels/notification/osd/windoweffect/package/icons/osd_balance_effect.dci new file mode 100644 index 0000000000000000000000000000000000000000..b0a9d82f570d3f68b8eeef15c4b0784288e482d4 GIT binary patch literal 25698 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

n6D>y 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 BNFM+I literal 0 HcmV?d00001 diff --git a/panels/notification/osd/windoweffect/package/icons/osd_optimal_performance.dci b/panels/notification/osd/windoweffect/package/icons/osd_optimal_performance.dci new file mode 100644 index 0000000000000000000000000000000000000000..dfcdef72ee304089a0a2436eacf6bf58159cbe17 GIT binary patch literal 22574 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 + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_az.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_az.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_az.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_bo.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_bo.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_bo.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ca.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ca.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ca.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_es.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_es.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_es.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fi.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fi.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fi.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fr.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fr.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_fr.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_hu.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_hu.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_hu.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_it.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_it.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_it.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ja.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ja.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ja.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ko.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ko.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ko.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_nb_NO.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_nb_NO.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_nb_NO.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pl.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pl.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pl.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pt_BR.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pt_BR.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_pt_BR.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ru.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ru.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_ru.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_uk.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_uk.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_uk.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_CN.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_CN.ts new file mode 100644 index 000000000..addd708a1 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_CN.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + 最佳性能 + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + 最佳性能: 关闭所有界面和窗口特效,保障系统高效运行 + + + + Balance + 均衡 + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + 均衡: 限制部分窗口特效,保障出色的视觉体验,同时维持系统流畅运行 + + + + Best Visuals + 最佳视觉 + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + 最佳视觉: 启用所有界面和窗口特效,体验最佳视觉效果 + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_HK.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_HK.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_HK.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_TW.ts b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_TW.ts new file mode 100644 index 000000000..61fb73d76 --- /dev/null +++ b/panels/notification/osd/windoweffect/translations/org.deepin.ds.osd.windoweffect_zh_TW.ts @@ -0,0 +1,37 @@ + + + + + main + + + Optimal performance + + + + + Optimal performance: Close all interface and window effects to ensure efficient system operation + + + + + Balance + + + + + Balance: Limit some window effects to ensure excellent visual experience while maintaining smooth system operation + + + + + Best Visuals + + + + + Best Visual: Enable all interface and window effects to experience the best visual effects + + + + diff --git a/panels/notification/osd/windoweffect/windoweffectapplet.cpp b/panels/notification/osd/windoweffect/windoweffectapplet.cpp new file mode 100644 index 000000000..9238b4709 --- /dev/null +++ b/panels/notification/osd/windoweffect/windoweffectapplet.cpp @@ -0,0 +1,46 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "windoweffectapplet.h" + +#include "pluginfactory.h" + +const QString ORG_KDE_KWIN = QStringLiteral("org.kde.kwin"); +const QString ORG_KDE_KWIN_COMPOSITING = QStringLiteral("org.kde.kwin.compositing"); +const QString WINDOW_EFFECT_TYPE_KEY = QStringLiteral("user_type"); + +namespace osd { + +WindowEffectApplet::WindowEffectApplet(QObject *parent) + : DApplet(parent) + , m_wmConfig(DConfig::create(ORG_KDE_KWIN, ORG_KDE_KWIN_COMPOSITING, "", this)) +{ + connect(m_wmConfig, &DConfig::valueChanged, this, &WindowEffectApplet::onWmConfigChanged); + onWmConfigChanged(WINDOW_EFFECT_TYPE_KEY); +} + +void WindowEffectApplet::setEffectType(WindowEffectType effectType) +{ + m_wmConfig->setValue(WINDOW_EFFECT_TYPE_KEY, effectType); +} + +WindowEffectApplet::WindowEffectType WindowEffectApplet::effectType() const +{ + return m_effectType; +} + +void WindowEffectApplet::onWmConfigChanged(const QString &key) +{ + if (key == WINDOW_EFFECT_TYPE_KEY) { + auto value = m_wmConfig->value(WINDOW_EFFECT_TYPE_KEY).toInt(); + m_effectType = static_cast(value); + Q_EMIT effectTypeChanged(m_effectType); + } +} + +D_APPLET_CLASS(WindowEffectApplet) + +} + +#include "windoweffectapplet.moc" diff --git a/panels/notification/osd/windoweffect/windoweffectapplet.h b/panels/notification/osd/windoweffect/windoweffectapplet.h new file mode 100644 index 000000000..463a25e15 --- /dev/null +++ b/panels/notification/osd/windoweffect/windoweffectapplet.h @@ -0,0 +1,43 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "applet.h" +#include + +DCORE_USE_NAMESPACE + +namespace osd { +class WindowEffectApplet : public DS_NAMESPACE::DApplet +{ + Q_OBJECT + Q_PROPERTY(WindowEffectType effectType READ effectType WRITE setEffectType NOTIFY effectTypeChanged FINAL) +public: + enum WindowEffectType { + Default = 0, + Best, + Better, + Good, + Normal, + Compatible + }; + Q_ENUM(WindowEffectType) + + explicit WindowEffectApplet(QObject *parent = nullptr); + + void setEffectType(WindowEffectType effectType); + WindowEffectType effectType() const; + +Q_SIGNALS: + void effectTypeChanged(WindowEffectType value); + +private: + void onWmConfigChanged(const QString &key); + +private: + WindowEffectType m_effectType; + DConfig* m_wmConfig; +}; +}