From d618b622c87a22a7cd820a6eac96450f99087781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B4=E5=85=B5?= Date: Tue, 22 Oct 2019 14:53:30 +0800 Subject: [PATCH] feat():add sound and wired icon --- .../onboard/icon/deepin-virtualkeyboard.svg | 49 +++++++++++++++++++ plugins/onboard/onboard.qrc | 1 + plugins/onboard/onboarditem.cpp | 3 +- plugins/onboard/onboarditem.h | 2 + plugins/shutdown/pluginwidget.cpp | 4 +- plugins/shutdown/pluginwidget.h | 2 + .../resources/icons/system-shutdown.svg | 3 ++ plugins/shutdown/shutdown.qrc | 1 + plugins/trash/CMakeLists.txt | 2 +- plugins/trash/icons/user-trash.svg | 42 ++++++++++++++++ plugins/trash/resource.qrc | 5 ++ plugins/trash/trashwidget.cpp | 7 +-- plugins/trash/trashwidget.h | 2 + 13 files changed, 117 insertions(+), 6 deletions(-) create mode 100644 plugins/onboard/icon/deepin-virtualkeyboard.svg create mode 100644 plugins/shutdown/resources/icons/system-shutdown.svg create mode 100644 plugins/trash/icons/user-trash.svg create mode 100644 plugins/trash/resource.qrc 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