From 719fea0c64ab3c7a3ef69d80dc8f3b4a6e36fe66 Mon Sep 17 00:00:00 2001 From: donghualin Date: Wed, 9 Nov 2022 10:17:33 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=AB=98=E6=95=88?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=85=B3=E6=9C=BA=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=96=87=E6=9C=AC=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 高效模式和时尚模式的插件是两个对象,在设置模式的时候用的是静态变量,导致两边识别到的模式始终为时尚模式,引起是否显示文字的判断错误 Log: 修复高效模式下关机按钮的显示问题 Influence: 高效模式下,调整任务栏到最高,观察关机按钮的显示 Task: https://pms.uniontech.com/task-view-112073.html Change-Id: I6161fbdf0a5d052ce6e422b2490f1281922f9510 --- frame/window/systempluginwindow.cpp | 11 +++++++++-- frame/window/systempluginwindow.h | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/frame/window/systempluginwindow.cpp b/frame/window/systempluginwindow.cpp index 32253f16a..551e0e2bd 100644 --- a/frame/window/systempluginwindow.cpp +++ b/frame/window/systempluginwindow.cpp @@ -51,7 +51,14 @@ SystemPluginWindow::~SystemPluginWindow() void SystemPluginWindow::setDisplayMode(const DisplayMode &displayMode) { m_displayMode = displayMode; - StretchPluginsItem::setDisplayMode(displayMode); + QObjectList childObjects = children(); + for (QObject *childObject : childObjects) { + StretchPluginsItem *item = qobject_cast(childObject); + if (!item) + continue; + + item->setDisplayMode(displayMode); + } } void SystemPluginWindow::setPositon(Position position) @@ -193,13 +200,13 @@ void SystemPluginWindow::onPluginItemUpdated(PluginsItemInterface *pluginItem) #define ICONTEXTSPACE 6 #define PLUGIN_ITEM_DRAG_THRESHOLD 20 -Dock::DisplayMode StretchPluginsItem::m_displayMode = Dock::DisplayMode::Efficient; Dock::Position StretchPluginsItem::m_position = Dock::Position::Bottom; StretchPluginsItem::StretchPluginsItem(PluginsItemInterface * const pluginInter, const QString &itemKey, QWidget *parent) : DockItem(parent) , m_pluginInter(pluginInter) , m_itemKey(itemKey) + , m_displayMode(Dock::DisplayMode::Efficient) { } diff --git a/frame/window/systempluginwindow.h b/frame/window/systempluginwindow.h index 6d37080fd..4e5bdb6d5 100644 --- a/frame/window/systempluginwindow.h +++ b/frame/window/systempluginwindow.h @@ -77,7 +77,7 @@ class StretchPluginsItem : public DockItem public: StretchPluginsItem(PluginsItemInterface *const pluginInter, const QString &itemKey, QWidget *parent = nullptr); ~StretchPluginsItem() override; - static void setDisplayMode(const Dock::DisplayMode &displayMode); + void setDisplayMode(const Dock::DisplayMode &displayMode); static void setPosition(Dock::Position position); PluginsItemInterface *pluginInter() const; QString itemKey() const; @@ -105,7 +105,7 @@ private: private: PluginsItemInterface *m_pluginInter; QString m_itemKey; - static Dock::DisplayMode m_displayMode; + Dock::DisplayMode m_displayMode; static Dock::Position m_position; QPoint m_mousePressPoint; };