mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +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)
|
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);
|
const QJsonObject metaData = QuickSettingController::instance()->metaData(pluginInter);
|
||||||
if (metaData.contains("primary") && metaData.value("primary").toBool())
|
if (metaData.contains("primary") && metaData.value("primary").toBool())
|
||||||
return new MultiQuickItem(pluginInter);
|
return new MultiQuickItem(pluginInter);
|
||||||
|
@ -202,6 +202,9 @@ QPoint QuickSettingContainer::hotSpot(const QPixmap &pixmap)
|
|||||||
void QuickSettingContainer::appendPlugin(PluginsItemInterface *itemInter, bool needLayout)
|
void QuickSettingContainer::appendPlugin(PluginsItemInterface *itemInter, bool needLayout)
|
||||||
{
|
{
|
||||||
QuickSettingItem *quickItem = QuickSettingFactory::createQuickWidget(itemInter);
|
QuickSettingItem *quickItem = QuickSettingFactory::createQuickWidget(itemInter);
|
||||||
|
if (!quickItem)
|
||||||
|
return;
|
||||||
|
|
||||||
quickItem->setParent(m_pluginWidget);
|
quickItem->setParent(m_pluginWidget);
|
||||||
quickItem->setMouseTracking(true);
|
quickItem->setMouseTracking(true);
|
||||||
quickItem->installEventFilter(this);
|
quickItem->installEventFilter(this);
|
||||||
|
@ -201,7 +201,10 @@ void PowerPlugin::pluginSettingsChanged()
|
|||||||
|
|
||||||
QIcon PowerPlugin::icon(const DockPart &dockPart)
|
QIcon PowerPlugin::icon(const DockPart &dockPart)
|
||||||
{
|
{
|
||||||
Q_UNUSED(dockPart);
|
// 电池插件不显示在快捷面板上,因此此处返回空图标
|
||||||
|
if (dockPart == DockPart::QuickPanel)
|
||||||
|
return QIcon();
|
||||||
|
|
||||||
static QIcon batteryIcon;
|
static QIcon batteryIcon;
|
||||||
const QPixmap pixmap = m_powerStatusWidget->getBatteryIcon();
|
const QPixmap pixmap = m_powerStatusWidget->getBatteryIcon();
|
||||||
batteryIcon.detach();
|
batteryIcon.detach();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user