diff --git a/plugins/bluetooth/bluetoothplugin.cpp b/plugins/bluetooth/bluetoothplugin.cpp index 95190eabc..ade736ce5 100644 --- a/plugins/bluetooth/bluetoothplugin.cpp +++ b/plugins/bluetooth/bluetoothplugin.cpp @@ -23,6 +23,7 @@ #include "bluetoothplugin.h" #include "adaptersmanager.h" #include "bluetoothmainwidget.h" +#include "imageutil.h" #include @@ -140,10 +141,22 @@ QIcon BluetoothPlugin::icon(const DockPart &dockPart, DGuiApplicationHelper::Col if (dockPart == DockPart::QuickPanel) return QIcon(); + QString iconFile; if (themeType == DGuiApplicationHelper::ColorType::DarkType) - return QIcon(":/bluetooth-active-symbolic.svg"); + iconFile = ":/bluetooth-active-symbolic.sv"; + else + iconFile = ":/bluetooth-active-symbolic-dark.svg"; - return QIcon(":/bluetooth-active-symbolic-dark.svg"); + switch (dockPart) { + case DockPart::DCCSetting: + return ImageUtil::loadSvg(iconFile, QSize(18, 18)); + case DockPart::QuickShow: + return ImageUtil::loadSvg(iconFile, QSize(18, 16)); + default: + break; + } + + return QIcon(); } PluginsItemInterface::PluginMode BluetoothPlugin::status() const diff --git a/plugins/onboard/onboarditem.cpp b/plugins/onboard/onboarditem.cpp index 58589f6e8..3dd237b2b 100644 --- a/plugins/onboard/onboarditem.cpp +++ b/plugins/onboard/onboarditem.cpp @@ -46,14 +46,14 @@ OnboardItem::OnboardItem(QWidget *parent) m_icon = QIcon::fromTheme(":/icons/icon/deepin-virtualkeyboard.svg"); } -QPixmap OnboardItem::iconPixmap(int iconSize) const +QPixmap OnboardItem::iconPixmap(int iconWidth, int iconHeight) 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)); + return loadSvg(iconName, QSize(iconWidth, iconHeight)); } void OnboardItem::paintEvent(QPaintEvent *e) @@ -102,7 +102,7 @@ void OnboardItem::paintEvent(QPaintEvent *e) painter.fillPath(path, color); } - QPixmap pixmap = iconPixmap(PLUGIN_ICON_MAX_SIZE); + QPixmap pixmap = iconPixmap(PLUGIN_ICON_MAX_SIZE, PLUGIN_ICON_MAX_SIZE); painter.setOpacity(1); const QRectF &rf = QRectF(rect()); const QRectF &rfp = QRectF(pixmap.rect()); diff --git a/plugins/onboard/onboarditem.h b/plugins/onboard/onboarditem.h index 58b094dc5..942021bbb 100644 --- a/plugins/onboard/onboarditem.h +++ b/plugins/onboard/onboarditem.h @@ -33,7 +33,7 @@ class OnboardItem : public QWidget public: explicit OnboardItem(QWidget *parent = nullptr); - QPixmap iconPixmap(int iconSize) const; + QPixmap iconPixmap(int iconWidth, int iconHeight) const; protected: void paintEvent(QPaintEvent *e) override; diff --git a/plugins/onboard/onboardplugin.cpp b/plugins/onboard/onboardplugin.cpp index 1274b663c..e6301af07 100644 --- a/plugins/onboard/onboardplugin.cpp +++ b/plugins/onboard/onboardplugin.cpp @@ -184,9 +184,9 @@ QIcon OnboardPlugin::icon(const DockPart &dockPart, DGuiApplicationHelper::Color } if (dockPart == DockPart::QuickPanel) - return m_onboardItem->iconPixmap(24); + return m_onboardItem->iconPixmap(24, 24); - return m_onboardItem->iconPixmap(20); + return m_onboardItem->iconPixmap(18, 16); } PluginsItemInterface::PluginMode OnboardPlugin::status() const diff --git a/plugins/sound/sounditem.cpp b/plugins/sound/sounditem.cpp index 149d72661..116ec665c 100644 --- a/plugins/sound/sounditem.cpp +++ b/plugins/sound/sounditem.cpp @@ -244,7 +244,7 @@ QPixmap SoundItem::pixmap() const return m_iconPixmap; } -QPixmap SoundItem::pixmap(DGuiApplicationHelper::ColorType colorType) const +QPixmap SoundItem::pixmap(DGuiApplicationHelper::ColorType colorType, int iconWidth, int iconHeight) const { const Dock::DisplayMode displayMode = Dock::DisplayMode::Efficient; @@ -280,12 +280,10 @@ QPixmap SoundItem::pixmap(DGuiApplicationHelper::ColorType colorType) const iconString = QString("audio-volume-%1-symbolic").arg(volumeString); } - const auto ratio = devicePixelRatioF(); - int iconSize = PLUGIN_ICON_MAX_SIZE; if (colorType == DGuiApplicationHelper::LightType) iconString.append(PLUGIN_MIN_ICON_NAME); - return ImageUtil::loadSvg(iconString, ":/", iconSize, ratio); + return ImageUtil::loadSvg(":/" + iconString, QSize(iconWidth, iconHeight)); } void SoundItem::sinkChanged(DBusSink *sink) diff --git a/plugins/sound/sounditem.h b/plugins/sound/sounditem.h index 196741b86..f96cd0f17 100644 --- a/plugins/sound/sounditem.h +++ b/plugins/sound/sounditem.h @@ -51,7 +51,7 @@ public: void refreshIcon(); void refreshTips(const int volume, const bool force = false); QPixmap pixmap() const; - QPixmap pixmap(DGuiApplicationHelper::ColorType colorType) const; + QPixmap pixmap(DGuiApplicationHelper::ColorType colorType, int iconWidth, int iconHeight) const; signals: void requestContextMenu() const; diff --git a/plugins/sound/soundplugin.cpp b/plugins/sound/soundplugin.cpp index bd97c5d9a..84ac584d9 100644 --- a/plugins/sound/soundplugin.cpp +++ b/plugins/sound/soundplugin.cpp @@ -149,7 +149,15 @@ void SoundPlugin::pluginSettingsChanged() QIcon SoundPlugin::icon(const DockPart &dockPart, DGuiApplicationHelper::ColorType themeType) { - return m_soundItem->pixmap(themeType); + switch (dockPart) { + case DockPart::QuickShow: + return m_soundItem->pixmap(themeType, 18, 16); + case DockPart::DCCSetting: + return m_soundItem->pixmap(themeType, 18, 18); + default: + break; + } + return QIcon(); } PluginsItemInterface::PluginMode SoundPlugin::status() const