From 578db7a362e78c6f924b0fc41a4fb320c3846087 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Wed, 7 Aug 2024 11:28:11 +0800 Subject: [PATCH 01/30] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=97=A7dock=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1=E7=9A=84=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interfaces/constants.h | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/interfaces/constants.h b/interfaces/constants.h index 2302fe40..36a9fced 100644 --- a/interfaces/constants.h +++ b/interfaces/constants.h @@ -27,17 +27,30 @@ namespace Dock { #define DOCK_PLUGIN_MIME "dock/plugin" -#define DOCK_PLUGIN_API_VERSION "1.2.1" #define PLUGIN_BACKGROUND_MIN_SIZE 16 #define PLUGIN_BACKGROUND_MAX_SIZE 1024 +#define DOCK_PLUGIN_API_VERSION "1.2.2" #define PROP_DISPLAY_MODE "DisplayMode" + +#define PLUGIN_BACKGROUND_MAX_SIZE 40 +#define PLUGIN_BACKGROUND_MIN_SIZE 20 + +#define PLUGIN_ICON_MAX_SIZE 20 + +// 需求变更成插件图标始终保持20x20,但16x16的资源还在。所以暂时保留此宏 +#define PLUGIN_ICON_MIN_SIZE 20 + +// 插件最小尺寸,图标采用深色 +#define PLUGIN_MIN_ICON_NAME "-dark" + +// dock最大尺寸 +#define DOCK_MAX_SIZE 100 /// /// \brief The DisplayMode enum /// spec dock display mode /// -enum DisplayMode -{ +enum DisplayMode { Fashion = 0, Efficient = 1, // deprecreated @@ -49,8 +62,7 @@ enum DisplayMode /// \brief The HideMode enum /// spec dock hide behavior /// -enum HideMode -{ +enum HideMode { KeepShowing = 0, KeepHidden = 1, SmartHide = 3, @@ -62,8 +74,7 @@ enum HideMode /// spec dock position, dock always placed at primary screen, /// so all position is the primary screen edge. /// -enum Position -{ +enum Position { Top = 0, Right = 1, Bottom = 2, @@ -76,8 +87,7 @@ enum Position /// spec current dock should hide or shown. /// this argument works only HideMode is SmartHide /// -enum HideState -{ +enum HideState { Unknown = 0, Show = 1, Hide = 2, -- Gitee From 343f4b2bbae50f1f3bbb3b00a53538fa1d201813 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Wed, 7 Aug 2024 11:29:55 +0800 Subject: [PATCH 02/30] =?UTF-8?q?=E6=94=B9=E4=B8=8BAPI=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interfaces/constants.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/constants.h b/interfaces/constants.h index 36a9fced..5a09376e 100644 --- a/interfaces/constants.h +++ b/interfaces/constants.h @@ -29,7 +29,7 @@ namespace Dock { #define DOCK_PLUGIN_MIME "dock/plugin" #define PLUGIN_BACKGROUND_MIN_SIZE 16 #define PLUGIN_BACKGROUND_MAX_SIZE 1024 -#define DOCK_PLUGIN_API_VERSION "1.2.2" +#define DOCK_PLUGIN_API_VERSION "1.2.1" #define PROP_DISPLAY_MODE "DisplayMode" -- Gitee From 1af3b20412658e0914b308ee7bc0c34e3e8be2c9 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Wed, 7 Aug 2024 16:55:38 +0800 Subject: [PATCH 03/30] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frame/main.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/frame/main.cpp b/frame/main.cpp index 2f52c68d..e4b9ea7a 100644 --- a/frame/main.cpp +++ b/frame/main.cpp @@ -99,19 +99,17 @@ int main(int argc, char *argv[]) #ifndef QT_DEBUG QDir::setCurrent(QApplication::applicationDirPath()); #endif - MainWindow mw; - DBusDockAdaptors adaptor(&mw); - QDBusConnection::sessionBus().registerService("com.deepin.dde.Dock"); - QDBusConnection::sessionBus().registerObject("/com/deepin/dde/Dock", "com.deepin.dde.Dock", &mw); if (!QFile::exists(QDir::homePath() + "/.config/gxde/gxde-dock/dock-hide")) { - QTimer::singleShot(1, &mw, &MainWindow::launch); - } + DBusDockAdaptors adaptor(&mw); + QDBusConnection::sessionBus().registerService("com.deepin.dde.Dock"); + QDBusConnection::sessionBus().registerObject("/com/deepin/dde/Dock", "com.deepin.dde.Dock", &mw); + QTimer::singleShot(1, &mw, &MainWindow::launch); + if (!parser.isSet(disablePlugOption)) { + DockItemController::instance()->startLoadPlugins(); + } - if (!parser.isSet(disablePlugOption)) { - DockItemController::instance()->startLoadPlugins(); } - return app.exec(); } -- Gitee From 57ed550c7279e1869febca2518660bd28d5fbb36 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Wed, 7 Aug 2024 17:21:05 +0800 Subject: [PATCH 04/30] change version --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index af61c66a..95ff7f68 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -dde-dock (4.10.11gxde3) UNRELEASED; urgency=medium +dde-dock (4.10.11gxde4) UNRELEASED; urgency=medium * Support hide dde dock -- Gitee From 4e5a524d9a26125358300545399a1caa242e8329 Mon Sep 17 00:00:00 2001 From: gfdgd-xi <3025613752@qq.com> Date: Thu, 15 Aug 2024 13:39:37 +0000 Subject: [PATCH 05/30] dtk2 --- debian/control | 6 +-- frame/item/components/appsnapshot.cpp | 53 +++++++++++++-------------- frame/item/components/appsnapshot.h | 2 +- frame/util/dockpopupwindow.h | 2 +- 4 files changed, 30 insertions(+), 33 deletions(-) diff --git a/debian/control b/debian/control index 253c2da9..ee905989 100644 --- a/debian/control +++ b/debian/control @@ -13,8 +13,8 @@ Build-Depends: debhelper (>= 8.0.0), libqt5svg5-dev, libxcb-icccm4-dev, libxtst-dev, - libdtkwidget-dev, - libdtkcore-dev, + libdtkwidget2-dev, + libdtkcore2-dev, # libdtkcore-bin, qttools5-dev-tools, libxcb-icccm4-dev, @@ -24,7 +24,7 @@ Build-Depends: debhelper (>= 8.0.0), cmake, libdde-network-utils-dev (>= 15.11~0.1.4), libdbusmenu-qt5-dev, - libdtkcore5-bin, + libdtkcore-bin, clang [mips64el] Standards-Version: 3.9.8 Homepage: http://www.deepin.org/ diff --git a/frame/item/components/appsnapshot.cpp b/frame/item/components/appsnapshot.cpp index 472950c0..3eaa11f5 100644 --- a/frame/item/components/appsnapshot.cpp +++ b/frame/item/components/appsnapshot.cpp @@ -22,8 +22,6 @@ #include "appsnapshot.h" #include "previewcontainer.h" -#include - #include #include #include @@ -36,14 +34,16 @@ #include #include -struct SHMInfo { +struct SHMInfo +{ long shmid; long width; long height; long bytesPerLine; long format; - struct Rect { + struct Rect + { long x; long y; long width; @@ -142,7 +142,7 @@ void AppSnapshot::fetchSnapshot() if (info) { qDebug() << "get Image from dxcbplugin SHM..."; //qDebug() << info->shmid << info->width << info->height << info->bytesPerLine << info->format << info->rect.x << info->rect.y << info->rect.width << info->rect.height; - image_data = (uchar *)shmat(info->shmid, 0, 0); + image_data = (uchar*)shmat(info->shmid, 0, 0); if ((qint64)image_data != -1) { m_snapshot = QImage(image_data, info->width, info->height, info->bytesPerLine, (QImage::Format)info->format); m_snapshotSrcRect = QRect(info->rect.x, info->rect.y, info->rect.width, info->rect.height); @@ -152,17 +152,19 @@ void AppSnapshot::fetchSnapshot() image_data = nullptr; } - if (!image_data || qimage.isNull()) { + if (!image_data || qimage.isNull()) + { // get window image from XGetImage(a little slow) qDebug() << "get Image from dxcbplugin SHM failed!"; qDebug() << "get Image from Xlib..."; ximage = getImageXlib(); - if (!ximage) { + if (!ximage) + { qDebug() << "get Image from Xlib failed! giving up..."; emit requestCheckWindow(); return; } - qimage = QImage((const uchar *)(ximage->data), ximage->width, ximage->height, ximage->bytes_per_line, QImage::Format_RGB32); + qimage = QImage((const uchar*)(ximage->data), ximage->width, ximage->height, ximage->bytes_per_line, QImage::Format_RGB32); } Q_ASSERT(!qimage.isNull()); @@ -198,7 +200,8 @@ void AppSnapshot::enterEvent(QEvent *e) if (!m_wmHelper->hasComposite()) { m_closeBtn2D->setVisible(true); - } else { + } + else { emit entered(wid()); } @@ -218,7 +221,8 @@ void AppSnapshot::paintEvent(QPaintEvent *e) { QPainter painter(this); - if (!m_wmHelper->hasComposite()) { + if (!m_wmHelper->hasComposite()) + { if (underMouse()) painter.fillRect(rect(), QColor(255, 255, 255, 255 * .2)); return; @@ -230,7 +234,8 @@ void AppSnapshot::paintEvent(QPaintEvent *e) const auto ratio = devicePixelRatioF(); // draw attention background - if (m_windowInfo.attention) { + if (m_windowInfo.attention) + { painter.setBrush(QColor(241, 138, 46, 255 * .8)); painter.setPen(Qt::NoPen); painter.drawRoundedRect(rect(), 5, 5); @@ -239,19 +244,9 @@ void AppSnapshot::paintEvent(QPaintEvent *e) // draw image const QImage &im = m_snapshot; - const qreal offset_x = width() / 2.0 - m_snapshotSrcRect.width() / ratio / 2 - m_snapshotSrcRect.left() / ratio; - const qreal offset_y = height() / 2.0 - m_snapshotSrcRect.height() / ratio / 2 - m_snapshotSrcRect.top() / ratio; - - DStyleHelper dstyle(style()); - const int radius = dstyle.pixelMetric(DStyle::PM_FrameRadius); - - QBrush brush; - brush.setTextureImage(im); - painter.setBrush(brush); - painter.setPen(Qt::NoPen); - painter.scale(1 / ratio, 1 / ratio); - painter.translate(QPoint(offset_x * ratio, offset_y * ratio)); - painter.drawRoundedRect(m_snapshotSrcRect, radius * ratio, radius * ratio); + const qreal offset_x = width() / 2.0 - m_snapshotSrcRect.width() / ratio / 2; + const qreal offset_y = height() / 2.0 - m_snapshotSrcRect.height() / ratio / 2; + painter.drawImage(QPointF(offset_x, offset_y), im, m_snapshotSrcRect); } void AppSnapshot::resizeEvent(QResizeEvent *e) @@ -268,7 +263,7 @@ void AppSnapshot::mousePressEvent(QMouseEvent *e) emit clicked(m_wid); } -SHMInfo *AppSnapshot::getImageDSHM() +SHMInfo * AppSnapshot::getImageDSHM() { const auto display = QX11Info::display(); @@ -284,8 +279,8 @@ SHMInfo *AppSnapshot::getImageDSHM() unsigned char *prop_return_deepin_shm; XGetWindowProperty(display, m_wid, atom_prop, 0, 32 * 9, false, AnyPropertyType, - &actual_type_return_deepin_shm, &actual_format_return_deepin_shm, &nitems_return_deepin_shm, - &bytes_after_return_deepin_shm, &prop_return_deepin_shm); + &actual_type_return_deepin_shm, &actual_format_return_deepin_shm, &nitems_return_deepin_shm, + &bytes_after_return_deepin_shm, &prop_return_deepin_shm); //qDebug() << actual_type_return_deepin_shm << actual_format_return_deepin_shm << nitems_return_deepin_shm << bytes_after_return_deepin_shm << prop_return_deepin_shm; @@ -314,7 +309,8 @@ QRect AppSnapshot::rectRemovedShadow(const QImage &qimage, unsigned char *prop_t const auto r = XGetWindowProperty(display, m_wid, gtk_frame_extents, 0, 4, false, XA_CARDINAL, &actual_type_return_gtk, &actual_format_return_gtk, &n_items_return_gtk, &bytes_after_return_gtk, &prop_to_return_gtk); - if (!r && prop_to_return_gtk && n_items_return_gtk == 4 && actual_format_return_gtk == 32) { + if (!r && prop_to_return_gtk && n_items_return_gtk == 4 && actual_format_return_gtk == 32) + { qDebug() << "remove shadow frame..."; const unsigned long *extents = reinterpret_cast(prop_to_return_gtk); const int left = extents[0]; @@ -329,3 +325,4 @@ QRect AppSnapshot::rectRemovedShadow(const QImage &qimage, unsigned char *prop_t return QRect(0, 0, qimage.width(), qimage.height()); } } + diff --git a/frame/item/components/appsnapshot.h b/frame/item/components/appsnapshot.h index 7d2e5fa3..e40f1b25 100644 --- a/frame/item/components/appsnapshot.h +++ b/frame/item/components/appsnapshot.h @@ -33,7 +33,7 @@ #include DWIDGET_USE_NAMESPACE -DGUI_USE_NAMESPACE +DTK_USE_NAMESPACE #define SNAP_WIDTH 200 #define SNAP_HEIGHT 130 diff --git a/frame/util/dockpopupwindow.h b/frame/util/dockpopupwindow.h index 0ad85765..d486bbc3 100644 --- a/frame/util/dockpopupwindow.h +++ b/frame/util/dockpopupwindow.h @@ -27,7 +27,7 @@ #include DWIDGET_USE_NAMESPACE -DGUI_USE_NAMESPACE +DTK_USE_NAMESPACE class DockPopupWindow : public Dtk::Widget::DArrowRectangle { -- Gitee From 0ec3e23b451c82dbed4024aa1c414c63926c08f3 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sun, 18 Aug 2024 11:28:00 +0800 Subject: [PATCH 06/30] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 95ff7f68..b3e20748 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ -dde-dock (4.10.11gxde4) UNRELEASED; urgency=medium +dde-dock (4.10.12) UNRELEASED; urgency=medium * Support hide dde dock + * - -- gfdgd_xi <3025613752@qq.com> Mon, 05 Aug 2024 12:10:49 +0800 + -- gfdgd_xi <3025613752@qq.com> Sun, 18 Aug 2024 11:27:44 +0800 dde-dock (4.10.9gxde0) unstable; urgency=low -- Gitee From 1a8830e55f3fcc852a0a3e3e8b961f6fcd6db4cd Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 24 Aug 2024 08:43:34 +0800 Subject: [PATCH 07/30] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=A0=8F=E5=B9=B6?= =?UTF-8?q?=E5=85=A5=E8=B5=84=E6=BA=90=E7=9B=91=E8=A7=86=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/CMakeLists.txt | 1 + plugins/dde-sys-monitor-plugin/.gitignore | 1 + plugins/dde-sys-monitor-plugin/CMakeLists.txt | 106 ++ plugins/dde-sys-monitor-plugin/LICENSE | 339 ++++ plugins/dde-sys-monitor-plugin/README.md | 104 ++ .../dde-sys-monitor-plugin/aboutdialog.cpp | 29 + plugins/dde-sys-monitor-plugin/aboutdialog.h | 31 + plugins/dde-sys-monitor-plugin/aboutdialog.ui | 176 ++ ...-dock-monitor-plugin_1.7.2spark0_amd64.deb | Bin 0 -> 64264 bytes .../bin/libsys_monitor.zip | Bin 0 -> 83458 bytes plugins/dde-sys-monitor-plugin/build.sh | 9 + .../image/chartmode1.jpg | Bin 0 -> 21870 bytes .../image/chartmode2.jpg | Bin 0 -> 14960 bytes ...5\347\224\265\347\212\266\346\200\201.png" | Bin 0 -> 39405 bytes ...6\347\224\265\347\212\266\346\200\201.png" | Bin 0 -> 17355 bytes ...7\244\272CPU\345\206\205\345\255\230.jpeg" | Bin 0 -> 15185 bytes ...\347\244\272\347\275\221\351\200\237.jpeg" | Bin 0 -> 14702 bytes ...6\347\244\272\345\206\205\345\256\271.png" | Bin 0 -> 30013 bytes ...7\345\205\250\346\230\276\347\244\272.png" | Bin 0 -> 32674 bytes ...7\244\272CPU\345\206\205\345\255\230.jpeg" | Bin 0 -> 14252 bytes ...\347\244\272\347\275\221\351\200\237.jpeg" | Bin 0 -> 14098 bytes ...\351\224\256\350\217\234\345\215\225.jpeg" | Bin 0 -> 12488 bytes .../dde-sys-monitor-plugin/image/setting1.jpg | Bin 0 -> 18907 bytes .../dde-sys-monitor-plugin/image/setting2.jpg | Bin 0 -> 26177 bytes .../image/wordmode1.jpg | Bin 0 -> 25337 bytes .../image/wordmode2.jpg | Bin 0 -> 17646 bytes plugins/dde-sys-monitor-plugin/mainwidget.cpp | 299 ++++ plugins/dde-sys-monitor-plugin/mainwidget.h | 55 + .../pluginsettingdialog.cpp | 115 ++ .../pluginsettingdialog.h | 34 + .../pluginsettingdialog.ui | 1471 +++++++++++++++++ .../dde-sys-monitor-plugin/streamchart.cpp | 65 + plugins/dde-sys-monitor-plugin/streamchart.h | 36 + .../dde-sys-monitor-plugin/sys_monitor.json | 4 + .../dde-sys-monitor-plugin/sys_monitor.qrc | 5 + .../sysmonitorplugin.cpp | 424 +++++ .../dde-sys-monitor-plugin/sysmonitorplugin.h | 101 ++ plugins/dde-sys-monitor-plugin/type.h | 35 + 38 files changed, 3440 insertions(+) create mode 100644 plugins/dde-sys-monitor-plugin/.gitignore create mode 100755 plugins/dde-sys-monitor-plugin/CMakeLists.txt create mode 100644 plugins/dde-sys-monitor-plugin/LICENSE create mode 100755 plugins/dde-sys-monitor-plugin/README.md create mode 100644 plugins/dde-sys-monitor-plugin/aboutdialog.cpp create mode 100644 plugins/dde-sys-monitor-plugin/aboutdialog.h create mode 100644 plugins/dde-sys-monitor-plugin/aboutdialog.ui create mode 100644 plugins/dde-sys-monitor-plugin/bin/dde-dock-monitor-plugin_1.7.2spark0_amd64.deb create mode 100644 plugins/dde-sys-monitor-plugin/bin/libsys_monitor.zip create mode 100755 plugins/dde-sys-monitor-plugin/build.sh create mode 100644 plugins/dde-sys-monitor-plugin/image/chartmode1.jpg create mode 100644 plugins/dde-sys-monitor-plugin/image/chartmode2.jpg create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\345\205\205\347\224\265\347\212\266\346\200\201.png" create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\224\276\347\224\265\347\212\266\346\200\201.png" create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\227\266\345\260\232\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272CPU\345\206\205\345\255\230.jpeg" create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\227\266\345\260\232\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\350\256\276\347\275\256\346\230\276\347\244\272\345\206\205\345\256\271.png" create mode 100755 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\205\250\346\230\276\347\244\272.png" create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272CPU\345\206\205\345\255\230.jpeg" create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" create mode 100644 "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\263\351\224\256\350\217\234\345\215\225.jpeg" create mode 100644 plugins/dde-sys-monitor-plugin/image/setting1.jpg create mode 100644 plugins/dde-sys-monitor-plugin/image/setting2.jpg create mode 100644 plugins/dde-sys-monitor-plugin/image/wordmode1.jpg create mode 100644 plugins/dde-sys-monitor-plugin/image/wordmode2.jpg create mode 100644 plugins/dde-sys-monitor-plugin/mainwidget.cpp create mode 100644 plugins/dde-sys-monitor-plugin/mainwidget.h create mode 100644 plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp create mode 100644 plugins/dde-sys-monitor-plugin/pluginsettingdialog.h create mode 100644 plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui create mode 100644 plugins/dde-sys-monitor-plugin/streamchart.cpp create mode 100644 plugins/dde-sys-monitor-plugin/streamchart.h create mode 100755 plugins/dde-sys-monitor-plugin/sys_monitor.json create mode 100755 plugins/dde-sys-monitor-plugin/sys_monitor.qrc create mode 100755 plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp create mode 100755 plugins/dde-sys-monitor-plugin/sysmonitorplugin.h create mode 100644 plugins/dde-sys-monitor-plugin/type.h diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 9f2425df..2abfb4f2 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -1,5 +1,6 @@ add_subdirectory("datetime") +add_subdirectory("dde-sys-monitor-plugin") #add_subdirectory("disk-mount") add_subdirectory("network") add_subdirectory("shutdown") diff --git a/plugins/dde-sys-monitor-plugin/.gitignore b/plugins/dde-sys-monitor-plugin/.gitignore new file mode 100644 index 00000000..567609b1 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/plugins/dde-sys-monitor-plugin/CMakeLists.txt b/plugins/dde-sys-monitor-plugin/CMakeLists.txt new file mode 100755 index 00000000..32f7f882 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/CMakeLists.txt @@ -0,0 +1,106 @@ +# 学习 cmake 时建议直接从命令列表作为入口,遇到不清楚意思的命令都可以在此处查阅: +# https://cmake.org/cmake/help/latest/manual/cmake-commands.7.html +# 另外下面是完整的文档入口: +# https://cmake.org/cmake/help/latest/ + +# 设置运行该脚本所需的 cmake 最低版本 +cmake_minimum_required(VERSION 3.9) + +# 使用 set 命令设置一个变量 +set(PLUGIN_NAME "sys_monitor") +# set(CMAKE_CXX_COMPILER "/usr/bin/g++") + +# 设置项目名称 +project(${PLUGIN_NAME}) + +# 启用 qt moc 的支持 +set(CMAKE_AUTOMOC ON) +# 启用 qrc 资源文件的支持 +set(CMAKE_AUTORCC ON) +#打开全局uic +set(CMAKE_AUTOUIC ON) + +# generate a compile commands file as complete database for vim-YouCompleteMe or some other similar tools +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +# 指定所有源码文件 +# 使用了 cmake 的 file 命令,递归查找项目目录下所有头文件和源码文件, +# 并将结果放入 SRCS 变量中,SRCS 变量可用于后续使用 +file(GLOB_RECURSE SRCS "*.h" "*.cpp" "*.ui") + +# 指定要用到的库 +# 使用了 cmake 的 find_package 命令,查找库 Qt5Widgets 等, +# REQUIRED 参数表示如果没有找到则报错 +# find_package 命令在找到并加载指定的库之后会设置一些变量, +# 常用的有: +# <库名>_FOUND 是否找到(Qt5Widgets_FOUND) +# <库名>_DIR 在哪个目录下找到的(Qt5Widgets_DIR) +# <库名>_INCLUDE_DIRS 有哪些头文件目录(Qt5Widgets_INCLUDE_DIRS) +# <库名>_LIBRARIES 有哪些库文件(Qt5Widgets_LIBRARIES) +find_package(Qt5Widgets REQUIRED) +find_package(DtkWidget REQUIRED) + +# find_package 命令还可以用来加载 cmake 的功能模块 +# 并不是所有的库都直接支持 cmake 查找的,但大部分都支持了 pkg-config 这个标准, +# 因此 cmake 提供了间接加载库的模块:FindPkgConfig, 下面这行命令表示加载 FindPkgConfig 模块, +# 这个 cmake 模块提供了额外的基于 “pkg-config” 加载库的能力 +# 执行下面的命令后后会设置如下变量,不过一般用不到: +# PKG_CONFIG_FOUND pkg-config 可执行文件是否找到了 +# PKG_CONFIG_EXECUTABLE pkg-config 可执行文件的路径 +# PKG_CONFIG_VERSION_STRING pkg-config 的版本信息 +find_package(PkgConfig REQUIRED) + +# 加载 FindPkgConfig 模块后就可以使用 pkg_check_modules 命令加载需要的库 +# pkg_check_modules 命令是由 FindPkgConfig 模块提供的,因此要使用这个命令必须先加载 FindPkgConfig 模块。 +# 执行 pkg_check_modules 命令加载库也会设置一些类似执行 find_package 加载库后设置的变量: +# DdeDockInterface_FOUND +# DdeDockInterface_INCLUDE_DIRS +# DdeDockInterface_LIBRARIES +# 还有有另外的一些变量以及更灵活的用法,比如一次性查找多个库,这些请自行查找 cmake 文档学习。 +#pkg_check_modules(DdeDockInterface REQUIRED dde-dock) + +# add_definitions 命令用于声明/定义一些编译/预处理参数 +# 根据 cmake 文档描述此命令已经由另外几个功能划分的更为细致的命令所取代,具体请查阅文档 +# 在我们这里的例子应该使用较新的 add_compile_definitions 命令,不过为了保持与 dock 已有插件一致, +# 暂时仍然使用 add_definitions,add_definitions 的语法很简单就是直接写要定义的 flag 并在前面加上 "-D" 即可 +# 括号中的 ${QT_DEFINITIONS} 变量会在执行 cmake 时展开为它的值,这个变量属于历史遗留,应该是在 qt3/qt4 时有用, +# 基于 qt5 或更高版本的新插件不必使用此变量。要查看 qt5 的库定义了哪些变量应该查看变量:${Qt5Widgets_DEFINITIONS} +add_definitions("${QT_DEFINITIONS} -DQT_PLUGIN") + +# 新增一个编译目标 +# 这里使用命令 add_library 来表示本项目要生成一个库文件目标, +# 类似的还有命令 add_executable 添加一个可执行二进制目标,甚至 add_custom_target(使用较少) 添加自定义目标 +# SHARED 表示生成的库应该是动态库, +# 变量 ${PLUGIN_NAME} 和 ${SRCS} 都是前面处理好的, +# 另外 qrc 资源文件也应该追加在后面以编译进目标中。 +add_library(${PLUGIN_NAME} SHARED ${SRCS} sys_monitor.qrc) + +# 设置目标的生成位置,这里表示生成在执行 make 的目录, +# 另外还有很多可用于设置的属性,可查阅 cmake 文档。 +set_target_properties(${PLUGIN_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ./) +target_include_directories(${PLUGIN_NAME} PUBLIC ${DtkWidget_INCLUDE_DIRS} ../../interfaces) +# 设置目标要使用的 include 目录,即头文件目录 +# 变量 ${DtkWidget_INCLUDE_DIRS} 是在前面执行 find_package 命令时引入的 +# 当出现编译失败提示找不到某些库的头文件时应该检查此处是否将所有需要的头文件都包含了 +target_include_directories(${PLUGIN_NAME} PUBLIC + ${Qt5Widgets_INCLUDE_DIRS} + ${DtkWidget_INCLUDE_DIRS} + #${DdeDockInterface_INCLUDE_DIRS} +) + +# 设置目标要使用的链接库 +# 变量 ${DtkWidget_LIBRARIES} 和 ${Qt5Widgets_LIBRARIES} 是在前面执行 find_package 命令时引入的 +# 当出现运行时错误提示某些符号没有定义时应该检查此处是否将所有用的库都写在了这里 +target_link_libraries(${PLUGIN_NAME} PRIVATE + ${Qt5Widgets_LIBRARIES} + ${DtkWidget_LIBRARIES} + #${DdeDockInterface_LIBRARIES} +) + +# 设置安装路径的前缀(默认为"/usr/local") +set(CMAKE_INSTALL_PREFIX "/usr") + +# 设置执行 make install 时哪个目标应该被 install 到哪个位置 +#install(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION lib/dde-dock/plugins) +install(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION lib/dde-dock/plugins) +install(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION lib/gxde-dock/plugins) diff --git a/plugins/dde-sys-monitor-plugin/LICENSE b/plugins/dde-sys-monitor-plugin/LICENSE new file mode 100644 index 00000000..89e08fb0 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/plugins/dde-sys-monitor-plugin/README.md b/plugins/dde-sys-monitor-plugin/README.md new file mode 100755 index 00000000..17c65bdb --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/README.md @@ -0,0 +1,104 @@ +# dde-sys-monitor-plugin + +deepin系统监控dock插件,可监控CPU使用率、内存使用率、swap使用率、上传下载总量、实时网速和电池放电功率,有文字模式和图表模式可选 + +----------------------- + +## 一、参考项目 + +- [CMDU_DDE_DOCK for deepin](https://github.com/sonichy/CMDU_DDE_DOCK)@sonichy + +- [indicator-multiload in ubuntu](https://launchpad.net/ubuntu/+source/indicator-multiload/) + +## 二、图片展示 + +![alt](image/wordmode1.jpg) ![alt](image/chartmode1.jpg) ![alt](image/wordmode2.jpg) ![alt](image/chartmode2.jpg) + +上四图分别是插件在文字模式和图表模式下的表现,并且插件的可配置性很高 + +![alt](image/setting1.jpg) ![alt](image/setting2.jpg) + +右键菜单中有设置选项,可以设置各个模式下的显示内容 + +## 三、下载安装方式 + +### 1. 码云一键下载安装 + +deepin20.7 测试可用 + +```bash +wget https://gitee.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so && \ + sudo mv libsys_monitor.so /usr/lib/dde-dock/plugins/ && \ + pkill dde-dock +``` + +### 2. 手动下载地址 + +github:[libsys_monitor.so](https://github.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so) + +码云:[libsys_monitor.so](https://gitee.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so) + +### 3. 安装命令 + +```bash +sudo cp libsys_monitor.so /usr/lib/dde-dock/plugins/ +pkill dde-dock +dde-dock +``` + +## 四、源代码编译安装 + +### 1. 官方插件开发教程 + +教程见[官方开发文档](https://github.com/linuxdeepin/dde-dock/blob/master/plugins/plugin-guide/plugins-developer-guide.md +) + +### 2. 安装依赖 + +编译另外还需要安装如下依赖(官方的开发文档讲的环境配置不全): + +```bash +sudo apt install build-essential +sudo apt install qt5-default +sudo apt install dde-dock-dev +sudo apt install libdtkwidget-dev +#使用qtcreator集成环境可以直接设计ui界面,非必要 +sudo apt install qtcreator +#deepin/uos用户使用此命令可以获取最新的qtcreator +sudo apt install io.qt.qtcreator +#使用qtcreator打开cmake工程要先安装cmake +sudo apt install cmake +``` + +### 3. 一键编译安装 + +```bash +cd dde-sys-monitor-plugin +./build.sh +``` + +## 五、更新日志 + +有问题欢迎回帖反馈!开发的心得体会参见我的博客 +[http://blog.mxslly.com/archives/95.html](http://blog.mxslly.com/archives/95.html) + +- 20190617 22:37更新:修复上传下载一致的bug,下载地址同上 +- 20190619 12:07更新:缩减宽度,小气泡文字对齐,编译脚本优化,下载地址同上 +- 20190627 16:04更新:修复时尚模式显示不全问题,现在时尚模式只显示网速 +- 20190830 03:14更新:缩减1个字符宽度,现在最低单位为KB,不显示B +- 20191211 10:09更新:导入项目到qtcreator,添加设置功能,可设置显示内容 +- 20200214 21:09更新:针对高分屏dpi优化;可设置显示行距;使用系统函数保存设置,更新后单击小气泡无法弹出,原因不明 +- 20200322 16:31更新:添加电池功率显示 +- 20200420 00:01更新:尝试修复插件界面显示为空白的UI问题,失败 +- 20200421 17:01更新:修复电池信息读取失败的问题,加入电池信息开关 +- 20200721 20:38更新:重构代码架构,提高可扩展性;参考indicator-multiload加入图表模式;加入很多设置选项;使用upower获取电池功率提高兼容性;适配deepin20dock的上下左右位置 +- 20200818 15:50更新:根据 @zty199 的启发加入了跟随系统主题变化文字颜色的功能,仅限于文字模式 +- 20200826 23:20更新:修复采样时间间隔不为1s时网速显示不准确的问题 +- 20200916 21:06更新:修复插件显示有时会被dde-dock遮挡的问题;添加关于信息 +- 20200922 23:51更新:修复dock在左右位置时插件留白过大的问题 +- 20200928 20:06更新:修复文字模式未对齐的bug;加入控制遮挡时刷新的开关 +- 20201025 12:50更新:暂时修改插件名为datetime防止被dock遮挡 +- 20210216 22:50更新:文字模式增加自定义显示文字功能 +- 20210517 21:34更新:新增CPU温度显示,需要安装lm-sensors +- 20220125 20:26更新: 支持新的插件函数PluginSizePolicy +- 20220902 22:43更新:适配作者的dde-dock [pr补丁](https://github.com/linuxdeepin/dde-dock/pull/446)合并,现在不会被遮挡了 diff --git a/plugins/dde-sys-monitor-plugin/aboutdialog.cpp b/plugins/dde-sys-monitor-plugin/aboutdialog.cpp new file mode 100644 index 00000000..364e48f4 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/aboutdialog.cpp @@ -0,0 +1,29 @@ +#include "aboutdialog.h" +#include "ui_aboutdialog.h" + +aboutDialog::aboutDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::aboutDialog) +{ + ui->setupUi(this); +} + +aboutDialog::~aboutDialog() +{ + delete ui; +} + +void aboutDialog::on_blogPushButton_clicked() +{ + QDesktopServices::openUrl(QUrl("https://blog.mxslly.com")); +} + +void aboutDialog::on_giteePushButton_clicked() +{ + QDesktopServices::openUrl(QUrl("https://gitee.com/q77190858/dde-sys-monitor-plugin")); +} + +void aboutDialog::on_githubPushButton_clicked() +{ + QDesktopServices::openUrl(QUrl("https://github.com/q77190858/dde-sys-monitor-plugin")); +} diff --git a/plugins/dde-sys-monitor-plugin/aboutdialog.h b/plugins/dde-sys-monitor-plugin/aboutdialog.h new file mode 100644 index 00000000..856ea96d --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/aboutdialog.h @@ -0,0 +1,31 @@ +#ifndef ABOUTDIALOG_H +#define ABOUTDIALOG_H + +#include +#include +#include + +namespace Ui { +class aboutDialog; +} + +class aboutDialog : public QDialog +{ + Q_OBJECT + +public: + explicit aboutDialog(QWidget *parent = nullptr); + ~aboutDialog(); + +private slots: + void on_blogPushButton_clicked(); + + void on_giteePushButton_clicked(); + + void on_githubPushButton_clicked(); + +private: + Ui::aboutDialog *ui; +}; + +#endif // ABOUTDIALOG_H diff --git a/plugins/dde-sys-monitor-plugin/aboutdialog.ui b/plugins/dde-sys-monitor-plugin/aboutdialog.ui new file mode 100644 index 00000000..b99bc87f --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/aboutdialog.ui @@ -0,0 +1,176 @@ + + + aboutDialog + + + + 0 + 0 + 400 + 300 + + + + + 400 + 300 + + + + + 400 + 300 + + + + Dialog + + + + + 200 + 240 + 171 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 10 + 30 + 381 + 51 + + + + + 0 + 0 + + + + + 381 + 51 + + + + font: 70 15pt "Noto Sans CJK SC"; + + + deepin系统监视器(托盘插件) + + + Qt::AlignCenter + + + + + + 140 + 80 + 131 + 31 + + + + 版本号:20220902 + + + + + + 160 + 180 + 91 + 36 + + + + gitee主页 + + + + + + 270 + 180 + 91 + 36 + + + + github主页 + + + + + + 150 + 110 + 131 + 31 + + + + 作者:孟诗远 + + + + + + 50 + 180 + 91 + 36 + + + + 个人博客 + + + + + + + buttonBox + accepted() + aboutDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + aboutDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/plugins/dde-sys-monitor-plugin/bin/dde-dock-monitor-plugin_1.7.2spark0_amd64.deb b/plugins/dde-sys-monitor-plugin/bin/dde-dock-monitor-plugin_1.7.2spark0_amd64.deb new file mode 100644 index 0000000000000000000000000000000000000000..ee7f7b1dc36970d17155e0537d5c35ca54e7aed6 GIT binary patch literal 64264 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%0DjY$A9Ah??Y7TQI$i}i)H;we^6#SRvKtlw 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

JXYm|)sdAmgG_KCvDT-2U(Litgr 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

L5qBl% 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

W!wPP-A5EA%85Y2|D<+bJG(w3pi`a-H-eKr2f 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 literal 0 HcmV?d00001 diff --git a/plugins/dde-sys-monitor-plugin/build.sh b/plugins/dde-sys-monitor-plugin/build.sh new file mode 100755 index 00000000..564897a2 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash +mkdir build +cd build/ || exit +rm -rf * || exit +cmake .. || exit +make || exit +sudo make install || exit +pkill dde-dock +dde-dock diff --git a/plugins/dde-sys-monitor-plugin/image/chartmode1.jpg b/plugins/dde-sys-monitor-plugin/image/chartmode1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3bb5717ff5aa62a1730c92012d805cc564f8816 GIT binary patch literal 21870 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 literal 0 HcmV?d00001 diff --git "a/plugins/dde-sys-monitor-plugin/image/deepin15.11/\345\205\205\347\224\265\347\212\266\346\200\201.png" "b/plugins/dde-sys-monitor-plugin/image/deepin15.11/\345\205\205\347\224\265\347\212\266\346\200\201.png" new file mode 100644 index 0000000000000000000000000000000000000000..5fa67254756cb0d91183c99540bf2ef765e8e195 GIT binary patch literal 39405 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 N002ovPDHLkV1k7{zsUdq literal 0 HcmV?d00001 diff --git "a/plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\224\276\347\224\265\347\212\266\346\200\201.png" "b/plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\224\276\347\224\265\347\212\266\346\200\201.png" new file mode 100644 index 0000000000000000000000000000000000000000..b4c0024351c432b3f9b5ac2231c47d90dbc40434 GIT binary patch literal 17355 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 L8`fEuU$6czJh~s@ literal 0 HcmV?d00001 diff --git "a/plugins/dde-sys-monitor-plugin/image/deepin15.11/\350\256\276\347\275\256\346\230\276\347\244\272\345\206\205\345\256\271.png" "b/plugins/dde-sys-monitor-plugin/image/deepin15.11/\350\256\276\347\275\256\346\230\276\347\244\272\345\206\205\345\256\271.png" new file mode 100644 index 0000000000000000000000000000000000000000..7f390ebc0645239a22ec067a086ceeb012ae81e1 GIT binary patch literal 30013 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

  • 74o?gR&L9YZ%q!`=UT=prc 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

    AR8AhUj+Ps;H7^%xCB_ff+Hr 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%0DuMez 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 Qs3@ztUX}i@OS)YCUxDd6L;wH) literal 0 HcmV?d00001 diff --git "a/plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" "b/plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" new file mode 100644 index 0000000000000000000000000000000000000000..dde5fe5adc80cd14e7f33359e882b0129d6197e7 GIT binary patch literal 14098 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�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 literal 0 HcmV?d00001 diff --git a/plugins/dde-sys-monitor-plugin/image/wordmode1.jpg b/plugins/dde-sys-monitor-plugin/image/wordmode1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41b07922f7110a23752dddc30b347065a4e877aa GIT binary patch literal 25337 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 +#include + +DGUI_USE_NAMESPACE + +MainWidget::MainWidget(Settings& settings,Dock::Position position) +{ + centralLayout=NULL; + cpuMemLabel=NULL; + netLabel=NULL; + netChart=NULL; + cpuChart=NULL; + memChart=NULL; + //setMinimumSize(5,5); + //设置等宽字体 + font.setFamily("Noto Mono"); + // 获取dpi,一般默认都是96,根据dpi进行字体的缩放,直接设置pointsize无法解决hidpi问题 + dpi = QApplication::primaryScreen()->logicalDotsPerInch(); + oldsettings=settings; + oldposition=position; +} + +MainWidget::~MainWidget() +{ + if(cpuMemLabel!=NULL){delete cpuMemLabel;cpuMemLabel=NULL;} + if(netLabel!=NULL){delete netLabel;netLabel=NULL;} + if(netChart!=NULL){delete netChart;netChart=NULL;} + if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} + if(memChart!=NULL){delete memChart;memChart=NULL;} + if(centralLayout!=NULL){delete centralLayout;centralLayout=NULL;} +} + +void MainWidget::UpdateData(const Info &info, Dock::Position position, const Settings &settings) +{ + //qDebug()<<"MainWidget::UpdateData() start"; + //如果dock位置发生如下变化,则手动重构ui + if( + ((oldposition==Dock::Top||oldposition==Dock::Bottom)&&(position==Dock::Left||position==Dock::Right)) + || + ((position==Dock::Top||position==Dock::Bottom)&&(oldposition==Dock::Left||oldposition==Dock::Right)) + ) + { + if(cpuMemLabel!=NULL){delete cpuMemLabel;cpuMemLabel=NULL;} + if(netLabel!=NULL){delete netLabel;netLabel=NULL;} + if(netChart!=NULL){delete netChart;netChart=NULL;} + if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} + if(memChart!=NULL){delete memChart;memChart=NULL;} + if(centralLayout!=NULL){delete centralLayout;centralLayout=NULL;} + } + oldposition=position; + + if(!settings.value("chartModeCheckBox").toInt())//文字模式 + { + //当模式切换的时候 + if(oldsettings.value("chartModeCheckBox").toInt()) + { + //先清理掉之前的ui + //qDebug()<<"模式切换,先清理掉之前的图表ui"; + if(netChart!=NULL){delete netChart;netChart=NULL;} + if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} + if(memChart!=NULL){delete memChart;memChart=NULL;} + if(centralLayout!=NULL){delete centralLayout;centralLayout=NULL;} + } + //当模式切换或者第一次初始化的时候,需要新建ui + if(centralLayout==NULL) + { + //创建新的ui + qDebug()<<"创建新的文字ui"; + cpuMemLabel=new QLabel(); + cpuMemLabel->setAlignment(Qt::AlignCenter); + netLabel=new QLabel(); + netLabel->setAlignment(Qt::AlignCenter); + centralLayout = new QBoxLayout((position==Dock::Top||position==Dock::Bottom)? + QBoxLayout::LeftToRight:QBoxLayout::TopToBottom); + centralLayout->addWidget(cpuMemLabel); + centralLayout->addWidget(netLabel); + centralLayout->setMargin(0); + setLayout(centralLayout); + } + centralLayout->setSpacing(settings.value("wordSpacingSpinBox").toInt()); + font.setPixelSize((dpi*settings.value("fontSizeSpinBox").toInt())/72); + cpuMemLabel->setFont(font); + netLabel->setFont(font); + + QString style; + switch(settings.value("fontColorComboBox").toInt()) + { + case 0: + style=QString("QLabel {color: %1;}").arg("#fff"); + break; + case 1: + style=QString("QLabel {color: %1;}").arg("#000"); + break; + case 2: + if(DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) + style=QString("QLabel {color: %1;}").arg("#000"); + else + style=QString("QLabel {color: %1;}").arg("#fff"); + break; + } + + cpuMemLabel->setStyleSheet(style); + netLabel->setStyleSheet(style); + + switch (settings.value("displayContentComboBox").toInt()) + { + case DisplayContentSetting::CPUMEM: + cpuMemLabel->setVisible(true); + netLabel->setVisible(false); + cpuMemLabel->setText(QString("%1%2\n%3%4") + .arg(settings.value("cpuDiyWordLineEdit").value()) + .arg(info.scpu) + .arg(settings.value("memDiyWordLineEdit").value()) + .arg(info.smem)); + break; + case DisplayContentSetting::NETSPEED: + cpuMemLabel->setVisible(false); + netLabel->setVisible(true); + netLabel->setText(QString("%1%2/s\n%3%4/s") + .arg(settings.value("upNetspeedDiyWordLineEdit").value()) + .arg(info.snetup) + .arg(settings.value("downNetspeedDiyWordLineEdit").value()) + .arg(info.snetdwon)); + break; + default://DisplayContentSetting::ALL: + cpuMemLabel->setVisible(true); + netLabel->setVisible(true); + cpuMemLabel->setText(QString("%1%2\n%3%4") + .arg(settings.value("cpuDiyWordLineEdit").value()) + .arg(info.scpu) + .arg(settings.value("memDiyWordLineEdit").value()) + .arg(info.smem)); + netLabel->setText(QString("%1%2/s\n%3%4/s") + .arg(settings.value("upNetspeedDiyWordLineEdit").value()) + .arg(info.snetup) + .arg(settings.value("downNetspeedDiyWordLineEdit").value()) + .arg(info.snetdwon)); + break; + } + } + else//图表模式 + { + //当模式切换的时候,清除文字ui + if(!oldsettings.value("chartModeCheckBox").toInt()) + { + delete cpuMemLabel;cpuMemLabel=NULL; + delete netLabel;netLabel=NULL; + delete centralLayout;centralLayout=NULL; + } + //当图表有变化的时候,清除所有图表ui + if(oldsettings.value("cpuChartCheckBox").toInt()+settings.value("cpuChartCheckBox").toInt()==1|| + oldsettings.value("memChartCheckBox").toInt()+settings.value("memChartCheckBox").toInt()==1|| + oldsettings.value("netChartCheckBox").toInt()+settings.value("netChartCheckBox").toInt()==1) + { + if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} + if(memChart!=NULL){delete memChart;memChart=NULL;} + if(netChart!=NULL){delete netChart;netChart=NULL;} + delete centralLayout;centralLayout=NULL; + } + //当模式切换或者第一次初始化的时候,绘制图表ui + if(centralLayout==NULL) + { + centralLayout = new QBoxLayout((position==Dock::Top||position==Dock::Bottom)? + QBoxLayout::LeftToRight:QBoxLayout::TopToBottom); + centralLayout->setMargin(0); + setLayout(centralLayout); + } + + centralLayout->setSpacing(settings.value("chartSpacingSpinBox").toInt()); + if(settings.value("cpuChartCheckBox").toInt()) + { + if(cpuChart==NULL) + { + cpuChart=new StreamChart(); + centralLayout->addWidget(cpuChart); + } + data.x=info.cpu; + data.y=0; + cpuChart->height=settings.value("cpuHeightSpinBox").toInt(); + cpuChart->width=settings.value("cpuWidthSpinBox").toInt(); + cpuChart->color1=settings.value("cpuWorkWidget").value(); + cpuChart->color2=QColor(255,255,255,0); + cpuChart->borderRound=settings.value("cpuBorderRoundSpinBox").toInt(); + cpuChart->colorBorder=settings.value("cpuBorderWidget").value(); + cpuChart->colorBackground=settings.value("cpuBackgroundWidget").value(); + cpuChart->spacing=settings.value("chartSpacingSpinBox").toInt(); + + cpuChart->updateChart(data); + } + if(settings.value("memChartCheckBox").toInt()) + { + if(memChart==NULL) + { + memChart=new StreamChart(); + centralLayout->addWidget(memChart); + } + data.x=info.mem; + data.y=0; + memChart->height=settings.value("memHeightSpinBox").toInt(); + memChart->width=settings.value("memWidthSpinBox").toInt(); + memChart->color1=settings.value("memUsedWidget").value(); + memChart->color2=QColor(255,255,255,0); + memChart->borderRound=settings.value("memBorderRoundSpinBox").toInt(); + memChart->colorBorder=settings.value("memBorderWidget").value(); + memChart->colorBackground=settings.value("memBackgroundWidget").value(); + memChart->spacing=settings.value("chartSpacingSpinBox").toInt(); + + memChart->updateChart(data); + } + if(settings.value("netChartCheckBox").toInt()) + { + if(netChart==NULL) + { + netChart=new StreamChart(); + centralLayout->addWidget(netChart); + } + data.x=info.netdown*100/1024/settings.value("netDownTopSpinBox").toInt(); + data.y=info.netup*100/1024/settings.value("netUpTopSpinBox").toInt(); + netChart->height=settings.value("netHeightSpinBox").toInt(); + netChart->width=settings.value("netWidthSpinBox").toInt(); + netChart->color1=settings.value("netDownWidget").value(); + netChart->color2=settings.value("netUpWidget").value(); + netChart->borderRound=settings.value("netBorderRoundSpinBox").toInt(); + netChart->colorBorder=settings.value("netBorderWidget").value(); + netChart->colorBackground=settings.value("netBackgroundWidget").value(); + netChart->spacing=settings.value("chartSpacingSpinBox").toInt(); + + netChart->updateChart(data); + } + + } + oldsettings=settings; + //qDebug()<<"MainWidget::UpdateData() finished"; +} + +QSize MainWidget::sizeHint() const +{ + if(centralLayout==NULL)return QSize(100,30); + int w,h; + const Dock::Position position = qApp->property(PROP_POSITION).value(); + if(!oldsettings.value("chartModeCheckBox").toInt())//文字模式 + { + switch (oldsettings.value("displayContentComboBox").toInt()) + { + case DisplayContentSetting::CPUMEM: + w=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().width()/2; + h=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().height()*2; + break; + case DisplayContentSetting::NETSPEED: + w=QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2; + h=QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2; + break; + case DisplayContentSetting::ALL: + if(position==Dock::Top||position==Dock::Bottom) + { + w=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().width()/2+ + QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2; + h=qMax(QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().height()*2, + QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2); + } + else + { + w=qMax(QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().width()/2, + QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2); + h=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().height()*2+ + QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2; + } + break; + default: + w=QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2; + h=QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2; + break; + } + } + else//图表模式 + { + if(position==Dock::Top||position==Dock::Bottom) + { + w=(cpuChart==NULL?0:cpuChart->width)+ + (memChart==NULL?0:memChart->width)+ + (netChart==NULL?0:netChart->width); + h=qMax(cpuChart==NULL?0:cpuChart->height, + qMax(memChart==NULL?0:memChart->height,netChart==NULL?0:netChart->height)); + } + else + { + w=qMax(cpuChart==NULL?0:cpuChart->width, + qMax(memChart==NULL?0:memChart->width,netChart==NULL?0:netChart->width)); + h=(cpuChart==NULL?0:cpuChart->height)+ + (memChart==NULL?0:memChart->height)+ + (netChart==NULL?0:netChart->height); + } + } + QSize size(w,h); + //qDebug()< +#include +#include +#include +#include +#include +#include +#include +#include +#include "pluginsiteminterface.h" +#include "streamchart.h" +#include "type.h" + +extern struct SettingItem settingItems[]; + +namespace Ui { +class MainWidget; +} + +class MainWidget : public QWidget +{ + Q_OBJECT + +public: + explicit MainWidget(Settings&,Dock::Position); + ~MainWidget(); + void UpdateData(const Info& info,Dock::Position position,const Settings& settings); + QSize sizeHint() const; + +public: + int dpi; + QBoxLayout *centralLayout; + // 文字模式数据显示在这2个Label上 + QLabel *cpuMemLabel,*netLabel; + //显示数据的图表类 + StreamChart *netChart,*cpuChart,*memChart; + struct Data data; + // 字体 + QFont font; + //保存之前的设置 + Settings oldsettings; + //保存之前的位置 + Dock::Position oldposition; + + +private: + Ui::MainWidget *ui; + void initLabels(void); + void initChart(void); +}; + +#endif // MAINWIDGET_H diff --git a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp new file mode 100644 index 00000000..adfa4a76 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp @@ -0,0 +1,115 @@ +#include "pluginsettingdialog.h" +#include "ui_pluginsettingdialog.h" + +pluginSettingDialog::pluginSettingDialog(Settings *settings,QWidget *parent) : + QDialog(parent), + ui(new Ui::pluginSettingDialog) +{ + ui->setupUi(this); + if(settings->value("chartModeCheckBox").toInt()){ + ui->tabWidget->setCurrentIndex(1); + } + else { + ui->tabWidget->setCurrentIndex(0); + } + pal=QPalette();//首先初始化画板 + + QMapIterator i(*settings); + while(i.hasNext()) + { + i.next(); + //找到以key为名字的widget + QWidget *obj=findChild(i.key()); + if(obj==0){qDebug()<<"不能找到对象名为:"<metaObject()->className()==QStringLiteral("QComboBox")) + { + QComboBox *cb=(QComboBox*)obj; + cb->setCurrentIndex(i.value().toInt()); + } + else if(obj->metaObject()->className()==QStringLiteral("QCheckBox")) + { + QCheckBox *cb=(QCheckBox*)obj; + cb->setChecked(i.value().toInt()); + } + else if(obj->metaObject()->className()==QStringLiteral("QSpinBox")) + { + QSpinBox *sb=(QSpinBox*)obj; + sb->setValue(i.value().toInt()); + } + else if(obj->metaObject()->className()==QStringLiteral("QWidget")) + { + QWidget *wg=(QWidget*)obj; + pal.setColor(QPalette::Background,i.value().value()); + wg->setAutoFillBackground(true); + wg->setPalette(pal); + //qDebug()<<"颜色是:"<(); + } + else if(obj->metaObject()->className()==QStringLiteral("QLineEdit")) + { + QLineEdit *le=(QLineEdit*)obj; + le->setText(i.value().value()); + } + } + foreach(QPushButton* btn,findChildren(QRegExp("\\w*ColorPushButton"))) + { + connect(btn,SIGNAL(clicked(bool)),this,SLOT(selectColor(void))); + } +} + +pluginSettingDialog::~pluginSettingDialog() +{ + delete ui; +} + +void pluginSettingDialog::getDisplayContentSetting(Settings *settings) +{ + QMapIterator i(*settings); + while(i.hasNext()) + { + i.next(); + //找到以key为名字的widget + QWidget *obj=findChild(i.key()); + if(obj==0){qDebug()<<"不能找到对象名为:"<metaObject()->className()==QStringLiteral("QComboBox")) + { + QComboBox *cb=(QComboBox*)obj; + settings->insert(cb->objectName(),cb->currentIndex()); + } + else if(obj->metaObject()->className()==QStringLiteral("QCheckBox")) + { + QCheckBox *cb=(QCheckBox*)obj; + settings->insert(cb->objectName(),cb->isChecked()); + } + else if(obj->metaObject()->className()==QStringLiteral("QSpinBox")) + { + QSpinBox *sb=(QSpinBox*)obj; + settings->insert(sb->objectName(),sb->value()); + } + else if(obj->metaObject()->className()==QStringLiteral("QWidget")) + { + QWidget *wg=(QWidget*)obj; + settings->insert(wg->objectName(),wg->palette().background().color()); + } + else if(obj->metaObject()->className()==QStringLiteral("QLineEdit")) + { + QLineEdit *le=(QLineEdit*)obj; + settings->insert(le->objectName(),le->text()); + } + } +} + +void pluginSettingDialog::selectColor() +{ + QWidget *colorWidget; + //"netUpColorPushButton"-->"netUpWidget" + colorWidget=findChild(sender()->objectName().replace("ColorPushButton","Widget")); + + QColor color = QColorDialog::getColor(colorWidget->palette().background().color(), + this,tr("颜色对话框"),QColorDialog::ShowAlphaChannel); + if(color!=QColor::Invalid) + { + pal.setColor(QPalette::Background,color); + colorWidget->setAutoFillBackground(true); + colorWidget->setPalette(pal); + } +} diff --git a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.h b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.h new file mode 100644 index 00000000..389c92ce --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.h @@ -0,0 +1,34 @@ +#ifndef PLUGINSETTINGDIALOG_H +#define PLUGINSETTINGDIALOG_H +#include +#include +#include +#include +#include +#include +#include "type.h" + +namespace Ui { +class pluginSettingDialog; +} + +class pluginSettingDialog : public QDialog +{ + Q_OBJECT + +public: + explicit pluginSettingDialog(Settings *settings,QWidget *parent = 0); + ~pluginSettingDialog(); + //公有函数获得显示设置 + void getDisplayContentSetting(Settings *settings); + +private slots: + void selectColor(void); + +private: + Ui::pluginSettingDialog *ui; + //公用的画板 + QPalette pal; +}; + +#endif // PLUGINSETTINGDIALOG_H diff --git a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui new file mode 100644 index 00000000..85fb44b3 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui @@ -0,0 +1,1471 @@ + + + pluginSettingDialog + + + Qt::WindowModal + + + + 0 + 0 + 700 + 550 + + + + + 700 + 550 + + + + + 700 + 550 + + + + 系统监控插件设置 + + + + + + + + 520 + 510 + 166 + 36 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 10 + 100 + 691 + 401 + + + + 0 + + + + 文字模式设置 + + + + + 447 + 30 + 141 + 38 + + + + QAbstractSpinBox::UpDownArrows + + + px + + + 1 + + + 50 + + + 1 + + + 4 + + + + + + 371 + 30 + 71 + 38 + + + + 控件间隔: + + + + + + 130 + 30 + 201 + 36 + + + + + 显示CPU、内存 + + + + + 显示网速 + + + + + 显示CP&U、内存和网速 + + + + + + + 30 + 40 + 101 + 22 + + + + 显示内容设置: + + + + + + 30 + 90 + 111 + 22 + + + + CPU自定义文字: + + + + + + 140 + 80 + 113 + 36 + + + + CPU: + + + 50 + + + + + + 140 + 130 + 113 + 36 + + + + MEM: + + + 50 + + + + + + 30 + 140 + 111 + 22 + + + + 内存自定义文字: + + + + + + 430 + 130 + 113 + 36 + + + + + + + 50 + + + + + + 290 + 90 + 141 + 22 + + + + 上传网速自定义文字: + + + + + + 290 + 140 + 141 + 22 + + + + 下载网速自定义文字: + + + + + + 430 + 80 + 113 + 36 + + + + + + + 50 + + + + + + 41 + 320 + 70 + 22 + + + + 字体颜色: + + + + + + 110 + 316 + 86 + 36 + + + + + 80 + 0 + + + + 白色 + + + 0 + + + + 白色 + + + + + 黑色 + + + + + 跟随系统 + + + + + + + 41 + 280 + 70 + 22 + + + + 字体大小: + + + + + + 110 + 271 + 151 + 40 + + + + QAbstractSpinBox::UpDownArrows + + + px + + + 5 + + + 20 + + + 1 + + + 9 + + + + + + 图表模式设置 + + + + + 10 + 90 + 661 + 271 + + + + 0 + + + + CPU图表 + + + + + 0 + 0 + 661 + 231 + + + + CPU显示设置 + + + + + 20 + 50 + 91 + 22 + + + + 工作颜色 + + + + + + 120 + 50 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 200 + 40 + 71 + 36 + + + + 选择颜色 + + + + + + 480 + 100 + 71 + 36 + + + + 选择颜色 + + + + + + 320 + 110 + 71 + 22 + + + + 边框颜色 + + + + + + 130 + 100 + 161 + 38 + + + + % + + + 0 + + + 99 + + + 100 + + + 30 + + + + + + 20 + 110 + 71 + 22 + + + + 边框圆角 + + + + + + 400 + 110 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 480 + 140 + 71 + 36 + + + + 选择颜色 + + + + + + 320 + 150 + 71 + 22 + + + + 背景颜色 + + + + + + 400 + 150 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 130 + 140 + 161 + 38 + + + + px + + + 5 + + + 100 + + + 40 + + + + + + 20 + 150 + 61 + 22 + + + + 显示宽度 + + + + + + 20 + 190 + 61 + 22 + + + + 显示高度 + + + + + + 130 + 180 + 161 + 38 + + + + px + + + 5 + + + 100 + + + 28 + + + + + + + 内存图表 + + + + + 0 + 0 + 661 + 231 + + + + 内存显示设置 + + + + + 20 + 50 + 91 + 22 + + + + 使用颜色 + + + + + + 120 + 50 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 200 + 40 + 71 + 36 + + + + 选择颜色 + + + + + + 480 + 100 + 71 + 36 + + + + 选择颜色 + + + + + + 320 + 110 + 71 + 22 + + + + 边框颜色 + + + + + + 130 + 100 + 161 + 38 + + + + % + + + 0 + + + 99 + + + 100 + + + 30 + + + + + + 20 + 110 + 71 + 22 + + + + 边框圆角 + + + + + + 400 + 110 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 480 + 140 + 71 + 36 + + + + 选择颜色 + + + + + + 320 + 150 + 71 + 22 + + + + 背景颜色 + + + + + + 400 + 150 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 130 + 140 + 161 + 38 + + + + px + + + 5 + + + 100 + + + 40 + + + + + + 20 + 150 + 61 + 22 + + + + 显示宽度 + + + + + + 20 + 190 + 61 + 22 + + + + 显示高度 + + + + + + 130 + 180 + 161 + 38 + + + + px + + + 5 + + + 100 + + + 28 + + + + + + + 网络图表 + + + + + 0 + 0 + 661 + 231 + + + + 网络显示设置 + + + + + 20 + 30 + 101 + 22 + + + + 上传封顶流量值 + + + + + + 130 + 20 + 161 + 38 + + + + KB + + + 100 + + + 1024000 + + + 100 + + + 500 + + + + + + 320 + 30 + 71 + 22 + + + + 上传颜色 + + + + + + 400 + 30 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 480 + 20 + 71 + 36 + + + + 选择颜色 + + + + + + 20 + 70 + 101 + 22 + + + + 下载封顶流量值 + + + + + + 130 + 60 + 161 + 38 + + + + KB + + + 100 + + + 1024000 + + + 100 + + + 500 + + + + + + 480 + 60 + 71 + 36 + + + + 选择颜色 + + + + + + 320 + 70 + 71 + 22 + + + + 下载颜色 + + + + + + 400 + 70 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 480 + 100 + 71 + 36 + + + + 选择颜色 + + + + + + 320 + 110 + 71 + 22 + + + + 边框颜色 + + + + + + 130 + 100 + 161 + 38 + + + + % + + + 0 + + + 99 + + + 100 + + + 30 + + + + + + 20 + 110 + 71 + 22 + + + + 边框圆角 + + + + + + 400 + 110 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 480 + 140 + 71 + 36 + + + + 选择颜色 + + + + + + 320 + 150 + 71 + 22 + + + + 背景颜色 + + + + + + 400 + 150 + 61 + 21 + + + + false + + + border:1px solid black; + + + + + + 130 + 140 + 161 + 38 + + + + px + + + 5 + + + 100 + + + 40 + + + + + + 20 + 150 + 61 + 22 + + + + 显示宽度 + + + + + + 20 + 190 + 61 + 22 + + + + 显示高度 + + + + + + 130 + 180 + 161 + 38 + + + + px + + + 5 + + + 100 + + + 28 + + + + + + + + + 20 + 0 + 301 + 71 + + + + 显示图表 + + + + + 230 + 30 + 97 + 26 + + + + 网络 + + + + + + 10 + 30 + 97 + 26 + + + + CPU + + + + + + 120 + 30 + 97 + 26 + + + + 内存 + + + + + + + 490 + 30 + 134 + 38 + + + + QAbstractSpinBox::UpDownArrows + + + px + + + 1 + + + 50 + + + 1 + + + 1 + + + + + + 414 + 30 + 71 + 38 + + + + 控件间隔: + + + + + + + + 20 + 38 + 121 + 26 + + + + 使用图表模式 + + + + + + 410 + 40 + 71 + 22 + + + + 更新间隔: + + + + + + 490 + 30 + 191 + 38 + + + + ms + + + 200 + + + 10000 + + + 100 + + + 1000 + + + + + + 150 + 40 + 171 + 22 + + + + 显示电池功率和CPU温度: + + + + + + 320 + 31 + 80 + 36 + + + + + 80 + 0 + + + + 关闭 + + + 0 + + + + 关闭 + + + + + 打开 + + + + + + + + buttonBox + accepted() + pluginSettingDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + pluginSettingDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/plugins/dde-sys-monitor-plugin/streamchart.cpp b/plugins/dde-sys-monitor-plugin/streamchart.cpp new file mode 100644 index 00000000..6ab83e32 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/streamchart.cpp @@ -0,0 +1,65 @@ +#include "streamchart.h" + +StreamChart::StreamChart(QWidget *parent) : + QWidget(parent) +{ + penb=new QPen(); + penb->setWidth(2); + pen1=new QPen(); + pen1->setWidth(1); + pen2=new QPen(); + pen2->setWidth(1); + queue=new QQueue(); +} + +StreamChart::~StreamChart() +{ + delete penb; + delete pen1; + delete pen2; + delete queue; +} + +void StreamChart::paintEvent(QPaintEvent *) +{ + if(!queue->isEmpty()) + { + QPainter pt(this); + + //画背景 + pt.fillRect(0,0,width,height,colorBackground); + int x,dy1,dy2; + //画线条 + for(int i=0;isize();i++) + { + x=width-queue->size()+i;//+spacing; + dy1=queue->at(i).x*height/100; + dy1=(dy1==1?dy1+1:dy1); + dy2=queue->at(i).y*height/100; + //dy2=(dy2==1?dy2+1:dy2); + pen1->setColor(color1); + pt.setPen(*pen1); + pt.drawLine(x,height,x,height-dy1); + if(color2.alpha()) + { + pen2->setColor(color2); + pt.setPen(*pen2); + pt.drawLine(x,height,x,height-dy2); + } + + } + //最后画矩形 + penb->setColor(colorBorder); + pt.setPen(*penb); + pt.drawRoundRect(0,0,width,height,borderRound,borderRound); + } +} + +void StreamChart::updateChart(struct Data& data) +{ + queue->enqueue(data); + setMinimumSize(width,height); + setMaximumSize(width,height); + if(queue->size()>width)queue->dequeue(); + update(); +} diff --git a/plugins/dde-sys-monitor-plugin/streamchart.h b/plugins/dde-sys-monitor-plugin/streamchart.h new file mode 100644 index 00000000..c48f174c --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/streamchart.h @@ -0,0 +1,36 @@ +#ifndef STREAMCHART_H +#define STREAMCHART_H + +#include +#include +#include +#include +#include +#include +#include "type.h" + +class StreamChart : public QWidget +{ + Q_OBJECT + +public: + explicit StreamChart(QWidget *parent = nullptr); + ~StreamChart(); + //重载绘图函数 + void paintEvent(QPaintEvent*); + //定时更新数据图标的函数 +public slots: + void updateChart(struct Data&); + +private: + QPen *penb,*pen1,*pen2; + QQueue *queue; +public: + int height; + int width; + int spacing; + QColor colorBorder,colorBackground,color1,color2; + int borderRound; +}; + +#endif // STREAMCHART_H diff --git a/plugins/dde-sys-monitor-plugin/sys_monitor.json b/plugins/dde-sys-monitor-plugin/sys_monitor.json new file mode 100755 index 00000000..cbdac625 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/sys_monitor.json @@ -0,0 +1,4 @@ +{ + "api": "1.2.3", +"depends-daemon-dbus-service": "com.deepin.daemon.Network" +} diff --git a/plugins/dde-sys-monitor-plugin/sys_monitor.qrc b/plugins/dde-sys-monitor-plugin/sys_monitor.qrc new file mode 100755 index 00000000..5244ae05 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/sys_monitor.qrc @@ -0,0 +1,5 @@ + + + + + diff --git a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp new file mode 100755 index 00000000..307d07bd --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp @@ -0,0 +1,424 @@ +#include "sysmonitorplugin.h" + +//设置选项和默认值,静态全局变量 +struct SettingItem SysMonitorPlugin::settingItems[]={ +//全局设置选项 +{"chartModeCheckBox",0},//图表模式开关 +{"batInfoComboBox",0},//气泡电池信息开关 +{"updateIntervalSpinBox",1000},//更新间隔ms + +//文字模式设置选项 +{"displayContentComboBox",DisplayContentSetting::ALL}, +{"wordSpacingSpinBox",4}, +{"cpuDiyWordLineEdit",QString("CPU:")}, +{"memDiyWordLineEdit",QString("MEM:")}, +{"upNetspeedDiyWordLineEdit",QString("▴")}, +{"downNetspeedDiyWordLineEdit",QString("▾")}, +{"fontSizeSpinBox",9}, +{"fontColorComboBox",0}, + +//图表模式设置选项 +//默认三个图表都是打开的 +{"netChartCheckBox",1},{"cpuChartCheckBox",1},{"memChartCheckBox",1}, +{"chartSpacingSpinBox",1}, +//net图表设置 +{"netUpTopSpinBox",500},//上传 +{"netUpWidget",QColor(0,78,239,200)}, +{"netDownTopSpinBox",500},//下载 +{"netDownWidget",QColor(225,67,0,200)}, +{"netBorderRoundSpinBox",30},//边框 +{"netBorderWidget",QColor(255,255,255,0)}, +{"netBackgroundWidget",QColor(0,0,0,128)},//背景 +{"netWidthSpinBox",40},{"netHeightSpinBox",28},//宽度高度 +//cpu图表设置 +{"cpuWorkWidget",QColor(250,74,74,255)}, +{"cpuBorderRoundSpinBox",30},//边框 +{"cpuBorderWidget",QColor(255,255,255,0)}, +{"cpuBackgroundWidget",QColor(0,0,0,128)},//背景 +{"cpuWidthSpinBox",40},{"cpuHeightSpinBox",28},//宽度高度 +//mem图表设置 +{"memUsedWidget",QColor(21,199,195,255)}, +{"memBorderRoundSpinBox",30},//边框 +{"memBorderWidget",QColor(255,255,255,0)}, +{"memBackgroundWidget",QColor(0,0,0,128)},//背景 +{"memWidthSpinBox",40},{"memHeightSpinBox",28}//宽度高度 + }; + +SysMonitorPlugin::SysMonitorPlugin(QObject *parent) + : QObject(parent) + ,m_refreshTimer(new QTimer(this)) +{ + oldrbytes=oldsbytes=0; + oldworktime=oldtotaltime=0; +} + +void SysMonitorPlugin::refreshInfo() +{ + //获得cpu信息 + fp = fopen("/proc/stat", "r"); + if (fp == NULL) {perror("Could not open stat file");return;} + user = 0, nice = 0, system = 0, idle = 0; + iowait = 0, irq = 0, softirq = 0, steal = 0, guest = 0, guestnice = 0; + char* ret = fgets(buffer, sizeof(buffer) - 1, fp); + if (ret == NULL) {perror("Could not read stat file");fclose(fp);return;} + fclose(fp); + sscanf(buffer,"cpu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu", + &user, &nice, &system, &idle, &iowait, &irq, &softirq, &steal, &guest, &guestnice); + worktime = user + nice + system; + totaltime = user + nice + system + idle + iowait + irq + softirq + steal; + // 得到百分比 + cpuPercent = qRound((worktime-oldworktime)*100.0/(totaltime-oldtotaltime)); + oldtotaltime=totaltime; + oldworktime=worktime; + info.cpu=cpuPercent; + if(cpuPercent<=9)info.scpu=QString(" %1\%").arg(cpuPercent); + else info.scpu=QString("%1\%").arg(cpuPercent); + + //获得内存信息 + fp=fopen("/proc/meminfo","r"); + if (fp == NULL) {perror("Could not open meminfo file");return;} + do + { + ret = fgets(buffer, sizeof(buffer) - 1, fp); + if (ret == NULL) {perror("Could not read meminfo file");fclose(fp);return;} + sscanf(buffer,"%s %lu kB",devname,&tmp); + if(!strcmp(devname,"MemTotal:"))totalmem=tmp; + else if(!strcmp(devname,"MemAvailable:"))availablemem=tmp; + else if(!strcmp(devname,"SwapTotal:"))totalswap=tmp; + else if(!strcmp(devname,"SwapFree:"))freeswap=tmp; + }while(strcmp(devname,"SwapFree:")); + fclose(fp); + memPercent = qRound((totalmem - availablemem) * 100.0 / totalmem); + info.mem=memPercent; + if(memPercent<=9)info.smem=QString(" %1\%").arg(memPercent); + else info.smem=QString("%1\%").arg(memPercent); + + swapPercent = qRound((totalswap - freeswap) * 100.0 / totalswap); + if(swapPercent<=9)strswap=QString(" %1\%").arg(swapPercent); + else strswap=QString("%1\%").arg(swapPercent); + + //获得net信息 + fp=fopen("/proc/net/dev","r"); + if (fp == NULL) {perror("Could not open netdev file");return;} + ret = fgets(buffer, sizeof(buffer) - 1, fp); + ret = fgets(buffer, sizeof(buffer) - 1, fp); + if (ret == NULL) {perror("Could not read netdev file");fclose(fp);return;} + tmpr=tmps=rbytes=sbytes=0; + while(true) + { + ret = fgets(buffer, sizeof(buffer) - 1, fp); + if (ret == NULL) break; + sscanf(buffer,"%s %lu %*lu %*lu %*lu %*lu %*lu %*lu %*lu %lu",devname,&tmpr,&tmps); + if(strcmp(devname,"lo:")==0)continue; + rbytes+=tmpr; + sbytes+=tmps; + } + fclose(fp); + //考虑到读取间隔不一定是1s,要运算成1s的量 + tmpr=(oldrbytes==0?0:rbytes-oldrbytes)*1000/settings.value("updateIntervalSpinBox").toInt(); + tmps=(oldsbytes==0?0:sbytes-oldsbytes)*1000/settings.value("updateIntervalSpinBox").toInt(); + oldrbytes=rbytes; + oldsbytes=sbytes; + + info.netup=tmps; + info.netdown=tmpr; + info.snetup=toHumanRead(tmps,"B",0); + info.snetdwon=toHumanRead(tmpr,"B",0); + + //每10s执行一次,降低cpu开销 + if(settings.value("batInfoComboBox").toInt()==1&&bat_count==0) + { + //使用upower命令获得电池信息,兼容性最好,deepin默认预装有upower + fp=NULL; + //使用popen执行shell命令并返回一个流来读取电池信息 + fp=popen("upower -i $(upower -e | grep 'BAT') | grep -E 'energy-rate'","r"); + if(fp==NULL){perror("popen");return;} + battery_watts=-1.0; + fscanf(fp," energy-rate: %lf W",&battery_watts); + pclose(fp); + + //使用sensors获得CPU温度 + fp=NULL; + fp=popen("sensors | grep 'Core 0'","r"); + info.cputemp=0; + if(fp != NULL){ + fscanf(fp,"Core 0: %lf°C",&info.cputemp); + } + else { + perror("Could not run sensors command"); + } + pclose(fp); + info.scputemp=QString("%1℃").arg(info.cputemp); + } + //大于等于10秒就归零 + bat_count*settings.value("updateIntervalSpinBox").toInt()>=10*1000?bat_count=0:bat_count++; + + // 更新内容 + m_mainWidget->UpdateData(info,pos,settings); + if(m_tipsWidget->isVisible())m_Widget_update(m_tipsWidget); + if(m_appletWidget->isVisible())m_Widget_update(m_appletWidget); + + //m_proxyInter->itemUpdate(this,pluginName()); + //qDebug()<<"m_mainWidget->height():"<height(); + //qDebug()<<"m_mainWidget->width():"<width(); + //qDebug()<<"m_pluginWidget->height():"<height(); + //m_pluginWidget->m_infoLabel->setMinimumHeight(29); + //qDebug()<<"m_appletWidget->isVisible():"<isVisible()); + //qDebug()<<"m_tipsWidget->isVisible():"<isVisible()); +} + +const QString SysMonitorPlugin::toHumanRead(unsigned long l,const char *unit,int digit) +{ + int count=0; + QString str; + double f=(double)l; + if(!strcmp(unit,"B"))count=0; + else if(!strcmp(unit,"KB"))count=1; + while(f>999.0) + { + f=f/1024.0; + count++; + } + + if(count==0){count++;f=f/1024;} + + if(f<0.1)str=" 0"; + else if(f<10.0)str=QString::number(f,'f',1); + else if(f<100.0)str=" "+QString::number(f,'f',0); + else str=QString::number(f,'f',0); + + if(count==0)str+="B"; + else if(count==1)str+="K"; + else if(count==2)str+="M"; + else if(count==3)str+="G"; + else if(count==4)str+="T"; + else if(count==4)str+="P"; + return str; +} +//使用系统配置函数读配置信息 +void SysMonitorPlugin::readConfig(Settings *settings) +{ + for(unsigned long i=0;iinsert(settingItems[i].name, + m_proxyInter->getValue(this,settingItems[i].name,settingItems[i].value)); + } +} + +//写配置信息 +void SysMonitorPlugin::writeConfig(Settings *settings) +{ + QMapIterator i(*settings); + while(i.hasNext()) + { + i.next(); + m_proxyInter->saveValue(this,i.key(),i.value()); + } +} + +const QString SysMonitorPlugin::pluginDisplayName() const +{ + return QString("监视器"); +} + +const QString SysMonitorPlugin::pluginName() const +{ + return QStringLiteral("sys_monitor"); +// return QStringLiteral("datetime"); +} + +void SysMonitorPlugin::init(PluginProxyInterface *proxyInter) +{ + m_proxyInter = proxyInter; + + //读取显示配置 + readConfig(&settings); + + m_mainWidget = new MainWidget(settings,position()); + m_tipsWidget = new QLabel; + m_appletWidget = new QLabel; + font.setFamily("Noto Mono"); + m_tipsWidget->setFont(font); + m_appletWidget->setFont(font); + dismode=displayMode(); + pos=position(); + battery_watts=-1.0; + bat_count=0; + + // 设置 Timer 超时为 updateIntervalSpinBox 中的ms,即每次更新一次控件上的数据,并启动这个定时器 + m_refreshTimer->start(settings.value("updateIntervalSpinBox").toInt()); + + // 连接 Timer 超时的信号到更新数据的槽上 + connect(m_refreshTimer, &QTimer::timeout, this, &SysMonitorPlugin::refreshInfo); + + // 如果插件没有被禁用则在初始化插件时才添加主控件到面板上 + if (!pluginIsDisable()) { + m_proxyInter->itemAdded(this, pluginName()); + } +} + +/*PluginsItemInterface::PluginSizePolicy SysMonitorPlugin::pluginSizePolicy() const +{ + return PluginsItemInterface::Custom; +}*/ + +QWidget *SysMonitorPlugin::itemWidget(const QString &itemKey) +{ + Q_UNUSED(itemKey); + + return m_mainWidget; +} + +void SysMonitorPlugin::m_Widget_update(QLabel* label) +{ + // 设置/刷新 tips 中的信息 + QString baseInfo= QString("CPU: %1 %2\n" + "MEM: %3/%4=%5\n" + "SWAP:%6/%7=%8\n" + "UP: %9 %10/s\n" + "DOWN:%11 %12/s") +.arg(info.scpu).arg(info.scputemp) +.arg(toHumanRead(totalmem-availablemem,"KB",1)).arg(toHumanRead(totalmem,"KB",1)).arg(info.smem) +.arg(toHumanRead(totalswap-freeswap,"KB",1)).arg(toHumanRead(totalswap,"KB",1)).arg(strswap) +.arg(toHumanRead(oldsbytes,"B",1)).arg(toHumanRead(tmps,"B",1)) +.arg(toHumanRead(oldrbytes,"B",1)).arg(toHumanRead(tmpr,"B",1)); + + QString batInfo(""); + if(battery_watts>=0&&settings.value("batInfoComboBox").toInt()) + batInfo= QString("\nBAT: %1W").arg(QString::number(battery_watts,'f',2)); + + label->setText(baseInfo+batInfo); +} + +QWidget *SysMonitorPlugin::itemTipsWidget(const QString &itemKey) +{ + Q_UNUSED(itemKey); + //更新气泡数据 + m_Widget_update(m_tipsWidget); + return m_tipsWidget; +} + +QWidget *SysMonitorPlugin::itemPopupApplet(const QString &itemKey) +{ + Q_UNUSED(itemKey); + m_Widget_update(m_appletWidget); + return m_appletWidget; +} + +bool SysMonitorPlugin::pluginIsAllowDisable() +{ + // 告诉 dde-dock 本插件允许禁用 + return true; +} + +bool SysMonitorPlugin::pluginIsDisable() +{ + // 第二个参数 “disabled” 表示存储这个值的键(所有配置都是以键值对的方式存储的) + // 第三个参数表示默认值,即默认不禁用 + return m_proxyInter->getValue(this, "disabled", false).toBool(); +} + +void SysMonitorPlugin::pluginStateSwitched() +{ + // 获取当前禁用状态的反值作为新的状态值 + const bool disabledNew = !pluginIsDisable(); + // 存储新的状态值 + m_proxyInter->saveValue(this, "disabled", disabledNew); + + // 根据新的禁用状态值处理主控件的加载和卸载 + if (disabledNew) { + m_proxyInter->itemRemoved(this, pluginName()); + } else { + m_proxyInter->itemAdded(this, pluginName()); + } +} + +const QString SysMonitorPlugin::itemContextMenu(const QString &itemKey) +{ + Q_UNUSED(itemKey); + + QList items; + items.reserve(2); + + QMap refresh; + refresh["itemId"] = "refresh"; + refresh["itemText"] = "刷新"; + refresh["isActive"] = true; + items.push_back(refresh); + + QMap open; + open["itemId"] = "open"; + open["itemText"] = "打开系统监视器"; + open["isActive"] = true; + items.push_back(open); + + QMap setting; + setting["itemId"] = "setting"; + setting["itemText"] = "设置"; + setting["isActive"] = true; + items.push_back(setting); + + QMap about; + about["itemId"] = "about"; + about["itemText"] = "关于"; + about["isActive"] = true; + items.push_back(about); + + QMap menu; + menu["items"] = items; + menu["checkableMenu"] = false; + menu["singleCheck"] = false; + + // 返回 JSON 格式的菜单数据 + return QJsonDocument::fromVariant(menu).toJson(); +} + +void SysMonitorPlugin::invokedMenuItem(const QString &itemKey, const QString &menuId, const bool checked) +{ + Q_UNUSED(itemKey); + Q_UNUSED(checked) + + // 根据上面接口设置的 id 执行不同的操作 + if (menuId == "refresh") + { + m_proxyInter->itemRemoved(this, pluginName()); + m_proxyInter->itemAdded(this, pluginName()); + } + else if (menuId == "open") + { + QProcess::startDetached("deepin-system-monitor",QStringList()); + } + else if(menuId == "setting") + { + int updataInterval=settings.value("updateIntervalSpinBox").toInt(); + pluginSettingDialog setting(&settings); + if(setting.exec()==QDialog::Accepted) + { + setting.getDisplayContentSetting(&settings); + writeConfig(&settings); + if(settings.value("updateIntervalSpinBox").toInt()!=updataInterval) + { + // 修改更新时间间隔 + m_refreshTimer->start(settings.value("updateIntervalSpinBox").toInt()); + } + } + } + else if (menuId == "about") + { + aboutDialog aboutdialog; + if(aboutdialog.exec()==QDialog::Accepted) + { + } + } +} + +void SysMonitorPlugin::displayModeChanged(const Dock::DisplayMode displayMode) +{ + Q_UNUSED(displayMode); + dismode=displayMode; +} +void SysMonitorPlugin::positionChanged(const Dock::Position position) +{ + Q_UNUSED(position); + pos=position; +} diff --git a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h new file mode 100755 index 00000000..b11331b4 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h @@ -0,0 +1,101 @@ +#ifndef HOMEMONITORPLUGIN_H +#define HOMEMONITORPLUGIN_H + +#include +#include +#include +#include +#include +#include +#include "pluginsiteminterface.h" +#include "mainwidget.h" +#include "pluginsettingdialog.h" +#include "aboutdialog.h" +#include "type.h" + +extern struct SettingItem settingItems[]; + +class SysMonitorPlugin : public QObject, PluginsItemInterface +{ + Q_OBJECT + Q_INTERFACES(PluginsItemInterface) + Q_PLUGIN_METADATA(IID "com.deepin.dock.PluginsItemInterface" FILE "sys_monitor.json") + +public: + explicit SysMonitorPlugin(QObject *parent = nullptr); + + const QString pluginDisplayName() const override; + const QString pluginName() const override; + void init(PluginProxyInterface *proxyInter) override; + + //PluginSizePolicy pluginSizePolicy() const override; + + QWidget *itemWidget(const QString &itemKey) override; + QWidget *itemTipsWidget(const QString &itemKey) override; + QWidget *itemPopupApplet(const QString &itemKey) override; + + bool pluginIsAllowDisable() override; + bool pluginIsDisable() override; + void pluginStateSwitched() override; + + const QString itemContextMenu(const QString &itemKey) override; + void invokedMenuItem(const QString &itemKey, const QString &menuId, const bool checked) override; + void displayModeChanged(const Dock::DisplayMode displayMode) override; + void positionChanged(const Dock::Position position)override; + + const QString toHumanRead(unsigned long l,const char *unit,int digit); +public: + static struct SettingItem settingItems[];//公共的保存默认设置的数组 + + //自定义读写配置函数 + void readConfig(Settings *settings); + void writeConfig(Settings *settings); +private slots: + // 用于更新数据的槽函数 + void refreshInfo(); + //更新tipsWidget气泡数据的函数 + void m_Widget_update(QLabel *); +private: + //CPU工作时间除以总时间,内存百分比,交换区百分比 + int cpuPercent,memPercent,swapPercent; + QString strswap; + // 获取cpu总时间,获取cpu工作时间 + unsigned long long totaltime,worktime; + //保存上一次结果 + unsigned long long oldtotaltime,oldworktime; + //cpu的各种时间变量 + unsigned long long user, nice, system, idle; + unsigned long long iowait, irq, softirq, steal, guest, guestnice; + //字符数组保存文件内容 + char buffer[1024]; + //文件描述符 + FILE* fp; + //总内存,可用内存 + unsigned long totalmem,availablemem,tmp,totalswap,freeswap; + //接收字节数,发送字节数 + unsigned long rbytes,sbytes,oldrbytes,oldsbytes,tmpr,tmps; + char devname[1024]; + //电池功率瓦特 + double battery_watts; + //电池统计计数,每隔这么多次才读取一次 + int bat_count; + // 字体 + QFont font; + //dock显示模式:时尚模式 高效模式 + Dock::DisplayMode dismode; + //dock的位置:上下左右 + Dock::Position pos; + //设置结构体 + Settings settings; + //传递给widget的信息结构体 + Info info; + +private: + // 处理时间间隔的计时器 + QTimer *m_refreshTimer; + MainWidget *m_mainWidget; + QLabel *m_tipsWidget; + QLabel *m_appletWidget; +}; + +#endif // HOMEMONITORPLUGIN_H diff --git a/plugins/dde-sys-monitor-plugin/type.h b/plugins/dde-sys-monitor-plugin/type.h new file mode 100644 index 00000000..b60c0f74 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/type.h @@ -0,0 +1,35 @@ +#ifndef TYPE_H +#define TYPE_H +#include +#include +//主插件类传递给widget的信息结构体 +struct Info{ + QString scpu;int cpu; + QString scputemp;double cputemp; + QString smem;int mem; + QString snetup;int netup; + QString snetdwon;int netdown; +}; + +//显示内容设置返回的枚举类型 +enum DisplayContentSetting +{ + CPUMEM=0,//只显示CPU内存 + NETSPEED=1,//只显示网速 + ALL=2//两个都显示 +}; + +struct SettingItem{ + QString name; + QVariant value; +}; + +typedef QMap Settings; + +struct Data +{ + int x; + int y; +}; + +#endif // TYPE_H -- Gitee From 4d1a4af9918ef28ce139adbfa9cd4b67d285a758 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 24 Aug 2024 09:04:59 +0800 Subject: [PATCH 08/30] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/control | 11 +- debian/dde-dock.install | 2 + .../CMakeFiles/3.29.6/CMakeSystem.cmake | 15 + .../3.29.6/CompilerIdC/CMakeCCompilerId.c | 895 ++++++++++ .../CMakeFiles/CMakeConfigureLog.yaml | 10 + plugins/dde-sys-monitor-plugin/CMakeLists.txt | 2 +- plugins/dde-sys-monitor-plugin/LICENSE | 339 ---- plugins/dde-sys-monitor-plugin/README.md | 119 +- .../dde-sys-monitor-plugin/aboutdialog.cpp | 29 - plugins/dde-sys-monitor-plugin/aboutdialog.h | 31 - plugins/dde-sys-monitor-plugin/aboutdialog.ui | 176 -- ...-dock-monitor-plugin_1.7.2spark0_amd64.deb | Bin 64264 -> 0 bytes .../bin/libsys_monitor.zip | Bin 83458 -> 0 bytes .../image/chartmode1.jpg | Bin 21870 -> 0 bytes .../image/chartmode2.jpg | Bin 14960 -> 0 bytes .../dde-sys-monitor-plugin/image/setting1.jpg | Bin 18907 -> 0 bytes .../dde-sys-monitor-plugin/image/setting2.jpg | Bin 26177 -> 0 bytes .../image/wordmode1.jpg | Bin 25337 -> 0 bytes .../image/wordmode2.jpg | Bin 17646 -> 0 bytes ...5\347\224\265\347\212\266\346\200\201.png" | Bin ...6\347\224\265\347\212\266\346\200\201.png" | Bin ...7\244\272CPU\345\206\205\345\255\230.jpeg" | Bin ...\347\244\272\347\275\221\351\200\237.jpeg" | Bin ...6\347\244\272\345\206\205\345\256\271.png" | Bin ...7\345\205\250\346\230\276\347\244\272.png" | Bin ...7\244\272CPU\345\206\205\345\255\230.jpeg" | Bin ...\347\244\272\347\275\221\351\200\237.jpeg" | Bin ...\351\224\256\350\217\234\345\215\225.jpeg" | Bin .../informationwidget.cpp | 84 + .../informationwidget.h | 33 + plugins/dde-sys-monitor-plugin/mainwidget.cpp | 299 ---- plugins/dde-sys-monitor-plugin/mainwidget.h | 55 - .../pluginsettingdialog.cpp | 107 +- .../pluginsettingdialog.h | 24 +- .../pluginsettingdialog.ui | 1517 ++--------------- .../dde-sys-monitor-plugin/streamchart.cpp | 65 - plugins/dde-sys-monitor-plugin/streamchart.h | 36 - .../dde-sys-monitor-plugin/sys_monitor.json | 2 +- .../sysmonitorplugin.cpp | 248 +-- .../dde-sys-monitor-plugin/sysmonitorplugin.h | 30 +- plugins/dde-sys-monitor-plugin/type.h | 35 - 41 files changed, 1308 insertions(+), 2856 deletions(-) create mode 100644 plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CMakeSystem.cmake create mode 100644 plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CompilerIdC/CMakeCCompilerId.c create mode 100644 plugins/dde-sys-monitor-plugin/CMakeFiles/CMakeConfigureLog.yaml delete mode 100644 plugins/dde-sys-monitor-plugin/LICENSE delete mode 100644 plugins/dde-sys-monitor-plugin/aboutdialog.cpp delete mode 100644 plugins/dde-sys-monitor-plugin/aboutdialog.h delete mode 100644 plugins/dde-sys-monitor-plugin/aboutdialog.ui delete mode 100644 plugins/dde-sys-monitor-plugin/bin/dde-dock-monitor-plugin_1.7.2spark0_amd64.deb delete mode 100644 plugins/dde-sys-monitor-plugin/bin/libsys_monitor.zip delete mode 100644 plugins/dde-sys-monitor-plugin/image/chartmode1.jpg delete mode 100644 plugins/dde-sys-monitor-plugin/image/chartmode2.jpg delete mode 100644 plugins/dde-sys-monitor-plugin/image/setting1.jpg delete mode 100644 plugins/dde-sys-monitor-plugin/image/setting2.jpg delete mode 100644 plugins/dde-sys-monitor-plugin/image/wordmode1.jpg delete mode 100644 plugins/dde-sys-monitor-plugin/image/wordmode2.jpg rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\345\205\205\347\224\265\347\212\266\346\200\201.png" => "plugins/dde-sys-monitor-plugin/image/\345\205\205\347\224\265\347\212\266\346\200\201.png" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\224\276\347\224\265\347\212\266\346\200\201.png" => "plugins/dde-sys-monitor-plugin/image/\346\224\276\347\224\265\347\212\266\346\200\201.png" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\227\266\345\260\232\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272CPU\345\206\205\345\255\230.jpeg" => "plugins/dde-sys-monitor-plugin/image/\346\227\266\345\260\232\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272CPU\345\206\205\345\255\230.jpeg" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\346\227\266\345\260\232\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" => "plugins/dde-sys-monitor-plugin/image/\346\227\266\345\260\232\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\350\256\276\347\275\256\346\230\276\347\244\272\345\206\205\345\256\271.png" => "plugins/dde-sys-monitor-plugin/image/\350\256\276\347\275\256\346\230\276\347\244\272\345\206\205\345\256\271.png" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\205\250\346\230\276\347\244\272.png" => "plugins/dde-sys-monitor-plugin/image/\351\253\230\346\225\210\346\250\241\345\274\217\345\205\250\346\230\276\347\244\272.png" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272CPU\345\206\205\345\255\230.jpeg" => "plugins/dde-sys-monitor-plugin/image/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272CPU\345\206\205\345\255\230.jpeg" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" => "plugins/dde-sys-monitor-plugin/image/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\252\346\230\276\347\244\272\347\275\221\351\200\237.jpeg" (100%) rename "plugins/dde-sys-monitor-plugin/image/deepin15.11/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\263\351\224\256\350\217\234\345\215\225.jpeg" => "plugins/dde-sys-monitor-plugin/image/\351\253\230\346\225\210\346\250\241\345\274\217\345\217\263\351\224\256\350\217\234\345\215\225.jpeg" (100%) create mode 100755 plugins/dde-sys-monitor-plugin/informationwidget.cpp create mode 100755 plugins/dde-sys-monitor-plugin/informationwidget.h delete mode 100644 plugins/dde-sys-monitor-plugin/mainwidget.cpp delete mode 100644 plugins/dde-sys-monitor-plugin/mainwidget.h delete mode 100644 plugins/dde-sys-monitor-plugin/streamchart.cpp delete mode 100644 plugins/dde-sys-monitor-plugin/streamchart.h delete mode 100644 plugins/dde-sys-monitor-plugin/type.h diff --git a/debian/control b/debian/control index ee905989..b4f7a498 100644 --- a/debian/control +++ b/debian/control @@ -36,10 +36,17 @@ Recommends: dde-disk-mount-plugin, dde-dock-onboard-plugin Conflicts: dde-workspace (<< 2.90.5), dde-dock-applets, - dde-trash-plugin + dde-trash-plugin, + gxde-dock-monitor-plugin, + dde-dock-monitor-plugin Replaces: dde-dock-applets, - dde-trash-plugin + dde-trash-plugin, + gxde-dock-monitor-plugin, + dde-dock-monitor-plugin +Provides: + gxde-dock-monitor-plugin, + dde-dock-monitor-plugin Description: deepin desktop-environment - dock module Deepin desktop environment - dock module. diff --git a/debian/dde-dock.install b/debian/dde-dock.install index 726fd8b1..c2445f2a 100644 --- a/debian/dde-dock.install +++ b/debian/dde-dock.install @@ -6,5 +6,7 @@ usr/lib/dde-dock/plugins/libshutdown.so usr/lib/dde-dock/plugins/libtrash.so usr/lib/dde-dock/plugins/libtray.so usr/lib/dde-dock/plugins/liboverlay-warning.so +usr/lib/dde-dock/plugins/libsys_monitor.so usr/lib/dde-dock/plugins/system-trays +usr/lib/gxde-dock/plugins/libsys_monitor.so etc/dde-dock diff --git a/plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CMakeSystem.cmake b/plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CMakeSystem.cmake new file mode 100644 index 00000000..f578c69e --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.9.7+bpo-amd64") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.9.7+bpo-amd64") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.9.7+bpo-amd64") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.9.7+bpo-amd64") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CompilerIdC/CMakeCCompilerId.c b/plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..508c4cd7 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/CMakeFiles/3.29.6/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,895 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/plugins/dde-sys-monitor-plugin/CMakeFiles/CMakeConfigureLog.yaml b/plugins/dde-sys-monitor-plugin/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 00000000..60509b4b --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,10 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.29/Modules/CMakeDetermineSystem.cmake:205 (message)" + - "CMakeLists.txt:14 (project)" + message: | + The system is: Linux - 6.9.7+bpo-amd64 - x86_64 diff --git a/plugins/dde-sys-monitor-plugin/CMakeLists.txt b/plugins/dde-sys-monitor-plugin/CMakeLists.txt index 32f7f882..d89418e1 100755 --- a/plugins/dde-sys-monitor-plugin/CMakeLists.txt +++ b/plugins/dde-sys-monitor-plugin/CMakeLists.txt @@ -79,6 +79,7 @@ add_library(${PLUGIN_NAME} SHARED ${SRCS} sys_monitor.qrc) # 另外还有很多可用于设置的属性,可查阅 cmake 文档。 set_target_properties(${PLUGIN_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ./) target_include_directories(${PLUGIN_NAME} PUBLIC ${DtkWidget_INCLUDE_DIRS} ../../interfaces) + # 设置目标要使用的 include 目录,即头文件目录 # 变量 ${DtkWidget_INCLUDE_DIRS} 是在前面执行 find_package 命令时引入的 # 当出现编译失败提示找不到某些库的头文件时应该检查此处是否将所有需要的头文件都包含了 @@ -101,6 +102,5 @@ target_link_libraries(${PLUGIN_NAME} PRIVATE set(CMAKE_INSTALL_PREFIX "/usr") # 设置执行 make install 时哪个目标应该被 install 到哪个位置 -#install(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION lib/dde-dock/plugins) install(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION lib/dde-dock/plugins) install(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION lib/gxde-dock/plugins) diff --git a/plugins/dde-sys-monitor-plugin/LICENSE b/plugins/dde-sys-monitor-plugin/LICENSE deleted file mode 100644 index 89e08fb0..00000000 --- a/plugins/dde-sys-monitor-plugin/LICENSE +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/plugins/dde-sys-monitor-plugin/README.md b/plugins/dde-sys-monitor-plugin/README.md index 17c65bdb..1fb7ceda 100755 --- a/plugins/dde-sys-monitor-plugin/README.md +++ b/plugins/dde-sys-monitor-plugin/README.md @@ -1,104 +1,63 @@ -# dde-sys-monitor-plugin +# gxde-sys-monitor-plugin +# 这是一个fork,为了GXDE. 原地址: https://github.com/q77190858/dde-sys-monitor-plugin +## deepin系统监控dock插件,可监控CPU使用率、内存使用率、swap使用率、上传下载总量和实时网速 +### 参考了https://github.com/sonichy/CMDU_DDE_DOCK +### 感谢大神@sonichy -deepin系统监控dock插件,可监控CPU使用率、内存使用率、swap使用率、上传下载总量、实时网速和电池放电功率,有文字模式和图表模式可选 +![alt](image/高效模式全显示.png) ![alt](image/高效模式只显示CPU内存.jpeg) ![alt](image/高效模式只显示网速.jpeg) ------------------------ +上三图分别是高效模式下: +1. 全显示 +2. 只显示CPU内存 +3. 只显示网速 -## 一、参考项目 +![alt](image/时尚模式只显示CPU内存.jpeg) ![alt](image/时尚模式只显示网速.jpeg) -- [CMDU_DDE_DOCK for deepin](https://github.com/sonichy/CMDU_DDE_DOCK)@sonichy +上两图分别是时尚模式下: +1. 只显示CPU内存 +2. 只显示网速 -- [indicator-multiload in ubuntu](https://launchpad.net/ubuntu/+source/indicator-multiload/) - -## 二、图片展示 - -![alt](image/wordmode1.jpg) ![alt](image/chartmode1.jpg) ![alt](image/wordmode2.jpg) ![alt](image/chartmode2.jpg) - -上四图分别是插件在文字模式和图表模式下的表现,并且插件的可配置性很高 - -![alt](image/setting1.jpg) ![alt](image/setting2.jpg) +![alt](image/高效模式右键菜单.jpeg) ![alt](image/设置显示内容.png) 右键菜单中有设置选项,可以设置各个模式下的显示内容 -## 三、下载安装方式 - -### 1. 码云一键下载安装 - -deepin20.7 测试可用 +# 编译好的so [下载](https://github.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so) +deepin15.11测试可用 -```bash -wget https://gitee.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so && \ - sudo mv libsys_monitor.so /usr/lib/dde-dock/plugins/ && \ - pkill dde-dock +# 直接下载安装: ``` - -### 2. 手动下载地址 - -github:[libsys_monitor.so](https://github.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so) - -码云:[libsys_monitor.so](https://gitee.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so) - -### 3. 安装命令 - -```bash sudo cp libsys_monitor.so /usr/lib/dde-dock/plugins/ pkill dde-dock dde-dock ``` -## 四、源代码编译安装 +# 编译加安装: +`./build.sh` -### 1. 官方插件开发教程 - -教程见[官方开发文档](https://github.com/linuxdeepin/dde-dock/blob/master/plugins/plugin-guide/plugins-developer-guide.md +编译教程见[官方开发文档](https://github.com/linuxdeepin/dde-dock/blob/master/plugins/plugin-guide/plugins-developer-guide.md ) -### 2. 安装依赖 - -编译另外还需要安装如下依赖(官方的开发文档讲的环境配置不全): - -```bash -sudo apt install build-essential -sudo apt install qt5-default -sudo apt install dde-dock-dev -sudo apt install libdtkwidget-dev -#使用qtcreator集成环境可以直接设计ui界面,非必要 -sudo apt install qtcreator -#deepin/uos用户使用此命令可以获取最新的qtcreator -sudo apt install io.qt.qtcreator -#使用qtcreator打开cmake工程要先安装cmake -sudo apt install cmake +编译另外还需要安装如下依赖(吐槽一下官方的开发文档讲的环境配置不全): ``` - -### 3. 一键编译安装 - -```bash -cd dde-sys-monitor-plugin -./build.sh +sudo apt install dde-dock-dev qtchooser libdtkwidget2-dev cmake ``` -## 五、更新日志 - 有问题欢迎回帖反馈!开发的心得体会参见我的博客 [http://blog.mxslly.com/archives/95.html](http://blog.mxslly.com/archives/95.html) -- 20190617 22:37更新:修复上传下载一致的bug,下载地址同上 -- 20190619 12:07更新:缩减宽度,小气泡文字对齐,编译脚本优化,下载地址同上 -- 20190627 16:04更新:修复时尚模式显示不全问题,现在时尚模式只显示网速 -- 20190830 03:14更新:缩减1个字符宽度,现在最低单位为KB,不显示B -- 20191211 10:09更新:导入项目到qtcreator,添加设置功能,可设置显示内容 -- 20200214 21:09更新:针对高分屏dpi优化;可设置显示行距;使用系统函数保存设置,更新后单击小气泡无法弹出,原因不明 -- 20200322 16:31更新:添加电池功率显示 -- 20200420 00:01更新:尝试修复插件界面显示为空白的UI问题,失败 -- 20200421 17:01更新:修复电池信息读取失败的问题,加入电池信息开关 -- 20200721 20:38更新:重构代码架构,提高可扩展性;参考indicator-multiload加入图表模式;加入很多设置选项;使用upower获取电池功率提高兼容性;适配deepin20dock的上下左右位置 -- 20200818 15:50更新:根据 @zty199 的启发加入了跟随系统主题变化文字颜色的功能,仅限于文字模式 -- 20200826 23:20更新:修复采样时间间隔不为1s时网速显示不准确的问题 -- 20200916 21:06更新:修复插件显示有时会被dde-dock遮挡的问题;添加关于信息 -- 20200922 23:51更新:修复dock在左右位置时插件留白过大的问题 -- 20200928 20:06更新:修复文字模式未对齐的bug;加入控制遮挡时刷新的开关 -- 20201025 12:50更新:暂时修改插件名为datetime防止被dock遮挡 -- 20210216 22:50更新:文字模式增加自定义显示文字功能 -- 20210517 21:34更新:新增CPU温度显示,需要安装lm-sensors -- 20220125 20:26更新: 支持新的插件函数PluginSizePolicy -- 20220902 22:43更新:适配作者的dde-dock [pr补丁](https://github.com/linuxdeepin/dde-dock/pull/446)合并,现在不会被遮挡了 +20190617 22:37更新:修复上传下载一致的bug,下载地址同上 + +20190619 12:07更新:缩减宽度,小气泡文字对齐,编译脚本优化,下载地址同上 + +20190627 16:04更新:修复时尚模式显示不全问题,现在时尚模式只显示网速 + +20190830 03:14更新:缩减1个字符宽度,现在最低单位为KB,不显示B + +20191211 10:09更新:导入项目到qtcreator,添加设置功能,可设置显示内容 + +20200214 21:09更新:针对高分屏dpi优化;可设置显示行距;使用系统函数保存设置,更新后单击小气泡无法弹出,原因不明 + +20200322 16:31更新:添加电池功率显示,正负表示放电和充电状态功率 + +![alt](image/放电状态.png) +![alt](image/充电状态.png) \ No newline at end of file diff --git a/plugins/dde-sys-monitor-plugin/aboutdialog.cpp b/plugins/dde-sys-monitor-plugin/aboutdialog.cpp deleted file mode 100644 index 364e48f4..00000000 --- a/plugins/dde-sys-monitor-plugin/aboutdialog.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "aboutdialog.h" -#include "ui_aboutdialog.h" - -aboutDialog::aboutDialog(QWidget *parent) : - QDialog(parent), - ui(new Ui::aboutDialog) -{ - ui->setupUi(this); -} - -aboutDialog::~aboutDialog() -{ - delete ui; -} - -void aboutDialog::on_blogPushButton_clicked() -{ - QDesktopServices::openUrl(QUrl("https://blog.mxslly.com")); -} - -void aboutDialog::on_giteePushButton_clicked() -{ - QDesktopServices::openUrl(QUrl("https://gitee.com/q77190858/dde-sys-monitor-plugin")); -} - -void aboutDialog::on_githubPushButton_clicked() -{ - QDesktopServices::openUrl(QUrl("https://github.com/q77190858/dde-sys-monitor-plugin")); -} diff --git a/plugins/dde-sys-monitor-plugin/aboutdialog.h b/plugins/dde-sys-monitor-plugin/aboutdialog.h deleted file mode 100644 index 856ea96d..00000000 --- a/plugins/dde-sys-monitor-plugin/aboutdialog.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef ABOUTDIALOG_H -#define ABOUTDIALOG_H - -#include -#include -#include - -namespace Ui { -class aboutDialog; -} - -class aboutDialog : public QDialog -{ - Q_OBJECT - -public: - explicit aboutDialog(QWidget *parent = nullptr); - ~aboutDialog(); - -private slots: - void on_blogPushButton_clicked(); - - void on_giteePushButton_clicked(); - - void on_githubPushButton_clicked(); - -private: - Ui::aboutDialog *ui; -}; - -#endif // ABOUTDIALOG_H diff --git a/plugins/dde-sys-monitor-plugin/aboutdialog.ui b/plugins/dde-sys-monitor-plugin/aboutdialog.ui deleted file mode 100644 index b99bc87f..00000000 --- a/plugins/dde-sys-monitor-plugin/aboutdialog.ui +++ /dev/null @@ -1,176 +0,0 @@ - - - aboutDialog - - - - 0 - 0 - 400 - 300 - - - - - 400 - 300 - - - - - 400 - 300 - - - - Dialog - - - - - 200 - 240 - 171 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 10 - 30 - 381 - 51 - - - - - 0 - 0 - - - - - 381 - 51 - - - - font: 70 15pt "Noto Sans CJK SC"; - - - deepin系统监视器(托盘插件) - - - Qt::AlignCenter - - - - - - 140 - 80 - 131 - 31 - - - - 版本号:20220902 - - - - - - 160 - 180 - 91 - 36 - - - - gitee主页 - - - - - - 270 - 180 - 91 - 36 - - - - github主页 - - - - - - 150 - 110 - 131 - 31 - - - - 作者:孟诗远 - - - - - - 50 - 180 - 91 - 36 - - - - 个人博客 - - - - - - - buttonBox - accepted() - aboutDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - aboutDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - - diff --git a/plugins/dde-sys-monitor-plugin/bin/dde-dock-monitor-plugin_1.7.2spark0_amd64.deb b/plugins/dde-sys-monitor-plugin/bin/dde-dock-monitor-plugin_1.7.2spark0_amd64.deb deleted file mode 100644 index ee7f7b1dc36970d17155e0537d5c35ca54e7aed6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64264 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%0DjY$A9Ah??Y7TQI$i}i)H;we^6#SRvKtlw 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

    JXYm|)sdAmgG_KCvDT-2U(Litgr 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

    L5qBl% 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

    W!wPP-A5EA%85Y2|D<+bJG(w3pi`a-H-eKr2f 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 diff --git a/plugins/dde-sys-monitor-plugin/image/chartmode1.jpg b/plugins/dde-sys-monitor-plugin/image/chartmode1.jpg deleted file mode 100644 index a3bb5717ff5aa62a1730c92012d805cc564f8816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21870 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 diff --git a/plugins/dde-sys-monitor-plugin/image/setting1.jpg b/plugins/dde-sys-monitor-plugin/image/setting1.jpg deleted file mode 100644 index ae63076e201b38574e519c8bce8aba80ac1c31e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18907 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�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 diff --git a/plugins/dde-sys-monitor-plugin/image/wordmode1.jpg b/plugins/dde-sys-monitor-plugin/image/wordmode1.jpg deleted file mode 100644 index 41b07922f7110a23752dddc30b347065a4e877aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25337 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 +#include +#include +#include + +InformationWidget::InformationWidget(QWidget *parent) + : QWidget(parent) + , m_infoLabel(new QLabel) +{ + m_infoLabel->setStyleSheet("QLabel {" + "color: white;" + "}"); + //m_infoLabel->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); + font.setFamily("Noto Mono"); + // 获取dpi,一般默认都是96,根据dpi进行字体的缩放,直接设置pointsize无法解决hidpi问题 + int dpi = QApplication::primaryScreen()->logicalDotsPerInch(); + int fontsize = 9; // >10在时尚模式下有些显示不全 + font.setPixelSize((dpi*fontsize)/72); + m_infoLabel->setFont(font); + + QVBoxLayout *centralLayout = new QVBoxLayout; + centralLayout->addWidget(m_infoLabel); + centralLayout->setSpacing(0); + centralLayout->setMargin(0); + + setLayout(centralLayout); +} + +void InformationWidget::UpdateData(const Info& info,Dock::DisplayMode dismode,const Settings& settings) +{ + if(dismode==Dock::Efficient)//高效模式 + { + switch (settings.efficient) { + case DisplayContentSetting::CPUMEM: + m_infoLabel->setText(QString("

    CPU:%2
    MEM:%3

    ") + .arg(settings.lineHeight) + .arg(info.cpu) + .arg(info.mem)); + break; + case DisplayContentSetting::NETSPEED: + m_infoLabel->setText(QString("

    ↑%2/S
    ↓%3/S

    ") + .arg(settings.lineHeight) + .arg(info.netup) + .arg(info.netdwon)); + break; + case DisplayContentSetting::ALL: + m_infoLabel->setText(QString("

    CPU:%2↑%3/S
    MEM:%4↓%5/S

    ") + .arg(settings.lineHeight) + .arg(info.cpu).arg(info.netup) + .arg(info.mem).arg(info.netdwon)); + break; + default: + m_infoLabel->setText(QString("

    CPU:%2↑%3/S
    MEM:%4↓%5/S

    ") + .arg(settings.lineHeight) + .arg(info.cpu).arg(info.netup) + .arg(info.mem).arg(info.netdwon)); + break; + } + } + else//时尚模式 + { + switch (settings.fashion) { + case DisplayContentSetting::CPUMEM: + m_infoLabel->setText(QString("

    CPU:%2
    MEM:%3

    ") + .arg(settings.lineHeight) + .arg(info.cpu) + .arg(info.mem)); + break; + case DisplayContentSetting::NETSPEED: + m_infoLabel->setText(QString("

    ↑%2/S
    ↓%3/S

    ") + .arg(settings.lineHeight) + .arg(info.netup) + .arg(info.netdwon)); + break; + default: + m_infoLabel->setText(QString("

    ↑%2/S
    ↓%3/S

    ") + .arg(settings.lineHeight) + .arg(info.netup) + .arg(info.netdwon)); + break; + } + } +} diff --git a/plugins/dde-sys-monitor-plugin/informationwidget.h b/plugins/dde-sys-monitor-plugin/informationwidget.h new file mode 100755 index 00000000..eedda764 --- /dev/null +++ b/plugins/dde-sys-monitor-plugin/informationwidget.h @@ -0,0 +1,33 @@ +#ifndef INFORMATIONWIDGET_H +#define INFORMATIONWIDGET_H + +#include +#include +#include +#include +#include +#include "pluginsettingdialog.h" + +struct Info{ + QString cpu; + QString mem; + QString netup; + QString netdwon; +}; + +class InformationWidget : public QWidget +{ + Q_OBJECT + +public: + explicit InformationWidget(QWidget *parent = nullptr); + void UpdateData(const Info& info,Dock::DisplayMode dismode,const Settings& settings); + +public: + // 真正的数据显示在这个 Label 上 + QLabel *m_infoLabel; + // 字体 + QFont font; +}; + +#endif // INFORMATIONWIDGET_H diff --git a/plugins/dde-sys-monitor-plugin/mainwidget.cpp b/plugins/dde-sys-monitor-plugin/mainwidget.cpp deleted file mode 100644 index f756146c..00000000 --- a/plugins/dde-sys-monitor-plugin/mainwidget.cpp +++ /dev/null @@ -1,299 +0,0 @@ -#include "mainwidget.h" -#include -#include - -DGUI_USE_NAMESPACE - -MainWidget::MainWidget(Settings& settings,Dock::Position position) -{ - centralLayout=NULL; - cpuMemLabel=NULL; - netLabel=NULL; - netChart=NULL; - cpuChart=NULL; - memChart=NULL; - //setMinimumSize(5,5); - //设置等宽字体 - font.setFamily("Noto Mono"); - // 获取dpi,一般默认都是96,根据dpi进行字体的缩放,直接设置pointsize无法解决hidpi问题 - dpi = QApplication::primaryScreen()->logicalDotsPerInch(); - oldsettings=settings; - oldposition=position; -} - -MainWidget::~MainWidget() -{ - if(cpuMemLabel!=NULL){delete cpuMemLabel;cpuMemLabel=NULL;} - if(netLabel!=NULL){delete netLabel;netLabel=NULL;} - if(netChart!=NULL){delete netChart;netChart=NULL;} - if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} - if(memChart!=NULL){delete memChart;memChart=NULL;} - if(centralLayout!=NULL){delete centralLayout;centralLayout=NULL;} -} - -void MainWidget::UpdateData(const Info &info, Dock::Position position, const Settings &settings) -{ - //qDebug()<<"MainWidget::UpdateData() start"; - //如果dock位置发生如下变化,则手动重构ui - if( - ((oldposition==Dock::Top||oldposition==Dock::Bottom)&&(position==Dock::Left||position==Dock::Right)) - || - ((position==Dock::Top||position==Dock::Bottom)&&(oldposition==Dock::Left||oldposition==Dock::Right)) - ) - { - if(cpuMemLabel!=NULL){delete cpuMemLabel;cpuMemLabel=NULL;} - if(netLabel!=NULL){delete netLabel;netLabel=NULL;} - if(netChart!=NULL){delete netChart;netChart=NULL;} - if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} - if(memChart!=NULL){delete memChart;memChart=NULL;} - if(centralLayout!=NULL){delete centralLayout;centralLayout=NULL;} - } - oldposition=position; - - if(!settings.value("chartModeCheckBox").toInt())//文字模式 - { - //当模式切换的时候 - if(oldsettings.value("chartModeCheckBox").toInt()) - { - //先清理掉之前的ui - //qDebug()<<"模式切换,先清理掉之前的图表ui"; - if(netChart!=NULL){delete netChart;netChart=NULL;} - if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} - if(memChart!=NULL){delete memChart;memChart=NULL;} - if(centralLayout!=NULL){delete centralLayout;centralLayout=NULL;} - } - //当模式切换或者第一次初始化的时候,需要新建ui - if(centralLayout==NULL) - { - //创建新的ui - qDebug()<<"创建新的文字ui"; - cpuMemLabel=new QLabel(); - cpuMemLabel->setAlignment(Qt::AlignCenter); - netLabel=new QLabel(); - netLabel->setAlignment(Qt::AlignCenter); - centralLayout = new QBoxLayout((position==Dock::Top||position==Dock::Bottom)? - QBoxLayout::LeftToRight:QBoxLayout::TopToBottom); - centralLayout->addWidget(cpuMemLabel); - centralLayout->addWidget(netLabel); - centralLayout->setMargin(0); - setLayout(centralLayout); - } - centralLayout->setSpacing(settings.value("wordSpacingSpinBox").toInt()); - font.setPixelSize((dpi*settings.value("fontSizeSpinBox").toInt())/72); - cpuMemLabel->setFont(font); - netLabel->setFont(font); - - QString style; - switch(settings.value("fontColorComboBox").toInt()) - { - case 0: - style=QString("QLabel {color: %1;}").arg("#fff"); - break; - case 1: - style=QString("QLabel {color: %1;}").arg("#000"); - break; - case 2: - if(DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) - style=QString("QLabel {color: %1;}").arg("#000"); - else - style=QString("QLabel {color: %1;}").arg("#fff"); - break; - } - - cpuMemLabel->setStyleSheet(style); - netLabel->setStyleSheet(style); - - switch (settings.value("displayContentComboBox").toInt()) - { - case DisplayContentSetting::CPUMEM: - cpuMemLabel->setVisible(true); - netLabel->setVisible(false); - cpuMemLabel->setText(QString("%1%2\n%3%4") - .arg(settings.value("cpuDiyWordLineEdit").value()) - .arg(info.scpu) - .arg(settings.value("memDiyWordLineEdit").value()) - .arg(info.smem)); - break; - case DisplayContentSetting::NETSPEED: - cpuMemLabel->setVisible(false); - netLabel->setVisible(true); - netLabel->setText(QString("%1%2/s\n%3%4/s") - .arg(settings.value("upNetspeedDiyWordLineEdit").value()) - .arg(info.snetup) - .arg(settings.value("downNetspeedDiyWordLineEdit").value()) - .arg(info.snetdwon)); - break; - default://DisplayContentSetting::ALL: - cpuMemLabel->setVisible(true); - netLabel->setVisible(true); - cpuMemLabel->setText(QString("%1%2\n%3%4") - .arg(settings.value("cpuDiyWordLineEdit").value()) - .arg(info.scpu) - .arg(settings.value("memDiyWordLineEdit").value()) - .arg(info.smem)); - netLabel->setText(QString("%1%2/s\n%3%4/s") - .arg(settings.value("upNetspeedDiyWordLineEdit").value()) - .arg(info.snetup) - .arg(settings.value("downNetspeedDiyWordLineEdit").value()) - .arg(info.snetdwon)); - break; - } - } - else//图表模式 - { - //当模式切换的时候,清除文字ui - if(!oldsettings.value("chartModeCheckBox").toInt()) - { - delete cpuMemLabel;cpuMemLabel=NULL; - delete netLabel;netLabel=NULL; - delete centralLayout;centralLayout=NULL; - } - //当图表有变化的时候,清除所有图表ui - if(oldsettings.value("cpuChartCheckBox").toInt()+settings.value("cpuChartCheckBox").toInt()==1|| - oldsettings.value("memChartCheckBox").toInt()+settings.value("memChartCheckBox").toInt()==1|| - oldsettings.value("netChartCheckBox").toInt()+settings.value("netChartCheckBox").toInt()==1) - { - if(cpuChart!=NULL){delete cpuChart;cpuChart=NULL;} - if(memChart!=NULL){delete memChart;memChart=NULL;} - if(netChart!=NULL){delete netChart;netChart=NULL;} - delete centralLayout;centralLayout=NULL; - } - //当模式切换或者第一次初始化的时候,绘制图表ui - if(centralLayout==NULL) - { - centralLayout = new QBoxLayout((position==Dock::Top||position==Dock::Bottom)? - QBoxLayout::LeftToRight:QBoxLayout::TopToBottom); - centralLayout->setMargin(0); - setLayout(centralLayout); - } - - centralLayout->setSpacing(settings.value("chartSpacingSpinBox").toInt()); - if(settings.value("cpuChartCheckBox").toInt()) - { - if(cpuChart==NULL) - { - cpuChart=new StreamChart(); - centralLayout->addWidget(cpuChart); - } - data.x=info.cpu; - data.y=0; - cpuChart->height=settings.value("cpuHeightSpinBox").toInt(); - cpuChart->width=settings.value("cpuWidthSpinBox").toInt(); - cpuChart->color1=settings.value("cpuWorkWidget").value(); - cpuChart->color2=QColor(255,255,255,0); - cpuChart->borderRound=settings.value("cpuBorderRoundSpinBox").toInt(); - cpuChart->colorBorder=settings.value("cpuBorderWidget").value(); - cpuChart->colorBackground=settings.value("cpuBackgroundWidget").value(); - cpuChart->spacing=settings.value("chartSpacingSpinBox").toInt(); - - cpuChart->updateChart(data); - } - if(settings.value("memChartCheckBox").toInt()) - { - if(memChart==NULL) - { - memChart=new StreamChart(); - centralLayout->addWidget(memChart); - } - data.x=info.mem; - data.y=0; - memChart->height=settings.value("memHeightSpinBox").toInt(); - memChart->width=settings.value("memWidthSpinBox").toInt(); - memChart->color1=settings.value("memUsedWidget").value(); - memChart->color2=QColor(255,255,255,0); - memChart->borderRound=settings.value("memBorderRoundSpinBox").toInt(); - memChart->colorBorder=settings.value("memBorderWidget").value(); - memChart->colorBackground=settings.value("memBackgroundWidget").value(); - memChart->spacing=settings.value("chartSpacingSpinBox").toInt(); - - memChart->updateChart(data); - } - if(settings.value("netChartCheckBox").toInt()) - { - if(netChart==NULL) - { - netChart=new StreamChart(); - centralLayout->addWidget(netChart); - } - data.x=info.netdown*100/1024/settings.value("netDownTopSpinBox").toInt(); - data.y=info.netup*100/1024/settings.value("netUpTopSpinBox").toInt(); - netChart->height=settings.value("netHeightSpinBox").toInt(); - netChart->width=settings.value("netWidthSpinBox").toInt(); - netChart->color1=settings.value("netDownWidget").value(); - netChart->color2=settings.value("netUpWidget").value(); - netChart->borderRound=settings.value("netBorderRoundSpinBox").toInt(); - netChart->colorBorder=settings.value("netBorderWidget").value(); - netChart->colorBackground=settings.value("netBackgroundWidget").value(); - netChart->spacing=settings.value("chartSpacingSpinBox").toInt(); - - netChart->updateChart(data); - } - - } - oldsettings=settings; - //qDebug()<<"MainWidget::UpdateData() finished"; -} - -QSize MainWidget::sizeHint() const -{ - if(centralLayout==NULL)return QSize(100,30); - int w,h; - const Dock::Position position = qApp->property(PROP_POSITION).value(); - if(!oldsettings.value("chartModeCheckBox").toInt())//文字模式 - { - switch (oldsettings.value("displayContentComboBox").toInt()) - { - case DisplayContentSetting::CPUMEM: - w=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().width()/2; - h=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().height()*2; - break; - case DisplayContentSetting::NETSPEED: - w=QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2; - h=QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2; - break; - case DisplayContentSetting::ALL: - if(position==Dock::Top||position==Dock::Bottom) - { - w=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().width()/2+ - QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2; - h=qMax(QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().height()*2, - QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2); - } - else - { - w=qMax(QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().width()/2, - QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2); - h=QFontMetrics(font).boundingRect(cpuMemLabel->text()).size().height()*2+ - QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2; - } - break; - default: - w=QFontMetrics(font).boundingRect(netLabel->text()).size().width()/2; - h=QFontMetrics(font).boundingRect(netLabel->text()).size().height()*2; - break; - } - } - else//图表模式 - { - if(position==Dock::Top||position==Dock::Bottom) - { - w=(cpuChart==NULL?0:cpuChart->width)+ - (memChart==NULL?0:memChart->width)+ - (netChart==NULL?0:netChart->width); - h=qMax(cpuChart==NULL?0:cpuChart->height, - qMax(memChart==NULL?0:memChart->height,netChart==NULL?0:netChart->height)); - } - else - { - w=qMax(cpuChart==NULL?0:cpuChart->width, - qMax(memChart==NULL?0:memChart->width,netChart==NULL?0:netChart->width)); - h=(cpuChart==NULL?0:cpuChart->height)+ - (memChart==NULL?0:memChart->height)+ - (netChart==NULL?0:netChart->height); - } - } - QSize size(w,h); - //qDebug()< -#include -#include -#include -#include -#include -#include -#include -#include -#include "pluginsiteminterface.h" -#include "streamchart.h" -#include "type.h" - -extern struct SettingItem settingItems[]; - -namespace Ui { -class MainWidget; -} - -class MainWidget : public QWidget -{ - Q_OBJECT - -public: - explicit MainWidget(Settings&,Dock::Position); - ~MainWidget(); - void UpdateData(const Info& info,Dock::Position position,const Settings& settings); - QSize sizeHint() const; - -public: - int dpi; - QBoxLayout *centralLayout; - // 文字模式数据显示在这2个Label上 - QLabel *cpuMemLabel,*netLabel; - //显示数据的图表类 - StreamChart *netChart,*cpuChart,*memChart; - struct Data data; - // 字体 - QFont font; - //保存之前的设置 - Settings oldsettings; - //保存之前的位置 - Dock::Position oldposition; - - -private: - Ui::MainWidget *ui; - void initLabels(void); - void initChart(void); -}; - -#endif // MAINWIDGET_H diff --git a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp index adfa4a76..4f512b3b 100644 --- a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp +++ b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.cpp @@ -6,54 +6,14 @@ pluginSettingDialog::pluginSettingDialog(Settings *settings,QWidget *parent) : ui(new Ui::pluginSettingDialog) { ui->setupUi(this); - if(settings->value("chartModeCheckBox").toInt()){ - ui->tabWidget->setCurrentIndex(1); - } - else { - ui->tabWidget->setCurrentIndex(0); - } - pal=QPalette();//首先初始化画板 + if(settings->efficient==DisplayContentSetting::CPUMEM)ui->onlyCPUMEMRadioButton->setChecked(true); + else if(settings->efficient==DisplayContentSetting::NETSPEED)ui->onlyNetSpeedRadioButton->setChecked(true); + else ui->showAllRadioButton->setChecked(true); - QMapIterator i(*settings); - while(i.hasNext()) - { - i.next(); - //找到以key为名字的widget - QWidget *obj=findChild(i.key()); - if(obj==0){qDebug()<<"不能找到对象名为:"<metaObject()->className()==QStringLiteral("QComboBox")) - { - QComboBox *cb=(QComboBox*)obj; - cb->setCurrentIndex(i.value().toInt()); - } - else if(obj->metaObject()->className()==QStringLiteral("QCheckBox")) - { - QCheckBox *cb=(QCheckBox*)obj; - cb->setChecked(i.value().toInt()); - } - else if(obj->metaObject()->className()==QStringLiteral("QSpinBox")) - { - QSpinBox *sb=(QSpinBox*)obj; - sb->setValue(i.value().toInt()); - } - else if(obj->metaObject()->className()==QStringLiteral("QWidget")) - { - QWidget *wg=(QWidget*)obj; - pal.setColor(QPalette::Background,i.value().value()); - wg->setAutoFillBackground(true); - wg->setPalette(pal); - //qDebug()<<"颜色是:"<(); - } - else if(obj->metaObject()->className()==QStringLiteral("QLineEdit")) - { - QLineEdit *le=(QLineEdit*)obj; - le->setText(i.value().value()); - } - } - foreach(QPushButton* btn,findChildren(QRegExp("\\w*ColorPushButton"))) - { - connect(btn,SIGNAL(clicked(bool)),this,SLOT(selectColor(void))); - } + if(settings->fashion==DisplayContentSetting::CPUMEM)ui->fashionOnlyCPUMEMRadioButton->setChecked(true); + else ui->fashionOnlyNetSpeedRadioButton->setChecked(true); + + ui->lineHeightSpinBox->setValue(settings->lineHeight); } pluginSettingDialog::~pluginSettingDialog() @@ -63,53 +23,12 @@ pluginSettingDialog::~pluginSettingDialog() void pluginSettingDialog::getDisplayContentSetting(Settings *settings) { - QMapIterator i(*settings); - while(i.hasNext()) - { - i.next(); - //找到以key为名字的widget - QWidget *obj=findChild(i.key()); - if(obj==0){qDebug()<<"不能找到对象名为:"<metaObject()->className()==QStringLiteral("QComboBox")) - { - QComboBox *cb=(QComboBox*)obj; - settings->insert(cb->objectName(),cb->currentIndex()); - } - else if(obj->metaObject()->className()==QStringLiteral("QCheckBox")) - { - QCheckBox *cb=(QCheckBox*)obj; - settings->insert(cb->objectName(),cb->isChecked()); - } - else if(obj->metaObject()->className()==QStringLiteral("QSpinBox")) - { - QSpinBox *sb=(QSpinBox*)obj; - settings->insert(sb->objectName(),sb->value()); - } - else if(obj->metaObject()->className()==QStringLiteral("QWidget")) - { - QWidget *wg=(QWidget*)obj; - settings->insert(wg->objectName(),wg->palette().background().color()); - } - else if(obj->metaObject()->className()==QStringLiteral("QLineEdit")) - { - QLineEdit *le=(QLineEdit*)obj; - settings->insert(le->objectName(),le->text()); - } - } -} + if(ui->onlyCPUMEMRadioButton->isChecked())settings->efficient=DisplayContentSetting::CPUMEM; + else if(ui->onlyNetSpeedRadioButton->isChecked())settings->efficient=DisplayContentSetting::NETSPEED; + else settings->efficient=DisplayContentSetting::ALL; -void pluginSettingDialog::selectColor() -{ - QWidget *colorWidget; - //"netUpColorPushButton"-->"netUpWidget" - colorWidget=findChild(sender()->objectName().replace("ColorPushButton","Widget")); + if(ui->fashionOnlyCPUMEMRadioButton->isChecked())settings->fashion=DisplayContentSetting::CPUMEM; + else settings->fashion=DisplayContentSetting::NETSPEED; - QColor color = QColorDialog::getColor(colorWidget->palette().background().color(), - this,tr("颜色对话框"),QColorDialog::ShowAlphaChannel); - if(color!=QColor::Invalid) - { - pal.setColor(QPalette::Background,color); - colorWidget->setAutoFillBackground(true); - colorWidget->setPalette(pal); - } + settings->lineHeight=ui->lineHeightSpinBox->value(); } diff --git a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.h b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.h index 389c92ce..97f51ace 100644 --- a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.h +++ b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.h @@ -1,12 +1,21 @@ #ifndef PLUGINSETTINGDIALOG_H #define PLUGINSETTINGDIALOG_H #include -#include -#include #include -#include -#include -#include "type.h" + +//显示内容设置返回的枚举类型 +enum DisplayContentSetting +{ + CPUMEM=1,//只显示CPU内存 + NETSPEED=2,//只显示网速 + ALL=3//两个都显示 +}; +struct Settings//设置结构体 +{ + DisplayContentSetting efficient; + DisplayContentSetting fashion; + int lineHeight; +}; namespace Ui { class pluginSettingDialog; @@ -22,13 +31,8 @@ public: //公有函数获得显示设置 void getDisplayContentSetting(Settings *settings); -private slots: - void selectColor(void); - private: Ui::pluginSettingDialog *ui; - //公用的画板 - QPalette pal; }; #endif // PLUGINSETTINGDIALOG_H diff --git a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui index 85fb44b3..f3e3a9c9 100644 --- a/plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui +++ b/plugins/dde-sys-monitor-plugin/pluginsettingdialog.ui @@ -9,1429 +9,156 @@ 0 0 - 700 - 550 + 279 + 411 - - - 700 - 550 - - - - - 700 - 550 - - 系统监控插件设置 - - - - 520 - 510 - 166 - 36 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 10 - 100 - 691 - 401 - - - - 0 - - - - 文字模式设置 - - - - - 447 - 30 - 141 - 38 - - - - QAbstractSpinBox::UpDownArrows - - - px - - - 1 - - - 50 - - - 1 - - - 4 - - - - - - 371 - 30 - 71 - 38 - - - - 控件间隔: - - - - - - 130 - 30 - 201 - 36 - + + + + + 高效模式显示内容设置 - - - 显示CPU、内存 - - - - - 显示网速 - - - - - 显示CP&U、内存和网速 + + + + 31 + 41 + 147 + 86 + - - - - - - 30 - 40 - 101 - 22 - - - - 显示内容设置: - - - - - - 30 - 90 - 111 - 22 - - - - CPU自定义文字: - - - - - - 140 - 80 - 113 - 36 - - - - CPU: - - - 50 - - - - - - 140 - 130 - 113 - 36 - - - - MEM: - - - 50 - - - - - - 30 - 140 - 111 - 22 - - - - 内存自定义文字: - - - - - - 430 - 130 - 113 - 36 - - - - - - - 50 - - - - - - 290 - 90 - 141 - 22 - - - - 上传网速自定义文字: - - - - - - 290 - 140 - 141 - 22 - - - - 下载网速自定义文字: - - - - - - 430 - 80 - 113 - 36 - - - - - - - 50 - + + + + + 只显示网速 + + + + + + + 只显示CPU、内存 + + + + + + + 显示CP&U、内存和网速 + + + + + - - - - 41 - 320 - 70 - 22 - - - - 字体颜色: + + + + + 时尚模式显示内容设置 + + + + 32 + 57 + 123 + 56 + + + + + + + 只显示CPU、内存 + + + + + + + 只显示网速 + + + + + - - - - 110 - 316 - 86 - 36 - - - - - 80 - 0 - - - - 白色 - - - 0 + + + + + QLayout::SetMinimumSize - - 白色 - - - - - 黑色 - + + + 行高: + + - - 跟随系统 - - - - - - - 41 - 280 - 70 - 22 - - - - 字体大小: - - - - - - 110 - 271 - 151 - 40 - - - - QAbstractSpinBox::UpDownArrows - - - px - - - 5 - - - 20 - - - 1 - - - 9 - - - - - - 图表模式设置 - - - - - 10 - 90 - 661 - 271 - - - - 0 - - - - CPU图表 - - - - - 0 - 0 - 661 - 231 - + + + QAbstractSpinBox::UpDownArrows - - CPU显示设置 + + % - - - - 20 - 50 - 91 - 22 - - - - 工作颜色 - - - - - - 120 - 50 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 200 - 40 - 71 - 36 - - - - 选择颜色 - - - - - - 480 - 100 - 71 - 36 - - - - 选择颜色 - - - - - - 320 - 110 - 71 - 22 - - - - 边框颜色 - - - - - - 130 - 100 - 161 - 38 - - - - % - - - 0 - - - 99 - - - 100 - - - 30 - - - - - - 20 - 110 - 71 - 22 - - - - 边框圆角 - - - - - - 400 - 110 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 480 - 140 - 71 - 36 - - - - 选择颜色 - - - - - - 320 - 150 - 71 - 22 - - - - 背景颜色 - - - - - - 400 - 150 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 130 - 140 - 161 - 38 - - - - px - - - 5 - - - 100 - - - 40 - - - - - - 20 - 150 - 61 - 22 - - - - 显示宽度 - - - - - - 20 - 190 - 61 - 22 - - - - 显示高度 - - - - - - 130 - 180 - 161 - 38 - - - - px - - - 5 - - - 100 - - - 28 - - - - - - - 内存图表 - - - - - 0 - 0 - 661 - 231 - + + 50 - - 内存显示设置 + + 200 - - - - 20 - 50 - 91 - 22 - - - - 使用颜色 - - - - - - 120 - 50 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 200 - 40 - 71 - 36 - - - - 选择颜色 - - - - - - 480 - 100 - 71 - 36 - - - - 选择颜色 - - - - - - 320 - 110 - 71 - 22 - - - - 边框颜色 - - - - - - 130 - 100 - 161 - 38 - - - - % - - - 0 - - - 99 - - - 100 - - - 30 - - - - - - 20 - 110 - 71 - 22 - - - - 边框圆角 - - - - - - 400 - 110 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 480 - 140 - 71 - 36 - - - - 选择颜色 - - - - - - 320 - 150 - 71 - 22 - - - - 背景颜色 - - - - - - 400 - 150 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 130 - 140 - 161 - 38 - - - - px - - - 5 - - - 100 - - - 40 - - - - - - 20 - 150 - 61 - 22 - - - - 显示宽度 - - - - - - 20 - 190 - 61 - 22 - - - - 显示高度 - - - - - - 130 - 180 - 161 - 38 - - - - px - - - 5 - - - 100 - - - 28 - - - - - - - 网络图表 - - - - - 0 - 0 - 661 - 231 - + + 10 - - 网络显示设置 + + 100 - - - - 20 - 30 - 101 - 22 - - - - 上传封顶流量值 - - - - - - 130 - 20 - 161 - 38 - - - - KB - - - 100 - - - 1024000 - - - 100 - - - 500 - - - - - - 320 - 30 - 71 - 22 - - - - 上传颜色 - - - - - - 400 - 30 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 480 - 20 - 71 - 36 - - - - 选择颜色 - - - - - - 20 - 70 - 101 - 22 - - - - 下载封顶流量值 - - - - - - 130 - 60 - 161 - 38 - - - - KB - - - 100 - - - 1024000 - - - 100 - - - 500 - - - - - - 480 - 60 - 71 - 36 - - - - 选择颜色 - - - - - - 320 - 70 - 71 - 22 - - - - 下载颜色 - - - - - - 400 - 70 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 480 - 100 - 71 - 36 - - - - 选择颜色 - - - - - - 320 - 110 - 71 - 22 - - - - 边框颜色 - - - - - - 130 - 100 - 161 - 38 - - - - % - - - 0 - - - 99 - - - 100 - - - 30 - - - - - - 20 - 110 - 71 - 22 - - - - 边框圆角 - - - - - - 400 - 110 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 480 - 140 - 71 - 36 - - - - 选择颜色 - - - - - - 320 - 150 - 71 - 22 - - - - 背景颜色 - - - - - - 400 - 150 - 61 - 21 - - - - false - - - border:1px solid black; - - - - - - 130 - 140 - 161 - 38 - - - - px - - - 5 - - - 100 - - - 40 - - - - - - 20 - 150 - 61 - 22 - - - - 显示宽度 - - - - - - 20 - 190 - 61 - 22 - - - - 显示高度 - - - - - - 130 - 180 - 161 - 38 - - - - px - - - 5 - - - 100 - - - 28 - - - - - - - - 20 - 0 - 301 - 71 - - - - 显示图表 - - - - - 230 - 30 - 97 - 26 - - - - 网络 - - - - - - 10 - 30 - 97 - 26 - - - - CPU - - - - - - 120 - 30 - 97 - 26 - - - - 内存 - - - - - - - 490 - 30 - 134 - 38 - - - - QAbstractSpinBox::UpDownArrows - - - px - - - 1 - - - 50 - - - 1 - - - 1 - - - - - - 414 - 30 - 71 - 38 - + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Horizontal - - 控件间隔: + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 20 - 38 - 121 - 26 - - - - 使用图表模式 - - - - - - 410 - 40 - 71 - 22 - - - - 更新间隔: - - - - - - 490 - 30 - 191 - 38 - - - - ms - - - 200 - - - 10000 - - - 100 - - - 1000 - - - - - - 150 - 40 - 171 - 22 - - - - 显示电池功率和CPU温度: - - - - - - 320 - 31 - 80 - 36 - - - - - 80 - 0 - - - - 关闭 - - - 0 - - - - 关闭 - - - - - 打开 - - + + fashionDisplayContentSettingGroupBox + displayContentSettingGroupBox + buttonBox + lineHeightSpinBox + label + horizontalSpacer diff --git a/plugins/dde-sys-monitor-plugin/streamchart.cpp b/plugins/dde-sys-monitor-plugin/streamchart.cpp deleted file mode 100644 index 6ab83e32..00000000 --- a/plugins/dde-sys-monitor-plugin/streamchart.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "streamchart.h" - -StreamChart::StreamChart(QWidget *parent) : - QWidget(parent) -{ - penb=new QPen(); - penb->setWidth(2); - pen1=new QPen(); - pen1->setWidth(1); - pen2=new QPen(); - pen2->setWidth(1); - queue=new QQueue(); -} - -StreamChart::~StreamChart() -{ - delete penb; - delete pen1; - delete pen2; - delete queue; -} - -void StreamChart::paintEvent(QPaintEvent *) -{ - if(!queue->isEmpty()) - { - QPainter pt(this); - - //画背景 - pt.fillRect(0,0,width,height,colorBackground); - int x,dy1,dy2; - //画线条 - for(int i=0;isize();i++) - { - x=width-queue->size()+i;//+spacing; - dy1=queue->at(i).x*height/100; - dy1=(dy1==1?dy1+1:dy1); - dy2=queue->at(i).y*height/100; - //dy2=(dy2==1?dy2+1:dy2); - pen1->setColor(color1); - pt.setPen(*pen1); - pt.drawLine(x,height,x,height-dy1); - if(color2.alpha()) - { - pen2->setColor(color2); - pt.setPen(*pen2); - pt.drawLine(x,height,x,height-dy2); - } - - } - //最后画矩形 - penb->setColor(colorBorder); - pt.setPen(*penb); - pt.drawRoundRect(0,0,width,height,borderRound,borderRound); - } -} - -void StreamChart::updateChart(struct Data& data) -{ - queue->enqueue(data); - setMinimumSize(width,height); - setMaximumSize(width,height); - if(queue->size()>width)queue->dequeue(); - update(); -} diff --git a/plugins/dde-sys-monitor-plugin/streamchart.h b/plugins/dde-sys-monitor-plugin/streamchart.h deleted file mode 100644 index c48f174c..00000000 --- a/plugins/dde-sys-monitor-plugin/streamchart.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef STREAMCHART_H -#define STREAMCHART_H - -#include -#include -#include -#include -#include -#include -#include "type.h" - -class StreamChart : public QWidget -{ - Q_OBJECT - -public: - explicit StreamChart(QWidget *parent = nullptr); - ~StreamChart(); - //重载绘图函数 - void paintEvent(QPaintEvent*); - //定时更新数据图标的函数 -public slots: - void updateChart(struct Data&); - -private: - QPen *penb,*pen1,*pen2; - QQueue *queue; -public: - int height; - int width; - int spacing; - QColor colorBorder,colorBackground,color1,color2; - int borderRound; -}; - -#endif // STREAMCHART_H diff --git a/plugins/dde-sys-monitor-plugin/sys_monitor.json b/plugins/dde-sys-monitor-plugin/sys_monitor.json index cbdac625..c93d131f 100755 --- a/plugins/dde-sys-monitor-plugin/sys_monitor.json +++ b/plugins/dde-sys-monitor-plugin/sys_monitor.json @@ -1,4 +1,4 @@ { - "api": "1.2.3", + "api": "1.2", "depends-daemon-dbus-service": "com.deepin.daemon.Network" } diff --git a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp index 307d07bd..c9268522 100755 --- a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp +++ b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.cpp @@ -1,55 +1,15 @@ #include "sysmonitorplugin.h" -//设置选项和默认值,静态全局变量 -struct SettingItem SysMonitorPlugin::settingItems[]={ -//全局设置选项 -{"chartModeCheckBox",0},//图表模式开关 -{"batInfoComboBox",0},//气泡电池信息开关 -{"updateIntervalSpinBox",1000},//更新间隔ms - -//文字模式设置选项 -{"displayContentComboBox",DisplayContentSetting::ALL}, -{"wordSpacingSpinBox",4}, -{"cpuDiyWordLineEdit",QString("CPU:")}, -{"memDiyWordLineEdit",QString("MEM:")}, -{"upNetspeedDiyWordLineEdit",QString("▴")}, -{"downNetspeedDiyWordLineEdit",QString("▾")}, -{"fontSizeSpinBox",9}, -{"fontColorComboBox",0}, - -//图表模式设置选项 -//默认三个图表都是打开的 -{"netChartCheckBox",1},{"cpuChartCheckBox",1},{"memChartCheckBox",1}, -{"chartSpacingSpinBox",1}, -//net图表设置 -{"netUpTopSpinBox",500},//上传 -{"netUpWidget",QColor(0,78,239,200)}, -{"netDownTopSpinBox",500},//下载 -{"netDownWidget",QColor(225,67,0,200)}, -{"netBorderRoundSpinBox",30},//边框 -{"netBorderWidget",QColor(255,255,255,0)}, -{"netBackgroundWidget",QColor(0,0,0,128)},//背景 -{"netWidthSpinBox",40},{"netHeightSpinBox",28},//宽度高度 -//cpu图表设置 -{"cpuWorkWidget",QColor(250,74,74,255)}, -{"cpuBorderRoundSpinBox",30},//边框 -{"cpuBorderWidget",QColor(255,255,255,0)}, -{"cpuBackgroundWidget",QColor(0,0,0,128)},//背景 -{"cpuWidthSpinBox",40},{"cpuHeightSpinBox",28},//宽度高度 -//mem图表设置 -{"memUsedWidget",QColor(21,199,195,255)}, -{"memBorderRoundSpinBox",30},//边框 -{"memBorderWidget",QColor(255,255,255,0)}, -{"memBackgroundWidget",QColor(0,0,0,128)},//背景 -{"memWidthSpinBox",40},{"memHeightSpinBox",28}//宽度高度 - }; - SysMonitorPlugin::SysMonitorPlugin(QObject *parent) : QObject(parent) ,m_refreshTimer(new QTimer(this)) { oldrbytes=oldsbytes=0; - oldworktime=oldtotaltime=0; + // 设置 Timer 超时为 1s,即每 1s 更新一次控件上的数据,并启动这个定时器 + m_refreshTimer->start(1000); + + // 连接 Timer 超时的信号到更新数据的槽上 + connect(m_refreshTimer, &QTimer::timeout, this, &SysMonitorPlugin::refreshInfo); } void SysMonitorPlugin::refreshInfo() @@ -62,17 +22,15 @@ void SysMonitorPlugin::refreshInfo() char* ret = fgets(buffer, sizeof(buffer) - 1, fp); if (ret == NULL) {perror("Could not read stat file");fclose(fp);return;} fclose(fp); - sscanf(buffer,"cpu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu", - &user, &nice, &system, &idle, &iowait, &irq, &softirq, &steal, &guest, &guestnice); + sscanf(buffer,"cpu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu",&user, &nice, &system, &idle, &iowait, &irq, &softirq, &steal, &guest, &guestnice); worktime = user + nice + system; totaltime = user + nice + system + idle + iowait + irq + softirq + steal; // 得到百分比 cpuPercent = qRound((worktime-oldworktime)*100.0/(totaltime-oldtotaltime)); oldtotaltime=totaltime; oldworktime=worktime; - info.cpu=cpuPercent; - if(cpuPercent<=9)info.scpu=QString(" %1\%").arg(cpuPercent); - else info.scpu=QString("%1\%").arg(cpuPercent); + if(cpuPercent<=9)info.cpu=QString(" %1\%").arg(cpuPercent); + else info.cpu=QString("%1\%").arg(cpuPercent); //获得内存信息 fp=fopen("/proc/meminfo","r"); @@ -89,9 +47,8 @@ void SysMonitorPlugin::refreshInfo() }while(strcmp(devname,"SwapFree:")); fclose(fp); memPercent = qRound((totalmem - availablemem) * 100.0 / totalmem); - info.mem=memPercent; - if(memPercent<=9)info.smem=QString(" %1\%").arg(memPercent); - else info.smem=QString("%1\%").arg(memPercent); + if(memPercent<=9)info.mem=QString(" %1\%").arg(memPercent); + else info.mem=QString("%1\%").arg(memPercent); swapPercent = qRound((totalswap - freeswap) * 100.0 / totalswap); if(swapPercent<=9)strswap=QString(" %1\%").arg(swapPercent); @@ -114,62 +71,34 @@ void SysMonitorPlugin::refreshInfo() sbytes+=tmps; } fclose(fp); - //考虑到读取间隔不一定是1s,要运算成1s的量 - tmpr=(oldrbytes==0?0:rbytes-oldrbytes)*1000/settings.value("updateIntervalSpinBox").toInt(); - tmps=(oldsbytes==0?0:sbytes-oldsbytes)*1000/settings.value("updateIntervalSpinBox").toInt(); + tmpr=(oldrbytes==0?0:rbytes-oldrbytes); + tmps=(oldsbytes==0?0:sbytes-oldsbytes); oldrbytes=rbytes; oldsbytes=sbytes; - info.netup=tmps; - info.netdown=tmpr; - info.snetup=toHumanRead(tmps,"B",0); - info.snetdwon=toHumanRead(tmpr,"B",0); - - //每10s执行一次,降低cpu开销 - if(settings.value("batInfoComboBox").toInt()==1&&bat_count==0) - { - //使用upower命令获得电池信息,兼容性最好,deepin默认预装有upower - fp=NULL; - //使用popen执行shell命令并返回一个流来读取电池信息 - fp=popen("upower -i $(upower -e | grep 'BAT') | grep -E 'energy-rate'","r"); - if(fp==NULL){perror("popen");return;} - battery_watts=-1.0; - fscanf(fp," energy-rate: %lf W",&battery_watts); - pclose(fp); - - //使用sensors获得CPU温度 - fp=NULL; - fp=popen("sensors | grep 'Core 0'","r"); - info.cputemp=0; - if(fp != NULL){ - fscanf(fp,"Core 0: %lf°C",&info.cputemp); - } - else { - perror("Could not run sensors command"); - } - pclose(fp); - info.scputemp=QString("%1℃").arg(info.cputemp); - } - //大于等于10秒就归零 - bat_count*settings.value("updateIntervalSpinBox").toInt()>=10*1000?bat_count=0:bat_count++; + info.netup=toHumanRead(tmps,"B",0); + info.netdwon=toHumanRead(tmpr,"B",0); + + //获得电池信息 + fp=NULL; + //使用popen执行shell命令并返回一个流来读取电池信息 + fp=popen("upower -i $(upower -e | grep 'BAT') | grep -E 'energy-rate|state'","r"); + if(fp==NULL){perror("popen");return;} + battery_watts=0; + fscanf(fp," state: %s",buffer); + fscanf(fp," energy-rate: %f W",&battery_watts); + if(strcmp("discharging",buffer)==0){battery_watts=0-battery_watts;} + pclose(fp); // 更新内容 - m_mainWidget->UpdateData(info,pos,settings); - if(m_tipsWidget->isVisible())m_Widget_update(m_tipsWidget); - if(m_appletWidget->isVisible())m_Widget_update(m_appletWidget); - - //m_proxyInter->itemUpdate(this,pluginName()); - //qDebug()<<"m_mainWidget->height():"<height(); - //qDebug()<<"m_mainWidget->width():"<width(); - //qDebug()<<"m_pluginWidget->height():"<height(); - //m_pluginWidget->m_infoLabel->setMinimumHeight(29); - //qDebug()<<"m_appletWidget->isVisible():"<isVisible()); + m_pluginWidget->UpdateData(info,dismode,settings); + if(m_tipsWidget->isVisible())m_tipsWidget_update(); //qDebug()<<"m_tipsWidget->isVisible():"<isVisible()); } const QString SysMonitorPlugin::toHumanRead(unsigned long l,const char *unit,int digit) { - int count=0; + int count; QString str; double f=(double)l; if(!strcmp(unit,"B"))count=0; @@ -182,9 +111,9 @@ const QString SysMonitorPlugin::toHumanRead(unsigned long l,const char *unit,int if(count==0){count++;f=f/1024;} - if(f<0.1)str=" 0"; - else if(f<10.0)str=QString::number(f,'f',1); - else if(f<100.0)str=" "+QString::number(f,'f',0); + if(f<0.1)str="  0"; + else if(f<=9)str=QString::number(f,'f',1); + else if(f<=99)str=" "+QString::number(f,'f',0); else str=QString::number(f,'f',0); if(count==0)str+="B"; @@ -198,22 +127,18 @@ const QString SysMonitorPlugin::toHumanRead(unsigned long l,const char *unit,int //使用系统配置函数读配置信息 void SysMonitorPlugin::readConfig(Settings *settings) { - for(unsigned long i=0;iinsert(settingItems[i].name, - m_proxyInter->getValue(this,settingItems[i].name,settingItems[i].value)); - } + settings->efficient=DisplayContentSetting(m_proxyInter-> + getValue(this,"efficient",DisplayContentSetting::ALL).toInt()); + settings->fashion=DisplayContentSetting(m_proxyInter-> + getValue(this,"fashion",DisplayContentSetting::NETSPEED).toInt()); + settings->lineHeight=m_proxyInter->getValue(this,"lineHeight",100).toInt(); } - //写配置信息 void SysMonitorPlugin::writeConfig(Settings *settings) { - QMapIterator i(*settings); - while(i.hasNext()) - { - i.next(); - m_proxyInter->saveValue(this,i.key(),i.value()); - } + m_proxyInter->saveValue(this,"efficient",settings->efficient); + m_proxyInter->saveValue(this,"fashion",settings->fashion); + m_proxyInter->saveValue(this,"lineHeight",settings->lineHeight); } const QString SysMonitorPlugin::pluginDisplayName() const @@ -224,32 +149,21 @@ const QString SysMonitorPlugin::pluginDisplayName() const const QString SysMonitorPlugin::pluginName() const { return QStringLiteral("sys_monitor"); -// return QStringLiteral("datetime"); } void SysMonitorPlugin::init(PluginProxyInterface *proxyInter) { m_proxyInter = proxyInter; - //读取显示配置 - readConfig(&settings); - - m_mainWidget = new MainWidget(settings,position()); + m_pluginWidget = new InformationWidget; m_tipsWidget = new QLabel; m_appletWidget = new QLabel; font.setFamily("Noto Mono"); m_tipsWidget->setFont(font); m_appletWidget->setFont(font); dismode=displayMode(); - pos=position(); - battery_watts=-1.0; - bat_count=0; - - // 设置 Timer 超时为 updateIntervalSpinBox 中的ms,即每次更新一次控件上的数据,并启动这个定时器 - m_refreshTimer->start(settings.value("updateIntervalSpinBox").toInt()); - - // 连接 Timer 超时的信号到更新数据的槽上 - connect(m_refreshTimer, &QTimer::timeout, this, &SysMonitorPlugin::refreshInfo); + //读取显示配置 + readConfig(&settings); // 如果插件没有被禁用则在初始化插件时才添加主控件到面板上 if (!pluginIsDisable()) { @@ -257,51 +171,43 @@ void SysMonitorPlugin::init(PluginProxyInterface *proxyInter) } } -/*PluginsItemInterface::PluginSizePolicy SysMonitorPlugin::pluginSizePolicy() const -{ - return PluginsItemInterface::Custom; -}*/ - QWidget *SysMonitorPlugin::itemWidget(const QString &itemKey) { Q_UNUSED(itemKey); - return m_mainWidget; + return m_pluginWidget; } -void SysMonitorPlugin::m_Widget_update(QLabel* label) +void SysMonitorPlugin::m_tipsWidget_update() { // 设置/刷新 tips 中的信息 - QString baseInfo= QString("CPU: %1 %2\n" - "MEM: %3/%4=%5\n" - "SWAP:%6/%7=%8\n" - "UP: %9 %10/s\n" - "DOWN:%11 %12/s") -.arg(info.scpu).arg(info.scputemp) -.arg(toHumanRead(totalmem-availablemem,"KB",1)).arg(toHumanRead(totalmem,"KB",1)).arg(info.smem) + m_tipsWidget->setText(QString("

    MEM: %1/%2=%3
    SWAP:%4/%5=%6
    UP:  %7 %8/S
    DOWN:%9 %10/S
    BATTERY:%11W

    ") +.arg(toHumanRead(totalmem-availablemem,"KB",1)).arg(toHumanRead(totalmem,"KB",1)).arg(info.mem) .arg(toHumanRead(totalswap-freeswap,"KB",1)).arg(toHumanRead(totalswap,"KB",1)).arg(strswap) .arg(toHumanRead(oldsbytes,"B",1)).arg(toHumanRead(tmps,"B",1)) -.arg(toHumanRead(oldrbytes,"B",1)).arg(toHumanRead(tmpr,"B",1)); - - QString batInfo(""); - if(battery_watts>=0&&settings.value("batInfoComboBox").toInt()) - batInfo= QString("\nBAT: %1W").arg(QString::number(battery_watts,'f',2)); - - label->setText(baseInfo+batInfo); +.arg(toHumanRead(oldrbytes,"B",1)).arg(toHumanRead(tmpr,"B",1)) +.arg(QString::number((double)battery_watts,'f',2)) +); } QWidget *SysMonitorPlugin::itemTipsWidget(const QString &itemKey) { Q_UNUSED(itemKey); //更新气泡数据 - m_Widget_update(m_tipsWidget); + m_tipsWidget_update(); return m_tipsWidget; } QWidget *SysMonitorPlugin::itemPopupApplet(const QString &itemKey) { Q_UNUSED(itemKey); - m_Widget_update(m_appletWidget); + + m_appletWidget->setText(QString("

    MEM: %1/%2=%3
    SWAP:%4/%5=%6
    UP:  %7 %8/S
    DOWN:%9 %10/S

    ") + .arg(toHumanRead(totalmem-availablemem,"KB",1)).arg(toHumanRead(totalmem,"KB",1)).arg(info.mem) + .arg(toHumanRead(totalswap-freeswap,"KB",1)).arg(toHumanRead(totalswap,"KB",1)).arg(strswap) + .arg(toHumanRead(oldsbytes,"B",1)).arg(toHumanRead(tmps,"B",1)) + .arg(toHumanRead(oldrbytes,"B",1)).arg(toHumanRead(tmpr,"B",1)) + ); return m_appletWidget; } @@ -358,12 +264,6 @@ const QString SysMonitorPlugin::itemContextMenu(const QString &itemKey) setting["isActive"] = true; items.push_back(setting); - QMap about; - about["itemId"] = "about"; - about["itemText"] = "关于"; - about["isActive"] = true; - items.push_back(about); - QMap menu; menu["items"] = items; menu["checkableMenu"] = false; @@ -376,38 +276,19 @@ const QString SysMonitorPlugin::itemContextMenu(const QString &itemKey) void SysMonitorPlugin::invokedMenuItem(const QString &itemKey, const QString &menuId, const bool checked) { Q_UNUSED(itemKey); - Q_UNUSED(checked) // 根据上面接口设置的 id 执行不同的操作 - if (menuId == "refresh") - { - m_proxyInter->itemRemoved(this, pluginName()); - m_proxyInter->itemAdded(this, pluginName()); + if (menuId == "refresh") { + + } else if (menuId == "open") { + QProcess::startDetached("deepin-system-monitor"); } - else if (menuId == "open") - { - QProcess::startDetached("deepin-system-monitor",QStringList()); - } - else if(menuId == "setting") - { - int updataInterval=settings.value("updateIntervalSpinBox").toInt(); + else if(menuId == "setting") { pluginSettingDialog setting(&settings); if(setting.exec()==QDialog::Accepted) { setting.getDisplayContentSetting(&settings); writeConfig(&settings); - if(settings.value("updateIntervalSpinBox").toInt()!=updataInterval) - { - // 修改更新时间间隔 - m_refreshTimer->start(settings.value("updateIntervalSpinBox").toInt()); - } - } - } - else if (menuId == "about") - { - aboutDialog aboutdialog; - if(aboutdialog.exec()==QDialog::Accepted) - { } } } @@ -417,8 +298,3 @@ void SysMonitorPlugin::displayModeChanged(const Dock::DisplayMode displayMode) Q_UNUSED(displayMode); dismode=displayMode; } -void SysMonitorPlugin::positionChanged(const Dock::Position position) -{ - Q_UNUSED(position); - pos=position; -} diff --git a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h index b11331b4..8b486c74 100755 --- a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h +++ b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h @@ -1,19 +1,14 @@ #ifndef HOMEMONITORPLUGIN_H #define HOMEMONITORPLUGIN_H +#include "informationwidget.h" #include #include #include #include -#include -#include -#include "pluginsiteminterface.h" -#include "mainwidget.h" +#include #include "pluginsettingdialog.h" -#include "aboutdialog.h" -#include "type.h" - -extern struct SettingItem settingItems[]; +#include class SysMonitorPlugin : public QObject, PluginsItemInterface { @@ -28,8 +23,6 @@ public: const QString pluginName() const override; void init(PluginProxyInterface *proxyInter) override; - //PluginSizePolicy pluginSizePolicy() const override; - QWidget *itemWidget(const QString &itemKey) override; QWidget *itemTipsWidget(const QString &itemKey) override; QWidget *itemPopupApplet(const QString &itemKey) override; @@ -41,11 +34,8 @@ public: const QString itemContextMenu(const QString &itemKey) override; void invokedMenuItem(const QString &itemKey, const QString &menuId, const bool checked) override; void displayModeChanged(const Dock::DisplayMode displayMode) override; - void positionChanged(const Dock::Position position)override; const QString toHumanRead(unsigned long l,const char *unit,int digit); -public: - static struct SettingItem settingItems[];//公共的保存默认设置的数组 //自定义读写配置函数 void readConfig(Settings *settings); @@ -54,7 +44,7 @@ private slots: // 用于更新数据的槽函数 void refreshInfo(); //更新tipsWidget气泡数据的函数 - void m_Widget_update(QLabel *); + void m_tipsWidget_update(); private: //CPU工作时间除以总时间,内存百分比,交换区百分比 int cpuPercent,memPercent,swapPercent; @@ -75,16 +65,12 @@ private: //接收字节数,发送字节数 unsigned long rbytes,sbytes,oldrbytes,oldsbytes,tmpr,tmps; char devname[1024]; - //电池功率瓦特 - double battery_watts; - //电池统计计数,每隔这么多次才读取一次 - int bat_count; + //电池功率瓦特,根据电池充放电状态设置正负 + float battery_watts; // 字体 QFont font; - //dock显示模式:时尚模式 高效模式 + //显示模式 Dock::DisplayMode dismode; - //dock的位置:上下左右 - Dock::Position pos; //设置结构体 Settings settings; //传递给widget的信息结构体 @@ -93,7 +79,7 @@ private: private: // 处理时间间隔的计时器 QTimer *m_refreshTimer; - MainWidget *m_mainWidget; + InformationWidget *m_pluginWidget; QLabel *m_tipsWidget; QLabel *m_appletWidget; }; diff --git a/plugins/dde-sys-monitor-plugin/type.h b/plugins/dde-sys-monitor-plugin/type.h deleted file mode 100644 index b60c0f74..00000000 --- a/plugins/dde-sys-monitor-plugin/type.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef TYPE_H -#define TYPE_H -#include -#include -//主插件类传递给widget的信息结构体 -struct Info{ - QString scpu;int cpu; - QString scputemp;double cputemp; - QString smem;int mem; - QString snetup;int netup; - QString snetdwon;int netdown; -}; - -//显示内容设置返回的枚举类型 -enum DisplayContentSetting -{ - CPUMEM=0,//只显示CPU内存 - NETSPEED=1,//只显示网速 - ALL=2//两个都显示 -}; - -struct SettingItem{ - QString name; - QVariant value; -}; - -typedef QMap Settings; - -struct Data -{ - int x; - int y; -}; - -#endif // TYPE_H -- Gitee From ad536c78286386835a813247589e86f250644e05 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 24 Aug 2024 09:17:41 +0800 Subject: [PATCH 09/30] =?UTF-8?q?=E5=BF=98=E6=94=B9=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index b3e20748..0d9dd1cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,10 @@ -dde-dock (4.10.12) UNRELEASED; urgency=medium +dde-dock (4.10.14) UNRELEASED; urgency=medium * Support hide dde dock * + * - -- gfdgd_xi <3025613752@qq.com> Sun, 18 Aug 2024 11:27:44 +0800 + -- gfdgd_xi <3025613752@qq.com> Sat, 24 Aug 2024 09:04:53 +0800 dde-dock (4.10.9gxde0) unstable; urgency=low -- Gitee From 565bb8c24f503b581199828690ca53b89e0fb778 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Mon, 26 Aug 2024 03:36:24 -0400 Subject: [PATCH 10/30] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E4=BD=BF=E7=94=A8dde-dock-dev=E7=BC=96=E8=AF=91dde-dock?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/dde-sys-monitor-plugin/informationwidget.h | 2 +- plugins/dde-sys-monitor-plugin/sysmonitorplugin.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/dde-sys-monitor-plugin/informationwidget.h b/plugins/dde-sys-monitor-plugin/informationwidget.h index eedda764..ac2e2508 100755 --- a/plugins/dde-sys-monitor-plugin/informationwidget.h +++ b/plugins/dde-sys-monitor-plugin/informationwidget.h @@ -5,7 +5,7 @@ #include #include #include -#include +#include "pluginsiteminterface.h" #include "pluginsettingdialog.h" struct Info{ diff --git a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h index 8b486c74..6b694fc1 100755 --- a/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h +++ b/plugins/dde-sys-monitor-plugin/sysmonitorplugin.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include "pluginproxyinterface.h" #include "pluginsettingdialog.h" #include -- Gitee From f94b5bdd1ad0ef3776c8c3e3a07495de7a8981c6 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Mon, 26 Aug 2024 20:36:35 -0400 Subject: [PATCH 11/30] =?UTF-8?q?=E8=B0=83=E6=95=B4dev=E5=8C=85=E6=9E=B6?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index b4f7a498..f266d057 100644 --- a/debian/control +++ b/debian/control @@ -51,7 +51,7 @@ Description: deepin desktop-environment - dock module Deepin desktop environment - dock module. Package: dde-dock-dev -Architecture: all +Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: deepin desktop-environment - dock module development files Deepin desktop environment - dock module development files. -- Gitee From 55c01388bb05ae6f35b359ce46f71f6a097d15cb Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Fri, 30 Aug 2024 18:10:21 +0800 Subject: [PATCH 12/30] =?UTF-8?q?winehq=20/=20lutris=20/=20proton=20?= =?UTF-8?q?=E7=AD=89=E9=9D=9E=20deepin-wine=20=E7=9A=84=E6=89=98=E7=9B=98?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E5=9C=A8=E8=A2=AB=20dde-dock=20=E6=94=B6?= =?UTF-8?q?=E7=BA=B3=E5=90=8E=E5=9D=87=E6=97=A0=E6=B3=95=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=88https://gitee.com/GXDE-OS/G?= =?UTF-8?q?XDE/issues/IANPW3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/program-builder.yml | 13 +++ plugins/tray/xembedtraywidget.cpp | 121 ++++++++++++++++++++++++-- plugins/tray/xembedtraywidget.h | 8 ++ 3 files changed, 135 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/program-builder.yml diff --git a/.github/workflows/program-builder.yml b/.github/workflows/program-builder.yml new file mode 100644 index 00000000..047c1584 --- /dev/null +++ b/.github/workflows/program-builder.yml @@ -0,0 +1,13 @@ +name: Building Testing +run-name: Building ${{ GITHUB.REPOSITORY }} + +on: + workflow_dispatch: + push: + tags: + - "*" + +jobs: + call: + uses: GXDE-OS/GXDE/.github/workflows/building-deb.yml@master + secrets: inherit diff --git a/plugins/tray/xembedtraywidget.cpp b/plugins/tray/xembedtraywidget.cpp index db226c92..c74af38c 100644 --- a/plugins/tray/xembedtraywidget.cpp +++ b/plugins/tray/xembedtraywidget.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -44,6 +45,7 @@ #define IS_WINE_WINDOW_BY_WM_CLASS "explorer.exe" static const qreal iconSize = 16; +static const qreal iconDefaultSize = 16; // this static var hold all suffix of tray widget keys. // that is in order to fix can not show multiple trays provide by one application, @@ -182,12 +184,13 @@ void XEmbedTrayWidget::wrapWindow() auto c = QX11Info::connection(); auto cookie = xcb_get_geometry(c, m_windowId); - QScopedPointer clientGeom(xcb_get_geometry_reply(c, cookie, Q_NULLPTR)); + QScopedPointer clientGeom(xcb_get_geometry_reply(c, cookie, Q_NULLPTR)); if (clientGeom.isNull()) return; //create a container window const auto ratio = devicePixelRatioF(); + uint16_t iconSize = iconDefaultSize * ratio; auto screen = xcb_setup_roots_iterator (xcb_get_setup (c)).data; m_containerWid = xcb_generate_id(c); uint32_t values[2]; @@ -199,7 +202,8 @@ void XEmbedTrayWidget::wrapWindow() m_containerWid, /* window Id */ screen->root, /* parent window */ 0, 0, /* x, y */ - iconSize * ratio, iconSize * ratio, /* width, height */ + //iconSize * ratio, iconSize * ratio, /* width, height */ + iconSize, iconSize, /* width, height */ 0, /* border_width */ XCB_WINDOW_CLASS_INPUT_OUTPUT,/* class */ screen->root_visual, /* visual */ @@ -258,19 +262,47 @@ void XEmbedTrayWidget::wrapWindow() //however spotify does need this as by default the window size is 900px wide. //use an artbitrary heuristic to make sure icons are always sensible // if (clientGeom->width > iconSize || clientGeom->height > iconSize ) - { + /*{ const uint32_t windowMoveConfigVals[2] = { uint32_t(iconSize * ratio), uint32_t(iconSize * ratio) }; xcb_configure_window(c, m_windowId, - XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT, + XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, //XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT, windowMoveConfigVals); + }*/ + // 判断托盘的大小是否超出iconSize + QSize clientWindowSize; + if (clientGeom) { + clientWindowSize = QSize(clientGeom->width, clientGeom->height); + } + + if (clientWindowSize.isEmpty() || clientWindowSize.width() > iconSize || clientWindowSize.height() > iconSize ) { + + uint16_t widthNormalized = std::min(clientGeom->width, iconSize); + uint16_t heighNormalized = std::min(clientGeom->height, iconSize); + + const uint32_t windowSizeConfigVals[2] = {widthNormalized, heighNormalized}; + xcb_configure_window(c, m_windowId, XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT, windowSizeConfigVals); + + xcb_flush(c); + clientWindowSize = QSize(iconSize, iconSize); } //show the embedded window otherwise nothing happens xcb_map_window(c, m_windowId); + xcb_clear_area(c, 0, m_windowId, 0, 0, clientWindowSize.width(), clientWindowSize.height()); + // xcb_clear_area(c, 0, m_windowId, 0, 0, qMin(clientGeom->width, iconSize), qMin(clientGeom->height, iconSize)); xcb_flush(c); + + // 通过xcb获取window属性,判断该window是否处理button press事件 + // 当window不关注button press等事件时,使用xtest extension + auto windowAttributesCookie = xcb_get_window_attributes(c, m_windowId); + QScopedPointer windowAttributes(xcb_get_window_attributes_reply(c, windowAttributesCookie, nullptr)); + if (windowAttributes && !(windowAttributes->all_event_masks & XCB_EVENT_MASK_BUTTON_PRESS)) { + m_injectMode = XTest; + } + // setWindowOnTop(false); setWindowOnTop(true); setX11PassMouseEvent(true); @@ -289,6 +321,30 @@ void XEmbedTrayWidget::sendHoverEvent() setWindowOnTop(true); XTestFakeMotionEvent(QX11Info::display(), 0, p.x(), p.y(), CurrentTime); XFlush(QX11Info::display()); + Display *display = QX11Info::display(); + if (display) { + if (m_injectMode == XTest) { + // fake enter event + XTestFakeMotionEvent(display, 0, p.x(), p.y(), CurrentTime); + XFlush(display); + } else { + // 发送 montion notify event到client,实现hover事件 + auto c = QX11Info::connection(); + xcb_motion_notify_event_t* event = new xcb_motion_notify_event_t; + memset(event, 0x00, sizeof(xcb_button_press_event_t)); + event->response_type = XCB_MOTION_NOTIFY; + event->event = m_windowId; + event->same_screen = 1; + event->root = QX11Info::appRootWindow(); + event->time = 0; + event->root_x = p.x(); + event->root_y = p.y(); + event->child = 0; + event->state = 0; + xcb_send_event(c, false, m_windowId, XCB_EVENT_MASK_POINTER_MOTION, (char*)event); + delete event; + } + } QTimer::singleShot(100, this, [=] { setX11PassMouseEvent(true); }); } @@ -322,10 +378,60 @@ void XEmbedTrayWidget::sendClick(uint8_t mouseButton, int x, int y) m_sendHoverEvent->stop(); + auto c = QX11Info::connection(); + if (!c) { + qWarning() << "QX11Info::connection() is " << c; + return; + } + const QPoint p(rawXPosition(QPoint(x, y))); configContainerPosition(); setX11PassMouseEvent(false); setWindowOnTop(true); + + Display *display = QX11Info::display(); + + if (m_injectMode == XTest) { + XTestFakeMotionEvent(display, 0, p.x(), p.y(), CurrentTime); + XFlush(display); + XTestFakeButtonEvent(display, mouseButton, true, CurrentTime); + XFlush(display); + XTestFakeButtonEvent(display, mouseButton, false, CurrentTime); + XFlush(display); + } else { + // press event + xcb_button_press_event_t *pressEvent = new xcb_button_press_event_t; + memset(pressEvent, 0x00, sizeof(xcb_button_press_event_t)); + pressEvent->response_type = XCB_BUTTON_PRESS; + pressEvent->event = m_windowId; + pressEvent->same_screen = 1; + pressEvent->root = QX11Info::appRootWindow(); + pressEvent->time = 0; + pressEvent->root_x = x; + pressEvent->root_y = y; + pressEvent->child = 0; + pressEvent->state = 0; + pressEvent->detail = mouseButton; + xcb_send_event(c, false, m_windowId, XCB_EVENT_MASK_BUTTON_PRESS, (char*)pressEvent); + delete pressEvent; + + // release event + xcb_button_release_event_t *releaseEvent = new xcb_button_release_event_t; + memset(releaseEvent, 0x00, sizeof(xcb_button_release_event_t)); + releaseEvent->response_type = XCB_BUTTON_RELEASE; + releaseEvent->event = m_windowId; + releaseEvent->same_screen = 1; + releaseEvent->root = QX11Info::appRootWindow(); + releaseEvent->time = QX11Info::getTimestamp(); + releaseEvent->root_x = x; + releaseEvent->root_y = y; + releaseEvent->child = 0; + releaseEvent->state = 0; + releaseEvent->detail = mouseButton; + xcb_send_event(c, false, m_windowId, XCB_EVENT_MASK_BUTTON_RELEASE, (char*)releaseEvent); + delete releaseEvent; + } + XTestFakeMotionEvent(QX11Info::display(), 0, p.x(), p.y(), CurrentTime); XFlush(QX11Info::display()); XTestFakeButtonEvent(QX11Info::display(), mouseButton, true, CurrentTime); @@ -398,8 +504,8 @@ void XEmbedTrayWidget::refershIconImage() expose.window = m_containerWid; expose.x = 0; expose.y = 0; - expose.width = iconSize * ratio; - expose.height = iconSize * ratio; + expose.width = iconDefaultSize * ratio; + expose.height = iconDefaultSize * ratio; xcb_send_event_checked(c, false, m_containerWid, XCB_EVENT_MASK_VISIBILITY_CHANGE, reinterpret_cast(&expose)); xcb_flush(c); @@ -411,7 +517,8 @@ void XEmbedTrayWidget::refershIconImage() if (qimage.isNull()) return; - m_image = qimage.scaled(16 * ratio, 16 * ratio, Qt::KeepAspectRatio, Qt::SmoothTransformation); + //m_image = qimage.scaled(16 * ratio, 16 * ratio, Qt::KeepAspectRatio, Qt::SmoothTransformation); + m_image = qimage.scaled(iconDefaultSize * ratio, iconDefaultSize * ratio, Qt::KeepAspectRatio, Qt::SmoothTransformation); m_image.setDevicePixelRatio(ratio); update(); diff --git a/plugins/tray/xembedtraywidget.h b/plugins/tray/xembedtraywidget.h index d6695697..a7716654 100644 --- a/plugins/tray/xembedtraywidget.h +++ b/plugins/tray/xembedtraywidget.h @@ -66,6 +66,13 @@ private slots: bool isBadWindow(); private: + // Direct client关注xevent,使用xevent来处理button事件等 + // XTest client不关注xevent,使用xtest extension处理 + enum InjectMode { + Direct, + XTest, + }; + bool m_active = false; WId m_windowId; WId m_containerWid; @@ -74,6 +81,7 @@ private: QTimer *m_updateTimer; QTimer *m_sendHoverEvent; + InjectMode m_injectMode; }; #endif // XEMBEDTRAYWIDGET_H -- Gitee From 27d8a56da03397b68778d78f944726ee3c5d9bbd Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Fri, 30 Aug 2024 19:05:15 +0800 Subject: [PATCH 13/30] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/tray/xembedtraywidget.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/plugins/tray/xembedtraywidget.cpp b/plugins/tray/xembedtraywidget.cpp index c74af38c..c78cff75 100644 --- a/plugins/tray/xembedtraywidget.cpp +++ b/plugins/tray/xembedtraywidget.cpp @@ -44,7 +44,7 @@ #define WINE_WINDOW_PROP_NAME "__wine_prefix" #define IS_WINE_WINDOW_BY_WM_CLASS "explorer.exe" -static const qreal iconSize = 16; +//static const qreal iconSize = 16; static const qreal iconDefaultSize = 16; // this static var hold all suffix of tray widget keys. @@ -250,19 +250,18 @@ void XEmbedTrayWidget::wrapWindow() // xembed_message_send(m_windowId, XEMBED_EMBEDDED_NOTIFY, m_containerWid, 0, 0); //move window we're embedding - /* + const uint32_t windowMoveConfigVals[2] = { 0, 0 }; xcb_configure_window(c, m_windowId, - XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, - windowMoveCentially quitting the application. Returns onfigVals); - */ + XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, windowMoveConfigVals); + //if the window is a clearly stupid size resize to be something sensible //this is needed as chormium and such when resized just fill the icon with transparent space and only draw in the middle //however spotify does need this as by default the window size is 900px wide. //use an artbitrary heuristic to make sure icons are always sensible -// if (clientGeom->width > iconSize || clientGeom->height > iconSize ) - /*{ + /*if (clientGeom->width > iconSize || clientGeom->height > iconSize ) + { const uint32_t windowMoveConfigVals[2] = { uint32_t(iconSize * ratio), uint32_t(iconSize * ratio) }; xcb_configure_window(c, m_windowId, XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, //XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT, -- Gitee From d232f735ea22574748f3423aa98ef8567815a7c6 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 31 Aug 2024 08:30:26 +0800 Subject: [PATCH 14/30] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/launcher-building.yml | 13 +++++++++++++ debian/changelog | 8 +++----- 2 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/launcher-building.yml diff --git a/.github/workflows/launcher-building.yml b/.github/workflows/launcher-building.yml new file mode 100644 index 00000000..664aba24 --- /dev/null +++ b/.github/workflows/launcher-building.yml @@ -0,0 +1,13 @@ +name: Building Program +run-name: Building ${{ GITHUB.REPOSITORY }} + +on: + workflow_dispatch: + push: + tags: + - "*" + +jobs: + call: + uses: GXDE-OS/GXDE/.github/workflows/building-deb.yml@master + secrets: inherit diff --git a/debian/changelog b/debian/changelog index 0d9dd1cf..fcb4dea7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,8 @@ -dde-dock (4.10.14) UNRELEASED; urgency=medium +dde-dock (4.10.14gxde1) UNRELEASED; urgency=medium - * Support hide dde dock - * - * + * Repair Wine Problem - -- gfdgd_xi <3025613752@qq.com> Sat, 24 Aug 2024 09:04:53 +0800 + -- gfdgd_xi <3025613752@qq.com> Sat, 31 Aug 2024 08:29:57 +0800 dde-dock (4.10.9gxde0) unstable; urgency=low -- Gitee From 1dfac0fbf2ecfd2abc3f5f23bcfc96de1ec9cb6d Mon Sep 17 00:00:00 2001 From: shenmo Date: Mon, 7 Oct 2024 21:35:30 +0800 Subject: [PATCH 15/30] change our config dir to GXDE --- frame/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frame/main.cpp b/frame/main.cpp index e4b9ea7a..d8e19725 100644 --- a/frame/main.cpp +++ b/frame/main.cpp @@ -100,7 +100,7 @@ int main(int argc, char *argv[]) QDir::setCurrent(QApplication::applicationDirPath()); #endif MainWindow mw; - if (!QFile::exists(QDir::homePath() + "/.config/gxde/gxde-dock/dock-hide")) { + if (!QFile::exists(QDir::homePath() + "/.config/GXDE/gxde-dock/dock-hide")) { DBusDockAdaptors adaptor(&mw); QDBusConnection::sessionBus().registerService("com.deepin.dde.Dock"); QDBusConnection::sessionBus().registerObject("/com/deepin/dde/Dock", "com.deepin.dde.Dock", &mw); -- Gitee From b476e10ee329ccbf21267a09a7fc2369581ce666 Mon Sep 17 00:00:00 2001 From: shenmo Date: Mon, 7 Oct 2024 13:36:57 +0000 Subject: [PATCH 16/30] update debian/changelog. Signed-off-by: shenmo --- debian/changelog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index fcb4dea7..75284a34 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ -dde-dock (4.10.14gxde1) UNRELEASED; urgency=medium +dde-dock (4.10.14gxde2) UNRELEASED; urgency=medium * Repair Wine Problem + * config file to GXDE -- gfdgd_xi <3025613752@qq.com> Sat, 31 Aug 2024 08:29:57 +0800 -- Gitee From 95f4d562ed2b4a5f8cbf912bc6bf6b4fe0b87005 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Thu, 17 Oct 2024 22:39:17 +0800 Subject: [PATCH 17/30] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=A0=8F=E5=8F=B3?= =?UTF-8?q?=E9=94=AE=E8=8F=9C=E5=8D=95=E6=96=B0=E5=A2=9E=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E7=9B=91=E8=A7=86=E5=99=A8=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/launcher-building.yml | 13 ------------- frame/util/docksettings.cpp | 18 ++++++++++++++++++ frame/util/docksettings.h | 3 +++ interfaces/constants.h | 4 ++-- 4 files changed, 23 insertions(+), 15 deletions(-) delete mode 100644 .github/workflows/launcher-building.yml diff --git a/.github/workflows/launcher-building.yml b/.github/workflows/launcher-building.yml deleted file mode 100644 index 664aba24..00000000 --- a/.github/workflows/launcher-building.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Building Program -run-name: Building ${{ GITHUB.REPOSITORY }} - -on: - workflow_dispatch: - push: - tags: - - "*" - -jobs: - call: - uses: GXDE-OS/GXDE/.github/workflows/building-deb.yml@master - secrets: inherit diff --git a/frame/util/docksettings.cpp b/frame/util/docksettings.cpp index e656d0a7..161e1854 100644 --- a/frame/util/docksettings.cpp +++ b/frame/util/docksettings.cpp @@ -57,6 +57,7 @@ DockSettings::DockSettings(QWidget *parent) , m_keepShownAct(tr("Keep Shown"), this) , m_keepHiddenAct(tr("Keep Hidden"), this) , m_smartHideAct(tr("Smart Hide"), this) + , m_systemMonitor(tr("System Monitor"), this) , m_displayInter(new DBusDisplay(this)) , m_dockInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this)) , m_itemController(DockItemController::instance(this)) @@ -125,6 +126,10 @@ DockSettings::DockSettings(QWidget *parent) m_settingsMenu.addAction(sizeSubMenuAct); m_settingsMenu.addAction(statusSubMenuAct); m_settingsMenu.addAction(hideSubMenuAct); + // 需要确保安装了系统监视器才可显示 + if (QFile::exists("/usr/bin/deepin-system-monitor") || QFile::exists("/usr/bin/gxde-system-monitor")) { + m_settingsMenu.addAction(&m_systemMonitor); + } m_settingsMenu.setTitle("Settings Menu"); connect(&m_settingsMenu, &WhiteMenu::triggered, this, &DockSettings::menuActionClicked); @@ -144,6 +149,8 @@ DockSettings::DockSettings(QWidget *parent) connect(m_displayInter, &DBusDisplay::ScreenHeightChanged, this, &DockSettings::primaryScreenChanged, Qt::QueuedConnection); connect(m_displayInter, &DBusDisplay::ScreenWidthChanged, this, &DockSettings::primaryScreenChanged, Qt::QueuedConnection); + connect(&m_systemMonitor, &QAction::triggered, this, &DockSettings::openSystemMonitor); + DApplication *app = qobject_cast(qApp); if (app) { connect(app, &DApplication::iconThemeChanged, this, &DockSettings::gtkIconThemeChanged); @@ -162,6 +169,17 @@ DockSettings &DockSettings::Instance() return settings; } +void DockSettings::openSystemMonitor() +{ + //QProcess *process = new QProcess(); + if (QFile::exists("/usr/bin/gxde-system-monitor")) { + QProcess::startDetached("gxde-system-monitor"); + } + else { + QProcess::startDetached("deepin -system-monitor"); + } +} + const QRect DockSettings::primaryRect() const { QRect rect = m_primaryRawRect; diff --git a/frame/util/docksettings.h b/frame/util/docksettings.h index f715c49a..1e6e899c 100644 --- a/frame/util/docksettings.h +++ b/frame/util/docksettings.h @@ -121,6 +121,8 @@ private: void calculateWindowConfig(); void gtkIconThemeChanged(); + void openSystemMonitor(); + private: int m_iconSize; bool m_autoHide; @@ -152,6 +154,7 @@ private: QAction m_keepShownAct; QAction m_keepHiddenAct; QAction m_smartHideAct; + QAction m_systemMonitor; DBusDisplay *m_displayInter; DBusDock *m_dockInter; diff --git a/interfaces/constants.h b/interfaces/constants.h index 5a09376e..8451d727 100644 --- a/interfaces/constants.h +++ b/interfaces/constants.h @@ -33,8 +33,8 @@ namespace Dock { #define PROP_DISPLAY_MODE "DisplayMode" -#define PLUGIN_BACKGROUND_MAX_SIZE 40 -#define PLUGIN_BACKGROUND_MIN_SIZE 20 +//#define PLUGIN_BACKGROUND_MAX_SIZE 40 +//#define PLUGIN_BACKGROUND_MIN_SIZE 20 #define PLUGIN_ICON_MAX_SIZE 20 -- Gitee From 0f7ea46f42667a12e543870d8e16e3737e3d658d Mon Sep 17 00:00:00 2001 From: shenmo Date: Thu, 17 Oct 2024 23:18:55 +0800 Subject: [PATCH 18/30] update translate --- frame/CMakeLists.txt | 2 +- translate_generation.sh | 3 +- translations/dde-dock_af.ts | 151 +++++++----- translations/dde-dock_am_ET.ts | 61 ++++- translations/dde-dock_ar.ts | 61 ++++- translations/dde-dock_az.ts | 149 +++++++----- translations/dde-dock_bg.ts | 45 +++- translations/dde-dock_bn.ts | 45 +++- translations/dde-dock_ca.ts | 45 +++- translations/dde-dock_cs.ts | 45 +++- translations/dde-dock_da.ts | 55 ++++- translations/dde-dock_de.ts | 45 +++- translations/dde-dock_el.ts | 45 +++- translations/dde-dock_en_AU.ts | 145 +++++++---- translations/dde-dock_en_GB.ts | 185 ++++++++------ translations/dde-dock_eo.ts | 133 ++++++---- translations/dde-dock_es.ts | 45 +++- translations/dde-dock_es_419.ts | 57 ++++- translations/dde-dock_et.ts | 191 +++++++++------ translations/dde-dock_fa.ts | 141 +++++++---- translations/dde-dock_fi.ts | 45 +++- translations/dde-dock_fi_FI.ts | 194 ++++++++++----- translations/dde-dock_fr.ts | 49 +++- translations/dde-dock_gl.ts | 415 +++++++++++++++++++------------- translations/dde-dock_gl_ES.ts | 67 +++++- translations/dde-dock_he.ts | 133 ++++++---- translations/dde-dock_hi_IN.ts | 57 ++++- translations/dde-dock_hr.ts | 61 ++++- translations/dde-dock_hu.ts | 53 +++- translations/dde-dock_hy.ts | 163 ++++++++----- translations/dde-dock_id.ts | 57 ++++- translations/dde-dock_it.ts | 45 +++- translations/dde-dock_ja.ts | 59 ++++- translations/dde-dock_kn_IN.ts | 165 ++++++++----- translations/dde-dock_ko.ts | 53 +++- translations/dde-dock_ku_IQ.ts | 185 ++++++++------ translations/dde-dock_lo.ts | 177 ++++++++------ translations/dde-dock_lt.ts | 45 +++- translations/dde-dock_ml.ts | 139 +++++++---- translations/dde-dock_mn.ts | 55 ++++- translations/dde-dock_ms.ts | 45 +++- translations/dde-dock_nb.ts | 53 +++- translations/dde-dock_ne.ts | 63 ++++- translations/dde-dock_nl.ts | 45 +++- translations/dde-dock_pa.ts | 121 +++++++--- translations/dde-dock_pl.ts | 45 +++- translations/dde-dock_pt.ts | 45 +++- translations/dde-dock_pt_BR.ts | 45 +++- translations/dde-dock_ro.ts | 59 ++++- translations/dde-dock_ru.ts | 45 +++- translations/dde-dock_si.ts | 183 ++++++++------ translations/dde-dock_sk.ts | 53 +++- translations/dde-dock_sl.ts | 61 ++++- translations/dde-dock_sq.ts | 193 +++++++++------ translations/dde-dock_sr.ts | 45 +++- translations/dde-dock_sv.ts | 65 ++++- translations/dde-dock_sw.ts | 63 ++++- translations/dde-dock_ta.ts | 143 +++++++---- translations/dde-dock_tr.ts | 45 +++- translations/dde-dock_ug.ts | 157 +++++++----- translations/dde-dock_uk.ts | 45 +++- translations/dde-dock_ur.ts | 189 +++++++++------ translations/dde-dock_vi.ts | 63 ++++- translations/dde-dock_zh_CN.ts | 45 +++- translations/dde-dock_zh_HK.ts | 133 ++++++---- translations/dde-dock_zh_TW.ts | 45 +++- 66 files changed, 4333 insertions(+), 1627 deletions(-) diff --git a/frame/CMakeLists.txt b/frame/CMakeLists.txt index 2a6a858d..bb614e97 100644 --- a/frame/CMakeLists.txt +++ b/frame/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.7) set(BIN_NAME dde-dock) - +set(TRANS_DIR "${CMAKE_CURRENT_DIR}/translate") configure_file(environments.h.in environments.h @ONLY) # Sources files diff --git a/translate_generation.sh b/translate_generation.sh index c9080923..68d949fd 100755 --- a/translate_generation.sh +++ b/translate_generation.sh @@ -1,11 +1,12 @@ #!/bin/bash # this file is used to auto-generate .qm file from .ts file. # author: shibowen at linuxdeepin.com - +lupdate -recursive . -ts translations/dde-dock_*.ts ts_list=(`ls translations/*.ts`) for ts in "${ts_list[@]}" do printf "\nprocess ${ts}\n" + lupdate "${ts}" lrelease "${ts}" done diff --git a/translations/dde-dock_af.ts b/translations/dde-dock_af.ts index def4c460..6f0f9c48 100644 --- a/translations/dde-dock_af.ts +++ b/translations/dde-dock_af.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,18 +72,18 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + @@ -96,26 +98,26 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left @@ -127,27 +129,27 @@ Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode @@ -155,7 +157,7 @@ Location - + Size @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -188,11 +194,11 @@ OnboardPlugin Onboard - + Settings - + @@ -203,27 +209,27 @@ Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,23 +252,23 @@ Hibernate - + Lock - + Log out - + Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,11 +316,11 @@ Trash - %1 file - + Trash - %1 files - + @@ -325,14 +331,14 @@ Empty - + TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_am_ET.ts b/translations/dde-dock_am_ET.ts index e3928131..5c29bf75 100644 --- a/translations/dde-dock_am_ET.ts +++ b/translations/dde-dock_am_ET.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins ተሰኪዎች + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -368,4 +374,39 @@ ሽቦ አልባ ኔትዎርክ: %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ar.ts b/translations/dde-dock_ar.ts index 6bb4bce8..ecaf0c26 100644 --- a/translations/dde-dock_ar.ts +++ b/translations/dde-dock_ar.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins الإضافات + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -368,4 +374,39 @@ الشبكة اللاسلكية : %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_az.ts b/translations/dde-dock_az.ts index b91798c7..dd311c5b 100644 --- a/translations/dde-dock_az.ts +++ b/translations/dde-dock_az.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,18 +72,18 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + @@ -96,18 +98,18 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top @@ -127,31 +129,31 @@ Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location @@ -163,12 +165,16 @@ Status - + Plugins Qoşmalar + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -199,38 +205,38 @@ PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -246,23 +252,23 @@ Hibernate - + Lock - + Log out - + Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,11 +316,11 @@ Trash - %1 file - + Trash - %1 files - + @@ -325,14 +331,14 @@ Empty - + TrayPlugin System Tray - + @@ -343,29 +349,64 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_bg.ts b/translations/dde-dock_bg.ts index 27e0e655..e135b83e 100644 --- a/translations/dde-dock_bg.ts +++ b/translations/dde-dock_bg.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Добавки + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Безжична връзка %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_bn.ts b/translations/dde-dock_bn.ts index 2a687d7a..e4706c4c 100644 --- a/translations/dde-dock_bn.ts +++ b/translations/dde-dock_bn.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins প্লাগইন সমূহ + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ ওয়্যারলেস নেটওয়ার্ক %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ca.ts b/translations/dde-dock_ca.ts index e69c2433..dab1cb48 100644 --- a/translations/dde-dock_ca.ts +++ b/translations/dde-dock_ca.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Connectors + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Xarxa sense fil: %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_cs.ts b/translations/dde-dock_cs.ts index 9cee2200..06b30a3d 100644 --- a/translations/dde-dock_cs.ts +++ b/translations/dde-dock_cs.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Přídavné moduly + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Bezdrátová síť %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_da.ts b/translations/dde-dock_da.ts index a4111229..aadabe1b 100644 --- a/translations/dde-dock_da.ts +++ b/translations/dde-dock_da.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Plugins + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Trådløst netværk %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_de.ts b/translations/dde-dock_de.ts index 8c8caca9..94a880f1 100644 --- a/translations/dde-dock_de.ts +++ b/translations/dde-dock_de.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Plugins + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Drahtlosnetzwerk %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_el.ts b/translations/dde-dock_el.ts index fd453e00..3296cacb 100644 --- a/translations/dde-dock_el.ts +++ b/translations/dde-dock_el.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Πρόσθετα + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Ασύρματο Δίκτυο %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_en_AU.ts b/translations/dde-dock_en_AU.ts index 71a03b9d..fef11804 100644 --- a/translations/dde-dock_en_AU.ts +++ b/translations/dde-dock_en_AU.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,18 +72,18 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + @@ -96,26 +98,26 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left @@ -127,27 +129,27 @@ Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode @@ -155,7 +157,7 @@ Location - + Size @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -203,27 +209,27 @@ Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,11 +264,11 @@ Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,11 +316,11 @@ Trash - %1 file - + Trash - %1 files - + @@ -325,14 +331,14 @@ Empty - + TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_en_GB.ts b/translations/dde-dock_en_GB.ts index 6a53532f..51db1a2d 100644 --- a/translations/dde-dock_en_GB.ts +++ b/translations/dde-dock_en_GB.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,33 +72,33 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open - + Unmount all - + @@ -111,126 +113,130 @@ Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + LauncherItem Launcher - + NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -238,134 +244,169 @@ Restart - + Suspend - + Hibernate - + Lock - + Log out - + Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty - + TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_eo.ts b/translations/dde-dock_eo.ts index 7a4d64b2..02807bc5 100644 --- a/translations/dde-dock_eo.ts +++ b/translations/dde-dock_eo.ts @@ -1,16 +1,18 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + @@ -24,15 +26,15 @@ DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings @@ -43,22 +45,22 @@ DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -77,11 +79,11 @@ DiskControlItem Unknown device - + Unknown volume - + @@ -92,30 +94,30 @@ Open - + Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left @@ -139,15 +141,15 @@ Keep Shown - + Keep Hidden - + Smart Hide - + Mode @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -203,27 +209,27 @@ Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,11 +264,11 @@ Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,18 +316,18 @@ Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty @@ -332,7 +338,7 @@ TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_es.ts b/translations/dde-dock_es.ts index cc6bec12..2bb84d40 100644 --- a/translations/dde-dock_es.ts +++ b/translations/dde-dock_es.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Complementos + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Red inalámbrica %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_es_419.ts b/translations/dde-dock_es_419.ts index fab67cfb..eb595f31 100644 --- a/translations/dde-dock_es_419.ts +++ b/translations/dde-dock_es_419.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Complementos + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Red inalámbrica %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_et.ts b/translations/dde-dock_et.ts index 4164694a..4340fae9 100644 --- a/translations/dde-dock_et.ts +++ b/translations/dde-dock_et.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -66,171 +68,175 @@ Delete - + This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open - + Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + LauncherItem Launcher - + NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -238,134 +244,169 @@ Restart - + Suspend - + Hibernate - + Lock - + Log out - + Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty - + TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_fa.ts b/translations/dde-dock_fa.ts index 339aff43..d11106cc 100644 --- a/translations/dde-dock_fa.ts +++ b/translations/dde-dock_fa.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -77,11 +79,11 @@ DiskControlItem Unknown device - + Unknown volume - + @@ -96,26 +98,26 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left @@ -127,27 +129,27 @@ Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode @@ -155,7 +157,7 @@ Location - + Size @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -203,27 +209,27 @@ Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,11 +264,11 @@ Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,11 +316,11 @@ Trash - %1 file - + Trash - %1 files - + @@ -332,7 +338,7 @@ TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_fi.ts b/translations/dde-dock_fi.ts index 9bf57f48..3ddcc8ce 100644 --- a/translations/dde-dock_fi.ts +++ b/translations/dde-dock_fi.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Lisäosat + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Langaton verkko: %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_fi_FI.ts b/translations/dde-dock_fi_FI.ts index e1f34c34..3350d532 100644 --- a/translations/dde-dock_fi_FI.ts +++ b/translations/dde-dock_fi_FI.ts @@ -1,4 +1,14 @@ - + + + + + AbstractPluginsController + + + The plugin %1 is not compatible with the system. + + + ContainerItem @@ -12,28 +22,28 @@ Add keyboard layout - + DatetimePlugin - + Datetime Aika - + 12 Hour Time 12H aika - + 24 Hour Time 24H aika - + Time Settings Aika asetukset @@ -59,9 +69,13 @@ DialogManager - Are you sure to empty %1 items? - Oletko varma poistaessasi %1 tiedostoa? + Oletko varma poistaessasi %1 tiedostoa? + + + + Are you sure you want to empty %1 items? + @@ -110,98 +124,95 @@ Irrottaa kaikki - - DockPluginsController - - - The plugin %1 is not compatible with the system. - - - DockSettings - + Fashion Mode Keskitetty - + Efficient Mode Levitetty - + Top Ylös - + Bottom Alas - + Left Vasen - + Right Oikea - + Large Suuri - + Medium Keskikoko - + Small Pieni - + Keep Shown Pidä näkyvänä - + Keep Hidden Pidä piilotettuna - + Smart Hide Älykäs piilotus - + + System Monitor + + + + Mode Tila - + Location Sijainti - + Size Koko - + Status Status - + Plugins Liitännäiset @@ -231,7 +242,7 @@ Koneella - + Settings Asetukset @@ -244,22 +255,40 @@ Virta - + + Capacity %1, %2 min remaining + + + + + Capacity %1, %2 hr %3 min remaining + + + + + Charging %1, %2 min until full + + + + + Charging %1, %2 hr %3 min until full + + + Remaining Capacity %1 - Kapasiteettia jäljellä %1 + Kapasiteettia jäljellä %1 - + Charged %1 Ladattu %1 - Charging %1 - Lataa %1 + Lataa %1 - + Power settings Virran asetukset @@ -267,50 +296,54 @@ ShutdownPlugin - + Shut down Sammuta - + Restart Uudelleenkäynnistys - + Hibernate Lepotila - + Lock Lukitse - + Log out Kirjaudu ulos - + Suspend Valmiustila - + + + Power + Virta + + + Switch account Vaihda tiliä - + Power settings Virran asetukset - - Shutdown - Sammuta tietokone + Sammuta tietokone @@ -362,7 +395,7 @@ Trash - + @@ -378,12 +411,12 @@ TrashWidget - + Open Avaa - + Empty Tyhjä @@ -391,7 +424,7 @@ TrayPlugin - + System Tray Paneeli @@ -425,14 +458,59 @@ WirelessList - + Wireless Network Langaton verkko - + Wireless Network %1 Langaton verkko %1 - \ No newline at end of file + + pluginSettingDialog + + + 系统监控插件设置 + + + + + 高效模式显示内容设置 + + + + + + 只显示网速 + + + + + + 只显示CPU、内存 + + + + + 显示CP&U、内存和网速 + + + + + 时尚模式显示内容设置 + + + + + 行高: + + + + + % + + + + diff --git a/translations/dde-dock_fr.ts b/translations/dde-dock_fr.ts index 740e9af0..156041d7 100644 --- a/translations/dde-dock_fr.ts +++ b/translations/dde-dock_fr.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Extensions + + System Monitor + + LauncherItem @@ -343,7 +349,7 @@ Wired connection: %1 - Connexion filaire : %1 + Connexion filaire : %1 @@ -354,7 +360,7 @@ Wireless Connection: %1 - Connexion sans fil : %1 + Connexion sans fil : %1 @@ -368,4 +374,39 @@ Réseau sans fil %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_gl.ts b/translations/dde-dock_gl.ts index 35b61f31..186e5528 100644 --- a/translations/dde-dock_gl.ts +++ b/translations/dde-dock_gl.ts @@ -1,51 +1,92 @@ - + + + + + AbstractPluginsController + + + The plugin %1 is not compatible with the system. + + + ContainerItem Click to display hidden icon - + + + + + DBusAdaptors + + + Add keyboard layout + DatetimePlugin - + Datetime - + - + 12 Hour Time - + - + 24 Hour Time - + - + Time Settings - + DeviceItem - + Enable network - + - + Disable network - + - + Network settings - + + + + + DialogManager + + + Are you sure you want to empty %1 items? + + + + + Cancel + + + + + Delete + + + + + This action cannot be restored + @@ -53,12 +94,12 @@ Unknown device - + Unknown volume - + @@ -66,350 +107,394 @@ Disk - + Open - + Unmount all - + DockSettings - + Fashion Mode - + - + Efficient Mode - + - + Top - + - + Bottom - + - + Left - + - + Right - + - + Large - + - + Medium - + - + Small - + - + Keep Shown - + - + Keep Hidden - + - + Smart Hide - + + + + + System Monitor + - + Mode - + - + Location - + - + Size - + - + Status - + - + Plugins - + LauncherItem - + Launcher - + NetworkPlugin - + Network - + - PopupControlWidget + OnboardPlugin - - Cancel - + + + Onboard + - - Empty - + + Settings + + + + PowerPlugin - - This action cannot be restored - + + Power + - - Are you sure to empty 1 item ? - + + Power settings + - - Are you sure to empty %1 items ? - + + Capacity %1, %2 min remaining + - - - ShutdownPlugin - - - Shut down - + + Capacity %1, %2 hr %3 min remaining + - - Remaining Capacity %1 - + + Charged %1 + - - Charged %1 - + + Charging %1, %2 min until full + - - Charging %1 - + + Charging %1, %2 hr %3 min until full + + + + + ShutdownPlugin + + + Shut down + - + Restart - + - + Lock - + - + Log out - + - + Suspend - + - + + Power - + - + + Hibernate + + + + Switch account - + - + Power settings - + SoundApplet - + Device - + - + Application - + SoundItem - + Unmute - + - + Mute - + - + Audio Settings - + - + Current Volume %1 - + SoundPlugin - + Sound - + - SystemTrayPlugin + TrashPlugin - - System Tray - + + Trash + - - - TrashPlugin - + Trash - %1 file - + - + Trash - %1 files - + TrashWidget - + Open - + - + Empty - + + + + + TrayPlugin + + + System Tray + WiredItem - + Unknown Descoñecido - - No Network - - - - + Wired connection: %1 - + WirelessItem - + No Network - + - + Wireless Connection: %1 - + WirelessList - - Auto-connect - + + Wireless Network + + + + + Wireless Network %1 + + + + pluginSettingDialog - - Connect - + + 系统监控插件设置 + - - Cancel - + + 高效模式显示内容设置 + - - Wireless Network - + + + 只显示网速 + - - Wireless Network %1 - + + + 只显示CPU、内存 + + + + + 显示CP&U、内存和网速 + + + + + 时尚模式显示内容设置 + + + + + 行高: + - - Password required to connect to <font color="#faca57">%1</font> - + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_gl_ES.ts b/translations/dde-dock_gl_ES.ts index dcf5e322..ba866212 100644 --- a/translations/dde-dock_gl_ES.ts +++ b/translations/dde-dock_gl_ES.ts @@ -1,30 +1,32 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Complementos + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -368,4 +374,39 @@ Rede sen fíos %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_he.ts b/translations/dde-dock_he.ts index 266804a9..8d4b4185 100644 --- a/translations/dde-dock_he.ts +++ b/translations/dde-dock_he.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -77,11 +79,11 @@ DiskControlItem Unknown device - + Unknown volume - + @@ -96,18 +98,18 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top @@ -127,27 +129,27 @@ Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode @@ -163,12 +165,16 @@ Status - + Plugins פלאגינים + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -203,27 +209,27 @@ Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,11 +264,11 @@ Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,11 +316,11 @@ Trash - %1 file - + Trash - %1 files - + @@ -332,7 +338,7 @@ TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_hi_IN.ts b/translations/dde-dock_hi_IN.ts index 3a63e52d..dfe2e5e2 100644 --- a/translations/dde-dock_hi_IN.ts +++ b/translations/dde-dock_hi_IN.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins प्लगिन + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ बेतार नेटवर्क %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_hr.ts b/translations/dde-dock_hr.ts index b1861046..d7fe088f 100644 --- a/translations/dde-dock_hr.ts +++ b/translations/dde-dock_hr.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Priključci + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -368,4 +374,39 @@ Bežična mreža %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_hu.ts b/translations/dde-dock_hu.ts index 35a2f422..72aeb602 100644 --- a/translations/dde-dock_hu.ts +++ b/translations/dde-dock_hu.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Bővítmények + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Vezeték nélküli Hálózat %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_hy.ts b/translations/dde-dock_hy.ts index 86faf0d2..4b730754 100644 --- a/translations/dde-dock_hy.ts +++ b/translations/dde-dock_hy.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,52 +72,52 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open - + Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left @@ -127,31 +129,31 @@ Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -181,14 +187,14 @@ NetworkPlugin Network - + OnboardPlugin Onboard - + Settings @@ -199,38 +205,38 @@ PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,29 +264,29 @@ Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute @@ -288,18 +294,18 @@ Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + @@ -310,29 +316,29 @@ Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty - + TrayPlugin System Tray - + @@ -343,29 +349,64 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_id.ts b/translations/dde-dock_id.ts index a90dee1d..cd957807 100644 --- a/translations/dde-dock_id.ts +++ b/translations/dde-dock_id.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Plugin + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Jaringan Nirkabel %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_it.ts b/translations/dde-dock_it.ts index b0d82dfd..dd394973 100644 --- a/translations/dde-dock_it.ts +++ b/translations/dde-dock_it.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Plugin + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Rete wireless %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ja.ts b/translations/dde-dock_ja.ts index 1b7d02d2..dd72074e 100644 --- a/translations/dde-dock_ja.ts +++ b/translations/dde-dock_ja.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins プラグイン + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ 無線接続 %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_kn_IN.ts b/translations/dde-dock_kn_IN.ts index adc2f985..4b2cb098 100644 --- a/translations/dde-dock_kn_IN.ts +++ b/translations/dde-dock_kn_IN.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -17,7 +19,7 @@ DBusAdaptors Add keyboard layout - + @@ -58,19 +60,19 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel - + Delete - + This action cannot be restored - + @@ -96,7 +98,7 @@ Unmount all - + @@ -111,210 +113,214 @@ Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + LauncherItem Launcher - + NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down - + Restart - + Suspend - + Hibernate - + Lock - + Log out - + Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + @@ -325,47 +331,82 @@ Empty - + TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_ko.ts b/translations/dde-dock_ko.ts index 07c09b2d..955c51fc 100644 --- a/translations/dde-dock_ko.ts +++ b/translations/dde-dock_ko.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins 플러그인 + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ 무선 네트워크 %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ku_IQ.ts b/translations/dde-dock_ku_IQ.ts index ee162a38..de40916d 100644 --- a/translations/dde-dock_ku_IQ.ts +++ b/translations/dde-dock_ku_IQ.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,125 +72,129 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open - + Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + LauncherItem Launcher - + NetworkPlugin Network - + OnboardPlugin Onboard - + Settings @@ -199,88 +205,88 @@ PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down - + Restart - + Suspend - + Hibernate - + Lock - + Log out - + Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -306,66 +312,101 @@ TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty - + TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_lo.ts b/translations/dde-dock_lo.ts index 862ec9b9..33e5c21b 100644 --- a/translations/dde-dock_lo.ts +++ b/translations/dde-dock_lo.ts @@ -1,16 +1,18 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + @@ -24,41 +26,41 @@ DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -66,29 +68,29 @@ Delete - + This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open @@ -96,141 +98,145 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + LauncherItem Launcher - + NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -238,7 +244,7 @@ Restart - + Suspend @@ -258,63 +264,63 @@ Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + @@ -325,47 +331,82 @@ Empty - + TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_lt.ts b/translations/dde-dock_lt.ts index 1395b79b..95ed2e47 100644 --- a/translations/dde-dock_lt.ts +++ b/translations/dde-dock_lt.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Įskiepiai + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Belaidis tinklas %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ml.ts b/translations/dde-dock_ml.ts index 56478e7f..04669ed4 100644 --- a/translations/dde-dock_ml.ts +++ b/translations/dde-dock_ml.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -92,11 +94,11 @@ Open - + Unmount all - + @@ -167,7 +169,11 @@ Plugins - + + + + System Monitor + @@ -181,56 +187,56 @@ NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -238,31 +244,31 @@ Restart - + Suspend - + Hibernate - + Lock - + Log out - + Switch account - + Power settings - + @@ -280,26 +286,26 @@ SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + @@ -310,18 +316,18 @@ Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty @@ -332,40 +338,75 @@ TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_mn.ts b/translations/dde-dock_mn.ts index 30f806cb..4f03ce2d 100644 --- a/translations/dde-dock_mn.ts +++ b/translations/dde-dock_mn.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Нэмэлтүүд + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Утасгүй сүлжээ %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ms.ts b/translations/dde-dock_ms.ts index fd0915d9..4da1ffbc 100644 --- a/translations/dde-dock_ms.ts +++ b/translations/dde-dock_ms.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Pemalam + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Sambungan Tanpa Wayar %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_nb.ts b/translations/dde-dock_nb.ts index 3c5566fe..d1ad9db8 100644 --- a/translations/dde-dock_nb.ts +++ b/translations/dde-dock_nb.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Utvidelser + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Trådløst Nettverk: %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ne.ts b/translations/dde-dock_ne.ts index 6a5d40d6..3606f70b 100644 --- a/translations/dde-dock_ne.ts +++ b/translations/dde-dock_ne.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -17,7 +19,7 @@ DBusAdaptors Add keyboard layout - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins प्लगइनहरू + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -306,7 +312,7 @@ TrashPlugin Trash - + Trash - %1 file @@ -368,4 +374,39 @@ वायरलेस नेटवर्क% 1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_nl.ts b/translations/dde-dock_nl.ts index 42e2803c..81549742 100644 --- a/translations/dde-dock_nl.ts +++ b/translations/dde-dock_nl.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Invoegtoepassingen + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Draadloos Netwerk %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_pa.ts b/translations/dde-dock_pa.ts index a9afa8be..9c0e3600 100644 --- a/translations/dde-dock_pa.ts +++ b/translations/dde-dock_pa.ts @@ -1,23 +1,25 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,18 +72,18 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + @@ -96,62 +98,62 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -207,23 +213,23 @@ Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -280,11 +286,11 @@ SoundItem Unmute - + Mute - + Audio Settings @@ -292,40 +298,40 @@ Current Volume %1 - + SoundPlugin Sound - + TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + ਖੋਲ੍ਹੋ Empty - + @@ -339,7 +345,7 @@ WiredItem Unknown - + Wired connection: %1 @@ -368,4 +374,39 @@ ਬੇਤਾਰ ਨੈੱਟਵਰਕ: %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_pl.ts b/translations/dde-dock_pl.ts index 37258e10..560ce370 100644 --- a/translations/dde-dock_pl.ts +++ b/translations/dde-dock_pl.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Wtyczki + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Sieć bezprzewodowa %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_pt.ts b/translations/dde-dock_pt.ts index 24365102..91f5aa41 100644 --- a/translations/dde-dock_pt.ts +++ b/translations/dde-dock_pt.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Plugins + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Rede Sem Fios %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_pt_BR.ts b/translations/dde-dock_pt_BR.ts index 004df66a..320f6581 100644 --- a/translations/dde-dock_pt_BR.ts +++ b/translations/dde-dock_pt_BR.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Plugins + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Rede Wireless %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ro.ts b/translations/dde-dock_ro.ts index b80ac6d5..4f5489d1 100644 --- a/translations/dde-dock_ro.ts +++ b/translations/dde-dock_ro.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Extensii + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Rețea fără fir %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ru.ts b/translations/dde-dock_ru.ts index 461dee14..73b3cc32 100644 --- a/translations/dde-dock_ru.ts +++ b/translations/dde-dock_ru.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Плагины + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Беспроводная Сеть %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_si.ts b/translations/dde-dock_si.ts index 47f0d0cf..79035762 100644 --- a/translations/dde-dock_si.ts +++ b/translations/dde-dock_si.ts @@ -1,173 +1,179 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel - + Delete - + This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open - + Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + @@ -181,56 +187,56 @@ NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -246,60 +252,60 @@ Hibernate - + Lock - + Log out - + Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + @@ -310,29 +316,29 @@ Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty - + TrayPlugin System Tray - + @@ -343,29 +349,64 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_sk.ts b/translations/dde-dock_sk.ts index cbe15e2b..3f03412b 100644 --- a/translations/dde-dock_sk.ts +++ b/translations/dde-dock_sk.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Pluginy + + System Monitor + + LauncherItem @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Bezdrôtová sieť %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_sl.ts b/translations/dde-dock_sl.ts index 7bdbf9a4..2f1edbc0 100644 --- a/translations/dde-dock_sl.ts +++ b/translations/dde-dock_sl.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Vtičniki + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -368,4 +374,39 @@ Brezžično omrežje %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_sq.ts b/translations/dde-dock_sq.ts index 3a99d43d..1e17e2c8 100644 --- a/translations/dde-dock_sq.ts +++ b/translations/dde-dock_sq.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -66,306 +68,345 @@ Delete - + This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open - + Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + LauncherItem Launcher - + NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down - + Restart - + Suspend - + Hibernate - + Lock - + Log out - + Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty - + TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_sr.ts b/translations/dde-dock_sr.ts index bf4c7114..cd44841f 100644 --- a/translations/dde-dock_sr.ts +++ b/translations/dde-dock_sr.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Додаци + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Бежична мрежа %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_sv.ts b/translations/dde-dock_sv.ts index 5b697e40..904ee449 100644 --- a/translations/dde-dock_sv.ts +++ b/translations/dde-dock_sv.ts @@ -1,16 +1,18 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + @@ -24,7 +26,7 @@ DatetimePlugin Datetime - + 12 Hour Time @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Plugin + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -368,4 +374,39 @@ Trådlöst nätverk %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_sw.ts b/translations/dde-dock_sw.ts index 4fc0dd17..baea064f 100644 --- a/translations/dde-dock_sw.ts +++ b/translations/dde-dock_sw.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -28,11 +30,11 @@ 12 Hour Time - + 24 Hour Time - + Time Settings @@ -70,7 +72,7 @@ This action cannot be restored - + @@ -169,6 +171,10 @@ Plugins Kijenzi ya maziada + + System Monitor + + LauncherItem @@ -207,23 +213,23 @@ Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -368,4 +374,39 @@ Mtandao wa muunganisho bila kabo %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ta.ts b/translations/dde-dock_ta.ts index d0f6f8e3..5a520711 100644 --- a/translations/dde-dock_ta.ts +++ b/translations/dde-dock_ta.ts @@ -1,16 +1,18 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + @@ -24,41 +26,41 @@ DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,18 +72,18 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + @@ -96,26 +98,26 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left @@ -127,27 +129,27 @@ Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode @@ -155,7 +157,7 @@ Location - + Size @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -203,27 +209,27 @@ Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,11 +264,11 @@ Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,11 +316,11 @@ Trash - %1 file - + Trash - %1 files - + @@ -325,14 +331,14 @@ Empty - + TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_tr.ts b/translations/dde-dock_tr.ts index 04a063b1..26f9ad53 100644 --- a/translations/dde-dock_tr.ts +++ b/translations/dde-dock_tr.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Eklentiler + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Kablosuz Ağ %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ug.ts b/translations/dde-dock_ug.ts index e776875b..2432b143 100644 --- a/translations/dde-dock_ug.ts +++ b/translations/dde-dock_ug.ts @@ -1,16 +1,18 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + @@ -24,15 +26,15 @@ DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings @@ -43,22 +45,22 @@ DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -70,25 +72,25 @@ This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open @@ -96,38 +98,38 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium @@ -135,19 +137,19 @@ Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode @@ -155,7 +157,7 @@ Location - + Size @@ -163,11 +165,15 @@ Status - + Plugins - + + + + System Monitor + @@ -188,49 +194,49 @@ OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,41 +264,41 @@ Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + @@ -306,15 +312,15 @@ TrashPlugin Trash - + Trash - %1 file - + Trash - %1 files - + @@ -325,14 +331,14 @@ Empty - + TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_uk.ts b/translations/dde-dock_uk.ts index 9d4f39b6..e283352a 100644 --- a/translations/dde-dock_uk.ts +++ b/translations/dde-dock_uk.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins Плагіни + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ Бездротова мережа %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_ur.ts b/translations/dde-dock_ur.ts index 09ec323e..5635a357 100644 --- a/translations/dde-dock_ur.ts +++ b/translations/dde-dock_ur.ts @@ -1,236 +1,242 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel - + Delete - + This action cannot be restored - + DiskControlItem Unknown device - + Unknown volume - + DiskMountPlugin Disk - + Open - + Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top - + Bottom - + Left - + Right - + Large - + Medium - + Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location - + Size - + Status - + Plugins - + + + + System Monitor + LauncherItem Launcher - + NetworkPlugin Network - + OnboardPlugin Onboard - + Settings - + PowerPlugin Power - + Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + ShutdownPlugin Power - + Shut down @@ -242,64 +248,64 @@ Suspend - + Hibernate - + Lock - + Log out - + Switch account - + Power settings - + SoundApplet Device - + Application - + SoundItem Unmute - + Mute - + Audio Settings - + Current Volume %1 - + SoundPlugin Sound - + @@ -310,62 +316,97 @@ Trash - %1 file - + Trash - %1 files - + TrashWidget Open - + Empty - + TrayPlugin System Tray - + WiredItem Unknown - + Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + WirelessList Wireless Network - + Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_vi.ts b/translations/dde-dock_vi.ts index a9ac19e4..97db332b 100644 --- a/translations/dde-dock_vi.ts +++ b/translations/dde-dock_vi.ts @@ -1,9 +1,11 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + @@ -17,7 +19,7 @@ DBusAdaptors Add keyboard layout - + @@ -58,7 +60,7 @@ DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -169,6 +171,10 @@ Plugins Các phần bổ sung + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -211,19 +217,19 @@ Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -368,4 +374,39 @@ Mạng Không dây %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_zh_CN.ts b/translations/dde-dock_zh_CN.ts index b897bddf..d829791b 100644 --- a/translations/dde-dock_zh_CN.ts +++ b/translations/dde-dock_zh_CN.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins 插件 + + System Monitor + 系统监视器 + LauncherItem @@ -368,4 +374,39 @@ 无线网络%1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + diff --git a/translations/dde-dock_zh_HK.ts b/translations/dde-dock_zh_HK.ts index 89847481..481eff30 100644 --- a/translations/dde-dock_zh_HK.ts +++ b/translations/dde-dock_zh_HK.ts @@ -1,64 +1,66 @@ - + + + AbstractPluginsController The plugin %1 is not compatible with the system. - + ContainerItem Click to display hidden icon - + DBusAdaptors Add keyboard layout - + DatetimePlugin Datetime - + 12 Hour Time - + 24 Hour Time - + Time Settings - + DeviceItem Enable network - + Disable network - + Network settings - + DialogManager Are you sure you want to empty %1 items? - + Cancel @@ -77,11 +79,11 @@ DiskControlItem Unknown device - + Unknown volume - + @@ -96,18 +98,18 @@ Unmount all - + DockSettings Fashion Mode - + Efficient Mode - + Top @@ -127,7 +129,7 @@ Large - + Medium @@ -135,23 +137,23 @@ Small - + Keep Shown - + Keep Hidden - + Smart Hide - + Mode - + Location @@ -163,12 +165,16 @@ Status - + Plugins 外掛 + + System Monitor + + LauncherItem @@ -188,7 +194,7 @@ OnboardPlugin Onboard - + Settings @@ -203,27 +209,27 @@ Power settings - + Charged %1 - + Capacity %1, %2 min remaining - + Capacity %1, %2 hr %3 min remaining - + Charging %1, %2 min until full - + Charging %1, %2 hr %3 min until full - + @@ -246,7 +252,7 @@ Hibernate - + Lock @@ -258,11 +264,11 @@ Switch account - + Power settings - + @@ -273,14 +279,14 @@ Application - + SoundItem Unmute - + Mute @@ -288,11 +294,11 @@ Audio Settings - + Current Volume %1 - + @@ -310,11 +316,11 @@ Trash - %1 file - + Trash - %1 files - + @@ -332,7 +338,7 @@ TrayPlugin System Tray - + @@ -343,18 +349,18 @@ Wired connection: %1 - + WirelessItem No Network - + Wireless Connection: %1 - + @@ -365,7 +371,42 @@ Wireless Network %1 - + + + + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + - \ No newline at end of file + diff --git a/translations/dde-dock_zh_TW.ts b/translations/dde-dock_zh_TW.ts index e462100e..29f289cc 100644 --- a/translations/dde-dock_zh_TW.ts +++ b/translations/dde-dock_zh_TW.ts @@ -1,4 +1,6 @@ - + + + AbstractPluginsController @@ -169,6 +171,10 @@ Plugins 附加元件 + + System Monitor + + LauncherItem @@ -368,4 +374,39 @@ 無線網路 %1 - \ No newline at end of file + + pluginSettingDialog + + 系统监控插件设置 + + + + 高效模式显示内容设置 + + + + 只显示网速 + + + + 只显示CPU、内存 + + + + 显示CP&U、内存和网速 + + + + 时尚模式显示内容设置 + + + + 行高: + + + + % + + + + -- Gitee From 603ab801e26a4f45efcbd313703462dc3b32f709 Mon Sep 17 00:00:00 2001 From: shenmo Date: Thu, 17 Oct 2024 23:20:28 +0800 Subject: [PATCH 19/30] 4.10.14gxde3 --- debian/changelog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 75284a34..3940cad9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,8 @@ -dde-dock (4.10.14gxde2) UNRELEASED; urgency=medium +dde-dock (4.10.14gxde3) UNRELEASED; urgency=medium * Repair Wine Problem * config file to GXDE + * add system monitor entry -- gfdgd_xi <3025613752@qq.com> Sat, 31 Aug 2024 08:29:57 +0800 -- Gitee From de6cabe7568e8c215e2278cf83c6d071d53db97c Mon Sep 17 00:00:00 2001 From: shenmo Date: Thu, 17 Oct 2024 23:27:06 +0800 Subject: [PATCH 20/30] fix: can not launch --- frame/util/docksettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frame/util/docksettings.cpp b/frame/util/docksettings.cpp index 161e1854..a8e16d1f 100644 --- a/frame/util/docksettings.cpp +++ b/frame/util/docksettings.cpp @@ -176,7 +176,7 @@ void DockSettings::openSystemMonitor() QProcess::startDetached("gxde-system-monitor"); } else { - QProcess::startDetached("deepin -system-monitor"); + QProcess::startDetached("deepin-system-monitor"); } } -- Gitee From 8b3db614f5156b57c6cf63e924971f3a88674b95 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sun, 20 Oct 2024 09:11:00 +0800 Subject: [PATCH 21/30] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=A0=8F=E5=9B=9E=E6=94=B6=E7=AB=99=E6=8F=92=E4=BB=B6=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=AD=A3=E5=B8=B8=E6=B8=85=E7=A9=BA=E5=9B=9E=E6=94=B6?= =?UTF-8?q?=E7=AB=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/trash/popupcontrolwidget.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/trash/popupcontrolwidget.cpp b/plugins/trash/popupcontrolwidget.cpp index 41668cbb..d5be5b2e 100644 --- a/plugins/trash/popupcontrolwidget.cpp +++ b/plugins/trash/popupcontrolwidget.cpp @@ -123,12 +123,13 @@ void PopupControlWidget::clearTrashFloder() return; } - /*if (DTrashManager::instance()->cleanTrash()) { - DDesktopServices::playSystemSoundEffect(DDesktopServices::SSE_EmptyTrash); + if (DTrashManager::instance()->cleanTrash()) { + //DDesktopServices::playSystemSoundEffect(DDesktopServices::SSE_EmptyTrash); } else { qWarning() << "Clear trash failed"; - }*/ -// DFMGlobal::instance()->clearTrash(); + } + DDesktopServices::playSystemSoundEffect(DDesktopServices::SSE_EmptyTrash); + //DFMGlobal::instance()->clearTrash(); } int PopupControlWidget::trashItemCount() const -- Gitee From 31289b4a342387f05204c41bd973830a6e94a045 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sun, 20 Oct 2024 22:28:16 +0800 Subject: [PATCH 22/30] =?UTF-8?q?=E8=A1=A5=E4=B8=AA=E6=B2=A1=E4=BB=80?= =?UTF-8?q?=E4=B9=88=E7=94=A8=E7=9A=84PluginSizePolicy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interfaces/pluginsiteminterface.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/interfaces/pluginsiteminterface.h b/interfaces/pluginsiteminterface.h index ebdfbfba..79129a11 100644 --- a/interfaces/pluginsiteminterface.h +++ b/interfaces/pluginsiteminterface.h @@ -35,6 +35,25 @@ class PluginsItemInterface { public: + enum PluginType { + Normal, + Fixed + }; + + /** + * @brief Plugin size policy + */ + enum PluginSizePolicy { + System = 1 << 0, // Follow the system + Custom = 1 << 1 // The custom + }; + + enum PluginMode { + Deactive = 0, + Active, + Disabled + }; + /// /// \brief ~PluginsItemInterface /// DON'T try to delete m_proxyInter. -- Gitee From 00d9af416864b712a1e5f9937546bdbb24d75cd7 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sun, 20 Oct 2024 22:43:07 +0800 Subject: [PATCH 23/30] =?UTF-8?q?dev=E8=A1=A5=E5=85=85pluginSizePolicy()?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interfaces/pluginsiteminterface.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interfaces/pluginsiteminterface.h b/interfaces/pluginsiteminterface.h index 79129a11..1ae141de 100644 --- a/interfaces/pluginsiteminterface.h +++ b/interfaces/pluginsiteminterface.h @@ -54,6 +54,8 @@ public: Disabled }; + virtual PluginSizePolicy pluginSizePolicy() const { return System; } + /// /// \brief ~PluginsItemInterface /// DON'T try to delete m_proxyInter. -- Gitee From 2f46595444f6b71c4fa6a6108d56835fb2dbc462 Mon Sep 17 00:00:00 2001 From: shenmo Date: Tue, 22 Oct 2024 14:32:49 +0000 Subject: [PATCH 24/30] update README.md. Signed-off-by: shenmo --- README.md | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/README.md b/README.md index c9af762f..93495698 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,5 @@ # DDE Dock -DDE Dock is the dock of Deepin Desktop Environment. +DDE Dock is the dock of Deepin Desktop Environment, now it is forked to provide dock for GXDE A tutorial for build dde-dock plugin: [plugins-developer-guide](plugins/plugin-guide/plugins-developer-guide.md) - -## Getting help - -Any usage issues can ask for help via - -* [Gitter](https://gitter.im/orgs/linuxdeepin/rooms) -* [IRC channel](https://webchat.freenode.net/?channels=deepin) -* [Forum](https://bbs.deepin.org) -* [WiKi](https://wiki.deepin.org/) - -## Getting involved - -We encourage you to report issues and contribute changes - -* [Contribution guide for developers](https://github.com/linuxdeepin/developer-center/wiki/Contribution-Guidelines-for-Developers-en). (English) -* [开发者代码贡献指南](https://github.com/linuxdeepin/developer-center/wiki/Contribution-Guidelines-for-Developers) (中文) -- Gitee From 48f8f3c463c7fb55270fc59da2a89ffa7c6b1f61 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Wed, 23 Oct 2024 22:18:03 +0800 Subject: [PATCH 25/30] =?UTF-8?q?=E9=AB=98=E6=95=88=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=8F=92=E4=BB=B6=E6=96=B0=E5=A2=9E=E6=97=A5?= =?UTF-8?q?=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/datetime/datetimewidget.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/datetime/datetimewidget.cpp b/plugins/datetime/datetimewidget.cpp index c5cb4f5f..2f53ba57 100644 --- a/plugins/datetime/datetimewidget.cpp +++ b/plugins/datetime/datetimewidget.cpp @@ -85,17 +85,17 @@ void DatetimeWidget::paintEvent(QPaintEvent *e) { QString format; if (m_24HourFormat) - format = "hh:mm"; + format = "hh:mm\nyyyy-MM-dd"; else { if (position == Dock::Top || position == Dock::Bottom) - format = "hh:mm AP"; + format = "hh:mm AP\nyyyy-MM-dd"; else - format = "hh:mm\nAP"; + format = "hh:mm\nAP\nyyyy-MM-dd"; } painter.setPen(Qt::white); - painter.drawText(rect(), Qt::AlignCenter, current.time().toString(format)); + painter.drawText(rect(), Qt::AlignCenter, current.currentDateTime().toString(format)); return; } -- Gitee From d978fb446f0c0ddcfcfca9353515f58499d18565 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Thu, 24 Oct 2024 22:31:58 +0800 Subject: [PATCH 26/30] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=8F=92=E4=BB=B6UI=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/datetime/datetimewidget.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/datetime/datetimewidget.cpp b/plugins/datetime/datetimewidget.cpp index 2f53ba57..19baa696 100644 --- a/plugins/datetime/datetimewidget.cpp +++ b/plugins/datetime/datetimewidget.cpp @@ -57,9 +57,10 @@ QSize DatetimeWidget::sizeHint() const QFontMetrics fm(qApp->font()); if (m_24HourFormat) - return fm.boundingRect("88:88").size() + QSize(20, 10); + return fm.boundingRect("2024/10/24").size() + QSize(20, 10); + //return fm.boundingRect("10:24\n2024/10/24").size() + QSize(20, 10); else - return fm.boundingRect("88:88 A.A.").size() + QSize(20, 20); + return fm.boundingRect("10:24 A.A.").size() + QSize(20, 20); } void DatetimeWidget::resizeEvent(QResizeEvent *e) @@ -85,13 +86,16 @@ void DatetimeWidget::paintEvent(QPaintEvent *e) { QString format; if (m_24HourFormat) - format = "hh:mm\nyyyy-MM-dd"; + if (position == Dock::Top || position == Dock::Bottom) + format = "hh:mm\nyyyy/MM/dd"; + else + format = "hh:mm\nyyyy\n/MM/dd"; else { if (position == Dock::Top || position == Dock::Bottom) - format = "hh:mm AP\nyyyy-MM-dd"; + format = "hh:mm AP\nyyyy/MM/dd"; else - format = "hh:mm\nAP\nyyyy-MM-dd"; + format = "hh:mm\nAP\nyyyy/MM/dd"; } painter.setPen(Qt::white); -- Gitee From b96a88751ccb2cac334ff215538d975005fd5867 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Fri, 25 Oct 2024 22:14:07 +0800 Subject: [PATCH 27/30] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E7=9A=84API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interfaces/pluginsiteminterface.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/interfaces/pluginsiteminterface.h b/interfaces/pluginsiteminterface.h index 1ae141de..f4baba47 100644 --- a/interfaces/pluginsiteminterface.h +++ b/interfaces/pluginsiteminterface.h @@ -35,15 +35,15 @@ class PluginsItemInterface { public: - enum PluginType { + /*enum PluginType { Normal, Fixed - }; + };*/ /** * @brief Plugin size policy */ - enum PluginSizePolicy { + /*enum PluginSizePolicy { System = 1 << 0, // Follow the system Custom = 1 << 1 // The custom }; @@ -54,7 +54,7 @@ public: Disabled }; - virtual PluginSizePolicy pluginSizePolicy() const { return System; } + virtual PluginSizePolicy pluginSizePolicy() const { return System; }*/ /// /// \brief ~PluginsItemInterface -- Gitee From a5b71edbc710802c61cefcfa84c39c9ccc3c2bb9 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 25 Oct 2024 17:48:35 +0000 Subject: [PATCH 28/30] bump version to 4.10.15 Signed-off-by: shenmo --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 3940cad9..a95193f0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +dde-dock (4.10.15) UNRELEASED; urgency=medium + + * feat: add date in efficient mode + + -- gfdgd_xi <3025613752@qq.com> Sat, 31 Aug 2024 08:29:57 +0800 + dde-dock (4.10.14gxde3) UNRELEASED; urgency=medium * Repair Wine Problem -- Gitee From 186b1da626983781dabb6192763cdabbc94ce595 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 30 Nov 2024 14:52:21 +0800 Subject: [PATCH 29/30] 4.10.16 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index a95193f0..30055e50 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -dde-dock (4.10.15) UNRELEASED; urgency=medium +dde-dock (4.10.16) UNRELEASED; urgency=medium * feat: add date in efficient mode - -- gfdgd_xi <3025613752@qq.com> Sat, 31 Aug 2024 08:29:57 +0800 + -- gfdgd_xi <3025613752@qq.com> Sat, 30 Nov 2024 14:52:05 +0800 dde-dock (4.10.14gxde3) UNRELEASED; urgency=medium -- Gitee From 800b1422f9fdc037d6ce593ec1b4a5ee74033a69 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 4 Jan 2025 17:43:04 +0800 Subject: [PATCH 30/30] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20dde=20dock=20dbus=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=97=A0=E6=B3=95=E8=AE=BF=E9=97=AE=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=88@zinface=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 5 +++-- frame/main.cpp | 17 +++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/debian/changelog b/debian/changelog index 30055e50..da01bccc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ -dde-dock (4.10.16) UNRELEASED; urgency=medium +dde-dock (4.10.17) UNRELEASED; urgency=medium * feat: add date in efficient mode + * 修复 dde dock dbus 接口无法访问的问题 - -- gfdgd_xi <3025613752@qq.com> Sat, 30 Nov 2024 14:52:05 +0800 + -- gfdgd_xi <3025613752@qq.com> Sat, 04 Jan 2025 17:42:32 +0800 dde-dock (4.10.14gxde3) UNRELEASED; urgency=medium diff --git a/frame/main.cpp b/frame/main.cpp index d8e19725..87ac66ec 100644 --- a/frame/main.cpp +++ b/frame/main.cpp @@ -100,16 +100,17 @@ int main(int argc, char *argv[]) QDir::setCurrent(QApplication::applicationDirPath()); #endif MainWindow mw; - if (!QFile::exists(QDir::homePath() + "/.config/GXDE/gxde-dock/dock-hide")) { - DBusDockAdaptors adaptor(&mw); - QDBusConnection::sessionBus().registerService("com.deepin.dde.Dock"); - QDBusConnection::sessionBus().registerObject("/com/deepin/dde/Dock", "com.deepin.dde.Dock", &mw); + if (QFile::exists(QDir::homePath() + "/.config/GXDE/gxde-dock/dock-hide")) { + return app.exec(); + } - QTimer::singleShot(1, &mw, &MainWindow::launch); - if (!parser.isSet(disablePlugOption)) { - DockItemController::instance()->startLoadPlugins(); - } + DBusDockAdaptors adaptor(&mw); + QDBusConnection::sessionBus().registerService("com.deepin.dde.Dock"); + QDBusConnection::sessionBus().registerObject("/com/deepin/dde/Dock", "com.deepin.dde.Dock", &mw); + QTimer::singleShot(1, &mw, &MainWindow::launch); + if (!parser.isSet(disablePlugOption)) { + DockItemController::instance()->startLoadPlugins(); } return app.exec(); } -- Gitee