mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
fix: 增加对控制中心设置不同主题下图标的接口
1、任务栏插件接口中增加根据主题来获取不同图标的接口 2、声音、蓝牙、电源、虚拟键盘、回收站等插件完善控制中心的接口 3、任务栏图标的显示根据不同的主题来获取 Log: 完善对控制中心设置不同主题的接口 Influence: 在控制中心切换主题,观察图标是否发生变化 Bug: https://pms.uniontech.com/bug-view-172365.html Change-Id: Ia02193c9ebcf10559195c6fb8fe6227f581e165b
This commit is contained in:
parent
c27b9788dc
commit
a41df224f6
@ -156,14 +156,15 @@ QList<PluginsItemInterface *> QuickSettingController::pluginInSettings()
|
||||
{
|
||||
QList<PluginsItemInterface *> settingPlugins;
|
||||
// 用于在控制中心显示可改变位置的插件,这里只提供
|
||||
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &plugins = ProxyPluginController::instance(PluginType::QuickPlugin)->pluginsMap();
|
||||
QList<PluginsItemInterface *> allPlugins = plugins.keys();
|
||||
QList<PluginsItemInterface *> allPlugins = ProxyPluginController::instance(PluginType::QuickPlugin)->pluginCurrent();
|
||||
for (PluginsItemInterface *plugin : allPlugins) {
|
||||
if (plugin->pluginDisplayName().isEmpty())
|
||||
continue;
|
||||
|
||||
PluginAttribute pluginAttr = pluginAttribute(plugin);
|
||||
if (pluginAttr == QuickSettingController::PluginAttribute::Quick
|
||||
|| pluginAttr == QuickSettingController::PluginAttribute::System
|
||||
|| pluginAttr == QuickSettingController::PluginAttribute::Tool
|
||||
|| pluginAttr == QuickSettingController::PluginAttribute::Tray)
|
||||
|| pluginAttr == QuickSettingController::PluginAttribute::Tool)
|
||||
settingPlugins << plugin;
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,8 @@
|
||||
#include "pluginsitem.h"
|
||||
#include "settingconfig.h"
|
||||
|
||||
#include <DGuiApplicationHelper>
|
||||
|
||||
#include <QScreen>
|
||||
#include <QDebug>
|
||||
#include <QGSettings>
|
||||
@ -39,14 +41,14 @@ QDebug operator<<(QDebug argument, const DockItemInfo &info)
|
||||
{
|
||||
argument << "name:" << info.name << ", displayName:" << info.displayName
|
||||
<< "itemKey:" << info.itemKey << "SettingKey:" << info.settingKey
|
||||
<< "icon:" << info.icon << "visible:" << info.visible;
|
||||
<< "icon_light:" << info.iconLight << "icon_dark:" << info.iconDark << "visible:" << info.visible;
|
||||
return argument;
|
||||
}
|
||||
|
||||
QDBusArgument &operator<<(QDBusArgument &arg, const DockItemInfo &info)
|
||||
{
|
||||
arg.beginStructure();
|
||||
arg << info.name << info.displayName << info.itemKey << info.settingKey << info.icon << info.visible;
|
||||
arg << info.name << info.displayName << info.itemKey << info.settingKey << info.iconLight << info.iconDark << info.visible;
|
||||
arg.endStructure();
|
||||
return arg;
|
||||
}
|
||||
@ -54,7 +56,7 @@ QDBusArgument &operator<<(QDBusArgument &arg, const DockItemInfo &info)
|
||||
const QDBusArgument &operator>>(const QDBusArgument &arg, DockItemInfo &info)
|
||||
{
|
||||
arg.beginStructure();
|
||||
arg >> info.name >> info.displayName >> info.itemKey >> info.settingKey >> info.icon >> info.visible;
|
||||
arg >> info.name >> info.displayName >> info.itemKey >> info.settingKey >> info.iconLight >> info.iconDark >> info.visible;
|
||||
arg.endStructure();
|
||||
return arg;
|
||||
}
|
||||
@ -180,12 +182,20 @@ DockItemInfos DBusDockAdaptors::plugins()
|
||||
info.settingKey = "Dock_Quick_Plugin_Name";
|
||||
info.visible = quickSettingKeys.contains(info.itemKey);
|
||||
QSize pixmapSize;
|
||||
QIcon icon = getSettingIcon(plugin, pixmapSize);
|
||||
if (!icon.isNull()) {
|
||||
QBuffer buffer(&info.icon);
|
||||
QIcon lightIcon = getSettingIcon(plugin, pixmapSize, DGuiApplicationHelper::ColorType::LightType);
|
||||
if (!lightIcon.isNull()) {
|
||||
QBuffer buffer(&info.iconLight);
|
||||
if (buffer.open(QIODevice::WriteOnly)) {
|
||||
QPixmap pixmap = icon.pixmap(pixmapSize);
|
||||
pixmap.save(&buffer, "bmp");
|
||||
QPixmap pixmap = lightIcon.pixmap(pixmapSize);
|
||||
pixmap.save(&buffer, "png");
|
||||
}
|
||||
}
|
||||
QIcon darkIcon = getSettingIcon(plugin, pixmapSize, DGuiApplicationHelper::ColorType::DarkType);
|
||||
if (!darkIcon.isNull()) {
|
||||
QBuffer buffer(&info.iconDark);
|
||||
if (buffer.open(QIODevice::WriteOnly)) {
|
||||
QPixmap pixmap = darkIcon.pixmap(pixmapSize);
|
||||
pixmap.save(&buffer, "png");
|
||||
}
|
||||
}
|
||||
pluginInfos << info;
|
||||
@ -311,7 +321,7 @@ QList<PluginsItemInterface *> DBusDockAdaptors::localPlugins() const
|
||||
return QuickSettingController::instance()->pluginInSettings();
|
||||
}
|
||||
|
||||
QIcon DBusDockAdaptors::getSettingIcon(PluginsItemInterface *plugin, QSize &pixmapSize) const
|
||||
QIcon DBusDockAdaptors::getSettingIcon(PluginsItemInterface *plugin, QSize &pixmapSize, int colorType) const
|
||||
{
|
||||
auto iconSize = [](const QIcon &icon) {
|
||||
QList<QSize> iconSizes = icon.availableSizes();
|
||||
@ -321,7 +331,7 @@ QIcon DBusDockAdaptors::getSettingIcon(PluginsItemInterface *plugin, QSize &pixm
|
||||
return defaultIconSize;
|
||||
};
|
||||
// 先获取控制中心的设置图标
|
||||
QIcon icon = plugin->icon(DockPart::DCCSetting);
|
||||
QIcon icon = plugin->icon(DockPart::DCCSetting, colorType);
|
||||
if (!icon.isNull()) {
|
||||
pixmapSize = iconSize(icon);
|
||||
return icon;
|
||||
@ -331,7 +341,7 @@ QIcon DBusDockAdaptors::getSettingIcon(PluginsItemInterface *plugin, QSize &pixm
|
||||
QuickSettingController::PluginAttribute pluginAttr = QuickSettingController::instance()->pluginAttribute(plugin);
|
||||
switch(pluginAttr) {
|
||||
case QuickSettingController::PluginAttribute::System: {
|
||||
icon = plugin->icon(DockPart::SystemPanel);
|
||||
icon = plugin->icon(DockPart::SystemPanel, colorType);
|
||||
pixmapSize = defaultIconSize;
|
||||
QList<QSize> iconSizes = icon.availableSizes();
|
||||
if (iconSizes.size() > 0)
|
||||
@ -339,9 +349,9 @@ QIcon DBusDockAdaptors::getSettingIcon(PluginsItemInterface *plugin, QSize &pixm
|
||||
break;
|
||||
}
|
||||
case QuickSettingController::PluginAttribute::Quick: {
|
||||
icon = plugin->icon(DockPart::QuickShow);
|
||||
icon = plugin->icon(DockPart::QuickShow, colorType);
|
||||
if (icon.isNull())
|
||||
icon = plugin->icon(DockPart::QuickPanel);
|
||||
icon = plugin->icon(DockPart::QuickPanel, colorType);
|
||||
pixmapSize = defaultIconSize;
|
||||
QList<QSize> iconSizes = icon.availableSizes();
|
||||
if (iconSizes.size() > 0)
|
||||
|
@ -40,7 +40,8 @@ struct DockItemInfo
|
||||
QString displayName;
|
||||
QString itemKey;
|
||||
QString settingKey;
|
||||
QByteArray icon;
|
||||
QByteArray iconLight;
|
||||
QByteArray iconDark;
|
||||
bool visible;
|
||||
};
|
||||
|
||||
@ -135,7 +136,7 @@ signals:
|
||||
private:
|
||||
bool isPluginValid(const QString &name);
|
||||
QList<PluginsItemInterface *> localPlugins() const;
|
||||
QIcon getSettingIcon(PluginsItemInterface *plugin, QSize &pixmapSize) const;
|
||||
QIcon getSettingIcon(PluginsItemInterface *plugin, QSize &pixmapSize, int colorType) const;
|
||||
|
||||
private:
|
||||
QGSettings *m_gsettings;
|
||||
|
@ -63,6 +63,11 @@ AbstractPluginsController::~AbstractPluginsController()
|
||||
}
|
||||
}
|
||||
|
||||
QList<PluginsItemInterface *> AbstractPluginsController::pluginCurrent() const
|
||||
{
|
||||
return m_pluginExists;
|
||||
}
|
||||
|
||||
void AbstractPluginsController::saveValue(PluginsItemInterface *const itemInter, const QString &key, const QVariant &value)
|
||||
{
|
||||
savePluginValue(getPluginInterface(itemInter), key, value);
|
||||
@ -85,6 +90,7 @@ void AbstractPluginsController::itemAdded(PluginsItemInterface * const itemInter
|
||||
if (pluginAdapter)
|
||||
pluginAdapter->setItemKey(itemKey);
|
||||
|
||||
m_pluginExists << pluginItem;
|
||||
pluginItemAdded(pluginItem, itemKey);
|
||||
}
|
||||
|
||||
@ -95,6 +101,7 @@ void AbstractPluginsController::itemUpdate(PluginsItemInterface * const itemInte
|
||||
|
||||
void AbstractPluginsController::itemRemoved(PluginsItemInterface * const itemInter, const QString &itemKey)
|
||||
{
|
||||
m_pluginExists.removeOne(itemInter);
|
||||
pluginItemRemoved(getPluginInterface(itemInter), itemKey);
|
||||
}
|
||||
|
||||
|
@ -43,6 +43,7 @@ public:
|
||||
~ AbstractPluginsController() override;
|
||||
|
||||
void updateDockInfo(PluginsItemInterface *const, const DockPart &) override {}
|
||||
virtual QList<PluginsItemInterface *> pluginCurrent() const;
|
||||
|
||||
virtual bool needLoad(PluginsItemInterface *) { return true; }
|
||||
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &pluginsMap();
|
||||
@ -101,6 +102,7 @@ private:
|
||||
|
||||
// filepath, interface, loaded
|
||||
QMap<QPair<QString, PluginsItemInterface *>, bool> m_pluginLoadMap;
|
||||
QList<PluginsItemInterface *> m_pluginExists;
|
||||
|
||||
QJsonObject m_pluginSettingsObject;
|
||||
QMap<qulonglong, PluginAdapter *> m_pluginAdapterMap;
|
||||
|
@ -29,6 +29,7 @@
|
||||
|
||||
#include <DStyleOption>
|
||||
#include <DStandardItem>
|
||||
#include <DGuiApplicationHelper>
|
||||
|
||||
#include <QDrag>
|
||||
#include <QScrollBar>
|
||||
@ -655,7 +656,7 @@ void QuickDockItem::leaveEvent(QEvent *event)
|
||||
QPixmap QuickDockItem::iconPixmap() const
|
||||
{
|
||||
int pixmapSize = static_cast<int>(ICONHEIGHT * qApp->devicePixelRatio());
|
||||
QIcon icon = m_pluginItem->icon(DockPart::QuickShow);
|
||||
QIcon icon = m_pluginItem->icon(DockPart::QuickShow, DGuiApplicationHelper::instance()->themeType());
|
||||
if (!icon.isNull())
|
||||
return icon.pixmap(pixmapSize, pixmapSize);
|
||||
|
||||
|
@ -278,6 +278,12 @@ public:
|
||||
///
|
||||
virtual QString description() const { return QString(); }
|
||||
|
||||
///
|
||||
/// the icon for the plugin
|
||||
/// themeType {0:UnknownType 1:LightType 2:DarkType}
|
||||
///
|
||||
virtual QIcon icon(const DockPart &dockPart, int themeType) { return icon(dockPart); }
|
||||
|
||||
protected:
|
||||
///
|
||||
/// \brief m_proxyInter
|
||||
|
@ -24,8 +24,12 @@
|
||||
#include "bluetoothwidget.h"
|
||||
#include "adaptersmanager.h"
|
||||
|
||||
#include <DGuiApplicationHelper>
|
||||
|
||||
#define STATE_KEY "enable"
|
||||
|
||||
DGUI_USE_NAMESPACE
|
||||
|
||||
BluetoothPlugin::BluetoothPlugin(QObject *parent)
|
||||
: QObject(parent)
|
||||
, m_adapterManager(new AdaptersManager(this))
|
||||
@ -150,6 +154,14 @@ QIcon BluetoothPlugin::icon(const DockPart &)
|
||||
return icon;
|
||||
}
|
||||
|
||||
QIcon BluetoothPlugin::icon(const DockPart &dockPart, int themeType)
|
||||
{
|
||||
if (themeType == DGuiApplicationHelper::ColorType::DarkType)
|
||||
return QIcon(":/bluetooth-active-symbolic.svg");
|
||||
|
||||
return QIcon(":/bluetooth-active-symbolic-dark.svg");
|
||||
}
|
||||
|
||||
PluginsItemInterface::PluginStatus BluetoothPlugin::status() const
|
||||
{
|
||||
if (m_bluetoothItem.data()->isPowered())
|
||||
|
@ -56,6 +56,7 @@ public:
|
||||
void pluginSettingsChanged() override;
|
||||
|
||||
QIcon icon(const DockPart &) override;
|
||||
QIcon icon(const DockPart &dockPart, int themeType) override;
|
||||
PluginStatus status() const override;
|
||||
QString description() const override;
|
||||
|
||||
|
7
plugins/onboard/icon/dcc_keyboard.svg
Normal file
7
plugins/onboard/icon/dcc_keyboard.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>icon/dock/keyboard</title>
|
||||
<g id="icon/dock/keyboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M14,2 C15.1045695,2 16,2.8954305 16,4 L16,12 C16,13.1045695 15.1045695,14 14,14 L2,14 C0.8954305,14 1.3527075e-16,13.1045695 0,12 L0,4 C-1.3527075e-16,2.8954305 0.8954305,2 2,2 L14,2 Z M13.9931545,3 L2.00684547,3 C1.45078007,3 1,3.4556644 1,3.99539757 L1,12.0046024 C1,12.5543453 1.44994876,13 2.00684547,13 L13.9931545,13 C14.5492199,13 15,12.5443356 15,12.0046024 L15,3.99539757 C15,3.44565467 14.5500512,3 13.9931545,3 Z M5,10 L5,12 L2,12 L2,10 L5,10 Z M11,10 L11,12 L6,12 L6,10 L11,10 Z M14,10 L14,12 L12,12 L12,10 L14,10 Z M6,7 L6,9 L2,9 L2,7 L6,7 Z M9,7 L9,9 L7,9 L7,7 L9,7 Z M14,7 L14,9 L10,9 L10,7 L14,7 Z M5,4 L5,6 L2,6 L2,4 L5,4 Z M8,4 L8,6 L6,6 L6,4 L8,4 Z M11,4 L11,6 L9,6 L9,4 L11,4 Z M14,4 L14,6 L12,6 L12,4 L14,4 Z" id="形状结合" fill="#536076"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -1,5 +1,6 @@
|
||||
<RCC>
|
||||
<qresource prefix="/icons">
|
||||
<file>icon/deepin-virtualkeyboard.svg</file>
|
||||
<file>icon/dcc_keyboard.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@ -167,6 +167,9 @@ void OnboardPlugin::pluginSettingsChanged()
|
||||
|
||||
QIcon OnboardPlugin::icon(const DockPart &dockPart)
|
||||
{
|
||||
if (dockPart == DockPart::DCCSetting)
|
||||
return QIcon(":/icons/icon/dcc_keyboard.svg");
|
||||
|
||||
if (dockPart == DockPart::QuickPanel)
|
||||
return m_onboardItem->iconPixmap(24);
|
||||
|
||||
|
7
plugins/shutdown/resources/icons/dcc_shutdown.svg
Normal file
7
plugins/shutdown/resources/icons/dcc_shutdown.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>icon/dock-set/power</title>
|
||||
<g id="icon/dock-set/power" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.35903478,3.72431037 C5.19110576,3.5050971 4.87726493,3.46352301 4.65805167,3.63145203 C3.30807232,4.665608 2.5,6.26636725 2.5,8 C2.5,11.0375661 4.96243388,13.5 8,13.5 C11.0375661,13.5 13.5,11.0375661 13.5,8 C13.5,6.27318712 12.698307,4.67801229 11.357281,3.64324033 C11.1386573,3.47454441 10.8246728,3.51501883 10.6559769,3.73364248 C10.487281,3.95226613 10.5277554,4.26625067 10.746379,4.43494659 C11.8445789,5.28234731 12.5,6.58647654 12.5,8 C12.5,10.4852814 10.4852814,12.5 8,12.5 C5.51471863,12.5 3.5,10.4852814 3.5,8 C3.5,6.58090106 4.1606451,5.27218928 5.26617644,4.42529349 C5.4853897,4.25736447 5.5269638,3.94352364 5.35903478,3.72431037 Z M8,2.5 C7.72385763,2.5 7.5,2.72385763 7.5,3 L7.5,3 L7.5,7.5 C7.5,7.77614237 7.72385763,8 8,8 C8.27614237,8 8.5,7.77614237 8.5,7.5 L8.5,7.5 L8.5,3 C8.5,2.72385763 8.27614237,2.5 8,2.5 Z" id="形状结合" fill="#536076"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
@ -3,5 +3,6 @@
|
||||
<file>resources/icons/fashion.svg</file>
|
||||
<file>resources/icons/normal.svg</file>
|
||||
<file>resources/icons/system-shutdown.svg</file>
|
||||
<file>resources/icons/dcc_shutdown.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@ -60,7 +60,7 @@ const QString ShutdownPlugin::pluginName() const
|
||||
|
||||
const QString ShutdownPlugin::pluginDisplayName() const
|
||||
{
|
||||
return tr("Power");
|
||||
return tr("shutdown");
|
||||
}
|
||||
|
||||
QWidget *ShutdownPlugin::itemWidget(const QString &itemKey)
|
||||
@ -304,7 +304,8 @@ void ShutdownPlugin::pluginSettingsChanged()
|
||||
|
||||
QIcon ShutdownPlugin::icon(const DockPart &dockPart)
|
||||
{
|
||||
Q_UNUSED(dockPart);
|
||||
if (dockPart == DockPart::DCCSetting)
|
||||
return QIcon(":/icons/resources/icons/dcc_shutdown.svg");
|
||||
|
||||
QIcon shutdownIcon;
|
||||
shutdownIcon.addPixmap(m_shutdownWidget->loadPixmap());
|
||||
|
@ -254,6 +254,50 @@ QPixmap SoundItem::pixmap() const
|
||||
return m_iconPixmap;
|
||||
}
|
||||
|
||||
QPixmap SoundItem::pixmap(int colorType) const
|
||||
{
|
||||
const Dock::DisplayMode displayMode = Dock::DisplayMode::Efficient;
|
||||
|
||||
const double volmue = m_applet->volumeValue();
|
||||
const double maxVolmue = m_applet->maxVolumeValue();
|
||||
const bool mute = m_applet->existActiveOutputDevice() ? m_sinkInter->mute() : true;
|
||||
|
||||
QString iconString;
|
||||
if (displayMode == Dock::Fashion) {
|
||||
QString volumeString;
|
||||
if (volmue >= 1000)
|
||||
volumeString = "100";
|
||||
else
|
||||
volumeString = QString("0") + ('0' + int(volmue / 100)) + "0";
|
||||
|
||||
iconString = "audio-volume-" + volumeString;
|
||||
|
||||
if (mute)
|
||||
iconString += "-muted";
|
||||
} else {
|
||||
QString volumeString;
|
||||
if (mute)
|
||||
volumeString = "muted";
|
||||
else if (int(volmue) == 0)
|
||||
volumeString = "off";
|
||||
else if (volmue / maxVolmue > double(2) / 3)
|
||||
volumeString = "high";
|
||||
else if (volmue / maxVolmue > double(1) / 3)
|
||||
volumeString = "medium";
|
||||
else
|
||||
volumeString = "low";
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
void SoundItem::sinkChanged(DBusSink *sink)
|
||||
{
|
||||
m_sinkInter = sink;
|
||||
|
@ -51,6 +51,7 @@ public:
|
||||
void refreshIcon();
|
||||
void refreshTips(const int volume, const bool force = false);
|
||||
QPixmap pixmap() const;
|
||||
QPixmap pixmap(int colorType) const;
|
||||
|
||||
signals:
|
||||
void requestContextMenu() const;
|
||||
|
@ -148,6 +148,11 @@ QIcon SoundPlugin::icon(const DockPart &)
|
||||
return m_soundItem->pixmap();
|
||||
}
|
||||
|
||||
QIcon SoundPlugin::icon(const DockPart &dockPart, int themeType)
|
||||
{
|
||||
return m_soundItem->pixmap(themeType);
|
||||
}
|
||||
|
||||
PluginsItemInterface::PluginStatus SoundPlugin::status() const
|
||||
{
|
||||
return SoundPlugin::Active;
|
||||
|
@ -52,6 +52,7 @@ public:
|
||||
void refreshIcon(const QString &itemKey) override;
|
||||
void pluginSettingsChanged() override;
|
||||
QIcon icon(const DockPart &) override;
|
||||
QIcon icon(const DockPart &dockPart, int themeType) override;
|
||||
PluginStatus status() const override;
|
||||
|
||||
private:
|
||||
|
9
plugins/trash/icons/dcc_trash.svg
Normal file
9
plugins/trash/icons/dcc_trash.svg
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>icon/dock/trash</title>
|
||||
<g id="icon/dock/trash" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="ICON-/-Action-/-Delete" transform="translate(2.000000, 1.000000)" fill="#536076">
|
||||
<path d="M6,0 C9.3137085,0 12,0.927517607 12,2.33333333 C12,2.36106207 11.953792,2.58428654 11.8613761,3.00300675 L11.8113175,3.22865817 C11.5058314,4.59966698 10.8293981,7.54007214 9.78201742,12.0498737 L9.68861237,12.451864 C9.6289802,12.7085364 9.47044588,12.9312968 9.24747157,13.0717216 C8.26482407,13.6905739 7.18233355,14 6,14 C4.91617954,14 3.91625723,13.739989 3.00023307,13.2199671 L2.75248331,13.0717045 C2.52951762,12.9312828 2.37098512,12.7085342 2.31134306,12.4518733 C0.770447686,5.82085682 0,2.44801015 0,2.33333333 C0,0.927517607 2.6862915,0 6,0 Z M6,1.16666667 C3.3490332,1.16666667 1.2,1.68900113 1.2,2.33333333 C1.2,2.97766554 3.3490332,3.5 6,3.5 C8.6509668,3.5 10.8,2.97766554 10.8,2.33333333 C10.8,1.68900113 8.6509668,1.16666667 6,1.16666667 Z" id="形状结合"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
@ -1,5 +1,6 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>icons/dcc_trash.svg</file>
|
||||
<file>icons/user-trash.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@ -188,6 +188,14 @@ void TrashPlugin::pluginSettingsChanged()
|
||||
refreshPluginItemsVisible();
|
||||
}
|
||||
|
||||
QIcon TrashPlugin::icon(const DockPart &dockPart, int themeType)
|
||||
{
|
||||
if (dockPart == DockPart::DCCSetting)
|
||||
return QIcon(":/icons/dcc_trash.svg");
|
||||
|
||||
return QIcon();
|
||||
}
|
||||
|
||||
void TrashPlugin::refreshPluginItemsVisible()
|
||||
{
|
||||
if (pluginIsDisable()) {
|
||||
|
@ -62,6 +62,7 @@ public:
|
||||
void setSortKey(const QString &itemKey, const int order) override;
|
||||
void displayModeChanged(const Dock::DisplayMode displayMode) override;
|
||||
void pluginSettingsChanged() override;
|
||||
QIcon icon(const DockPart &dockPart, int themeType) override;
|
||||
|
||||
private:
|
||||
void refreshPluginItemsVisible();
|
||||
|
Loading…
x
Reference in New Issue
Block a user