ukui-system-monitor/fix-the-bug-about-process-filesystem.patch

2539 lines
107 KiB
Diff
Raw Normal View History

diff -Naur ukui-system-monitor-1.0.1/debian/changelog ukui-system-monitor-1.0.1~/debian/changelog
--- ukui-system-monitor-1.0.1/debian/changelog 2021-12-08 22:01:33.505280350 +0800
+++ ukui-system-monitor-1.0.1~/debian/changelog 2021-12-08 22:53:56.646804171 +0800
@@ -1,29 +1,16 @@
-ukui-system-monitor (2.0.2-10) v101; urgency=medium
-
- * 优化功能1、进程列表信息增加锁保护2、进程列表的icon对象放到ui线程中处理
- * 修复bug修复关于界面邮箱链接不可点击问题
-
- -- Yang Min <yangmin@kylinos.cn> Sat, 06 Mar 2021 16:48:06 +0800
-
-ukui-system-monitor (2.0.2-9) v101; urgency=medium
-
- * 优化功能:优化进程列表显示
- * 修复bug1、修复搜索输入框偶现不显示内容问题2、修复触摸屏无法触摸点击问题
-
- -- Yang Min <kylin@kylinos.cn> Tue, 02 Mar 2021 16:57:00 +0800
ukui-system-monitor (1.0.2-1) unstable; urgency=medium
* New upstream release.
* d/control: Remove useless depends to allow migration.
- -- handsome_feng <jianfengli@ubuntukylin.com> Thu, 26 Nov 2020 10:12:45
-
+ -- handsome_feng <jianfengli@ubuntukylin.com> Thu, 26 Nov 2020 10:12:45 +0800
-ukui-system-monitor (1.0.0-1+1027) focal; urgency=medium
+ukui-system-monitor (1.0.0-2) unstable; urgency=medium
- * Daily build.
+ * Team upload.
+ * No change rebuild to allow migration
- -- liuliang <liuliang@ubuntukylin.com> Mon, 27 May 2019 15:48:18 +0800
+ -- Aron Xu <aron@debian.org> Tue, 29 Sep 2020 14:42:29 +0800
ukui-system-monitor (1.0.0-1) unstable; urgency=medium
diff -Naur ukui-system-monitor-1.0.1/README.md ukui-system-monitor-1.0.1~/README.md
--- ukui-system-monitor-1.0.1/README.md 2021-12-08 22:01:33.502030300 +0800
+++ ukui-system-monitor-1.0.1~/README.md 2021-12-08 22:53:56.624053825 +0800
@@ -4,8 +4,8 @@
(such as CPU and memory) and File Systems on your system.
## Build
-mkdir build
-qmake ..
+./autogen.sh
+make
sudo make install
## Bug report
diff -Naur ukui-system-monitor-1.0.1/shell/macro.h ukui-system-monitor-1.0.1~/shell/macro.h
--- ukui-system-monitor-1.0.1/shell/macro.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/shell/macro.h 2021-12-08 22:53:56.672804568 +0800
@@ -46,6 +46,7 @@
#define MAINWINDOWHEIGHT 590
#define MAINWINDOWWIDTH 760
#define SEARCHBUTTON 16
+#define DEFAULT_FONT_SIZE 14
#define SERVICE_NAME_SIZE 64
#define UKUI_SYSTEM_MONITOR_PATH "/"
diff -Naur ukui-system-monitor-1.0.1/src/cpuballwidget.cpp ukui-system-monitor-1.0.1~/src/cpuballwidget.cpp
--- ukui-system-monitor-1.0.1/src/cpuballwidget.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/cpuballwidget.cpp 2021-12-08 22:53:56.843973846 +0800
@@ -54,11 +54,9 @@
m_prevPercentValue = 0.0;
m_percentValue = 0.0;
m_progressText = QString("%1%").arg(QString::number(m_percentValue, 'f', 1)); //把小数转化为字符串1是小数点后几位,此为小数点后1位
- qDebug()<<"m_progressText----------------"<<m_progressText;
m_shadowEffect = new QGraphicsDropShadowEffect(this);
m_shadowEffect->setOffset(0, 0);
-// m_shadowEffect->setColor(QColor(232, 232, 232, 127));
m_shadowEffect->setColor(QColor("transparent"));
m_shadowEffect->setBlurRadius(10);
this->setGraphicsEffect(m_shadowEffect);
diff -Naur ukui-system-monitor-1.0.1/src/cpuratewidget.cpp ukui-system-monitor-1.0.1~/src/cpuratewidget.cpp
--- ukui-system-monitor-1.0.1/src/cpuratewidget.cpp 2021-12-08 22:01:33.494446850 +0800
+++ ukui-system-monitor-1.0.1~/src/cpuratewidget.cpp 2021-12-08 22:53:56.923058385 +0800
@@ -75,12 +75,13 @@
while (!file.atEnd()) {
if (content.contains("processor"))
cpuCounts ++;
- qDebug()<<"cpuCounts"<<cpuCounts;
+// qDebug() << "cpuCounts" << cpuCounts;
content = file.readLine().trimmed();
}
}
file.close();
if (cpuCounts == 0)
+ qWarning() << "Failed to get the cpu counts from /proc/cpuinfo, set cpu count to 4";
cpuCounts = 4;
return cpuCounts;
}
@@ -106,10 +107,6 @@
// strSlist = line.trimmed();
// a = line.toInt();
-
-// qDebug()<<"aaaaaaaaaaaaaaaa"<<a;
-
-
QString rate;
QFile file("/proc/uptime");
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
@@ -331,7 +328,6 @@
void CpuRateWidget::initWidgets()
{
QWidget *w = new QWidget;
- qDebug()<<"qqqqqqqqqqqqqqqqqqq"<<w->width()<<"qqqqqqqqqqqqqqqqqqqqq"<<w->height();
// w->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
m_labelLayout = new QVBoxLayout(w);
m_labelLayout->setContentsMargins(0, 0, 0, 0);
@@ -342,13 +338,11 @@
m_title->setStyleSheet("background:transparent;font-size:24px;color:palette(windowText)"); //#000000
m_cpuRateTitle = new QLabel;
-// m_cpuRateTitle->setStyleSheet("QLabel{background:transparent;font-size:12px;color:palette(windowText);}"); //#999999
m_cpuRateTitle->setText(tr("Occupancy rate"));
m_cpuRateText = new QLabel;
m_cpuRateText->setStyleSheet("QLabel{background:transparent;font-size:20px;color:palette(windowTexg);}"); //#000000
m_cpuIdleRateTitle = new QLabel;
-// m_cpuIdleRateTitle->setStyleSheet("QLabel{background:transparent;font-size:12px;color:palette(windowTexg);}");
m_cpuIdleRateTitle->setText(tr("Idle rate"));
m_cpuIdleRateText = new QLabel;
m_cpuIdleRateText->setStyleSheet("QLabel{background:transparent;font-size:20px;color:palette(windowTexg);}");
@@ -357,13 +351,11 @@
m_cpuIdleRateTitle->hide();
m_cpuRunTimeTitle = new QLabel;
-// m_cpuRunTimeTitle->setStyleSheet("QLabel{background:transparent;font-size:12px;color:palette(windowTexg);}");
m_cpuRunTimeTitle->setText(tr("The running time of system"));
m_cpuRunTimeText = new QLabel;
m_cpuRunTimeText->setStyleSheet("QLabel{background:transparent;font-size:20px;color:palette(windowTexg);}");
m_cpuIdleTimeTitle = new QLabel;
-// m_cpuIdleTimeTitle->setStyleSheet("QLabel{background:transparent;font-size:12px;color:palette(windowTexg);}");
m_cpuIdleTimeTitle->setText(tr("The idle time of system"));
m_cpuIdleTimeText = new QLabel;
m_cpuIdleTimeText->setStyleSheet("QLabel{background:transparent;font-size:20px;color:palette(windowTexg);}");
@@ -393,8 +385,6 @@
cpuIdleTimeLayout->addWidget(m_cpuIdleTimeTitle);
cpuIdleTimeLayout->addWidget(m_cpuIdleTimeText);
-
-
m_labelLayout->setContentsMargins(0, 0, 0, 0);
m_labelLayout->setSpacing(50);
m_labelLayout->addWidget(m_title);
@@ -415,11 +405,8 @@
unsigned long idletime;
QString rate = getIdelRate(runtime, idletime);
m_cpuIdleRateText->setText(rate);
-// qDebug()<<"rate-----------"<<rate;
m_cpuRunTimeText->setText(convertTimeToString(runtime));
-// qDebug()<<"runtime----------"<<runtime;
m_cpuIdleTimeText->setText(convertTimeToString(idletime));
-// qDebug()<<"idletime---------"<<idletime;
}
void CpuRateWidget::onUpdateCpuPercent(double value)
diff -Naur ukui-system-monitor-1.0.1/src/filesystemlistitem.cpp ukui-system-monitor-1.0.1~/src/filesystemlistitem.cpp
--- ukui-system-monitor-1.0.1/src/filesystemlistitem.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/filesystemlistitem.cpp 2021-12-08 22:53:56.988059377 +0800
@@ -31,6 +31,7 @@
#include <QApplication>
FileSystemListItem::FileSystemListItem(FileSystemData *info)
+ :fontSettings(nullptr)
{
m_data = info;
iconSize = 20;
@@ -46,7 +47,6 @@
if(QGSettings::isSchemaInstalled(id))
{
- qDebug()<<"installl fontSettings----->"<<endl;
fontSettings = new QGSettings(id);
}
@@ -68,18 +68,17 @@
void FileSystemListItem::initThemeMode()
{
+ if (!qtSettings) {
+ return;
+ }
//监听主题改变
connect(qtSettings, &QGSettings::changed, this, [=](const QString &key)
{
if (key == "styleName")
{
-// auto style = qtSettings->get(key).toString();
-// qApp->setStyle(new InternalStyle(style));
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
- qDebug()<<"监听主题改变-------------------->"<<currentThemeMode<<endl;
-// qApp->setStyle(new InternalStyle(currentThemeMode));
- //repaint();
+ qDebug() <<" Current theme mode change to: "<<currentThemeMode<<endl;
}
});
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
@@ -87,24 +86,19 @@
void FileSystemListItem::initFontSize()
{
- connect(fontSettings,&QGSettings::changed,this,[=](QString key)
+ if (!fontSettings) {
+ fontSize = DEFAULT_FONT_SIZE;
+ return;
+ }
+
+ connect(fontSettings, &QGSettings::changed, this, [=](QString key)
{
if("systemFont" == key || "systemFontSize" == key)
{
- qDebug()<<"i have come in 111";
-
- fontSize = fontSettings->get(FONT_SIZE).toInt();
-// repaint();
-// for(auto widget:qApp->allWidgets())
-// {
-// widget->repaint();
-// widget->setFont(fSize);
-// }
- qDebug()<<fontSize<<"wwj,wotmzhendeshifunigedajiba";
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
- qDebug()<<"i have come in 222";
});
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
bool FileSystemListItem::isSameItem(FileSystemListItem *item)
@@ -151,7 +145,7 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString deviceName = fm.elidedText(m_data->deviceName(), Qt::ElideRight, nameMaxWidth);//Qt::ElideMiddle
- painter->drawText(QRect(rect.x() + iconSize + padding * 2, rect.y(), nameMaxWidth, rect.height()), Qt::AlignLeft | Qt::AlignVCenter, deviceName);
+ painter->drawText(QRect(rect.x() + iconSize + padding * 2, rect.y(), nameMaxWidth, rect.height()), Qt::AlignCenter, deviceName);
if (!isSeparator) {
painter->setOpacity(0.8);
QPainterPath separatorPath;
@@ -165,7 +159,7 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString mountDir = fm.elidedText(m_data->mountDir(), Qt::ElideMiddle, maxWidth);
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignLeft | Qt::AlignVCenter, mountDir);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, mountDir);
}
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -180,7 +174,7 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString diskType = fm.elidedText(m_data->diskType(), Qt::ElideRight, maxWidth);
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, diskType);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, diskType);
}
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -195,7 +189,7 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString tCapacity = fm.elidedText(m_data->totalCapacity(), Qt::ElideRight, maxWidth);
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, tCapacity);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, tCapacity);
}
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -210,7 +204,7 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString fCapacity = fm.elidedText(m_data->freeCapacity(), Qt::ElideRight, maxWidth);
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, fCapacity);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, fCapacity);
}
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -225,7 +219,7 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString aCapacity = fm.elidedText(m_data->availCapacity(), Qt::ElideRight, maxWidth);
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, aCapacity);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, aCapacity);
}
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -235,6 +229,7 @@
}
}
else if (column == 6) {
+ int maxWidth = rect.width();
int leftPadding = 10;
int topPadding = 5;
int progressWidth = 100;
@@ -243,22 +238,27 @@
if (!m_data->usedCapactiy().isEmpty()) {
QFont font = painter->font();
QFontMetrics fm(font);
- QString uCapacity = fm.elidedText(m_data->usedCapactiy(), Qt::ElideRight, textMaxWidth - textPadding);
- painter->drawText(QRect(rect.x() + textPadding, rect.y(), textMaxWidth - textPadding, rect.height()), Qt::AlignLeft | Qt::AlignVCenter, uCapacity);
- }
- QPainterPath bgPath;
- bgPath.addRect(QRectF(rect.x() + textMaxWidth + leftPadding, rect.y() + topPadding, progressWidth, progressHeight));
- painter->fillPath(bgPath, QColor("#C4BDBD"));
-// painter->fillPath(bgPath,QColor("palette(Base)"));
+ QString uCapacity = fm.elidedText(m_data->usedCapactiy(), Qt::ElideRight, maxWidth);
+// painter->drawText(QRect(rect.x() + textPadding, rect.y(), textMaxWidth - textPadding, rect.height()), Qt::AlignCenter, uCapacity);
+ painter->drawText(QRect(rect.x() , rect.y(), rect.width(), rect.height()), Qt::AlignCenter, uCapacity);
+ }
+//这部分代码为原来绘制未占用区域的灰色部分。//////////////
+// QPainterPath bgPath;
+//// bgPath.addRect(QRectF(rect.x() + textMaxWidth + leftPadding, rect.y() + topPadding, progressWidth, progressHeight));
+// bgPath.addRect(QRectF(rect.x() + textMaxWidth + leftPadding, rect.y() + topPadding, progressWidth, 2));
+// painter->fillPath(bgPath, QColor("#C4BDBD"));
+//// painter->fillPath(bgPath,QColor("palette(Base)"));
+/////////////////////////////////////////////////
QPainterPath fillPath;
- fillPath.addRect(QRectF(rect.x() + textMaxWidth + leftPadding, rect.y() + topPadding, m_data->usedPercentage(), progressHeight));
+// fillPath.addRect(QRectF(rect.x() + textMaxWidth + leftPadding, rect.y() + topPadding, m_data->usedPercentage(), progressHeight));
+ fillPath.addRect(QRectF(rect.x() + rect.width() - m_data->usedPercentage(), rect.y() + rect.height() -2, m_data->usedPercentage(), 2));
painter->setOpacity(0.5);
if (m_data->usedPercentage() < 75)
painter->fillPath(fillPath, QColor("#0288d1"));
else
painter->fillPath(fillPath, QColor("#f8b551"));
- painter->setOpacity(1);
- painter->drawText(QRect(rect.x() + textMaxWidth + leftPadding, rect.y() + topPadding, progressWidth, progressHeight), Qt::AlignHCenter | Qt::AlignVCenter, QString::number(m_data->usedPercentage()).append("%"));
+// painter->setOpacity(1);
+// painter->drawText(QRect(rect.x() + textMaxWidth + leftPadding, rect.y() + topPadding, progressWidth, progressHeight), Qt::AlignCenter, nullptr);
/*
QStyleOptionProgressBar progressBarStyle;//progressBarStyle.initFrom(this);
diff -Naur ukui-system-monitor-1.0.1/src/filesystemlistwidget.cpp ukui-system-monitor-1.0.1~/src/filesystemlistwidget.cpp
--- ukui-system-monitor-1.0.1/src/filesystemlistwidget.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/filesystemlistwidget.cpp 2021-12-08 22:53:56.895974639 +0800
@@ -43,6 +43,7 @@
,m_titlePressColumn(-1)
,m_mouseAtScrollArea(false)
,m_mouseDragScrollbar(false)
+ ,fontSettings(nullptr)
{
const QByteArray idd(THEME_QT_SCHEMA);
@@ -66,7 +67,7 @@
this->columnTitles << tr("Device") << tr("Directory") << tr("Type") << tr("Total") << tr("Free") << tr("Available") << tr("Used");
QList<int> widths;
- widths << 150 << -1 << 80 << 80 << 80 << 80 << 180;//-1时让该行填充所有剩余空间
+ widths << 150 << -1 << 80 << 80 << 80 << 80 << 120;//-1时让该行填充所有剩余空间
QFont font;
font.setPixelSize(12);//需要和填充所有剩余空间的那个的文字字体大小一致 font.setPointSize(9)
@@ -142,14 +143,18 @@
void FileSystemListWidget::initFontSize()
{
+ if (!fontSettings) {
+ fontSize = DEFAULT_FONT_SIZE;
+ return;
+ }
connect(fontSettings,&QGSettings::changed,[=](QString key)
{
if("systemFont" == key || "systemFontSize" == key)
{
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
});
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
void FileSystemListWidget::addSelectedItems(QList<FileSystemListItem*> items, bool recordLastItem)
diff -Naur ukui-system-monitor-1.0.1/src/filesystemlistwidget.h ukui-system-monitor-1.0.1~/src/filesystemlistwidget.h
--- ukui-system-monitor-1.0.1/src/filesystemlistwidget.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/filesystemlistwidget.h 2021-12-08 22:53:56.934975234 +0800
@@ -99,7 +99,7 @@
int m_titlePadding;
int m_titlePressColumn;
- int fontSize;
+ float fontSize;
QGSettings * qtSettings;
QGSettings *fontSettings;
diff -Naur ukui-system-monitor-1.0.1/src/filesystemworker.cpp ukui-system-monitor-1.0.1~/src/filesystemworker.cpp
--- ukui-system-monitor-1.0.1/src/filesystemworker.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/filesystemworker.cpp 2021-12-08 22:53:56.866724192 +0800
@@ -75,18 +75,13 @@
guint64 bused, bfree, bavail, btotal;
gint percentage;
glibtop_get_fsusage(&usage, entry->mountdir);
- qDebug()<<entry->mountdir<<"1111111111111111111mountdir";
- qDebug()<<"usage.blocks----"<<usage.blocks;
if (usage.blocks == 0) {
- qDebug()<<"222222";
return disk;
}
if(strcmp(entry->devname,"none")==0 || strcmp(entry->devname,"tmpfs")==0){
- qDebug()<<"333333";
return disk;
}
if(strstr(entry->type, "tmpfs")) {
- qDebug()<<"444444";
return disk;
}
fsusage_stats(&usage, &bused, &bfree, &bavail, &btotal, &percentage);
@@ -147,18 +142,15 @@
guint i;
gboolean show_all_fs = TRUE;
entries = glibtop_get_mountlist(&mountlist, show_all_fs);
- qDebug()<<"number---"<<mountlist.number;
for (i = 0; i < mountlist.number; i++) {
DISK_INFO disk = add_disk(&entries[i], show_all_fs);
if (disk.valid == 1) {
std::string formatted_dev = make_string(g_strdup(disk.devname));
QString dev_name = QString::fromStdString(formatted_dev);
- qDebug()<<"dev name wwwjwjwjwjwjw"<<dev_name;
//QString dev_name = QString(QLatin1String(disk.devname));
newDiskList.append(dev_name);
if (!this->isDeviceContains(dev_name)) {
- qDebug()<<"if iiiiiiiiii";
FileSystemData *info = new FileSystemData(this);
info->setDevName(dev_name);
@@ -180,9 +172,7 @@
g_free(freeSize);
g_free(availSize);
g_free(usedSize);
- }
- else {//update info which had exists
- qDebug()<<"elseelseelseelse";
+ } else {//update info which had exists
FileSystemData *info = this->getDiskInfo(dev_name);
if (info) {
char *totalSize = g_format_size_full(disk.btotal, G_FORMAT_SIZE_DEFAULT);
diff -Naur ukui-system-monitor-1.0.1/src/linebandwith.cpp ukui-system-monitor-1.0.1~/src/linebandwith.cpp
--- ukui-system-monitor-1.0.1/src/linebandwith.cpp 2021-12-08 22:01:33.495530200 +0800
+++ ukui-system-monitor-1.0.1~/src/linebandwith.cpp 2021-12-08 22:53:57.005392975 +0800
@@ -36,14 +36,10 @@
QString lineBandwith::new_count(qint64 count ,int pid)
{
-// quint64 bandwith = count-count_prev;
qint64 bandwith = count - countMap[pid];
- qDebug()<<"count---yayaya" <<count<<"-"<<countMap[pid]<<count-countMap[pid];
- qDebug()<<"bandwidth:::"<<bandwith;
- qDebug()<<"count_prev1:::"<<count_prev;
+// qDebug() <<"bandwidth: "<< bandwith;
QDateTime now = QDateTime::currentDateTime();
quint64 ms_lapse = time_prev.msecsTo(now);
-// QString s;
if (ms_lapse < 1000) ms_lapse = 1000; // prevent division by 0 ;-)
quint64 speed = bandwith * 1000 / ms_lapse;
@@ -63,11 +59,8 @@
speedPerSec.setNum(speed/(1024*1024*1024));
speedPerSec.append(" GB/s");
}
-// setText(speedPerSec);
- qDebug()<<"sprrdPerSec:::"<<speedPerSec;
+// qDebug() << "sprrdPerSec: " << speedPerSec;
time_prev.swap(now);
-// count_prev = count;
countMap[pid] = count;
-// qDebug()<<"count_prev2:::"<count_prev;
return speedPerSec;
}
diff -Naur ukui-system-monitor-1.0.1/src/main.cpp ukui-system-monitor-1.0.1~/src/main.cpp
--- ukui-system-monitor-1.0.1/src/main.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/main.cpp 2021-12-08 22:53:56.984809327 +0800
@@ -23,6 +23,7 @@
#include <QObject>
#include <QDesktopWidget>
#include <QtSingleApplication>
+#include <KWindowEffects>
#include "framelessExtended/framelesshandle.h"
#include "systemmonitor.h"
@@ -33,23 +34,25 @@
int main(int argc, char *argv[])
{
- Display *disp = XOpenDisplay(NULL);
- Screen *scrn = DefaultScreenOfDisplay(disp);
- if (NULL == scrn) {
- return 0;
- }
- int width = scrn->width;
-
- if (width > 2560) {
- #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
- QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
- #endif
- }
- if (NULL != disp) {
- XCloseDisplay(disp);
- }
+// Display *disp = XOpenDisplay(NULL);
+// Screen *scrn = DefaultScreenOfDisplay(disp);
+// if (NULL == scrn) {
+// return 0;
+// }
+// int width = scrn->width;
+
+// if (width > 2560) {
+// #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
+// QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+// QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
+// #endif
+// }
+// if (NULL != disp) {
+// XCloseDisplay(disp);
+// }
+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
QString id = QString("ukui-system-monitor"+QLatin1String(getenv("DISPLAY")));
QtSingleApplication app(id,argc,argv);
@@ -77,6 +80,7 @@
SystemMonitor *monitor=new SystemMonitor();
// monitor->setAttribute(Qt::WA_TranslucentBackground);
// monitor->setProperty("useSystemStyleBlur",true);
+ KWindowEffects::enableBlurBehind(monitor->winId(),true);
monitor->setAttribute(Qt::WA_DeleteOnClose);
diff -Naur ukui-system-monitor-1.0.1/src/memorywidget.cpp ukui-system-monitor-1.0.1~/src/memorywidget.cpp
--- ukui-system-monitor-1.0.1/src/memorywidget.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/memorywidget.cpp 2021-12-08 22:53:56.955558881 +0800
@@ -31,7 +31,6 @@
mainLayout->setContentsMargins(0, 0, 0, 0);
QWidget *w = new QWidget;
- qDebug()<<"wodew"<<w->width()<<w->height();
m_widgetLayout = new QVBoxLayout(w);
m_widgetLayout->setContentsMargins(0, 0, 0, 0);
m_widgetLayout->setSpacing(0);
diff -Naur ukui-system-monitor-1.0.1/src/monitortitlewidget.cpp ukui-system-monitor-1.0.1~/src/monitortitlewidget.cpp
--- ukui-system-monitor-1.0.1/src/monitortitlewidget.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/monitortitlewidget.cpp 2021-12-08 22:53:56.964225680 +0800
@@ -42,6 +42,7 @@
MonitorTitleWidget::MonitorTitleWidget(QSettings *settings, QWidget *parent)
:QFrame(parent)
,proSettings(settings)
+ ,fontSettings(nullptr)
{
whichBox = new QList<int>();
const QByteArray idd(THEME_QT_SCHEMA);
@@ -72,13 +73,6 @@
m_changeBox->addItem(tr("My Processes"));
m_changeBox->addItem(tr("All Process"));
m_changeBox->setFocusPolicy(Qt::NoFocus);
- qDebug()<<m_changeBox->itemText(0)<<"m_changeBox->itemText";
- //m_changeBox->setCurrentIndex(0);
-// QStandardItemModel *pItemModel = qobject_cast<QStandardItemModel*>(m_changeBox->model());
-// pItemModel->item(0)->setForeground(QColor(255, 0, 0));
- //m_changeBox->setFont();
-
-
m_changeBox->setView(new QListView());
QFont changeBoxFont;
@@ -118,18 +112,8 @@
m_searchTimer->setSingleShot(true);
connect(m_searchTimer, SIGNAL(timeout()), this, SLOT(onRefreshSearchResult()));
-// this->setStyleSheet("QWidget{"
-// "background:rgba(19,19,20,1);"
-// "border-top-left-radius:6px;"
-// "border-top-right-radius:6px;"
-// "}");
-
-
-
-
initWidgets();
this->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
-
}
void MonitorTitleWidget::initThemeMode()
@@ -137,25 +121,15 @@
//监听主题改变
connect(qtSettings, &QGSettings::changed, this, [=](const QString &key)
{
-
if (key == "styleName")
{
- qDebug()<<"yes this is in";
-// auto style = qtSettings->get(key).toString();
-// qApp->setStyle(new InternalStyle(style));
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
- qDebug()<<"监听主题改变-------------------->"<<currentThemeMode<<endl;
-// qApp->setStyle(new InternalStyle(currentThemeMode));
- //repaint();
if (currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
- qDebug()<<"the theme is white";
+ qDebug() << "The theme change to white";
m_changeBox->setStyleSheet("QComboBox{background:rgba(13,14,14,0.08);border-radius:6px;color:rgba(0,0,0,0.57)}"
"QComboBox::drop-down{border:0px;width:30px;}"
"QComboBox::down-arrow{image:url(:/img/down_arrow.png);}"
- "QComboBox QAbstractItemView {margin:0px 0px 0px 0px;padding: 0px 0px;border-radius:0px;background-color:palette(windowText);outline:0px;}"
- "QComboBox QAbstractItemView::item{border-radius:0px;color:rgba(0,0,0,0.57);height: 32px;background-color:palette(base);outline:0px;}"
- "QComboBox QAbstractItemView::item:hover{border-radius:0px;color(palette(windowText));background-color:#3D6BE5;outline:0px;}"
);
this->setObjectName("MonitorTitle");
this->setStyleSheet("QFrame#MonitorTitle{background:rgba(255,255,255,0);border-top-left-radius:6px;border-top-right-radius:6px;color: palette(windowText);}");
@@ -164,31 +138,24 @@
if (currentThemeMode == "ukui-dark" || currentThemeMode == "ukui-black")
{
- qDebug()<<"the theme is black";
+ qDebug() << "The theme change to black";
m_changeBox->setStyleSheet("QComboBox{background:rgba(255,255,255,0.08);border-radius:6px;color:rgba(255,255,255,0.57)}"
"QComboBox::drop-down{border:0px;width:30px;}"
"QComboBox::down-arrow{image:url(:/img/down_arrow.png);}"
- "QComboBox QAbstractItemView {margin:0px 0px 0px 0px;padding: 0px 0px;border-radius:0px;background-color:palette(windowText);outline:0px;}"
- "QComboBox QAbstractItemView::item{border-radius:0px;font-size:13px;color:rgba(255,255,255,0.57);height: 32px;background-color:palette(base);outline:0px;}"
- "QComboBox QAbstractItemView::item:hover{border-radius:0px;font-size:13px;color(palette(windowText));background-color:#3D6BE5;outline:0px;}"
);
this->setObjectName("MonitorTitle");
this->setStyleSheet("QFrame#MonitorTitle{background:rgba(13,14,14,0);border-top-left-radius:6px;border-top-right-radius:6px;color: palette(windowText);}");
- qDebug()<<"if monitorTiltWidgetEffect";
}
}
});
- qDebug()<<"come in Monitor opacity";
+
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
if (currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
m_changeBox->setStyleSheet("QComboBox{background:rgba(13,14,14,0.08);border-radius:6px;color:rgba(0,0,0,0.57)}"
"QComboBox::drop-down{border:0px;width:30px;}"
"QComboBox::down-arrow{image:url(:/img/down_arrow.png);}"
- "QComboBox QAbstractItemView {margin:0px 0px 0px 0px;padding: 0px 0px;border-radius:0px;background-color:palette(windowText);outline:0px;}"
- "QComboBox QAbstractItemView::item{border-radius:0px;font-size:13px;color:rgba(0,0,0,0.57);height: 32px;background-color:palette(base);outline:0px;}"
- "QComboBox QAbstractItemView::item:hover{border-radius:0px;font-size:13px;color(palette(windowText));background-color:#3D6BE5;outline:0px;}"
);
this->setObjectName("MonitorTitle");
this->setStyleSheet("QFrame#MonitorTitle{background:rgba(255,255,255,0);border-top-left-radius:6px;border-top-right-radius:6px;color: palette(windowText);}");
@@ -199,9 +166,6 @@
m_changeBox->setStyleSheet("QComboBox{background:rgba(255,255,255,0.08);border-radius:6px;color:rgba(255,255,255,0.57)}"
"QComboBox::drop-down{border:0px;width:30px;}"
"QComboBox::down-arrow{image:url(:/img/down_arrow.png);}"
- "QComboBox QAbstractItemView {margin:0px 0px 0px 0px;padding: 0px 0px;border-radius:0px;background-color:palette(windowText);outline:0px;}"
- "QComboBox QAbstractItemView::item{border-radius:0px;font-size:13px;color:rgba(255,255,255,0.57);height: 32px;background-color:palette(base);outline:0px;}"
- "QComboBox QAbstractItemView::item:hover{border-radius:0px;font-size:13px;color(palette(windowText));background-color:#3D6BE5;outline:0px;}"
);
this->setObjectName("MonitorTitle");
this->setStyleSheet("QFrame#MonitorTitle{background:rgba(13,14,14,0);border-top-left-radius:6px;border-top-right-radius:6px;color: palette(windowText);}");
@@ -211,11 +175,15 @@
void MonitorTitleWidget::initFontSize()
{
+ if (!fontSettings) {
+ fontSize = DEFAULT_FONT_SIZE;
+ return;
+ }
connect(fontSettings,&QGSettings::changed,[=](QString key)
{
if("systemFont" == key || "systemFontSize" == key)
{
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
QFont font;
font.setPointSize(fontSize-2);
@@ -225,7 +193,7 @@
changeBoxFont.setPointSize(fontSize-2);
m_changeBox->setFont(changeBoxFont);
});
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
MonitorTitleWidget::~MonitorTitleWidget()
@@ -413,40 +381,39 @@
{
QWidget *w = new QWidget;
m_titleMiddleLayout = new QHBoxLayout(w);
- m_titleMiddleLayout->setContentsMargins(0, 18, 0, 0);
+ m_titleMiddleLayout->setContentsMargins(0, 0, 0, 0);
titleLabel = new QLabel;
QLabel *picLabel = new QLabel;
QFont font;
font.setPointSize(fontSize-2);
titleLabel->setFont(font);
- titleLabel->setStyleSheet("QLabel{background-color:transparent;color:palette(windowText);}");
+// titleLabel->setStyleSheet("QLabel{background-color:transparent;color:palette(windowText);}");
titleLabel->setText(tr("Kylin System Monitor"));
picLabel->setPixmap(QPixmap(":img/ukui-system-monitor.png"));
m_titleMiddleLayout->addWidget(picLabel);
m_titleMiddleLayout->addWidget(titleLabel);
m_topLayout->addWidget(w);
+// m_topLayout->setContentsMargins(0,0,0,20);
}
void MonitorTitleWidget::initTitlebarRightContent()
{
QWidget *w = new QWidget;
m_titleRightLayout = new QHBoxLayout(w);
- m_titleRightLayout->setContentsMargins(0, 0, 1, 0);
+ m_titleRightLayout->setContentsMargins(0, 8, 8, 0);
m_titleRightLayout->setSpacing(0);
m_topLayout->addWidget(w, 1, Qt::AlignRight);
// MyTristateButton *minBtn = new MyTristateButton;
- QIcon iconMin(tr(":/img/minimize.png"));
QPushButton *minBtn = new QPushButton(this);
minBtn->setToolTip(tr("minimize"));
- //minBtn->setStyleSheet("QPushButton{background-color:transparent;}");
- minBtn->setIcon(iconMin);
- minBtn->setIconSize(QSize(25,25));
- //minBtn->setObjectName("MinButton");
- minBtn->setProperty("useIconHighlightEffect", true);
- minBtn->setProperty("iconHighlightEffectMode", 1);
+ minBtn->setIcon(QIcon::fromTheme("window-minimize-symbolic"));
+// minBtn->setProperty("useIconHighlightEffect", true);
+// minBtn->setProperty("iconHighlightEffectMode", 1);
+ minBtn->setProperty("isWindowButton", 0x1);
+ minBtn->setProperty("useIconHighlightEffect", 0x2);
minBtn->setFlat(true);
connect(minBtn, SIGNAL(clicked()), this, SLOT(onMinBtnClicked()));
// connect(minBtn, &MyTristateButton::clicked, this, [=] {
@@ -461,12 +428,14 @@
// maxBtn->setStyleSheet("QPushButton{background-color:#ffffff;}");
// maxBtn->setObjectName("MaxButton");
- maxTitleBtn->setIconSize(QSize(25,25));
- maxTitleBtn->setProperty("useIconHighlightEffect", true);
- maxTitleBtn->setProperty("iconHighlightEffectMode", 1);
+// maxTitleBtn->setIconSize(QSize(25,25));
+// maxTitleBtn->setProperty("useIconHighlightEffect", true);
+// maxTitleBtn->setProperty("iconHighlightEffectMode", 1);
+ maxTitleBtn->setProperty("isWindowButton", 0x1);
+ maxTitleBtn->setProperty("useIconHighlightEffect", 0x2);
maxTitleBtn->setFlat(true);
- QIcon iconMax(tr(":/img/fullscreen.png"));
- maxTitleBtn->setIcon(iconMax);
+// QIcon iconMax(tr(":/img/fullscreen.png"));
+ maxTitleBtn->setIcon(QIcon::fromTheme("window-maximize-symbolic"));
// maxTitleBtn->setIcon(QIcon::fromTheme("window-maximize-symbolic"));
connect(maxTitleBtn, SIGNAL(clicked()), this, SLOT(onMaxBtnClicked()));
// connect(maxBtn, &MyTristateButton::clicked, sthis, [=] {
@@ -487,17 +456,18 @@
// }
// });
// MyTristateButton *closeBtn = new MyTristateButton;
- QIcon iconClose(tr(":/img/close.png"));
+// QIcon iconClose(tr(":/img/close.png"));
QPushButton *closeBtn = new QPushButton(this);
closeBtn->setToolTip(tr("close"));
//closeBtn->setStyleSheet("QPushButton{background-color:transparent;}");
- closeBtn->setIcon(iconClose);
- closeBtn->setIconSize(QSize(25,25));
- //closeBtn->setObjectName("CloseButton");
- closeBtn->setProperty("useIconHighlightEffect", true);
- closeBtn->setProperty("iconHighlightEffectMode", 1);
+// closeBtn->setIcon(iconClose);
+// closeBtn->setIconSize(QSize(25,25));
+ closeBtn->setIcon(QIcon::fromTheme("window-close-symbolic"));
closeBtn->setFlat(true);
+ closeBtn->setProperty("isWindowButton", 0x2);
+ closeBtn->setProperty("useIconHighlightEffect", 0x8);
connect(closeBtn, SIGNAL(clicked()), this, SLOT(onCloseBtnClicked()));
+ //进行GSettings设置记忆用户选择的combox的内容
whichNum = ifsettings->get(WHICH_MENU).toInt();
m_changeBox->setCurrentIndex(whichNum);
connect(m_changeBox,SIGNAL(currentIndexChanged(int)),this,SLOT(switchChangeItemProcessSignal(int)));
@@ -544,8 +514,6 @@
void MonitorTitleWidget::resizeEvent(QResizeEvent *event)
{
- qDebug()<<this->geometry().x()<<"-----------------------"<<this->geometry().y();
-
if(window()->isMaximized())
{
maxTitleBtn->setIcon(QIcon::fromTheme("window-restore-symbolic"));
@@ -555,8 +523,7 @@
else
{
// maxTitleBtn->setIcon(QIcon::fromTheme("window-restore-symbolic"));
- QIcon iconMax(tr(":/img/fullscreen.png"));
- maxTitleBtn->setIcon(iconMax);
+ maxTitleBtn->setIcon(QIcon::fromTheme("window-maximize-symbolic"));
}
}
diff -Naur ukui-system-monitor-1.0.1/src/monitortitlewidget.h ukui-system-monitor-1.0.1~/src/monitortitlewidget.h
--- ukui-system-monitor-1.0.1/src/monitortitlewidget.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/monitortitlewidget.h 2021-12-08 22:53:56.806056602 +0800
@@ -107,7 +107,7 @@
QWidget *emptyWidget = nullptr;
QWidget *emptyWidget2 = nullptr;
- int fontSize;
+ float fontSize;
QGSettings *qtSettings;
QGSettings *fontSettings;
diff -Naur ukui-system-monitor-1.0.1/src/networkflow.cpp ukui-system-monitor-1.0.1~/src/networkflow.cpp
--- ukui-system-monitor-1.0.1/src/networkflow.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/networkflow.cpp 2021-12-08 22:53:56.969642429 +0800
@@ -111,7 +111,6 @@
if(QGSettings::isSchemaInstalled(idd))
{
- qDebug()<<";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;";
qtSettings = new QGSettings(idd);
}
diff -Naur ukui-system-monitor-1.0.1/src/processcategory.h ukui-system-monitor-1.0.1~/src/processcategory.h
--- ukui-system-monitor-1.0.1/src/processcategory.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/processcategory.h 2021-12-08 22:53:56.820140149 +0800
@@ -29,11 +29,11 @@
class ProcessCategory : public QWidget
{
Q_OBJECT
-
+
public:
explicit ProcessCategory(int tabIndex, QWidget *parent = 0);
~ProcessCategory();
-
+
signals:
void activeWhoseProcessList(int index);
diff -Naur ukui-system-monitor-1.0.1/src/processdialog.cpp ukui-system-monitor-1.0.1~/src/processdialog.cpp
--- ukui-system-monitor-1.0.1/src/processdialog.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/processdialog.cpp 2021-12-08 22:53:56.981559277 +0800
@@ -117,21 +117,22 @@
connect(m_processListWidget, &ProcessListWidget::rightMouseClickedItems, this, &ProcessDialog::popupMenu, Qt::QueuedConnection);
m_layout->addWidget(m_processListWidget);
+//记录要显示进程的内容类别
whose_processes = "user";
proSettings->beginGroup("PROCESS");
whose_processes = proSettings->value("WhoseProcesses", whose_processes).toString();
proSettings->endGroup();
- int tabIndex = 1;
- if (whose_processes == "active") {
- tabIndex = 0;
- }
- else if (whose_processes == "all") {
- tabIndex = 2;
- }
- else {
- tabIndex = 1;
- }
+// int tabIndex = 1;
+// if (whose_processes == "active") {
+// tabIndex = 0;
+// }
+// else if (whose_processes == "all") {
+// tabIndex = 2;
+// }
+// else {
+// tabIndex = 1;
+// }
// QWidget *w = new QWidget;
@@ -457,37 +458,28 @@
** should probably have a total_time_last gint in the ProcInfo structure */
glibtop_get_cpu(&cpu);
-
this->frequency = cpu.frequency;
this->cpu_total_time = MAX(cpu.total - this->cpu_total_time_last, 1);
this->cpu_total_time_last = cpu.total;
-
-
-
// FIXME: not sure if glibtop always returns a sorted list of pid
// but it is important otherwise refresh_list won't find the parent
std::sort(pid_list, pid_list + proclist.number);
- //---------------start----------------------
typedef std::list<ProcessWorker*> ProcList;
ProcList addition;
guint i;
-// int addPid;
for(i = 0; i < proclist.number; ++i)
{
ProcessWorker *info = ProcessWorker::find(pid_list[i]);
- qDebug()<<"refreshProcessList:mapsize2"<<pidMap.size()<<info;
+// qDebug()<<"Map size: "<< pidMap.size() << info;
if (info)
{
- qDebug()<<"refreshProcessList:mapsize3"<<pidMap.size();
if(pidMap.contains(pid_list[i]))
{
- qDebug()<<"wocengjinghenxihuanni"<<pid_list[i];
this->addFlowNetPerSec = pidMap[pid_list[i]];
- qDebug()<<"---------------------------------------wwj"<<this->addFlowNetPerSec;
info = new ProcessWorker(pid_list[i], this->num_cpus, this->cpu_total_time,this->addFlowNetPerSec);
ProcessWorker::all[info->pid] = info;
info->mNumFlownet = numAddFlowNetPerSec;
@@ -497,8 +489,7 @@
//create the process object when the pid's object doesn't exist
else
{
- qDebug()<<"refreshProcessList:else"<<pidMap.size()<<pid_list[i];
- info = new ProcessWorker(pid_list[i], this->num_cpus, this->cpu_total_time,"0 KB/S");
+ info = new ProcessWorker(pid_list[i], this->num_cpus, this->cpu_total_time, "0 KB/S");
ProcessWorker::all[info->pid] = info;
info->mNumFlownet = 0;
}
@@ -520,10 +511,6 @@
glibtop_proc_mem procmem;
glibtop_get_proc_mem(&procmem, info->pid);
info->mem = procmem.resident - procmem.share;
-// if(info->mem == 0)
-// {
-
-// }
glibtop_get_proc_state(&procstate, info->pid);
info->status = procstate.state;
@@ -661,16 +648,13 @@
info.m_numDiskIo = numDiskioPersec; //磁盘读写整数值
// info.commandLine = QString::fromStdString(it->second->arguments); //命令行
-
item = new ProcessListItem(info);
items << item;
}
-
this->updateStatus(items);
g_free (pid_list);
- //---------------end----------------------
}
void ProcessDialog::refreshLine(const QString &procname, quint64 rcv, quint64 sent, int pid, unsigned int uid, const QString &devname)
@@ -686,20 +670,19 @@
{
flowNetPrevMap[pid] = 0;//save prev data
}
- qDebug()<<"ProcessDialog::refreshLine:pid<<rcv<<sent"<<pid<<rcv<<sent;
- qDebug()<<"ProcessDialog::refreshLine:before flowNetPrevMap"<<flowNetPrevMap[pid];
+
numAddFlowNetPerSec = tmptotalFlowNetPerSec - flowNetPrevMap[pid];
- qDebug()<<"numAddFlowNetPerSec"<<numAddFlowNetPerSec;
+// qDebug() << "numAddFlowNetPerSec" << numAddFlowNetPerSec;
addFlowNetPerSec = speedLineBandFlowNet->new_count(tmptotalFlowNetPerSec - flowNetPrevMap[pid],pid);
- qDebug()<<"ProcessDialog::refreshLine:deltaFlowNetPerSec"<<tmptotalFlowNetPerSec - flowNetPrevMap[pid];
+// qDebug() << "ProcessDialog::refreshLine:deltaFlowNetPerSec" << tmptotalFlowNetPerSec - flowNetPrevMap[pid];
flowNetPrevMap[pid] = tmptotalFlowNetPerSec;
- qDebug()<<"ProcessDialog::refreshLine:after flowNetPrevMap"<<flowNetPrevMap[pid];
+// qDebug() << "ProcessDialog::refreshLine:after flowNetPrevMap" << flowNetPrevMap[pid];
if(!pidMap.contains(pid))
{
pidMap[pid] = addFlowNetPerSec;
}
QMap<int,QString>::const_iterator it = pidMap.find(pid);
- qDebug()<<"ProcessDialog::pidMap"<<it.value();
+// qDebug() << "ProcessDialog::pidMap" << it.value();
if(it.value() != addFlowNetPerSec)
{
pidMap[pid] = addFlowNetPerSec;
@@ -745,40 +728,24 @@
// Resume process first, otherwise kill process too slow.
kill(pid, SIGCONT);
-// if (kill(pid, SIGKILL) != 0) {
-// qDebug() << QString("Kill process %1 failed, permission denied.").arg(pid);
-// }
error = kill(pid, SIGKILL);
- if(error != -1) {
+ if(error != -1) {
qDebug() << "success.....";
- }
- else {
+ } else {
//need to be root
if(errno == EPERM) {//(kill -s %d %d", sig, pid)
- qDebug() << QString("Kill process %1 failed, permission denied.").arg(pid);
+ qWarning() << QString("Kill process %1 failed, permission denied.").arg(pid);
if (QFileInfo("/usr/bin/pkexec").exists()) {//sudo apt install policykit-1
QProcess process;
process.execute(QString("pkexec --disable-internal-agent %1 %2 %3").arg("kill").arg(SIGKILL).arg(pid));
- /*process.start(QString("pkexec --disable-internal-agent %1 %2 %3").arg("kill").arg(SIGKILL).arg(pid));
- process.waitForStarted(1000);
- process.waitForFinished(20*1000);*/
- }
- else if (QFileInfo("/usr/bin/gksudo").exists()) {//sudo apt install gksu
+ } else if (QFileInfo("/usr/bin/gksudo").exists()) {//sudo apt install gksu
QProcess process;
process.execute(QString("gksudo \"%1 %2 %3\"").arg("kill").arg(SIGKILL).arg(pid));
- /*process.start(QString("gksudo \"%1 %2 %3\"").arg("kill").arg(SIGKILL).arg(pid));
- process.waitForStarted(1000);
- process.waitForFinished(20*1000);*/
- }
- else if (QFileInfo("/usr/bin/gksu").exists()) {//sudo apt install gksu
+ } else if (QFileInfo("/usr/bin/gksu").exists()) {//sudo apt install gksu
QProcess process;
process.execute(QString("gksu \"%1 %2 %3\"").arg("kill").arg(SIGKILL).arg(pid));
-// process.start(QString("gksu \"%1 %2 %3\"").arg("kill").arg(SIGKILL).arg(pid));
-// process.waitForStarted(1000);
-// process.waitForFinished(20*1000);
- }
- else {
- //
+ } else {
+ qWarning() << "Failed to choose a tool to kill " << pid;
}
}
}
@@ -792,9 +759,6 @@
{
int error;
for (pid_t pid : *actionPids) {
-// if (kill(pid, SIGTERM) != 0) {
-// qDebug() << QString("Kill process %1 failed, permission denied.").arg(pid);
-// }
error = kill(pid, SIGTERM);
if(error != -1) {
qDebug() << "success.....";
@@ -807,26 +771,14 @@
if (QFileInfo("/usr/bin/pkexec").exists()) {//sudo apt install policykit-1
QProcess process;
process.execute(QString("pkexec --disable-internal-agent %1 %2 %3").arg("kill").arg(SIGTERM).arg(pid));
- /*process.start(QString("pkexec --disable-internal-agent %1 %2 %3").arg("kill").arg(SIGTERM).arg(pid));
- process.waitForStarted(1000);
- process.waitForFinished(20*1000);*/
- }
- else if (QFileInfo("/usr/bin/gksudo").exists()) {//sudo apt install gksu
+ } else if (QFileInfo("/usr/bin/gksudo").exists()) {//sudo apt install gksu
QProcess process;
process.execute(QString("gksudo \"%1 %2 %3\"").arg("kill").arg(SIGTERM).arg(pid));
- /*process.start(QString("gksudo \"%1 %2 %3\"").arg("kill").arg(SIGTERM).arg(pid));
- process.waitForStarted(1000);
- process.waitForFinished(20*1000);*/
- }
- else if (QFileInfo("/usr/bin/gksu").exists()) {//sudo apt install gksu
+ } else if (QFileInfo("/usr/bin/gksu").exists()) {//sudo apt install gksu
QProcess process;
process.execute(QString("gksu \"%1 %2 %3\"").arg("kill").arg(SIGTERM).arg(pid));
-// process.start(QString("gksu \"%1 %2 %3\"").arg("kill").arg(SIGTERM).arg(pid));
-// process.waitForStarted(1000);
-// process.waitForFinished(20*1000);
- }
- else {
- //
+ } else {
+ qWarning() << "Failed to choose a tool to end process " << pid;
}
}
}
diff -Naur ukui-system-monitor-1.0.1/src/processdialog.h ukui-system-monitor-1.0.1~/src/processdialog.h
--- ukui-system-monitor-1.0.1/src/processdialog.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/processdialog.h 2021-12-08 22:53:56.916558286 +0800
@@ -47,6 +47,7 @@
#include <QDebug>
#include <QHeaderView>
#include <QSettings>
+#include <QAbstractItemModel>
class ProcessManager;
class ProcessCategory;
diff -Naur ukui-system-monitor-1.0.1/src/processlistitem.cpp ukui-system-monitor-1.0.1~/src/processlistitem.cpp
--- ukui-system-monitor-1.0.1/src/processlistitem.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/processlistitem.cpp 2021-12-08 22:53:56.861307443 +0800
@@ -27,6 +27,8 @@
static int number = 0;
ProcessListItem::ProcessListItem(ProcData info)
+ :qtSettings(nullptr)
+ ,fontSettings(nullptr)
{
const QByteArray idd(THEME_QT_SCHEMA);
@@ -53,28 +55,27 @@
ProcessListItem::~ProcessListItem()
{
if (qtSettings) {
- delete qtSettings;
+ qtSettings->deleteLater();
}
- if(fontSettings)
- {
- delete fontSettings;
+
+ if (fontSettings) {
+ fontSettings->deleteLater();
}
}
void ProcessListItem::initThemeMode()
{
+ if (!qtSettings) {
+ return;
+ }
//监听主题改变
connect(qtSettings, &QGSettings::changed, this, [=](const QString &key)
{
-
if (key == "styleName")
{
-// auto style = qtSettings->get(key).toString();
-// qApp->setStyle(new InternalStyle(style));
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
- qDebug()<<"监听主题改变-------------------->"<<currentThemeMode<<endl;
-// qApp->setStyle(new InternalStyle(currentThemeMode));
- //repaint();
+ qDebug() << "Current theme mode: "<< currentThemeMode << endl;
+// repaint();
}
});
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
@@ -82,14 +83,19 @@
void ProcessListItem::initFontSize()
{
- connect(fontSettings,&QGSettings::changed,this,[=](QString key)
+ if (!fontSettings) {
+ fontSize = DEFAULT_FONT_SIZE;
+ return;
+ }
+
+ connect(fontSettings, &QGSettings::changed, this, [=](QString key)
{
if("systemFont" == key || "systemFontSize" == key)
{
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
});
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
bool ProcessListItem::isSameItem(ProcessListItem *item)
@@ -102,18 +108,6 @@
QPainterPath path;
path.addRect(QRectF(rect.x(), rect.y(), rect.width(), rect.height()));
painter->setOpacity(0.5);//0.1
- if (level == 0) {
- //painter->fillPath(path, QColor("#131414"));
- //painter->setOpacity(0.08);
- }
- else if (level == 1) {
-// painter->fillPath(path, QColor("#131414"));
-// painter->setOpacity(0.08);
- }
- else {
-// painter->fillPath(path, QColor("#131414"));
-// painter->setOpacity(0.08);
- }
}
void ProcessListItem::drawBackground(QRect rect, QPainter *painter, int index, bool isSelect ,QString currentThemeMode)
@@ -122,23 +116,10 @@
path.addRect(QRectF(rect));
if (isSelect) {
-//// painter->setOpacity(0.08);
-// if(currentThemeMode == "ukui-white")
-// {
-// painter->setOpacity(0.08);
-// painter->fillPath(path, QColor("#000000"));
-// }
-
-// if(currentThemeMode == "ukui-black")
-// {
-// painter->setOpacity(0.08);
-// painter->fillPath(path, QColor("#ffffff"));
-// }
painter->setOpacity(0.08);
painter->fillPath(path,QColor("palette(windowText)"));
- }
- else {
+ } else {
painter->setOpacity(0.08);
if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
@@ -149,18 +130,12 @@
{
painter->fillPath(path,QColor("#131414"));
}
-
-// if (index % 2 == 0) {
-// painter->fillPath(path, QColor("#ffffff"));
-// } else {
-// painter->fillPath(path, QColor("#e9eef0"));
-// }
}
}
void ProcessListItem::drawForeground(QRect rect, QPainter *painter, int column, int, bool isSelect, bool isSeparator)
{
- setFontSize(*painter, fontSize+2);
+ setFontSize(*painter, fontSize + 2);
painter->setOpacity(0.85);
//painter->setPen(QPen(QColor(QPalette::Base)));
if (column == 0) {
@@ -184,22 +159,21 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString procName = fm.elidedText(name, Qt::ElideRight, nameMaxWidth);
- painter->drawText(QRect(rect.x() + iconSize + padding * 2, rect.y(), nameMaxWidth, rect.height()), Qt::AlignLeft | Qt::AlignVCenter, procName);
+ painter->drawText(QRect(rect.x() + iconSize + padding * 2, rect.y(), nameMaxWidth, rect.height()), Qt::AlignCenter, procName);
if (!isSeparator) {
painter->setOpacity(0.8);
QPainterPath separatorPath;
separatorPath.addRect(QRectF(rect.x() + rect.width() - 1, rect.y(), 1, rect.height()));
painter->fillPath(separatorPath, QColor("#e0e0e0"));
}
- }
- else if (column == 1) {
+ } else if (column == 1) {
if (!m_data.user.isEmpty()) {
QString name = m_data.user;
int userMaxWidth = rect.width() - padding * PADDING ;
QFont font = painter->font();
QFontMetrics fm(font);
QString userName = fm.elidedText(name, Qt::ElideRight, userMaxWidth);
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignLeft | Qt::AlignVCenter, userName);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, userName);
}
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -210,7 +184,7 @@
}
else if (column == 2) {
// if (!m_data.m_status.isEmpty()) {
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, m_data.m_diskio);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, m_data.m_diskio);
// }
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -229,7 +203,7 @@
else {
//this->drawCellBackground(QRect(rect.x(), rect.y(), rect.width(), rect.height()), painter, 2);
}
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, QString("%1%").arg(m_data.cpu));
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, QString("%1%").arg(m_data.cpu));
if (!isSeparator) {
painter->setOpacity(0.8);
QPainterPath separatorPath;
@@ -238,7 +212,7 @@
}
}
else if (column == 4) {
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - padding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, QString("%1").arg(m_data.pid));
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - padding, rect.height()), Qt::AlignCenter, QString("%1").arg(m_data.pid));
if (!isSeparator) {
painter->setOpacity(0.8);
// QPainterPath separatorPath;
@@ -251,7 +225,7 @@
QFont font = painter->font();
QFontMetrics fm(font);
QString flownet = fm.elidedText(m_data.m_flownet, Qt::ElideRight, flownetMaxWidth);
- painter->drawText(QRect(rect.x(), rect.y(), flownetMaxWidth, rect.height()), Qt::AlignCenter | Qt::AlignVCenter, flownet);
+ painter->drawText(QRect(rect.x(), rect.y(), flownetMaxWidth, rect.height()), Qt::AlignCenter, flownet);
if (!isSeparator) {
painter->setOpacity(0.8);
// QPainterPath separatorPath;
@@ -273,13 +247,13 @@
else {
//this->drawCellBackground(QRect(rect.x(), rect.y(), rect.width(), rect.height()), painter, 2);
}
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, Memory);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, Memory);
g_free(memory);
}
else
{
QString Memory = "0 MiB";
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignRight | Qt::AlignVCenter, Memory);
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, Memory);
}
if (!isSeparator) {
painter->setOpacity(0.8);
@@ -289,7 +263,7 @@
}
}
else if (column == 7) {
- painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignLeft | Qt::AlignVCenter, getNiceLevel(m_data.m_nice));
+ painter->drawText(QRect(rect.x(), rect.y(), rect.width() - textPadding, rect.height()), Qt::AlignCenter, getNiceLevel(m_data.m_nice));
if (!isSeparator) {
painter->setOpacity(0.8);
QPainterPath separatorPath;
diff -Naur ukui-system-monitor-1.0.1/src/processlistitem.h ukui-system-monitor-1.0.1~/src/processlistitem.h
--- ukui-system-monitor-1.0.1/src/processlistitem.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/processlistitem.h 2021-12-08 22:53:56.817973450 +0800
@@ -81,7 +81,7 @@
int padding;
int textPadding;
- int fontSize;
+ float fontSize;
QGSettings *qtSettings;
QGSettings *fontSettings;
diff -Naur ukui-system-monitor-1.0.1/src/processlistwidget.cpp ukui-system-monitor-1.0.1~/src/processlistwidget.cpp
--- ukui-system-monitor-1.0.1/src/processlistwidget.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/processlistwidget.cpp 2021-12-08 22:53:56.879724391 +0800
@@ -52,8 +52,7 @@
,m_mouseAtScrollArea(false)
,m_mouseDragScrollbar(false)
{
- installEventFilter(this);
-//theme settings
+
const QByteArray idd(THEME_QT_SCHEMA);
if(QGSettings::isSchemaInstalled(idd))
@@ -69,7 +68,7 @@
}
initFontSize();
-//other settings
+
this->m_searchFunc = NULL;
this->m_searchText = "";
this->m_lastItem = NULL;
@@ -115,18 +114,6 @@
}
-void ProcessListWidget::resizeEvent(QResizeEvent *event)
-{
-// if(window()->isMaximized())
-// {
-// widths<<300;
-// }
-// else
-// {
-// widths << 170 << 90 << 80 << 70 << 80 << -1 << 80 << 80;//-1时让该行填充所有剩余空间
-// }
-}
-
void ProcessListWidget::initThemeMode()
{
//监听主题改变
@@ -521,9 +508,9 @@
void ProcessListWidget::hideScrollbar()
{
- this->m_mouseAtScrollArea = true;
+ this->m_mouseAtScrollArea = false;
this->m_origOffset = this->m_offSet;
-qDebug()<<"hideScrollbar";
+
repaint();
}
@@ -850,45 +837,18 @@
//标题文字左上方的排序箭头图标
if (this->m_currentSortIndex == counter)
{
- if(counter == 0)
+ if(counter == 0 || counter == 5)
{
qDebug()<<"m_currentSortIndex------"<<m_currentSortIndex;
painter.setOpacity(1);
if (this->m_isSort)
{
qDebug()<<"m_isSort----------"<<m_isSort;
- painter.drawPixmap(QPoint(rect().x() + posX + 120, rect().y() + 20), m_downArrowPixmap);
+ painter.drawPixmap(QPoint(rect().x() + posX + 100, rect().y() + 20), m_downArrowPixmap);
}
else
{
- painter.drawPixmap(QPoint(rect().x() + posX + 120, rect().y() + 20), m_upArrowPixmap);
- }
- }
- else if(counter == 5)
- {
- painter.setOpacity(1);
- if (this->m_isSort)
- {
- qDebug()<<"m_isSort----------"<<m_isSort;
- if(window()->isMaximized())
- {
- painter.drawPixmap(QPoint(rect().x() + posX + 580, rect().y() + 20), m_downArrowPixmap);
- }
- else
- {
- painter.drawPixmap(QPoint(rect().x() + posX + 80, rect().y() + 20), m_downArrowPixmap);
- }
- }
- else
- {
- if(window()->isMaximized())
- {
- painter.drawPixmap(QPoint(rect().x() + posX + 580, rect().y() + 20), m_upArrowPixmap);
- }
- else
- {
- painter.drawPixmap(QPoint(rect().x() + posX + 80, rect().y() + 20), m_upArrowPixmap);
- }
+ painter.drawPixmap(QPoint(rect().x() + posX + 100, rect().y() + 20), m_upArrowPixmap);
}
}
else
@@ -905,23 +865,13 @@
painter.drawPixmap(QPoint(rect().x() + posX + 60, rect().y() + 20), m_upArrowPixmap);
}
}
-// opacity = 0;
-// if (this->m_mouseDragScrollbar) {
-// opacity = 0.8;
-// }
-// else {
-// if (this->m_mouseAtScrollArea)
-// opacity = 0.7;
-// else
-// opacity = 0.5;
-// }
}
//标题文字
painter.setOpacity(0.57);
QFont font = painter.font();
// font.setPointSize(10);
- font.setPixelSize(fontSize+1);
+ font.setPixelSize(fontSize);
painter.setFont(font);
if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
@@ -936,7 +886,7 @@
// if (this->columnTitles[counter] == tr("Process Name") || this->columnTitles[counter] == tr("Flownet Persec"))
if (this->columnTitles[counter] == tr("Process Name"))
- painter.drawText(QRect(posX + this->m_titlePadding, 0, itemWidth, this->m_titleHeight), Qt::AlignLeft | Qt::AlignVCenter, this->columnTitles[counter]);
+ painter.drawText(QRect(posX + this->m_titlePadding, 0, itemWidth, this->m_titleHeight), Qt::AlignCenter, this->columnTitles[counter]);
else
painter.drawText(QRect(posX, 0, itemWidth - this->m_titlePadding, this->m_titleHeight), Qt::AlignCenter, this->columnTitles[counter]);
@@ -967,11 +917,11 @@
painter.setOpacity(1);
QPainterPath backgroundPath;
backgroundPath.addRect(QRectF(rect().x(), rect().y() + this->m_titleHeight, rect().width(), rect().height() - this->m_titleHeight));
-// painter.fillPath(backgroundPath, QColor("#ffffff"));
+// painter.fillPath(backgroundPath, QColor("#CC00FF"));
//进程信息
QPainterPath scrollAreaPath;
- scrollAreaPath.addRect(QRectF(rect().x(), rect().y() + this->m_titleHeight, rect().width(), getTheScrollAreaHeight()));
+ scrollAreaPath.addRect(QRectF(rect().x(), rect().y() + this->m_titleHeight, rect().width(), getTheScrollAreaHeight() - 5));
int rowCounter = 0;
@@ -1037,61 +987,37 @@
//垂直滚动条
if (this->m_mouseAtScrollArea) {
paintScrollbar(&painter);
- } else if (this->m_origOffset != this->m_offSet) {
+ } else/* if (this->m_origOffset != this->m_offSet) */{
paintScrollbar(&painter);
readyToHideScrollbar();
}
}
-bool ProcessListWidget::eventFilter(QObject *obj, QEvent *event)
+void ProcessListWidget::paintScrollbar(QPainter *painter)
{
- if(event->type() == QEvent::Enter)
- {
- opacity = 0;
+ if (this->getItemsTotalHeight() > getTheScrollAreaHeight()) {
+ qreal opacitry = 0;
if (this->m_mouseDragScrollbar) {
- opacity = 0.8;
+ opacitry = 0.8;
}
else {
if (this->m_mouseAtScrollArea)
- opacity = 0.7;
+ opacitry = 0.7;
else
- opacity = 0.5;
+ opacitry = 0.5;
}
- repaint();
- }
-
- if(event->type() == QEvent::Leave)
- {
- opacity =0.2;
- }
- return false;
-}
-
-void ProcessListWidget::paintScrollbar(QPainter *painter)
-{
- if (this->getItemsTotalHeight() > getTheScrollAreaHeight()) {
-// qreal opacitry = 0;
-// if (this->m_mouseDragScrollbar) {
-// opacitry = 0.8;
-// }
-// else {
-// if (this->m_mouseAtScrollArea)
-// opacitry = 0.7;
-// else
-// opacitry = 0.5;
-// }
int barWidth = (this->m_mouseAtScrollArea || this->m_mouseDragScrollbar) ? this->m_scrollbarWidth : 6;
int barY = getScrollbarY();
int barHeight = getScrollbarHeight();
- painter->setOpacity(opacity);
+ painter->setOpacity(opacitry);
QPainterPath path;
path.addRoundedRect(
QRectF(rect().x() + rect().width() - barWidth - 4, barY + 2, barWidth, barHeight - 2 * 2), 2, 2);//2 is radius
- painter->fillPath(path, QColor("#0B95D7"));
+ painter->fillPath(path, QColor("#808080"));
QPen pen;
- pen.setColor(QColor("#0B95D7"));
+ pen.setColor(QColor("#808080"));
pen.setWidth(1);
painter->setOpacity(0);
painter->setPen(pen);
@@ -1195,7 +1121,7 @@
int ProcessListWidget::getScrollbarHeight()
{
- return std::max(static_cast<int>(getTheScrollAreaHeight() / (this->getItemsTotalHeight() * 1.0) * rect().height()), 30);//30 is min height
+ return std::max(static_cast<int>(getTheScrollAreaHeight() / (this->getItemsTotalHeight() * 1.0) * rect().height()), 80);//30 is min height
}
QList<ProcessListItem*> ProcessListWidget::getSearchedItems(QList<ProcessListItem*> items)
diff -Naur ukui-system-monitor-1.0.1/src/processlistwidget.h ukui-system-monitor-1.0.1~/src/processlistwidget.h
--- ukui-system-monitor-1.0.1/src/processlistwidget.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/processlistwidget.h 2021-12-08 22:53:56.793056404 +0800
@@ -100,8 +100,8 @@
void paintEvent(QPaintEvent *);
void wheelEvent(QWheelEvent *event);
void paintScrollbar(QPainter *painter);
- bool eventFilter(QObject *obj, QEvent *event);
- void resizeEvent(QResizeEvent *event);
+// bool eventFilter(QObject *obj, QEvent *event);
+// void resizeEvent(QResizeEvent *event);
private:
QTimer *m_hideScrollbarTimer = nullptr;
@@ -135,7 +135,7 @@
QPixmap m_downArrowPixmap;
QPixmap m_upArrowPixmap;
- int fontSize;
+ float fontSize;
QGSettings *qtSettings;
QGSettings *fontSettings;
diff -Naur ukui-system-monitor-1.0.1/src/propertiesdialog.cpp ukui-system-monitor-1.0.1~/src/propertiesdialog.cpp
--- ukui-system-monitor-1.0.1/src/propertiesdialog.cpp 2021-12-08 22:01:33.491196799 +0800
+++ ukui-system-monitor-1.0.1~/src/propertiesdialog.cpp 2021-12-08 22:53:56.927391785 +0800
@@ -43,7 +43,7 @@
this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint/* | Qt::WindowCloseButtonHint*/| Qt::WindowStaysOnTopHint);
// this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
-// this->setAttribute(Qt::WA_TranslucentBackground);
+ this->setAttribute(Qt::WA_TranslucentBackground);
this->setAttribute(Qt::WA_Resized, false);
// this->setMaximumSize(480, 600);
// this->setMinimumWidth(320);
@@ -83,9 +83,8 @@
m_logoLabel->setPixmap(QPixmap(":/res/sub_logo.png"));
closeButton = new QPushButton(this);
-// closeButton->setAutoDefault(true);
-// closeButton->setFocusPolicy(Qt::NoFocus);
-// closeButton->setEnabled(false);
+ closeButton->setProperty("isWindowButton", 0x2);
+ closeButton->setProperty("useIconHighlightEffect", 0x8);
closeButton->setObjectName("CloseButton");
closeButton->setIcon(QIcon::fromTheme("window-close-symbolic"));
closeButton->setFlat(true);
@@ -99,12 +98,12 @@
// });
m_iconLabel = new QLabel();
- m_iconLabel->setStyleSheet("QLabel{background:transparent;border:none;}");
+// m_iconLabel->setStyleSheet("QLabel{background:transparent;border:none;}");
m_iconLabel->setFixedSize(48, 48);
m_iconLabel->setContentsMargins(0, 0, 0, 0);
m_titleLabel = new QLabel();
- m_titleLabel->setStyleSheet("QLabel{background-color:transparent;font-size:18px;color:#000000;}");
+// m_titleLabel->setStyleSheet("QLabel{background-color:transparent;font-size:18px;color:#000000;}");
m_titleLabel->setFixedWidth(230);
m_titleLabel->setWordWrap(true);
@@ -113,14 +112,15 @@
m_topRightLayout->addWidget(m_logoLabel, 0, Qt::AlignTop | Qt::AlignRight);
m_topRightLayout->addWidget(closeButton, 0, Qt::AlignTop | Qt::AlignRight);
+ m_topRightLayout->setContentsMargins(0,8,8,0);
QLabel *topSplit = new QLabel();
- topSplit->setStyleSheet("QLabel{background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #f1f1f1, stop:1 #e0e0e0);}");
+// topSplit->setStyleSheet("QLabel{background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #f1f1f1, stop:1 #e0e0e0);}");
// topSplit->setStyleSheet("QLabel{background: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0 #f1f1f1, stop:1 #e0e0e0);}");
topSplit->setFixedSize(320, 1);
QLabel *bottomSplit = new QLabel();
- bottomSplit->setStyleSheet("QLabel{background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #f1f1f1, stop:1 #e0e0e0);}");
+// bottomSplit->setStyleSheet("QLabel{background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #f1f1f1, stop:1 #e0e0e0);}");
// bottomSplit->setStyleSheet("QLabel{background: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0 #f1f1f1, stop:1 #e0e0e0);}");
bottomSplit->setFixedSize(320, 1);
@@ -165,11 +165,11 @@
titleList << QObject::tr("User name:") << QObject::tr("Process name:") << QObject::tr("flownet per second:") << QObject::tr("CPU Time:") << QObject::tr("Started Time:");
for (int i = 0; i < titleList.length(); ++i) {
QLabel *titleLabel = new QLabel(titleList.value(i));
- titleLabel->setStyleSheet("QLabel{background-color:transparent;font-size:12px;color:#999999;}");
+// titleLabel->setStyleSheet("QLabel{background-color:transparent;font-size:12px;color:#999999;}");
titleLabel->setMinimumHeight(20);
QLabel *infoLabel = new QLabel();
- infoLabel->setStyleSheet("QLabel{background-color:transparent;font-size:12px;color:#000000;}");
+// infoLabel->setStyleSheet("QLabel{background-color:transparent;font-size:12px;color:#000000;}");
infoLabel->setWordWrap(true);
infoLabel->setMinimumHeight(28);
infoLabel->setMinimumWidth(220);
@@ -181,85 +181,6 @@
infoGrid->addWidget(infoLabel);
}
- /*userTitleLabel = new QLabel(QString("%1:").arg(tr("User name")));
- userTitleLabel->setStyleSheet("QLabel { background-color : transparent; color : #666666; }");
- userTitleLabel->setFixedWidth(100);
- userTitleLabel->setAlignment(Qt::AlignRight);
-
- userLabel = new QLabel();
- userLabel->setStyleSheet("QLabel { background-color : transparent; color : #000000; }");
-
- userLayout->addWidget(userTitleLabel);
- userLayout->addWidget(userLabel);
- userLayout->addSpacing(20);
-
- nameTitleLabel = new QLabel(QString("%1:").arg(tr("Process name")));
- nameTitleLabel->setStyleSheet("QLabel { background-color : transparent; color : #666666; }");
- nameTitleLabel->setFixedWidth(100);
- nameTitleLabel->setAlignment(Qt::AlignRight);
-
- m_appNameLabel = new QLabel();
- m_appNameLabel->setStyleSheet("QLabel { background-color : transparent; color : #000000; }");
-
- nameLayout->addWidget(nameTitleLabel);
- nameLayout->addWidget(m_appNameLabel);
- nameLayout->addSpacing(20);
-
- cmdlineTitleLabel = new QLabel(QString("%1:").arg(tr("Command line")));
- cmdlineTitleLabel->setStyleSheet("QLabel { background-color : transparent; color : #666666; }");
- cmdlineTitleLabel->setFixedWidth(100);
- cmdlineTitleLabel->setAlignment(Qt::AlignRight);
-// cmdlineTitleLabel->setWordWrap(true);
-// cmdlineTitleLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
-
- cmdlineLabel = new QLabel();
- cmdlineLabel->setStyleSheet("QLabel { background-color : transparent; color : #000000; }");
- cmdlineLabel->setWordWrap(true);
- cmdlineLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
-
- cmdlineLayout->addWidget(cmdlineTitleLabel);
- cmdlineLayout->addWidget(cmdlineLabel);
- cmdlineLayout->addSpacing(20);
-
- cpuDurationTitleLabel = new QLabel(QString("%1:").arg(tr("CPU Time")));
- cpuDurationTitleLabel->setStyleSheet("QLabel { background-color : transparent; color : #666666; }");
- cpuDurationTitleLabel->setFixedWidth(100);
- cpuDurationTitleLabel->setAlignment(Qt::AlignRight);
-
- cpuDurationLabel = new QLabel();
- cpuDurationLabel->setStyleSheet("QLabel { background-color : transparent; color : #000000; }");
- cpuDurationLabel->setWordWrap(true);
-
- cpuDurationLayout->addWidget(cpuDurationTitleLabel);
- cpuDurationLayout->addWidget(cpuDurationLabel);
- cpuDurationLayout->addSpacing(20);
-
- startTimeTitleLabel = new QLabel(QString("%1:").arg(tr("Started Time")));
- startTimeTitleLabel->setStyleSheet("QLabel { background-color : transparent; color : #666666; }");
- startTimeTitleLabel->setFixedWidth(100);
- startTimeTitleLabel->setAlignment(Qt::AlignRight);
-
- startTimeLabel = new QLabel();
- startTimeLabel->setStyleSheet("QLabel { background-color : transparent; color : #000000; }");
- startTimeLabel->setWordWrap(true);
-
- startTimeLayout->addWidget(startTimeTitleLabel);
- startTimeLayout->addWidget(startTimeLabel);
- startTimeLayout->addSpacing(20);
-
- m_layout->addWidget(closeButton, 0, Qt::AlignTop | Qt::AlignRight);
- m_layout->addSpacing(20);
- m_layout->addWidget(m_iconLabel, 0, Qt::AlignHCenter);
- m_layout->addSpacing(14);
- m_layout->addWidget(m_titleLabel, 0, Qt::AlignHCenter);
- m_layout->addSpacing(20);
- m_layout->addLayout(userLayout);
- m_layout->addLayout(nameLayout);
- m_layout->addLayout(cmdlineLayout);
- m_layout->addLayout(cpuDurationLayout);
- m_layout->addLayout(startTimeLayout);
- m_layout->addSpacing(20);*/
-
this->moveToCenter();
this->initProcproperties();
@@ -474,7 +395,7 @@
QPainter painter(this);
//绘制圆角矩形
- painter.setPen(QPen(QColor("#808080"), 0));//边框颜色 #3f96e4
+ painter.setPen(QPen(QColor("#808080"), 0) );//边框颜色 #3f96e4
// painter.setPen(Qt::NoPen);
painter.setBrush(this->palette().base());//背景色
painter.setRenderHint(QPainter::Antialiasing, true);
diff -Naur ukui-system-monitor-1.0.1/src/renicedialog.cpp ukui-system-monitor-1.0.1~/src/renicedialog.cpp
--- ukui-system-monitor-1.0.1/src/renicedialog.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/renicedialog.cpp 2021-12-08 22:53:56.856974044 +0800
@@ -36,9 +36,9 @@
{
this->setWindowFlags(Qt::FramelessWindowHint);
this->setFixedSize(464, 240);
- this->setFixedSize(464+SHADOW_LEFT_TOP_PADDING+SHADOW_LEFT_TOP_PADDING, 240+SHADOW_RIGHT_BOTTOM_PADDING+SHADOW_RIGHT_BOTTOM_PADDING);
- this->setContentsMargins(SHADOW_LEFT_TOP_PADDING,SHADOW_LEFT_TOP_PADDING,SHADOW_RIGHT_BOTTOM_PADDING,SHADOW_RIGHT_BOTTOM_PADDING);
- this->setStyleSheet("QDialog{border: 1px solid white;border-radius:1px;background-color: #ffffff;}");
+ this->setFixedSize(464+SHADOW_LEFT_TOP_PADDING+SHADOW_LEFT_TOP_PADDING, 300+SHADOW_RIGHT_BOTTOM_PADDING+SHADOW_RIGHT_BOTTOM_PADDING);
+// this->setContentsMargins(SHADOW_LEFT_TOP_PADDING,SHADOW_LEFT_TOP_PADDING,SHADOW_RIGHT_BOTTOM_PADDING,SHADOW_RIGHT_BOTTOM_PADDING);
+// this->setStyleSheet("QDialog{border: 1px solid white;border-radius:1px;background-color: #ffffff;}");
this->setWindowIcon(QIcon(":/res/ukui-system-monitor.png"));
this->setAttribute(Qt::WA_DeleteOnClose);
@@ -48,8 +48,24 @@
m_mainLayout->setContentsMargins(0,0,0,0);
m_mainLayout->setSpacing(20);
m_mainLayout->setMargin(0);
- m_titleBar = new MyTitleBar(title, false, this);
- m_titleBar->setFixedSize(this->width(), TITLE_BAR_HEIGHT);
+// m_titleBar = new MyTitleBar(title, false, this);
+ QLabel *titleLabel = new QLabel;
+ titleLabel->setText(title);
+ QPushButton *closeButton = new QPushButton(this);
+ closeButton->setFlat(true);
+ closeButton->setIcon(QIcon::fromTheme("window-close-symbolic"));
+ closeButton->setProperty("isWindowButton", 0x2);
+ closeButton->setProperty("useIconHighlightEffect", 0x8);
+
+ QHBoxLayout *title_H_BoxLayout = new QHBoxLayout();
+ QHBoxLayout *closeBtn_H_BoxLayout = new QHBoxLayout();
+ title_H_BoxLayout->setContentsMargins(0,0,0,0);
+ title_H_BoxLayout->setSpacing(0);
+ title_H_BoxLayout->addSpacing(15);
+ title_H_BoxLayout->addWidget(titleLabel);
+ closeBtn_H_BoxLayout->addWidget(closeButton,1,Qt::AlignRight);
+ closeBtn_H_BoxLayout->setContentsMargins(0,8,17,0);
+// m_titleBar->setFixedSize(this->width(), TITLE_BAR_HEIGHT);
m_titleLabel = new QLabel();
m_titleLabel->setFixedWidth(80);
@@ -69,12 +85,12 @@
h_layout->addWidget(m_valueLabel);
m_valueStrLabel = new QLabel;
- m_valueStrLabel->setStyleSheet("QLabel{background-color:transparent;color:#000000;font-size:13px;font-weight:bold;}");
+// m_valueStrLabel->setStyleSheet("QLabel{background-color:transparent;color:#000000;font-size:13px;font-weight:bold;}");
m_valueStrLabel->setAlignment(Qt::AlignCenter);
m_valueStrLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
m_tipTitle = new QLabel;
- m_tipTitle->setStyleSheet("QLabel{background-color:transparent;color:#000000;font-size:12px;font-weight:bold;}");
+// m_tipTitle->setStyleSheet("QLabel{background-color:transparent;color:#000000;font-size:12px;font-weight:bold;}");
m_tipTitle->setText(tr("Note:"));
m_tipLabel = new QLabel;
m_tipLabel->setWordWrap(true);//QLabel自动换行
@@ -116,7 +132,8 @@
v_layout->addLayout(tip_layout);
v_layout->addLayout(btn_layout);
- m_mainLayout->addWidget(m_titleBar);
+ m_mainLayout->addLayout(closeBtn_H_BoxLayout);
+ m_mainLayout->addLayout(title_H_BoxLayout);
m_mainLayout->addLayout(v_layout);
connect(m_slider, &QSlider::valueChanged, [=] (int value) {
@@ -125,20 +142,20 @@
m_valueStrLabel->setText(levelStr);
});
- connect(m_titleBar, SIGNAL(minSignal()), this, SLOT(hide()));
- connect(m_titleBar, SIGNAL(closeSignal()), this, SLOT(onClose()));
+// connect(m_titleBar, SIGNAL(minSignal()), this, SLOT(hide()));
+// connect(m_titleBar, SIGNAL(closeSignal()), this, SLOT(onClose()));
connect(m_cancelbtn, SIGNAL(clicked(bool)), this, SLOT(onClose()));
-
+ connect(closeButton,SIGNAL(clicked(bool)),this,SLOT(onClose()));
connect(m_changeBtn, &QPushButton::clicked, [=] (bool b) {
emit this->resetReniceValue(m_slider->value());
});
//边框阴影效果
- QGraphicsDropShadowEffect *shadow_effect = new QGraphicsDropShadowEffect(this);
- shadow_effect->setBlurRadius(5);
- shadow_effect->setColor(QColor(0, 0, 0, 127));
- shadow_effect->setOffset(2, 4);
- this->setGraphicsEffect(shadow_effect);
+// QGraphicsDropShadowEffect *shadow_effect = new QGraphicsDropShadowEffect(this);
+// shadow_effect->setBlurRadius(5);
+// shadow_effect->setColor(QColor(0, 0, 0, 127));
+// shadow_effect->setOffset(2, 4);
+// this->setGraphicsEffect(shadow_effect);
// this->moveCenter();
@@ -148,7 +165,7 @@
ReniceDialog::~ReniceDialog()
{
- delete m_titleBar;
+// delete m_titleBar;
delete m_valueStrLabel;
QLayoutItem *child;
@@ -233,3 +250,26 @@
QDialog::mouseMoveEvent(event);
}
+
+void ReniceDialog::paintEvent(QPaintEvent *event)
+{
+ QPainter painter(this);
+
+ //绘制圆角矩形
+ painter.setPen(QPen(QColor("#808080"), 0));//边框颜色
+// painter.setBrush(QColor("#e9eef0"));//背景色 #0d87ca
+ painter.setBrush(this->palette().base());
+ painter.setRenderHint(QPainter::Antialiasing, true);
+ painter.setOpacity(1);
+ QRectF r(0 / 2.0, 0 / 2.0, width() - 0, height() - 0);//左边 上边 右边 下边
+ painter.drawRoundedRect(r, 4, 4);
+
+
+ //绘制背景色
+// QPainterPath path;
+// path.addRect(QRectF(rect()));
+// painter.setOpacity(1);
+// painter.fillPath(path, QColor("#ffffff"));
+
+ QDialog::paintEvent(event);
+}
diff -Naur ukui-system-monitor-1.0.1/src/renicedialog.h ukui-system-monitor-1.0.1~/src/renicedialog.h
--- ukui-system-monitor-1.0.1/src/renicedialog.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/renicedialog.h 2021-12-08 22:53:56.911141537 +0800
@@ -51,6 +51,7 @@
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
+ void paintEvent(QPaintEvent *event);
private:
QVBoxLayout *m_mainLayout = nullptr;
diff -Naur ukui-system-monitor-1.0.1/src/resourcesdialog.cpp ukui-system-monitor-1.0.1~/src/resourcesdialog.cpp
--- ukui-system-monitor-1.0.1/src/resourcesdialog.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/resourcesdialog.cpp 2021-12-08 22:53:56.838557096 +0800
@@ -171,17 +171,13 @@
m_stack->setCurrentWidget(m_cpuWidget);
/*m_hlayout->addWidget(m_resourcesCategory);
-// m_hlayout->addLayout(m_vlayout);
+ m_hlayout->addLayout(m_vlayout);
m_hlayout->addWidget(m_stack);*/
QWidget *placeWidget = new QWidget();
placeWidget->setFixedWidth(34);
splitter->addWidget(m_resourcesCategory);
splitter->addWidget(placeWidget);
splitter->addWidget(m_stack);
- qDebug()<<"m_resourcesCategory"<<m_resourcesCategory->width()<<m_resourcesCategory->height();
- qDebug()<<"m_stack"<<m_stack->width()<<m_stack->height();
- qDebug()<<"m_resourcesCategory"<<m_resourcesCategory->geometry().x()<<m_resourcesCategory->geometry().y();
- qDebug()<<"m_stack"<<m_stack->geometry().x()<<m_stack->geometry().y();
m_hlayout->addWidget(splitter);
connect(this, SIGNAL(updateNetworkStatus(long,long,long,long)), m_networkWidget, SLOT(onUpdateNetworkStatus(long,long,long,long)), Qt::QueuedConnection);
diff -Naur ukui-system-monitor-1.0.1/src/resourcesindicator.cpp ukui-system-monitor-1.0.1~/src/resourcesindicator.cpp
--- ukui-system-monitor-1.0.1/src/resourcesindicator.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/resourcesindicator.cpp 2021-12-08 22:53:57.008643024 +0800
@@ -41,7 +41,6 @@
,m_outsideBorderColor(Qt::transparent)
{
typeObject = flag;
- qDebug()<<"typeObject---"<<typeObject;
const QByteArray idd(THEME_QT_SCHEMA);
if(QGSettings::isSchemaInstalled(idd))
@@ -67,26 +66,20 @@
if (flag == 0) {
// m_borderColor = palette().color(QPalette::WindowText); //#0973b4
-// m_borderColor = QColor("#0973b4");
m_borderColor = QColor(0x09,0x73,0xb4,0xff);
-// m_outsideBorderColor = QColor(0x09,0x73,0xb4,0xff);
}
else if (flag == 1) {
// m_borderColor = palette().color(QPalette::WindowText); //QColor("#9528b4")
-// m_borderColor = QColor("#9528b4");
m_borderColor = QColor(0x95,0x28,0xb4,0xff);
-// m_outsideBorderColor = QColor(0x95,0x28,0xb4,0xff);
}
else {
m_borderColor = Qt::transparent;
-// m_borderColor = QColor("#cc00ff");
}
setResourcesState(Normal);
}
ResourcesIndicator::~ResourcesIndicator()
{
-
}
void ResourcesIndicator::initThemeMode()
@@ -96,11 +89,7 @@
{
if (key == "styleName")
{
-// auto style = qtSettings->get(key).toString();
-// qApp->setStyle(new InternalStyle(style));
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
- qDebug()<<"监听主题改变-------------------->"<<currentThemeMode<<endl;
-// qApp->setStyle(new InternalStyle(currentThemeMode));
repaint();
updateBgColor();
}
@@ -168,11 +157,8 @@
void ResourcesIndicator::updateBgColor()
{
- qDebug()<<"Resoruce";
switch (m_state) {
case Hover:
- qDebug()<<"Hover---";
-// if()
this->m_outsideBorderColor = Qt::transparent;
if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
@@ -184,37 +170,26 @@
}
break;
case Press:
- qDebug()<<"press---";
this->m_outsideBorderColor = Qt::transparent;
this->m_bgColor = QColor("#f6fcfe");
break;
case Checked:
- qDebug()<<"1234567879.000";
// this->m_outsideBorderColor = QColor("#0973b4");
this->m_outsideBorderColor = Qt::transparent;
- if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
- {
+ if (currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white") {
this->m_bgColor = QColor(0x13,0x14,0x14,19); //#e9f8fd
- }
- else
- {
+ } else {
this->m_bgColor = QColor(0xff,0xff,0xff,9);
}
// this->m_bgColor = palette().color(QPalette::Base);
break;
default:
- qDebug()<<"123456789.";
this->m_outsideBorderColor = Qt::transparent;
// this->m_bgColor = QColor("#ffffff");
// this->m_outsideBorderColor = palette().color(QPalette::Base);
- if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
- {
- qDebug()<<"ifiamcommingin";
+ if (currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white") {
this->m_bgColor = QColor(0xff,0xff,0xff,0);
- }
- else if(currentThemeMode == "ukui-dark" || currentThemeMode == "ukui-black")
- {
- qDebug()<<"iiiiiiiiiiiii";
+ } else if (currentThemeMode == "ukui-dark" || currentThemeMode == "ukui-black") {
this->m_bgColor = QColor(0x13,0x14,0x14,0);
}
break;
@@ -226,11 +201,7 @@
{
if (m_state == state)
return;
- qDebug()<<"9517538246";
- qDebug()<<"normal"<<Normal;
- qDebug()<<"m_state"<<m_state;
m_state = state;
- qDebug()<<"m_state_real"<<m_state;
updateBgColor();
}
@@ -337,27 +308,14 @@
{
painter.setOpacity(0.46);
painter.setBrush(QColor("#9528b4"));
-// painter.setOpacity(0.46);
-// pen.setColor(QColor("#9528b4")); //#fc7416
}
// painter.drawRect(this->m_posX, this->m_rectTopPadding, this->m_rectTotalWidth, this->height()-(this->m_rectTotalHeight - convertPercent));
-// if(typeObject == 0)
-// {
-// painter.setOpacity(0.06);
-// painter.setBrush(QColor("#0973b4"));
-// }
-
-// if(typeObject == 1)
-// {
-// painter.setOpacity(0.06);
-// painter.setBrush(QColor("#9528b4"));
-// }
QRect occupyRect(this->m_posX, this->m_rectTopPadding + this->m_rectTotalHeight - convertPercent, this->m_rectTotalWidth, convertPercent);
// painter.drawRoundedRect(occupyRect);
painter.drawRect(this->m_posX, this->m_rectTopPadding + this->m_rectTotalHeight - convertPercent, this->m_rectTotalWidth, convertPercent);
- qDebug()<<"this->->->->"<<this->m_posX<<this->m_rectTopPadding + this->m_rectTotalHeight - convertPercent<<this->m_rectTotalWidth<<convertPercent;
+// qDebug()<<"this->->->->"<<this->m_posX<<this->m_rectTopPadding + this->m_rectTotalHeight - convertPercent<<this->m_rectTotalWidth<<convertPercent;
//draw title
painter.setOpacity(0.91);
@@ -365,9 +323,6 @@
QFont font = painter.font();
font.setPixelSize(16);
painter.setFont(font);
-// painter.setPen(QPen(QColor("#000000")));
-// painter.setPen(QPen(palette().color(QPalette::WindowText)));
-// painter.setPen(QPen(QColor("#cc00ff")));
painter.setPen(palette().color(QPalette::WindowText)); //set the color of the typeface
painter.drawText(QRect(68, 1, 118, 28), Qt::AlignLeft | Qt::AlignVCenter, this->m_title);
diff -Naur ukui-system-monitor-1.0.1/src/singleProcessNet/inode2prog.cpp ukui-system-monitor-1.0.1~/src/singleProcessNet/inode2prog.cpp
--- ukui-system-monitor-1.0.1/src/singleProcessNet/inode2prog.cpp 2021-12-08 22:01:33.495530200 +0800
+++ ukui-system-monitor-1.0.1~/src/singleProcessNet/inode2prog.cpp 2021-12-08 22:53:57.415982570 +0800
@@ -192,7 +192,7 @@
DIR * proc = opendir ("/proc");
if (proc == 0) {
- std::cerr << "Error reading /proc, needed to get inode-to-pid-maping\n";
+ std::cerr << "Error reading /proc, needed to get inode-to-pid-maping\n";
exit(1);
}
diff -Naur ukui-system-monitor-1.0.1/src/systemmonitor.cpp ukui-system-monitor-1.0.1~/src/systemmonitor.cpp
--- ukui-system-monitor-1.0.1/src/systemmonitor.cpp 2021-12-08 22:01:33.491196799 +0800
+++ ukui-system-monitor-1.0.1~/src/systemmonitor.cpp 2021-12-08 22:53:56.871057592 +0800
@@ -54,6 +54,8 @@
SystemMonitor::SystemMonitor(QWidget *parent)
: QFrame(parent)
, mousePressed(false)
+ , opacitySettings(nullptr)
+ , qtSettings(nullptr)
{
// this->setStyleSheet("QFrame{border: 1px solid #121212;border-radius:1px;background-color:#1f1f1f;}");
// this->setAttribute(Qt::WA_DeleteOnClose);
@@ -61,22 +63,8 @@
this->setObjectName("SystemMonitor");
this->setWindowFlags(Qt::FramelessWindowHint); //set for no windowhint
-// this->setAttribute(Qt::WA_TranslucentBackground);//背景透明
+ this->setAttribute(Qt::WA_TranslucentBackground);//背景透明
this->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
-// QPainterPath path;
-// auto rect = this->rect();
-// rect.adjust(0,0,-0,-0);
-// path.addRoundedRect(rect, 6, 6);
-// setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
-// this->setStyleSheet("QWidget{border:none;border-radius:6px;}");
-
-// this->setObjectName("ParentObjectOnly");
-// this->setStyleSheet("QFrame#ParentObjectOnly{""background:rgba(19,19,20,0.7);"
-// "border:1px solid rgba(255, 255, 255, 0.05);"
-// "border-radius:6px;"
-// "}");
-
-// this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
const QByteArray idd(THEME_QT_SCHEMA);
@@ -92,15 +80,14 @@
opacitySettings = new QGSettings(idtrans);
}
+ getOsRelease();
+
this->setAutoFillBackground(true);
// this->setMouseTracking(true);
// installEventFilter(this);
this->setWindowTitle(tr("Kylin System Monitor"));
-// this->setWindowIcon(QIcon(":/model/res/plugin/processmanager.png"));
-// this->setWindowIcon(QIcon(":/img/processmanager.png"));
-
- this->setWindowIcon(QIcon::fromTheme("ukui-system-monitor"));
+ this->setWindowIcon(QIcon::fromTheme("ukui-system-monitor"));
//this->setFixedSize(900, 600);
@@ -114,17 +101,10 @@
this->initPanelStack();
this->initConnections();
initThemeMode();
- connect(m_titleWidget,SIGNAL(changeProcessItemDialog(int)),process_dialog,SLOT(onActiveWhoseProcess(int)));
+ connect(m_titleWidget,SIGNAL(changeProcessItemDialog(int)),process_dialog,SLOT(onActiveWhoseProcess(int))); //配置文件中为whoseprocess赋值
getTransparentData();
- //边框阴影效果
-// QGraphicsDropShadowEffect *shadow_effect = new QGraphicsDropShadowEffect(this);
-// shadow_effect->setBlurRadius(5);
-// shadow_effect->setColor(QColor(0, 0, 0, 127));
-// shadow_effect->setOffset(2, 4);
-// this->setGraphicsEffect(shadow_effect);
-
-
this->moveCenter();
+ qDebug()<<"--+--"<<version;
}
void SystemMonitor::initThemeMode()
@@ -135,47 +115,38 @@
if (key == "styleName")
{
-// auto style = qtSettings->get(key).toString();
-// qApp->setStyle(new InternalStyle(style));
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
- qDebug()<<"监听主题改变-------------------->"<<currentThemeMode<<endl;
-// qApp->setStyle(new InternalStyle(currentThemeMode));
}
});
currentThemeMode = qtSettings->get(MODE_QT_KEY).toString();
- qDebug()<<"hahahahaaha"<<currentThemeMode;
}
void SystemMonitor::getTransparentData()
{
- connect(opacitySettings,&QGSettings::changed, this, [=](const QString &key)
+ if (!opacitySettings)
{
- if(key == "transparency")
- {
- if (!opacitySettings)
- {
- m_transparency = 0.9;
- }
+ m_transparency = 0.9;
+ return;
+ }
+ connect(opacitySettings, &QGSettings::changed, this, [=](const QString &key)
+ {
+ if (key == "transparency")
+ {
QStringList keys = opacitySettings->keys();
if (keys.contains("transparency"))
{
- m_transparency = opacitySettings->get("transparency").toDouble();
+ m_transparency = opacitySettings->get("transparency").toString().toDouble();
}
}
repaint();
});
- m_transparency = opacitySettings->get("transparency").toDouble();
-// if(!opacitySettings)
-// {
-// m_transparency = 0.7;
-// return;
-// }
-// QStringList keys = opacitySettings->keys();
-// if(keys.contains("transparenty"))
-// {
-// m_transparency = opacitySettings->get("transparency").toDouble();
-// }
+
+ QStringList keys = opacitySettings->keys();
+ if(keys.contains("transparency"))
+ {
+ m_transparency = opacitySettings->get("transparency").toString().toDouble();
+ }
}
SystemMonitor::~SystemMonitor()
@@ -261,23 +232,17 @@
// 绘制一个背景
p.save();
p.fillPath(rectPath,palette().color(QPalette::Base));
-// p.fillPath(rectPath,QColor(0,0,0));
p.restore();
QStyleOption opt;
opt.init(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
- KWindowEffects::enableBlurBehind(this->winId(), true, QRegion(rectPath.toFillPolygon().toPolygon()));
}
void SystemMonitor::resizeEvent(QResizeEvent *e)
{
if (m_titleWidget) {
m_titleWidget->resize(width() - 2, MONITOR_TITLE_WIDGET_HEIGHT);
-// if (e->oldSize() != e->size()) {
-// emit m_titleWidget->updateMaxBtn();
-// m_titleWidget->onUpdateMaxBtnStatusChanged();
-// }
}
if (m_sysMonitorStack) {
m_sysMonitorStack->resize(width() - 2, this->height() - MONITOR_TITLE_WIDGET_HEIGHT - 2);
@@ -405,7 +370,7 @@
m_sysMonitorStack->resize(width() - 2, this->height() - TITLE_WIDGET_HEIGHT);
m_sysMonitorStack->move(1, TITLE_WIDGET_HEIGHT);
- qDebug()<<m_sysMonitorStack->width()<<"---------------------"<<m_sysMonitorStack->height();
+// qDebug() << "System monitor size(w x h): " << m_sysMonitorStack->width() << " x " << m_sysMonitorStack->height();
//m_sysMonitorStack->setFixedSize(898,500);
// m_sysMonitorStack->setMouseTracking(false);
@@ -565,6 +530,20 @@
primaryGeometry.y() + (primaryGeometry.height() - this->height())/2);
}
+void SystemMonitor::getOsRelease()
+{
+ QFile file("/etc/lsb-release");
+ if (!file.open(QIODevice::ReadOnly)) qDebug() << "Read file Failed.";
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ QString str(line);
+ if (str.contains("DISTRIB_ID")){
+ version=str.remove("DISTRIB_ID=");
+ version=str.remove("\n");
+ }
+ }
+}
+
void SystemMonitor::closeEvent(QCloseEvent *event)
{
event->accept();
@@ -621,11 +600,14 @@
void SystemMonitor::keyPressEvent(QKeyEvent *event)
{
- if(event->key() == Qt::Key_F1)
+ if(version != "Ubuntu")
{
- if(!daemonIsNotRunning())
+ if(event->key() == Qt::Key_F1)
{
- showGuide(qAppName());
+ if(!daemonIsNotRunning())
+ {
+ showGuide(qAppName());
+ }
}
}
}
diff -Naur ukui-system-monitor-1.0.1/src/systemmonitor.h ukui-system-monitor-1.0.1~/src/systemmonitor.h
--- ukui-system-monitor-1.0.1/src/systemmonitor.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/src/systemmonitor.h 2021-12-08 22:53:57.011893074 +0800
@@ -82,6 +82,7 @@
private:
int daemonIsNotRunning();
void showGuide(QString appName);
+ void getOsRelease();
private:
// WId mWindow;
QStackedWidget *m_sysMonitorStack = nullptr;
@@ -100,6 +101,7 @@
QGSettings *opacitySettings;
double m_transparency;
+ QString version;
};
#endif // SYSTEMMONITOR_H
diff -Naur ukui-system-monitor-1.0.1/widgets/mydialog.cpp ukui-system-monitor-1.0.1~/widgets/mydialog.cpp
--- ukui-system-monitor-1.0.1/widgets/mydialog.cpp 2021-12-08 22:01:33.492280149 +0800
+++ ukui-system-monitor-1.0.1~/widgets/mydialog.cpp 2021-12-08 22:53:56.760555909 +0800
@@ -39,7 +39,7 @@
this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint | Qt::WindowCloseButtonHint);
// this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
-// this->setAttribute(Qt::WA_TranslucentBackground);
+ this->setAttribute(Qt::WA_TranslucentBackground);
// this->setAttribute(Qt::WA_DeleteOnClose, false);
this->setAttribute(Qt::WA_Resized, false);
diff -Naur ukui-system-monitor-1.0.1/widgets/mysearchedit.cpp ukui-system-monitor-1.0.1~/widgets/mysearchedit.cpp
--- ukui-system-monitor-1.0.1/widgets/mysearchedit.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/widgets/mysearchedit.cpp 2021-12-08 22:53:56.747555711 +0800
@@ -31,12 +31,12 @@
: QFrame(parent)
,m_showCurve(QEasingCurve::OutCubic)
,m_hideCurve(QEasingCurve::InCubic)
+ ,fontSettings(nullptr)
{
const QByteArray idd(THEME_QT_SCHEMA);
if(QGSettings::isSchemaInstalled(idd))
{
-// qDebug()<<"MySearchEdit--------------1------------->"<<endl;
qtSettings = new QGSettings(idd);
}
@@ -48,12 +48,7 @@
}
this->setWindowFlags(Qt::FramelessWindowHint);
- //this->setStyleSheet("QFrame{background-color:#00376a;border-radius:0px;}");
-// this->setFixedSize(200,32);
- qDebug()<<"mySearchEdit.width"<<this->width()<<"mySearchEidt.height"<<this->height();
-// this->setObjectName("SearchBtn");
-// this->setStyleSheet("QFrame#SearchBtn{background:rgba(77,88,99,0.08);border-radius:4px;}");
m_searchBtn = new QLabel;
m_searchBtn->setStyleSheet("QLabel{background-color:transparent;border:none;background-image:url(:/img/search.png);}");
m_searchBtn->setFixedSize(SEARCHBUTTON, SEARCHBUTTON);
@@ -103,17 +98,12 @@
connect(m_pClearTextButton, &QPushButton::clicked, this, [=](){
m_edit->setText("");
});
- //m_edit->setPlaceholderText("enter process info");
-
-
m_placeHolder = new QLabel; //about the font
QFont font;
font.setPointSize(fontSize-2);
m_placeHolder->setFont(font);
-// m_placeHolder->setStyleSheet("QLabel{background-color:transparent;color:rgba(0,0,0,0.57);margin: 2 0 0 0 px;}");
-
initThemeMode();
m_animation = new QPropertyAnimation(m_edit, "minimumWidth");
@@ -143,8 +133,6 @@
// layout->addWidget(m_clearBtn);
// layout->setAlignment(m_clearBtn, Qt::AlignCenter);
-
-
layout->setSpacing(0);
layout->setContentsMargins(0, 0, 0, 0);
@@ -156,14 +144,11 @@
// connect(m_clearBtn, &MyTristateButton::clicked, this, [=] {
// this->clearAndFocusEdit();
// });
-
-// qDebug()<<this->width()<<"----------------------------------------------"<<this->height();
}
QPixmap MySearchEdit::drawSymbolicColoredPixmap(const QPixmap &source)
{
-// qDebug()<<"wwj,wozhendeshishishishsishishsishsihsishsishsishsihs"<<currentThemeMode;
if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
QImage img = source.toImage();
@@ -182,10 +167,7 @@
}
}
return QPixmap::fromImage(img);
- }
-
- else if(currentThemeMode == "ukui-dark" || currentThemeMode == "ukui-black")
- {
+ } else if(currentThemeMode == "ukui-dark" || currentThemeMode == "ukui-black") {
QImage img = source.toImage();
for (int x = 0; x < img.width(); x++)
{
@@ -194,18 +176,15 @@
auto color = img.pixelColor(x, y);
if (color.alpha() > 0)
{
- color.setRed(255);
- color.setGreen(255);
- color.setBlue(255);
- img.setPixelColor(x, y, color);
+ color.setRed(255);
+ color.setGreen(255);
+ color.setBlue(255);
+ img.setPixelColor(x, y, color);
}
}
}
return QPixmap::fromImage(img);
- }
-
- else
- {
+ } else {
QImage img = source.toImage();
for (int x = 0; x < img.width(); x++)
{
@@ -214,10 +193,10 @@
auto color = img.pixelColor(x, y);
if (color.alpha() > 0)
{
- color.setRed(0);
- color.setGreen(0);
- color.setBlue(0);
- img.setPixelColor(x, y, color);
+ color.setRed(0);
+ color.setGreen(0);
+ color.setBlue(0);
+ img.setPixelColor(x, y, color);
}
}
}
@@ -401,7 +380,7 @@
if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
- m_edit->setStyleSheet("QLineEdit{background:transparent;border-radius:4px;color:#00000;padding-right:12px;padding-bottom: 2px;}"); //#CC00FF transparent
+ m_edit->setStyleSheet("QLineEdit{background:transparent;border-radius:4px;color:#000000;padding-right:12px;padding-bottom: 2px;}"); //#CC00FF transparent
m_placeHolder->setStyleSheet("QLabel{background-color:transparent;color:rgba(0,0,0,0.57);margin: 2 0 0 0 px;}");
this->setObjectName("SearchBtn");
this->setStyleSheet("QFrame#SearchBtn{background:rgba(13,14,14,0.08);border-radius:4px;}");
@@ -424,7 +403,7 @@
m_pClearTextButton->setIcon(drawSymbolicColoredPixmap(QPixmap::fromImage(QIcon::fromTheme(":/img/button-close-default-add-background-three.svg").pixmap(24,24).toImage())));
if(currentThemeMode == "ukui-light" || currentThemeMode == "ukui-default" || currentThemeMode == "ukui-white")
{
- m_edit->setStyleSheet("QLineEdit{background:transparent;border-radius:4px;color:#00000;padding-right:12px;padding-bottom: 2px;}"); //#CC00FF transparent
+ m_edit->setStyleSheet("QLineEdit{background:transparent;border-radius:4px;color:#000000;padding-right:12px;padding-bottom: 2px;}"); //#CC00FF transparent
m_placeHolder->setStyleSheet("QLabel{background-color:transparent;color:rgba(0,0,0,0.57);margin: 2 0 0 0 px;}");
this->setObjectName("SearchBtn");
this->setStyleSheet("QFrame#SearchBtn{background:rgba(13,14,14,0.08);border-radius:4px;}");
@@ -441,11 +420,15 @@
void MySearchEdit::initFontSize()
{
+ if (!fontSettings) {
+ fontSize = DEFAULT_FONT_SIZE;
+ return;
+ }
connect(fontSettings,&QGSettings::changed,[=](QString key)
{
if("systemFont" == key || "systemFontSize" == key)
{
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
QFont font;
font.setPointSize(fontSize - 2);
@@ -454,5 +437,5 @@
searchLineFont.setPointSize(fontSize);
m_edit->setFont(searchLineFont);
});
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
diff -Naur ukui-system-monitor-1.0.1/widgets/mysearchedit.h ukui-system-monitor-1.0.1~/widgets/mysearchedit.h
--- ukui-system-monitor-1.0.1/widgets/mysearchedit.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/widgets/mysearchedit.h 2021-12-08 22:53:56.771389407 +0800
@@ -85,7 +85,7 @@
QPushButton *m_pClearTextButton =nullptr;
QPixmap drawSymbolicColoredPixmap(const QPixmap &source);
- int fontSize;
+ float fontSize;
QGSettings *qtSettings;
QGSettings *fontSettings;
diff -Naur ukui-system-monitor-1.0.1/widgets/myunderlinebutton.cpp ukui-system-monitor-1.0.1~/widgets/myunderlinebutton.cpp
--- ukui-system-monitor-1.0.1/widgets/myunderlinebutton.cpp 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/widgets/myunderlinebutton.cpp 2021-12-08 22:53:56.768139358 +0800
@@ -30,6 +30,7 @@
: QWidget(parent)
,m_state(Normal)
,m_isChecked(false)
+ ,fontSettings(nullptr)
{
const QByteArray idd(THEME_QT_SCHEMA);
@@ -112,18 +113,22 @@
void MyUnderLineButton::initFontSize()
{
- connect(fontSettings,&QGSettings::changed,[=](QString key)
+ if (!fontSettings) {
+ fontSize = DEFAULT_FONT_SIZE;
+ return;
+ }
+ connect(fontSettings, &QGSettings::changed, [=](QString key)
{
if("systemFont" == key || "systemFontSize" == key)
{
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
}
// repaint();
QFont font;
font.setPointSize(fontSize -2);
m_textLabel->setFont(font);
});
- fontSize = fontSettings->get(FONT_SIZE).toInt();
+ fontSize = fontSettings->get(FONT_SIZE).toString().toFloat();
QFont font;
font.setPointSize(fontSize -2);
m_textLabel->setFont(font);
diff -Naur ukui-system-monitor-1.0.1/widgets/myunderlinebutton.h ukui-system-monitor-1.0.1~/widgets/myunderlinebutton.h
--- ukui-system-monitor-1.0.1/widgets/myunderlinebutton.h 2019-05-27 15:48:18.000000000 +0800
+++ ukui-system-monitor-1.0.1~/widgets/myunderlinebutton.h 2021-12-08 22:53:56.744305662 +0800
@@ -75,7 +75,7 @@
//QLabel *m_underlineLabel = nullptr;
QVBoxLayout *m_layout = nullptr;
- int fontSize;
+ float fontSize;
QGSettings *qtSettings;
QGSettings *fontSettings;