diff --git a/plugins/onboard/icon/deepin-virtualkeyboard.svg b/plugins/onboard/icon/deepin-virtualkeyboard.svg
new file mode 100644
index 000000000..5916425fd
--- /dev/null
+++ b/plugins/onboard/icon/deepin-virtualkeyboard.svg
@@ -0,0 +1,49 @@
+
diff --git a/plugins/onboard/onboard.qrc b/plugins/onboard/onboard.qrc
index 8e78458e6..12c16ed6b 100644
--- a/plugins/onboard/onboard.qrc
+++ b/plugins/onboard/onboard.qrc
@@ -1,4 +1,5 @@
+ icon/deepin-virtualkeyboard.svg
diff --git a/plugins/onboard/onboarditem.cpp b/plugins/onboard/onboarditem.cpp
index 0f698aead..b21a40c9c 100644
--- a/plugins/onboard/onboarditem.cpp
+++ b/plugins/onboard/onboarditem.cpp
@@ -43,6 +43,7 @@ OnboardItem::OnboardItem(QWidget *parent)
connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [ = ] {
update();
});
+ m_icon = QIcon::fromTheme(":/icons/icon/deepin-virtualkeyboard.svg");
}
QSize OnboardItem::sizeHint() const
@@ -116,7 +117,7 @@ const QPixmap OnboardItem::loadSvg(const QString &fileName, const QSize &size) c
const auto ratio = devicePixelRatioF();
QPixmap pixmap;
- pixmap = QIcon::fromTheme(fileName).pixmap(size * ratio);
+ pixmap = QIcon::fromTheme(fileName, m_icon).pixmap(size * ratio);
pixmap.setDevicePixelRatio(ratio);
return pixmap;
diff --git a/plugins/onboard/onboarditem.h b/plugins/onboard/onboarditem.h
index f654a0cfb..a300537fa 100644
--- a/plugins/onboard/onboarditem.h
+++ b/plugins/onboard/onboarditem.h
@@ -25,6 +25,7 @@
#include "constants.h"
#include
+#include
class OnboardItem : public QWidget
{
@@ -49,6 +50,7 @@ private:
Dock::DisplayMode m_displayMode;
bool m_hover;
bool m_pressed;
+ QIcon m_icon;
};
#endif // ONBOARDITEM_H
diff --git a/plugins/shutdown/pluginwidget.cpp b/plugins/shutdown/pluginwidget.cpp
index d358ebd6a..3f8f36089 100644
--- a/plugins/shutdown/pluginwidget.cpp
+++ b/plugins/shutdown/pluginwidget.cpp
@@ -43,6 +43,7 @@ PluginWidget::PluginWidget(QWidget *parent)
connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [ = ] {
update();
});
+ m_icon = QIcon::fromTheme(":/icons/resources/icons/system-shutdown.svg");
}
QSize PluginWidget::sizeHint() const
@@ -108,6 +109,7 @@ void PluginWidget::paintEvent(QPaintEvent *e)
painter.setOpacity(1);
pixmap = loadSvg(iconName, QSize(iconSize, iconSize));
+
const QRectF &rf = QRectF(rect());
const QRectF &rfp = QRectF(pixmap.rect());
painter.drawPixmap(rf.center() - rfp.center() / pixmap.devicePixelRatioF(), pixmap);
@@ -118,7 +120,7 @@ const QPixmap PluginWidget::loadSvg(const QString &fileName, const QSize &size)
const auto ratio = devicePixelRatioF();
QPixmap pixmap;
- pixmap = QIcon::fromTheme(fileName).pixmap(size * ratio);
+ pixmap = QIcon::fromTheme(fileName, m_icon).pixmap(size * ratio);
pixmap.setDevicePixelRatio(ratio);
return pixmap;
diff --git a/plugins/shutdown/pluginwidget.h b/plugins/shutdown/pluginwidget.h
index e6f5cdf7e..902edff71 100644
--- a/plugins/shutdown/pluginwidget.h
+++ b/plugins/shutdown/pluginwidget.h
@@ -25,6 +25,7 @@
#include "constants.h"
#include
+#include
class PluginWidget : public QWidget
{
@@ -49,6 +50,7 @@ private:
Dock::DisplayMode m_displayMode;
bool m_hover;
bool m_pressed;
+ QIcon m_icon;
};
#endif // PLUGINWIDGET_H
diff --git a/plugins/shutdown/resources/icons/system-shutdown.svg b/plugins/shutdown/resources/icons/system-shutdown.svg
new file mode 100644
index 000000000..93cdf4e92
--- /dev/null
+++ b/plugins/shutdown/resources/icons/system-shutdown.svg
@@ -0,0 +1,3 @@
+
diff --git a/plugins/shutdown/shutdown.qrc b/plugins/shutdown/shutdown.qrc
index 38d185cbe..c1dc1f493 100644
--- a/plugins/shutdown/shutdown.qrc
+++ b/plugins/shutdown/shutdown.qrc
@@ -2,5 +2,6 @@
resources/icons/fashion.svg
resources/icons/normal.svg
+ resources/icons/system-shutdown.svg
diff --git a/plugins/trash/CMakeLists.txt b/plugins/trash/CMakeLists.txt
index e980312db..58e2dee60 100644
--- a/plugins/trash/CMakeLists.txt
+++ b/plugins/trash/CMakeLists.txt
@@ -12,7 +12,7 @@ find_package(Qt5Svg REQUIRED)
find_package(DtkWidget REQUIRED)
add_definitions("${QT_DEFINITIONS} -DQT_PLUGIN")
-add_library(${PLUGIN_NAME} SHARED ${SRCS})
+add_library(${PLUGIN_NAME} SHARED ${SRCS} resource.qrc)
set_target_properties(${PLUGIN_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ../)
target_include_directories(${PLUGIN_NAME} PUBLIC ${DtkWidget_INCLUDE_DIRS}
../../interfaces)
diff --git a/plugins/trash/icons/user-trash.svg b/plugins/trash/icons/user-trash.svg
new file mode 100644
index 000000000..ea4fb9568
--- /dev/null
+++ b/plugins/trash/icons/user-trash.svg
@@ -0,0 +1,42 @@
+
diff --git a/plugins/trash/resource.qrc b/plugins/trash/resource.qrc
new file mode 100644
index 000000000..063a18597
--- /dev/null
+++ b/plugins/trash/resource.qrc
@@ -0,0 +1,5 @@
+
+
+ icons/user-trash.svg
+
+
diff --git a/plugins/trash/trashwidget.cpp b/plugins/trash/trashwidget.cpp
index 9c3cdb225..c3304a1f3 100644
--- a/plugins/trash/trashwidget.cpp
+++ b/plugins/trash/trashwidget.cpp
@@ -45,6 +45,8 @@ TrashWidget::TrashWidget(QWidget *parent)
setAcceptDrops(true);
setMinimumSize(PLUGIN_ICON_MIN_SIZE, PLUGIN_ICON_MIN_SIZE);
+
+ m_defaulticon = QIcon::fromTheme(":/icons/user-trash.svg");
}
QWidget *TrashWidget::popupApplet()
@@ -167,10 +169,9 @@ void TrashWidget::paintEvent(QPaintEvent *e)
{
QWidget::paintEvent(e);
- QPainter painter(this);
-
updateIcon();
+ QPainter painter(this);
const QRectF &rf = QRectF(rect());
const QRectF &rfp = QRectF(m_icon.rect());
painter.drawPixmap(rf.center() - rfp.center() / devicePixelRatioF(), m_icon);
@@ -203,7 +204,7 @@ void TrashWidget::updateIcon()
iconString.append("-symbolic");
const int size = std::min(width(), height()) ;
- QIcon icon = QIcon::fromTheme(iconString);
+ QIcon icon = QIcon::fromTheme(iconString, m_defaulticon);
const auto ratio = devicePixelRatioF();
diff --git a/plugins/trash/trashwidget.h b/plugins/trash/trashwidget.h
index a0aa19f3d..d246ac273 100644
--- a/plugins/trash/trashwidget.h
+++ b/plugins/trash/trashwidget.h
@@ -33,6 +33,7 @@
#include
#include
#include
+#include
class TrashWidget : public QWidget
{
@@ -68,6 +69,7 @@ private:
PopupControlWidget *m_popupApplet;
QPixmap m_icon;
+ QIcon m_defaulticon;
};
#endif // TRASHWIDGET_H