mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +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");
|
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)
|
void OnboardItem::paintEvent(QPaintEvent *e)
|
||||||
{
|
{
|
||||||
Q_UNUSED(e);
|
Q_UNUSED(e);
|
||||||
|
|
||||||
QPixmap pixmap;
|
|
||||||
QString iconName = "deepin-virtualkeyboard";
|
|
||||||
int iconSize = PLUGIN_ICON_MAX_SIZE;
|
|
||||||
|
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
if (std::min(width(), height()) > PLUGIN_BACKGROUND_MIN_SIZE) {
|
if (std::min(width(), height()) > PLUGIN_BACKGROUND_MIN_SIZE) {
|
||||||
|
|
||||||
QColor color;
|
QColor color;
|
||||||
if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) {
|
if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) {
|
||||||
color = Qt::black;
|
color = Qt::black;
|
||||||
@ -95,12 +100,9 @@ void OnboardItem::paintEvent(QPaintEvent *e)
|
|||||||
|
|
||||||
path.addRoundedRect(rc, radius, radius);
|
path.addRoundedRect(rc, radius, radius);
|
||||||
painter.fillPath(path, color);
|
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);
|
painter.setOpacity(1);
|
||||||
const QRectF &rf = QRectF(rect());
|
const QRectF &rf = QRectF(rect());
|
||||||
const QRectF &rfp = QRectF(pixmap.rect());
|
const QRectF &rfp = QRectF(pixmap.rect());
|
||||||
|
@ -33,6 +33,7 @@ class OnboardItem : public QWidget
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit OnboardItem(QWidget *parent = nullptr);
|
explicit OnboardItem(QWidget *parent = nullptr);
|
||||||
|
QPixmap iconPixmap(int iconSize) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void paintEvent(QPaintEvent *e) override;
|
void paintEvent(QPaintEvent *e) override;
|
||||||
|
@ -61,9 +61,10 @@ const QString OnboardPlugin::pluginDisplayName() const
|
|||||||
|
|
||||||
QWidget *OnboardPlugin::itemWidget(const QString &itemKey)
|
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)
|
QWidget *OnboardPlugin::itemTipsWidget(const QString &itemKey)
|
||||||
@ -184,6 +185,24 @@ void OnboardPlugin::pluginSettingsChanged()
|
|||||||
refreshPluginItemsVisible();
|
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()
|
void OnboardPlugin::loadPlugin()
|
||||||
{
|
{
|
||||||
if (m_pluginLoaded) {
|
if (m_pluginLoaded) {
|
||||||
|
@ -59,6 +59,9 @@ public:
|
|||||||
void setSortKey(const QString &itemKey, const int order) override;
|
void setSortKey(const QString &itemKey, const int order) override;
|
||||||
|
|
||||||
void pluginSettingsChanged() override;
|
void pluginSettingsChanged() override;
|
||||||
|
QIcon icon(const DockPart &dockPart) override;
|
||||||
|
PluginStatus status() const override;
|
||||||
|
QString description() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadPlugin();
|
void loadPlugin();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user