mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-02 15:45:21 +00:00
feat: 完善onboard插件的接口
适配v23并完善接口内容 Log: 完善onboard插件接口 Influence: 快捷面板观察onboard插件是否正常显示 Task: https://pms.uniontech.com/task-view-212611.html Change-Id: Ic3db0b0b880b20327a210ac103f116e58d7ffd6d
This commit is contained in:
parent
6ab996ded9
commit
e663e4ac16
@ -46,17 +46,22 @@ OnboardItem::OnboardItem(QWidget *parent)
|
||||
m_icon = QIcon::fromTheme(":/icons/icon/deepin-virtualkeyboard.svg");
|
||||
}
|
||||
|
||||
QPixmap OnboardItem::iconPixmap(int iconSize) const
|
||||
{
|
||||
QString iconName = "deepin-virtualkeyboard";
|
||||
if (std::min(width(), height()) <= PLUGIN_BACKGROUND_MIN_SIZE
|
||||
|| DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType)
|
||||
iconName.append(PLUGIN_MIN_ICON_NAME);
|
||||
|
||||
return loadSvg(iconName, QSize(iconSize, iconSize));
|
||||
}
|
||||
|
||||
void OnboardItem::paintEvent(QPaintEvent *e)
|
||||
{
|
||||
Q_UNUSED(e);
|
||||
|
||||
QPixmap pixmap;
|
||||
QString iconName = "deepin-virtualkeyboard";
|
||||
int iconSize = PLUGIN_ICON_MAX_SIZE;
|
||||
|
||||
QPainter painter(this);
|
||||
if (std::min(width(), height()) > PLUGIN_BACKGROUND_MIN_SIZE) {
|
||||
|
||||
QColor color;
|
||||
if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) {
|
||||
color = Qt::black;
|
||||
@ -95,12 +100,9 @@ void OnboardItem::paintEvent(QPaintEvent *e)
|
||||
|
||||
path.addRoundedRect(rc, radius, radius);
|
||||
painter.fillPath(path, color);
|
||||
} else if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) {
|
||||
iconName.append(PLUGIN_MIN_ICON_NAME);
|
||||
}
|
||||
|
||||
pixmap = loadSvg(iconName, QSize(iconSize, iconSize));
|
||||
|
||||
QPixmap pixmap = iconPixmap(PLUGIN_ICON_MAX_SIZE);
|
||||
painter.setOpacity(1);
|
||||
const QRectF &rf = QRectF(rect());
|
||||
const QRectF &rfp = QRectF(pixmap.rect());
|
||||
|
@ -33,6 +33,7 @@ class OnboardItem : public QWidget
|
||||
|
||||
public:
|
||||
explicit OnboardItem(QWidget *parent = nullptr);
|
||||
QPixmap iconPixmap(int iconSize) const;
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *e) override;
|
||||
|
@ -61,9 +61,10 @@ const QString OnboardPlugin::pluginDisplayName() const
|
||||
|
||||
QWidget *OnboardPlugin::itemWidget(const QString &itemKey)
|
||||
{
|
||||
Q_UNUSED(itemKey);
|
||||
if (itemKey == pluginName())
|
||||
return m_onboardItem.data();
|
||||
|
||||
return m_onboardItem.data();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QWidget *OnboardPlugin::itemTipsWidget(const QString &itemKey)
|
||||
@ -184,6 +185,24 @@ void OnboardPlugin::pluginSettingsChanged()
|
||||
refreshPluginItemsVisible();
|
||||
}
|
||||
|
||||
QIcon OnboardPlugin::icon(const DockPart &dockPart)
|
||||
{
|
||||
if (dockPart == DockPart::QuickPanel)
|
||||
return m_onboardItem->iconPixmap(24);
|
||||
|
||||
return m_onboardItem->iconPixmap(20);
|
||||
}
|
||||
|
||||
PluginsItemInterface::PluginStatus OnboardPlugin::status() const
|
||||
{
|
||||
return PluginsItemInterface::PluginStatus::Active;
|
||||
}
|
||||
|
||||
QString OnboardPlugin::description() const
|
||||
{
|
||||
return pluginDisplayName();
|
||||
}
|
||||
|
||||
void OnboardPlugin::loadPlugin()
|
||||
{
|
||||
if (m_pluginLoaded) {
|
||||
|
@ -59,6 +59,9 @@ public:
|
||||
void setSortKey(const QString &itemKey, const int order) override;
|
||||
|
||||
void pluginSettingsChanged() override;
|
||||
QIcon icon(const DockPart &dockPart) override;
|
||||
PluginStatus status() const override;
|
||||
QString description() const override;
|
||||
|
||||
private:
|
||||
void loadPlugin();
|
||||
|
Loading…
x
Reference in New Issue
Block a user