mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
fix: 电池插件不显示在快捷面板
1、新需求中,电池插件不显示在快捷面板上 2、在插入插件到快捷面板中的时候,判断快捷面板的图标或者显示在快捷面板的Widget为空的情况下,返回空 3、设置电池的快捷面板的图标返回为空图标 Log: 电池插件不显示在快捷面板 Influence: 从笔记本上,打开快捷面板,观察是否存在电池图标 Bug: https://pms.uniontech.com/bug-view-171713.html Change-Id: I506865b7ac26637b28c8fd2d40f044f9061040c8
This commit is contained in:
parent
a8d44db60f
commit
f28dd1ac2c
@ -141,6 +141,10 @@ void QuickSettingItem::onRequestAppletShow(PluginsItemInterface *itemInter, cons
|
||||
|
||||
QuickSettingItem *QuickSettingFactory::createQuickWidget(PluginsItemInterface * const pluginInter)
|
||||
{
|
||||
// 如果显示在面板的图标或者Widget为空,则不让显示(例如电池插件)
|
||||
if (pluginInter->icon(DockPart::QuickPanel).isNull() && !pluginInter->itemWidget(QUICK_ITEM_KEY))
|
||||
return nullptr;
|
||||
|
||||
const QJsonObject metaData = QuickSettingController::instance()->metaData(pluginInter);
|
||||
if (metaData.contains("primary") && metaData.value("primary").toBool())
|
||||
return new MultiQuickItem(pluginInter);
|
||||
|
@ -202,6 +202,9 @@ QPoint QuickSettingContainer::hotSpot(const QPixmap &pixmap)
|
||||
void QuickSettingContainer::appendPlugin(PluginsItemInterface *itemInter, bool needLayout)
|
||||
{
|
||||
QuickSettingItem *quickItem = QuickSettingFactory::createQuickWidget(itemInter);
|
||||
if (!quickItem)
|
||||
return;
|
||||
|
||||
quickItem->setParent(m_pluginWidget);
|
||||
quickItem->setMouseTracking(true);
|
||||
quickItem->installEventFilter(this);
|
||||
|
@ -201,7 +201,10 @@ void PowerPlugin::pluginSettingsChanged()
|
||||
|
||||
QIcon PowerPlugin::icon(const DockPart &dockPart)
|
||||
{
|
||||
Q_UNUSED(dockPart);
|
||||
// 电池插件不显示在快捷面板上,因此此处返回空图标
|
||||
if (dockPart == DockPart::QuickPanel)
|
||||
return QIcon();
|
||||
|
||||
static QIcon batteryIcon;
|
||||
const QPixmap pixmap = m_powerStatusWidget->getBatteryIcon();
|
||||
batteryIcon.detach();
|
||||
|
Loading…
x
Reference in New Issue
Block a user