fix: 修复高效模式下关机按钮显示文本的问题

高效模式和时尚模式的插件是两个对象,在设置模式的时候用的是静态变量,导致两边识别到的模式始终为时尚模式,引起是否显示文字的判断错误

Log: 修复高效模式下关机按钮的显示问题
Influence: 高效模式下,调整任务栏到最高,观察关机按钮的显示
Task: https://pms.uniontech.com/task-view-112073.html
Change-Id: I6161fbdf0a5d052ce6e422b2490f1281922f9510
This commit is contained in:
donghualin 2022-11-09 10:17:33 +00:00
parent e011333e5a
commit 719fea0c64
2 changed files with 11 additions and 4 deletions

View File

@ -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<StretchPluginsItem *>(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)
{
}

View File

@ -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;
};