Rewrite resources widgets

This commit is contained in:
李 翔 2018-01-25 18:58:26 +08:00
parent 7c78e8b08b
commit d0baa5f799
35 changed files with 1402 additions and 2238 deletions

View File

@ -1,3 +1,21 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin Kylin Ltd.
*
* Authors:
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "startupitem.h"
#include "../../component/kylinswitcher.h"

View File

@ -1,3 +1,22 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin Kylin Ltd.
*
* Authors:
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef STARTUPITEM_H
#define STARTUPITEM_H

View File

@ -1,3 +1,22 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin Kylin Ltd.
*
* Authors:
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "startuplistwidget.h"
#include "startupitem.h"

View File

@ -1,3 +1,22 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin Kylin Ltd.
*
* Authors:
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef STARTUPLISTWIDGET_H
#define STARTUPLISTWIDGET_H

View File

@ -27,10 +27,10 @@
CpuBallWidget::CpuBallWidget(QWidget *parent) : QWidget(parent)
{
this->setFixedSize(100, 100);
this->setFixedSize(210, 210);
m_frontImagePath = "://res/wave-front.png";
m_backimagePath = "://res/wave-back.png";
m_frontImagePath = "://res/wave_front.png";
m_backimagePath = "://res/wave_back.png";
m_xFrontOffset = 0;
m_xBackOffset = this->width();
@ -69,8 +69,9 @@ void CpuBallWidget::loadWaveImage()
QImageReader frontReader(m_frontImagePath);
int w = frontReader.size().width();
int h = frontReader.size().height();
// QImage image(w, h, QImage::Format_ARGB32);
QImage image(w, h, QImage::Format_ARGB32_Premultiplied);
// w = w * this->width() / 100;
// h = h * this->height() / 100;
QImage image(w, h, QImage::Format_ARGB32_Premultiplied);//QImage::Format_ARGB32
image.fill(Qt::transparent);
image.load(m_frontImagePath);
/*QPainter painter(&image);
@ -81,13 +82,13 @@ void CpuBallWidget::loadWaveImage()
painter.end();*/
m_frontImage = image;
QImageReader backReader(m_backimagePath);
w = backReader.size().width();
h = backReader.size().height();
// QImage image(w, h, QImage::Format_ARGB32);
QImage backImage(w, h, QImage::Format_ARGB32_Premultiplied);
// w = w * this->width() / 100;
// h = h * this->height() / 100;
QImage backImage(w, h, QImage::Format_ARGB32_Premultiplied);//QImage::Format_ARGB32
backImage = backImage.scaled(QSize(w, h), Qt::KeepAspectRatio, Qt::SmoothTransformation);
backImage.fill(Qt::transparent);
backImage.load(m_backimagePath);
/*QPainter backPainter(&backImage);
@ -101,17 +102,13 @@ void CpuBallWidget::loadWaveImage()
void CpuBallWidget::onRepaintWaveImage()
{
// m_xFrontOffset -= 1;
m_xFrontOffset += 1;
m_xFrontOffset += 2;
m_xBackOffset += 2;
// if (m_xFrontOffset < - (m_frontImage.width() - this->width())) {//保留整个显示直径的大小不做处理,避免出现断层
// m_xFrontOffset = 0;
// }
if (m_xFrontOffset > m_frontImage.width()) {//保留整个显示直径的大小不做处理,避免出现断层
m_xFrontOffset = this->width();
m_xFrontOffset = 0;
}
if (m_xBackOffset > m_backImage.width()) {//保留整个显示直径的大小不做处理,避免出现断层
m_xBackOffset = this->width();
m_xBackOffset = 0;
}
this->update();//this->repaint();
}
@ -154,42 +151,38 @@ void CpuBallWidget::paintEvent(QPaintEvent *)
QImage waveRectImage = QImage(waveSize, QImage::Format_ARGB32_Premultiplied);//创建一个Format_ARGB32_Premultiplied 格式的QIamge大小和控件相同
QPainter wavePainter(&waveRectImage);//创建一个QPainter绘制waveRectImage这个图像
wavePainter.setRenderHint(QPainter::Antialiasing, true);//setRenderHint() 来设置反走样,要么绘制出来的线条会出现锯齿
wavePainter.initFrom(this);//用控件的设置初始化画笔,刷子和字体
// wavePainter.initFrom(this);//用控件的设置初始化画笔,刷子和字体
wavePainter.setCompositionMode(QPainter::CompositionMode_Source);//输出源像素,避免整个矩形背景区域出现花屏现象
if (currentPercent > 88) {
wavePainter.fillRect(waveRectImage.rect(), QColor(255, 0, 0, 127));//OrangeRed
m_shadowEffect->setColor(QColor(255, 0, 0, 127));//红色
} else if (currentPercent > 55) {
wavePainter.fillRect(waveRectImage.rect(), QColor(255, 165, 255, 127));//Orange
m_shadowEffect->setColor(QColor(255, 193, 37, 127));//黄
} else {
wavePainter.fillRect(waveRectImage.rect(), QColor(135, 206, 250, 127));//LightSkyBlue
m_shadowEffect->setColor(QColor(232, 232, 232, 127));//灰
}
wavePainter.fillRect(waveRectImage.rect(), QColor(255, 255, 255, 127));
//Step2:波浪区域
//CompositionMode_SourceOver保证波浪出现的时候其背景为通明的
wavePainter.setCompositionMode(QPainter::CompositionMode_SourceOver);//混和模式QImage::CompositionMode_SourceOver 即原象素正在绘制的象素和目标象素已经存在的象素混和原象素的alpha分量定义为最终的透明度
wavePainter.drawImage(static_cast<int>(m_xBackOffset) - m_backImage.width(), 100 - currentPercent, m_backImage);
// wavePainter.drawImage(static_cast<int>(m_xFrontOffset), 100 - currentPercent, m_frontImage);
wavePainter.drawImage(static_cast<int>(m_xFrontOffset) - m_frontImage.width(), 100 - currentPercent, m_frontImage);
wavePainter.drawImage(static_cast<int>(m_xBackOffset), (100 - currentPercent)*this->width()/100, m_backImage);
wavePainter.drawImage(static_cast<int>(m_xBackOffset) - m_backImage.width(), (100 - currentPercent)*this->width()/100, m_backImage);
wavePainter.drawImage(static_cast<int>(m_xFrontOffset), (100 - currentPercent)*this->width()/100, m_frontImage);
wavePainter.drawImage(static_cast<int>(m_xFrontOffset) - m_frontImage.width(), (100 - currentPercent)*this->width()/100, m_frontImage);
//Step3:矩形区域中圆球的外径和内径
//Step3:矩形区域中圆球的外径
QRectF outRect = QRectF(0, 0, waveSize.width(), waveSize.height());
QPainterPath outBorderPath;
//QMargins定义了矩形的四个外边距量left,top,right和bottom描述围绕矩形的边框宽度
outBorderPath.addEllipse(outRect.marginsRemoved(QMarginsF(0.5, 0.5, 0.5, 0.5)));//marginsAdded:增长矩形的边距,扩大它
wavePainter.strokePath(outBorderPath, QPen(QColor(178, 34, 34, 127), 2));//外边框
QPainterPath inBorderPath;
inBorderPath.addEllipse(outRect.marginsRemoved(QMarginsF(2, 2, 2, 2)));//marginsRemoved:删除矩形的边距,缩小它
wavePainter.strokePath(inBorderPath, QPen(QColor(0, 0, 255, 127), 2));//内边框
wavePainter.strokePath(outBorderPath, QPen(QColor("#0f84bc"), 1));//外边框 59aee2
//Step4:占用率文字描述
QFont font = wavePainter.font();
font.setPixelSize(waveSize.height() * 20 / 100);
font.setPixelSize(44);//waveSize.height() * 20 / this->height()
wavePainter.setFont(font);
wavePainter.setPen(Qt::white);
wavePainter.drawText(rect, Qt::AlignCenter, m_progressText);
wavePainter.drawText(QRect(rect.x(), rect.y() + rect.height()*2/3, rect.width(), rect.height()/3), Qt::AlignHCenter, m_progressText);
wavePainter.end();
QImage image = QImage(waveSize, QImage::Format_ARGB32_Premultiplied);

View File

@ -17,25 +17,25 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "cpuoccupancyrate.h"
#include "cpuratewidget.h"
#include "cpuballwidget.h"
#include <QApplication>
#include <QDebug>
#include <QVBoxLayout>
CpuOccupancyRate::CpuOccupancyRate(QWidget *parent) : QWidget(parent)
CpuRateWidget::CpuRateWidget(QWidget *parent) : QWidget(parent)
{
// this->setFixedSize(302, 140);
/*QVBoxLayout **/mainLayout = new QVBoxLayout(this);
/*QVBoxLayout **/mainLayout = new QHBoxLayout(this);
mainLayout->setContentsMargins(0, 0, 0, 0);
QWidget *w = new QWidget;
w->setFixedSize(302, 140);
m_titleLeftLayout = new QHBoxLayout(w);
m_titleLeftLayout->setContentsMargins(6, 0, 0, 0);
m_titleLeftLayout->setSpacing(0);
w->setFixedSize(300, 300);
m_widgetLayout = new QVBoxLayout(w);
m_widgetLayout->setContentsMargins(6, 0, 0, 0);
m_widgetLayout->setSpacing(0);
m_title = new QLabel(tr("CPU"));
m_title->setAlignment(Qt::AlignLeft | Qt::AlignTop);
@ -47,10 +47,10 @@ CpuOccupancyRate::CpuOccupancyRate(QWidget *parent) : QWidget(parent)
m_title->setFont(font);
m_cpuBall = new CpuBallWidget;
m_cpuBall->setFixedSize(100, 100);
// m_cpuBall->setFixedSize(100, 100);
m_titleLeftLayout->addWidget(m_title, 0, Qt::AlignLeft);
m_titleLeftLayout->addWidget(m_cpuBall, 0, Qt::AlignCenter);
m_widgetLayout->addWidget(m_title, 0, Qt::AlignLeft);
m_widgetLayout->addWidget(m_cpuBall, 0, Qt::AlignCenter);
mainLayout->addWidget(w, 1, Qt::AlignCenter);
@ -58,15 +58,24 @@ CpuOccupancyRate::CpuOccupancyRate(QWidget *parent) : QWidget(parent)
// mainLayout->addWidget(m_title, 0, Qt::AlignLeft);
// mainLayout->addWidget(m_cpuBall, 0, Qt::AlignCenter);
/*sudo dmidecode -t processor
u32 len;
u8 *buf;
size_t size = len;
buf = read_file(&size, devmem);
len = size;
// dmi_table_decode(buf, len, num, ver, flags);
// dmi_decode(&h, ver);*/
m_cpuBall->startTimer();
}
CpuOccupancyRate::~CpuOccupancyRate()
CpuRateWidget::~CpuRateWidget()
{
delete m_title;
delete m_cpuBall;
QLayoutItem *child;
while ((child = m_titleLeftLayout->takeAt(0)) != 0) {
while ((child = m_widgetLayout->takeAt(0)) != 0) {
if (child->widget())
child->widget()->deleteLater();
delete child;
@ -74,17 +83,17 @@ CpuOccupancyRate::~CpuOccupancyRate()
delete mainLayout;
}
void CpuOccupancyRate::onUpdateCpuPercent(double value)
void CpuRateWidget::onUpdateCpuPercent(double value)
{
m_cpuBall->updateCpuPercent(value);
}
void CpuOccupancyRate::startTimer()
void CpuRateWidget::startTimer()
{
m_cpuBall->startTimer();
}
void CpuOccupancyRate::stopTimer()
void CpuRateWidget::stopTimer()
{
m_cpuBall->stopTimer();
}

View File

@ -17,8 +17,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef CPUOCCUPANCYRATE_H
#define CPUOCCUPANCYRATE_H
#ifndef CPURATEWIDGET_H
#define CPURATEWIDGET_H
#include <QWidget>
#include <QLabel>
@ -27,13 +27,13 @@
class CpuBallWidget;
class CpuOccupancyRate : public QWidget
class CpuRateWidget : public QWidget
{
Q_OBJECT
public:
CpuOccupancyRate(QWidget *parent = 0);
~CpuOccupancyRate();
CpuRateWidget(QWidget *parent = 0);
~CpuRateWidget();
void startTimer();
void stopTimer();
@ -44,8 +44,8 @@ public slots:
private:
QLabel *m_title = nullptr;
CpuBallWidget *m_cpuBall = nullptr;
QHBoxLayout *m_titleLeftLayout = nullptr;
QVBoxLayout *mainLayout = nullptr;
QVBoxLayout *m_widgetLayout = nullptr;
QHBoxLayout *mainLayout = nullptr;
};
#endif // CPUOCCUPANCYRATE_H
#endif // CPURATEWIDGET_H

View File

@ -0,0 +1,209 @@
#include "memorycircle.h"
#include "util.h"
#include <QDebug>
#include <QObject>
inline QString formatMemory(guint64 size)
{
enum {
K_INDEX,
M_INDEX,
G_INDEX,
T_INDEX
};
QList<guint64> factorList;
factorList.append(G_GUINT64_CONSTANT(1) << 10);//KiB
factorList.append(G_GUINT64_CONSTANT(1) << 20);//MiB
factorList.append(G_GUINT64_CONSTANT(1) << 30);//GiB
factorList.append(G_GUINT64_CONSTANT(1) << 40);//TiB
if (size < factorList.at(K_INDEX)) {
if ((guint) size > 1) {
return QString("%1 %2").arg((guint) size).arg(QObject::tr("byte"));
}
else {
return QString("%1 %2").arg((guint) size).arg(QObject::tr("bytes"));
}
} else {
guint64 factor;
QString format;
if (size < factorList.at(M_INDEX)) {
factor = factorList.at(K_INDEX);
format = QObject::tr("KiB");
}else if (size < factorList.at(G_INDEX)) {
factor = factorList.at(M_INDEX);
format = QObject::tr("MiB");
} else if (size < factorList.at(T_INDEX)) {
factor = factorList.at(G_INDEX);
format = QObject::tr("GiB");
} else {
factor = factorList.at(T_INDEX);
format = QObject::tr("TiB");
}
std::string formatted_result(make_string(g_strdup_printf("%.1f", size / (double)factor)));
return QString::fromStdString(formatted_result) + format;
}
}
MemoryCircle::MemoryCircle(QWidget *parent)
: QWidget(parent)
{
this->setFixedSize(400, 300);
circleRadius = 128/2; //半径
rectWidth = 100; //文本框宽
rectHeight = 20; // 文本框高
center = rect().center();
center.setX(center.x()/2);
center.setY(center.y()/2);
swapcenter = rect().center();
swapcenter.setX(swapcenter.x()*3/2);
swapcenter.setY(swapcenter.y()/2);
}
MemoryCircle::~MemoryCircle()
{
}
void MemoryCircle::drawCircle(QPainter *painter, bool isSwap)
{
//渐变效果设置
/*QRadialGradient circleGradient(center, circleRadius, center);
circleGradient.setColorAt(0.0, QColor(220, 220, 220));
circleGradient.setColorAt(0.2, QColor(220, 220, 220));
circleGradient.setColorAt(0.4, QColor(240, 240, 240));
circleGradient.setColorAt(1.0, QColor(220, 220, 220));*/
QPen pen;
if (isSwap)
pen.setColor(QColor("#fc7416"));
else
pen.setColor(QColor("#9528b4"));
pen.setWidth(1);
painter->setPen(pen);
// painter->setBrush(circleGradient);
painter->setBrush(QBrush(QColor("#ffffff")));
if (isSwap)
painter->drawEllipse(swapcenter, circleRadius, circleRadius);
else
painter->drawEllipse(center, circleRadius, circleRadius);
}
void MemoryCircle::drawColorPie(QPainter *painter, bool isSwap)
{
//内存矩形,绘制扇形需要的参数,圆在矩形内且与矩形相切
QPointF pieRectLeftTop(center.x()-circleRadius, center.y()-circleRadius);
QPointF pieRectRightBottom(center.x()+circleRadius, center.y()+circleRadius);
pieRect = QRectF(pieRectLeftTop, pieRectRightBottom);
//SWAP矩形范围绘制扇形需要的参数圆在矩形内且与矩形相切
QPointF swapRectLeftTop(swapcenter.x()-circleRadius, swapcenter.y()-circleRadius);
QPointF swapRectRightBottom(swapcenter.x()+circleRadius, swapcenter.y()+circleRadius);
swappieRect = QRectF(swapRectLeftTop, swapRectRightBottom);
if (isSwap) {
if (mi.swappercent == 0)
painter->setPen(Qt::NoPen);
else {
QPen pen;
pen.setColor(QColor("#fc7416"));
pen.setWidth(1);
painter->setPen(pen);
}
painter->setBrush(QBrush(QColor("#fef5f1")));
float swapcurrentPie = - (360 * (mi.swappercent/100)); //负数顺时针
painter->drawPie(swappieRect, 90*16, swapcurrentPie*16);//绘制扇形90*16为初始12点钟位置
}
else {
if (mi.percent == 0)
painter->setPen(Qt::NoPen);
else {
QPen pen;
pen.setColor(QColor("#9528b4"));
pen.setWidth(1);
painter->setPen(pen);
}
painter->setBrush(QBrush(QColor("#f4e9f7")));
float currentPie = - (360 * (mi.percent/100)); //负数顺时针0*16为3点钟位置
painter->drawPie(pieRect, 90*16, currentPie*16); //绘制扇形90*16为初始12点钟位置
}
}
void MemoryCircle::drawText(QPainter *painter)
{
setFontSize(*painter, 20);
painter->setPen(QPen(QColor("#000000")));
painter->drawText(QRect(center.x()-circleRadius, center.y() + circleRadius + 10, circleRadius*2, 30), Qt::AlignCenter, tr("Memory"));
painter->drawText(QRect(swapcenter.x()-circleRadius, swapcenter.y() + circleRadius + 10, circleRadius*2, 30), Qt::AlignCenter, tr("Swap"));
//draw title
setFontSize(*painter, 12);
painter->setPen(QPen(QColor("#999999")));
painter->drawText(QRect(center.x()-circleRadius, center.y() + circleRadius + 40, circleRadius*2, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Used(Percent)"));
painter->drawText(QRect(swapcenter.x()-circleRadius, swapcenter.y() + circleRadius + 40, circleRadius*2, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Used(Percent)"));
painter->drawText(QRect(center.x()-circleRadius, center.y() + circleRadius + 85, circleRadius*2, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Total"));
painter->drawText(QRect(swapcenter.x()-circleRadius, swapcenter.y() + circleRadius + 85, circleRadius*2, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Total"));
//draw text data
setFontSize(*painter, 20);
QFontMetrics fm = painter->fontMetrics();
painter->setPen(QPen(QColor("#000000")));
const QString memeryUsed = tr("%1(%2%)").arg(formatMemory(mi.user)).arg(QString::number(mi.percent, 'f', 1));
const QString swapUsed = tr("%1(%2%)").arg(formatMemory(mi.swapused)).arg(QString::number(mi.swappercent, 'f', 1));
painter->drawText(QRect(center.x()-circleRadius, center.y() + circleRadius + 60, fm.width(memeryUsed), 30), Qt::AlignLeft |Qt::AlignVCenter, memeryUsed);
painter->drawText(QRect(swapcenter.x()-circleRadius, swapcenter.y() + circleRadius + 60, fm.width(swapUsed), 30), Qt::AlignLeft |Qt::AlignVCenter, swapUsed);
painter->drawText(QRect(center.x()-circleRadius, center.y() + circleRadius + 105, circleRadius*2, 30), Qt::AlignLeft |Qt::AlignVCenter, formatMemory(mi.total));
painter->drawText(QRect(swapcenter.x()-circleRadius, swapcenter.y() + circleRadius + 105, circleRadius*2, 30), Qt::AlignLeft |Qt::AlignVCenter, formatMemory(mi.swaptotal));
const QString info = QString("%1/%2(%3%)").arg(formatMemory(mi.user)).arg(formatMemory(mi.total)).arg(QString::number(mi.percent, 'f', 1));
emit rebackMemoryInfo(info, mi.percent);
}
void MemoryCircle::onUpdateMemoryStatus()
{
glibtop_mem mem;
glibtop_swap swap;
glibtop_get_mem(&mem);
glibtop_get_swap(&swap);
float swappercent = (swap.total ? (float)swap.used / (float)swap.total : 0.0f);
float mempercent = (float)mem.user / (float)mem.total;
mi.percent = mempercent * 100;
mi.swappercent = swappercent * 100;
//初始单位为字节,需要修正
mi.user = mem.user;
mi.total = mem.total;
mi.swapused = swap.used;
mi.swaptotal = swap.total;
repaint();
}
void MemoryCircle::paintEvent(QPaintEvent *event)
{
QPainter painter;
painter.begin(this);
painter.setRenderHint(QPainter::Antialiasing, true);
//draw memory circle
drawCircle(&painter);
drawColorPie(&painter);
//draw swap circle
drawCircle(&painter, true);
drawColorPie(&painter, true);
painter.setRenderHint(QPainter::Antialiasing, false);
drawText(&painter);
painter.end();
}

View File

@ -0,0 +1,59 @@
#ifndef MEMORYCIRCLE_H
#define MEMORYCIRCLE_H
#include <QWidget>
#include <QPainter>
#include <glibtop/mem.h>
#include <glibtop/swap.h>
typedef struct MemoryInfo
{
float total;
float free;
float cached;
float used;
float user;
float percent;
float swaptotal;
float swapfree;
float swapcached;
float swapused;
float swappercent;
}Meminfo;
class MemoryCircle : public QWidget
{
Q_OBJECT
public:
MemoryCircle(QWidget *parent = 0);
~MemoryCircle();
void drawCircle(QPainter *painter, bool isSwap = false);
void drawColorPie(QPainter *painter, bool isSwap = false);
void drawText(QPainter *painter);
public slots:
void onUpdateMemoryStatus();
signals:
void rebackMemoryInfo(const QString &info, double percent);
protected:
void paintEvent(QPaintEvent * event);
private:
qreal circleRadius;
qreal rectWidth;
qreal rectHeight;
qreal colorPieRadius;
QPointF center;
QPointF swapcenter;
QRectF pieRect;
QRectF swappieRect;
Meminfo mi;
};
#endif // MEMORYCIRCLE_H

View File

@ -1,234 +1,53 @@
#include "memorywidget.h"
#include "util.h"
#include "memorycircle.h"
#include <QDebug>
#include <QObject>
inline QString formatMemory(guint64 size)
{
enum {
K_INDEX,
M_INDEX,
G_INDEX,
T_INDEX
};
QList<guint64> factorList;
factorList.append(G_GUINT64_CONSTANT(1) << 10);//KiB
factorList.append(G_GUINT64_CONSTANT(1) << 20);//MiB
factorList.append(G_GUINT64_CONSTANT(1) << 30);//GiB
factorList.append(G_GUINT64_CONSTANT(1) << 40);//TiB
if (size < factorList.at(K_INDEX)) {
if ((guint) size > 1) {
return QString("%1 %2").arg((guint) size).arg(QObject::tr("byte"));
}
else {
return QString("%1 %2").arg((guint) size).arg(QObject::tr("bytes"));
}
} else {
guint64 factor;
QString format;
if (size < factorList.at(M_INDEX)) {
factor = factorList.at(K_INDEX);
format = QObject::tr("KiB");
}else if (size < factorList.at(G_INDEX)) {
factor = factorList.at(M_INDEX);
format = QObject::tr("MiB");
} else if (size < factorList.at(T_INDEX)) {
factor = factorList.at(G_INDEX);
format = QObject::tr("GiB");
} else {
factor = factorList.at(T_INDEX);
format = QObject::tr("TiB");
}
std::string formatted_result(make_string(g_strdup_printf("%.1f", size / (double)factor)));
return QString::fromStdString(formatted_result) + format;
}
}
MemoryWidget::MemoryWidget(QWidget *parent)
: QWidget(parent)
{
this->setFixedSize(302, 165);
mainLayout = new QHBoxLayout(this);
mainLayout->setContentsMargins(0, 0, 0, 0);
circleRadius = 50; //半径
rectWidth = 100; //文本框宽
rectHeight = 20; // 文本框高
center = rect().center();
center.setX(center.x()/2); //内存圆心X为窗口的1/4, Y为窗口的1/2
swapcenter = rect().center();
swapcenter.setX(swapcenter.x()*3/2); //SWAP圆心X为窗口的3/4, Y为窗口的1/2
QWidget *w = new QWidget;
w->setFixedSize(500, 400);
m_widgetLayout = new QVBoxLayout(w);
m_widgetLayout->setContentsMargins(6, 0, 0, 0);
m_widgetLayout->setSpacing(0);
m_title = new QLabel(tr("Memory"));
m_title->setAlignment(Qt::AlignLeft | Qt::AlignTop);
m_title->setStyleSheet("font-size: 22px; color:#303030");
QFont font = m_title->font();
font.setPointSize(22);
font.setWeight(QFont::Light);
m_title->setFont(font);
m_memoryCircle = new MemoryCircle;
connect(m_memoryCircle, SIGNAL(rebackMemoryInfo(QString,double)), this, SIGNAL(rebackMemoryInfo(QString,double)));
m_widgetLayout->addWidget(m_title, 0, Qt::AlignTop);
m_widgetLayout->addWidget(m_memoryCircle);
mainLayout->addWidget(w, 0, Qt::AlignCenter);
}
MemoryWidget::~MemoryWidget()
{
}
void MemoryWidget::paintEvent(QPaintEvent *event)
{
QPainter painter;
painter.begin(this);
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing); //反锯齿
QFont font = painter.font();
font.setPointSize(22);
font.setWeight(QFont::Light);
painter.setFont(font);
painter.setPen(QPen(QColor("#303030")));
painter.drawText(QRect(rect().x() + 2, rect().y(), rect().width() - 4, rect().height()), Qt::AlignLeft | Qt::AlignTop, tr("Memory"));//绘制文本
drawCircle(&painter);
drawColorPie(&painter);
drawText(&painter);
painter.end();
}
void MemoryWidget::drawCircle(QPainter *painter)
{
painter->save();
//渐变效果设置
QRadialGradient circleGradient(center, circleRadius, center);
circleGradient.setColorAt(0.0, QColor(220, 220, 220));
circleGradient.setColorAt(0.2, QColor(220, 220, 220));
circleGradient.setColorAt(0.4, QColor(240, 240, 240));
circleGradient.setColorAt(1.0, QColor(220, 220, 220));
QPen pen;
pen.setColor(Qt::gray);
pen.setWidth(1);
painter->setPen(pen);
painter->setBrush(circleGradient);
//内存
painter->drawEllipse(center, circleRadius, circleRadius);
//SWAP
painter->drawEllipse(swapcenter, circleRadius, circleRadius);
painter->restore();
}
void MemoryWidget::drawColorPie(QPainter *painter)
{
painter->save();
painter->setPen(Qt::NoPen);
//内存矩形,绘制扇形需要的参数,圆在矩形内且与矩形相切
QPointF pieRectLeftTop(center.x()-circleRadius, center.y()-circleRadius);
QPointF pieRectRightBottom(center.x()+circleRadius, center.y()+circleRadius);
pieRect = QRectF(pieRectLeftTop, pieRectRightBottom);
//SWAP矩形范围绘制扇形需要的参数圆在矩形内且与矩形相切
QPointF swapRectLeftTop(swapcenter.x()-circleRadius, swapcenter.y()-circleRadius);
QPointF swapRectRightBottom(swapcenter.x()+circleRadius, swapcenter.y()+circleRadius);
swappieRect = QRectF(swapRectLeftTop, swapRectRightBottom);
painter->save();
//颜色设置
if(mi.percent > 0 && mi.percent < 50)
painter->setBrush(QColor(0, 255, 0, 128)); //绿
else if(mi.percent < 80)
painter->setBrush(QColor(255, 255, 0, 128)); //黄
else
painter->setBrush(QColor(255, 0, 0, 128)); //红
float currentPie = - (360 * (mi.percent/100)); //负数顺时针0*16为3点钟位置
painter->drawPie(pieRect, 90*16, currentPie*16); //绘制扇形90*16为初始12点钟位置
painter->restore();
if(mi.swappercent > 0 && mi.swappercent < 50)
painter->setBrush(QColor(0, 255, 0, 128)); //绿
else if(mi.swappercent < 80)
painter->setBrush(QColor(255, 255, 0, 128)); //黄
else
painter->setBrush(QColor(255, 0, 0, 128)); //红
float swapcurrentPie = - (360 * (mi.swappercent/100)); //负数顺时针
painter->drawPie(swappieRect, 90*16, swapcurrentPie*16);//绘制扇形90*16为初始12点钟位置
painter->restore();
}
void MemoryWidget::drawText(QPainter *painter)
{
painter->save();
//内存百分比矩形
QPointF topLeft(center.x()-circleRadius, center.y()-circleRadius);
QPointF bottomRight(center.x()+circleRadius, center.y()+circleRadius);
QRectF textRect(topLeft, bottomRight);
//内存状态矩形
QPointF statustopLeft(center.x() - rectWidth, center.y()+circleRadius);
QPointF statusbottomRight(center.x() + rectWidth, center.y()+circleRadius+rectHeight);
QRectF statusRect(statustopLeft, statusbottomRight);
//SWAP百分比矩形
QPointF swaptopLeft(swapcenter.x()-circleRadius, swapcenter.y()-circleRadius);
QPointF swapbottomRight(swapcenter.x()+circleRadius, swapcenter.y()+circleRadius);
QRectF swaptextRect(swaptopLeft, swapbottomRight);
//SWAP状态矩形
QPointF swapstatustopLeft(swapcenter.x() - rectWidth, swapcenter.y() + circleRadius);
QPointF swapstatusbottomRight(swapcenter.x() + rectWidth, center.y()+circleRadius+rectHeight);
QRectF swapstatusRect(swapstatustopLeft, swapstatusbottomRight);
//内存状态内容
QString statusStr = tr("Used %1(%2%), Total %3").arg(formatMemory(mi.user)).arg(QString::number(mi.percent, 'f', 1)).arg(formatMemory(mi.total));
//SWAP状态内容
QString swapstatusStr = tr("Used %1(%2%), Total %3").arg(formatMemory(mi.swapused)).arg(QString::number(mi.swappercent, 'f', 1)).arg(formatMemory(mi.swaptotal));
painter->save();
//百分比字体设置
QFont font;
font.setPointSize(0.5*circleRadius);
font.setBold(true);
painter->setFont(font);
painter->setPen(Qt::red);
//绘制内存百分比
painter->drawText(textRect, Qt::AlignVCenter | Qt::AlignHCenter, QString::number(mi.percent, 'f', 1));
//绘制SWAP百分比
painter->drawText(swaptextRect, Qt::AlignVCenter | Qt::AlignHCenter, QString::number(mi.swappercent, 'f', 1));
painter->restore();
//状态字体设置
QFont fontf;
fontf.setPointSize(0.08*rectWidth);
fontf.setBold(true);
painter->setFont(fontf);
//绘制内存状态
painter->drawText(statusRect, Qt::AlignVCenter | Qt::AlignHCenter, statusStr);
//绘制SWAP状态
painter->drawText(swapstatusRect, Qt::AlignVCenter | Qt::AlignHCenter, swapstatusStr);
painter->restore();
const QString info = QString("%1/%2(%3%)").arg(formatMemory(mi.user)).arg(formatMemory(mi.total)).arg(QString::number(mi.percent, 'f', 1));
emit rebackMemoryInfo(info, mi.percent);
delete m_title;
delete m_memoryCircle;
QLayoutItem *child;
while ((child = m_widgetLayout->takeAt(0)) != 0) {
if (child->widget())
child->widget()->deleteLater();
delete child;
}
delete mainLayout;
}
void MemoryWidget::onUpdateMemoryStatus()
{
glibtop_mem mem;
glibtop_swap swap;
glibtop_get_mem(&mem);
glibtop_get_swap(&swap);
float swappercent = (swap.total ? (float)swap.used / (float)swap.total : 0.0f);
float mempercent = (float)mem.user / (float)mem.total;
mi.percent = mempercent * 100;
mi.swappercent = swappercent * 100;
//初始单位为字节,需要修正
mi.user = mem.user;
mi.total = mem.total;
mi.swapused = swap.used;
mi.swaptotal = swap.total;
repaint();
m_memoryCircle->onUpdateMemoryStatus();
}

View File

@ -2,29 +2,11 @@
#define MEMORYWIDGET_H
#include <QWidget>
#include <QPainter>
#include <QImage>
#include <QLabel>
#include <QVBoxLayout>
#include <glibtop/mem.h>
#include <glibtop/swap.h>
typedef struct MemoryInfo
{
float total;
float free;
float cached;
float used;
float user;
float percent;
float swaptotal;
float swapfree;
float swapcached;
float swapused;
float swappercent;
}Meminfo;
class MemoryCircle;
class MemoryWidget : public QWidget
{
@ -34,29 +16,17 @@ public:
MemoryWidget(QWidget *parent = 0);
~MemoryWidget();
void drawCircle(QPainter * painter);
void drawColorPie(QPainter * painter);
void drawText(QPainter * painter);
public slots:
void onUpdateMemoryStatus();
signals:
void rebackMemoryInfo(const QString &info, double percent);
protected:
void paintEvent(QPaintEvent * event);
private:
qreal circleRadius;
qreal rectWidth;
qreal rectHeight;
qreal colorPieRadius;
QPointF center;
QPointF swapcenter;
QRectF pieRect;
QRectF swappieRect;
Meminfo mi;
QLabel *m_title = nullptr;
MemoryCircle *m_memoryCircle = nullptr;
QVBoxLayout *m_widgetLayout = nullptr;
QHBoxLayout *mainLayout = nullptr;
};
#endif // MEMORYWIDGET_H

View File

@ -101,25 +101,19 @@ inline QString formatNetworkRate(guint64 rate)
}
NetworkFlow::NetworkFlow(QWidget *parent) : QWidget(parent)
,m_outsideBorderColor(QColor("#009944"))
,m_bgColor(QColor("#ffffff"))
,m_downloadColor(QColor("#009944"))
,m_uploadColor(QColor("#e60012"))
{
setFixedSize(302, 200);
setFixedSize(403, 240);
receiveText = tr("Receive");
sendText = tr("Send");
m_netMaxHeight = 60;
m_pointSpace = 10;
// math1_radio = new QRadioButton();
// math2_radio = new QRadioButton();
// math1_radio->setFocusPolicy(Qt::NoFocus);
// math1_radio->setObjectName("math1");
// math2_radio->setFocusPolicy(Qt::NoFocus);
// math2_radio->setObjectName("math2");
// math1_radio->setChecked(false);
// math2_radio->setChecked(true);
// math1_radio->move(10,10);
// math2_radio->move(100,10);
// connect(math1_radio, SIGNAL(clicked()), this, SLOT(setRadioButtonRowStatus()));
// connect(math2_radio, SIGNAL(clicked()), this, SLOT(setRadioButtonRowStatus()));
m_pointsCount = int((this->width() -2) / m_pointSpace);
m_downloadSpeedList = new QList<long>();
for (int i = 0; i < m_pointsCount; i++) {
@ -147,21 +141,6 @@ NetworkFlow::~NetworkFlow()
delete m_gridY;
}
void NetworkFlow::setRadioButtonRowStatus()
{
QObject *obj = sender(); //返回发出信号的对象用QObject类型接收
QRadioButton* pbtn = qobject_cast<QRadioButton*>(obj);
QString obj_name = pbtn->objectName();
if(obj_name == "math1")
{
}
else if(obj_name == "math2")
{
}
}
//http://www.qtdebug.com/qtbook-paint-smooth-curve/
void NetworkFlow::onUpdateNetworkStatus(long recvTotalBytes, long sentTotalBytes, long recvRateBytes, long sentRateBytes)
{
@ -229,8 +208,6 @@ void NetworkFlow::onUpdateNetworkStatus(long recvTotalBytes, long sentTotalBytes
}
m_uploadPath = SmoothCurveGenerator::generateSmoothCurve(uploadPoints);
// emit rebackNetworkPainterPath(m_downloadPath, m_uploadPath);
repaint();
}
@ -240,117 +217,75 @@ void NetworkFlow::paintEvent(QPaintEvent *)
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);//反走样,绘制出来的线条会出现锯齿
QFont font = painter.font();
font.setPointSize(22);
font.setWeight(QFont::Light);
painter.setFont(font);
painter.setPen(QPen(QColor("#303030")));
painter.drawText(QRect(rect().x() + 2, rect().y(), rect().width() - 4, rect().height()), Qt::AlignLeft | Qt::AlignTop, tr("Network"));//绘制文本
setFontSize(painter, 12);
QFontMetrics fm = painter.fontMetrics();
QString downloadTitle = QString("%1 %2").arg(tr("Receiving")).arg(formatNetworkRate(m_recvRateBytes));
QString downloadContent = QString("%1 %2").arg(tr("Total Received")).arg(formatNetwork(m_recvTotalBytes));//接收
QString uploadTitle = QString("%1 %2").arg(tr("Sending")).arg(formatNetworkRate(m_sentRateBytes));
QString uploadContent = QString("%1 %2").arg(tr("Total Sent")).arg(formatNetwork(m_sentTotalBytes));//发送
int rateW = std::max(fm.width(downloadTitle), fm.width(uploadTitle));
//download
painter.setOpacity(1);
QSvgRenderer uploadRender(QString("://res/download.svg"));
QImage uploadimage(20, 20, QImage::Format_ARGB32);
uploadimage.fill(QColor("#1E90FF"));
QPainter uploadPainter(&uploadimage);
uploadPainter.setRenderHint(QPainter::Antialiasing, true);
// uploadPainter.setCompositionMode(QPainter::CompositionMode_SourceOver);//默认模式,源的alpha将目标顶部的像素混合
uploadRender.render(&uploadPainter);
painter.drawImage(rect().x() + 2, rect().y() + 40, uploadimage);
// uploadPainter.setCompositionMode(QPainter::CompositionMode_SourceIn);//输出是源其中alpha被目标的值减少 设置画刷的组合模式CompositionMode_SourceIn这个模式为目标图像在下
// uploadPainter.end();
setFontSize(painter, 12);
painter.setPen(QPen(QColor("#1E90FF")));
painter.drawText(QRect(rect().x() + 20 + 5, rect().y() + 40, fm.width(downloadTitle), rect().height()), Qt::AlignLeft | Qt::AlignTop, downloadTitle);
painter.drawText(QRect(rect().x() + 20 + rateW + 14, rect().y() + 40, fm.width(downloadContent), rect().height()), Qt::AlignLeft | Qt::AlignTop, downloadContent);
//upload
QSvgRenderer downloadRender(QString("://res/upload.svg"));
QImage downloadimage(20, 20, QImage::Format_ARGB32);
downloadimage.fill(QColor("#FF0000"));
QPainter downloadPainter(&downloadimage);
downloadPainter.setRenderHint(QPainter::Antialiasing, true);
// downloadPainter.setCompositionMode(QPainter::CompositionMode_SourceOver);//默认模式,源的alpha将目标顶部的像素混合
downloadRender.render(&downloadPainter);
painter.drawImage(rect().x() + 2, rect().y() + 70, downloadimage);
// downloadPainter.setCompositionMode(QPainter::CompositionMode_SourceIn);//输出是源其中alpha被目标的值减少 设置画刷的组合模式CompositionMode_SourceIn这个模式为目标图像在下
// downloadPainter.end();
setFontSize(painter, 12);
painter.setPen(QPen(QColor("#FF0000")));
painter.drawText(QRect(rect().x() + 20 + 5, rect().y() + 70, fm.width(uploadTitle), rect().height()), Qt::AlignLeft | Qt::AlignTop, uploadTitle);
painter.drawText(QRect(rect().x() + 20 + rateW + 14, rect().y() + 70, fm.width(uploadContent), rect().height()), Qt::AlignLeft | Qt::AlignTop, uploadContent);
//网格背景
painter.setBrush(QBrush(QColor("#AFEEEE")));
painter.setRenderHint(QPainter::Antialiasing, false);
QPen framePen;
painter.setOpacity(0.1);
framePen.setColor(QColor("#303030"));
framePen.setWidth(0.5);
painter.setPen(framePen);
int penSize = 1;
int gridX = rect().x() + penSize;
int gridY = rect().y() + 95;
int gridY = rect().y() + 10;
int gridWidth = rect().width() - penSize * 2;
int gridHeight = 100;
int gridHeight = 90;
QPainterPath framePath;
framePath.addRect(QRect(gridX, gridY, gridWidth, gridHeight));
painter.drawPath(framePath);
//网格
QPen gridPen;
QVector<qreal> dashes;
qreal space = 4;
dashes << 1 << space << 3 << space << 9 << space << 27 << space << 9 << space;
painter.setOpacity(0.05);
gridPen.setColor(QColor("#303030"));
gridPen.setWidth(0.5);
gridPen.setDashPattern(dashes);
painter.setPen(gridPen);
int gridLineX = gridX;
while (gridLineX < gridX + gridWidth - 100) {
gridLineX += 100;
painter.drawLine(gridLineX, gridY + 1, gridLineX, gridY + gridHeight - 1);
}
painter.setPen(gridPen);
m_gridY->clear();
int gridLineY = gridY;
while (gridLineY < gridY + gridHeight - 20) {
gridLineY += 20;
painter.drawLine(gridX + 1, gridLineY, gridX + gridWidth - 1, gridLineY);
m_gridY->append(gridLineY);
}
//border of rect
QPainterPath borderPath;
borderPath.addRoundedRect(QRect(rect().x(), rect().y() + 9, gridWidth + penSize * 2, gridHeight + penSize * 2), 0, 0);
QPen pen(this->m_outsideBorderColor, 1);
painter.setPen(pen);
painter.drawPath(borderPath);
//background of rect
painter.setOpacity(1);
painter.setRenderHint(QPainter::Antialiasing, true);
//利用translate()函数进行平移变换
painter.translate((rect().width() - m_pointsCount * m_pointSpace - 2) / 2 + 6, 175);//将坐标第原点移动到该点
//利用scale()函数进行比例变换,实现缩放效果
QPainterPath framePath;
framePath.addRect(QRectF(gridX, gridY, gridWidth, gridHeight));
painter.fillPath(framePath, this->m_bgColor);//painter.drawPath(framePath);
painter.save();
//draw download smoothcurve
painter.setOpacity(1);
painter.translate((rect().width() - m_pointsCount * m_pointSpace - 2) / 2 + 6, 80);//将坐标第原点移动到该点
painter.scale(1, -1);//将横坐标扩大1倍,将纵坐标缩小1倍
//使用QPainterPath画贝塞尔曲线
painter.setPen(QPen(QColor("#1E90FF"), 1));
painter.setPen(QPen(this->m_downloadColor, 1));
painter.setBrush(QBrush());
painter.drawPath(m_downloadPath);//绘制前面创建的path:m_downloadPath
painter.translate(0, -8);//将点0-8设为原点
// painter.translate(0, 2);
// painter.scale(1, -1);
painter.setPen(QPen(QColor("#FF0000"), 1));
//draw upload smoothcurve
painter.translate(0, -8);
painter.setPen(QPen(this->m_uploadColor, 1));
painter.setBrush(QBrush());
painter.drawPath(m_uploadPath);
painter.restore();
painter.setRenderHint(QPainter::Antialiasing, true);
setFontSize(painter, 12);
QFontMetrics fm = painter.fontMetrics();
int receiveTextWidth = fm.width(this->receiveText);
int sendTextWidth = fm.width(this->sendText);
painter.setPen(QPen(QColor("#000000"), 1));
painter.drawText(QRect(gridX, gridHeight + 10, receiveTextWidth, 30), Qt::AlignLeft | Qt::AlignVCenter, this->receiveText);
painter.drawText(QRect(gridX + receiveTextWidth*2, gridHeight + 10, sendTextWidth, 30), Qt::AlignLeft | Qt::AlignVCenter, this->sendText);
painter.setPen(QPen(QColor("#009944"), 1));
painter.drawLine(gridX + receiveTextWidth + 5, gridHeight + 10 + 30/2, gridX + receiveTextWidth*2 - 10, gridHeight + 10 + 30/2);
painter.setPen(QPen(QColor("#e60012"), 1));
painter.drawLine(gridX + receiveTextWidth*2 + sendTextWidth + 5, gridHeight + 10 + 30/2, gridX + receiveTextWidth*3 + sendTextWidth - 10, gridHeight + 10 + 30/2);
int contentWidth = 180;
//draw title
setFontSize(painter, 12);
painter.setPen(QPen(QColor("#999999")));
painter.drawText(QRect(gridX, gridHeight + 40, contentWidth, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Receiving"));
painter.drawText(QRect(gridX + contentWidth, gridHeight + 40, contentWidth, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Sending"));
painter.drawText(QRect(gridX, gridHeight + 95, contentWidth, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Total Received"));
painter.drawText(QRect(gridX + contentWidth, gridHeight + 95, contentWidth, 30), Qt::AlignLeft |Qt::AlignVCenter, tr("Total Sent"));
//draw text data
setFontSize(painter, 20);
QFontMetrics fms = painter.fontMetrics();
painter.setPen(QPen(QColor("#000000")));
const QString downloadRate = formatNetworkRate(m_recvRateBytes);
const QString downloadContent = formatNetwork(m_recvTotalBytes);//接收
const QString uploadRate = formatNetworkRate(m_sentRateBytes);
const QString uploadContent = formatNetwork(m_sentTotalBytes);
painter.drawText(QRect(gridX, gridHeight + 65, fms.width(downloadRate), 30), Qt::AlignLeft |Qt::AlignVCenter, downloadRate);
painter.drawText(QRect(gridX + contentWidth, gridHeight + 65, fms.width(uploadRate), 30), Qt::AlignLeft |Qt::AlignVCenter, uploadRate);
painter.drawText(QRect(gridX, gridHeight + 120, fms.width(downloadContent), 30), Qt::AlignLeft |Qt::AlignVCenter, downloadContent);
painter.drawText(QRect(gridX + contentWidth, gridHeight + 120, fms.width(uploadContent), 30), Qt::AlignLeft |Qt::AlignVCenter, uploadContent);
}

View File

@ -22,7 +22,6 @@
#define NETWORKFLOW_H
#include <QWidget>
#include <QRadioButton>
class NetworkFlow : public QWidget
{
@ -34,10 +33,6 @@ public:
public slots:
void onUpdateNetworkStatus(long recvTotalBytes, long sentTotalBytes, long recvRateKbs, long sentRateKbs);
void setRadioButtonRowStatus();
signals:
// void rebackNetworkPainterPath(QPainterPath downloadPath, QPainterPath uploadPath);
protected:
void paintEvent(QPaintEvent *event);
@ -57,8 +52,14 @@ private:
long m_sentRateBytes;
QList<int> *m_gridY;
int m_pointSpace;
// QRadioButton *math1_radio;
// QRadioButton *math2_radio;
QColor m_outsideBorderColor;
QColor m_bgColor;
QColor m_downloadColor;
QColor m_uploadColor;
QString receiveText;
QString sendText;
};
#endif // NETWORKFLOW_H

View File

@ -34,6 +34,8 @@ NetworkIndicator::NetworkIndicator(QWidget *parent)
}
m_gridY = new QList<int>();
setNetworkState(Normal);
}
NetworkIndicator::~NetworkIndicator()

View File

@ -0,0 +1,94 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin Kylin Ltd.
*
* Authors:
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "networkwidget.h"
#include "networkflow.h"
#include <QDebug>
#include <QPainter>
#include <QApplication>
#include <QButtonGroup>
NetworkWidget::NetworkWidget(QWidget *parent) : QWidget(parent)
{
// setFixedSize(302, 200);
mainLayout = new QHBoxLayout(this);
mainLayout->setContentsMargins(0, 0, 0, 0);
QWidget *w = new QWidget;
w->setFixedSize(500, 400);
m_widgetLayout = new QVBoxLayout(w);
m_widgetLayout->setContentsMargins(6, 0, 0, 0);
m_widgetLayout->setSpacing(0);
m_title = new QLabel(tr("Network"));
m_title->setAlignment(Qt::AlignLeft | Qt::AlignTop);
m_title->setStyleSheet("font-size: 22px; color:#303030");
QFont font = m_title->font();
font.setPointSize(22);
font.setWeight(QFont::Light);
m_title->setFont(font);
m_networkFlow = new NetworkFlow;
m_widgetLayout->addWidget(m_title, 0, Qt::AlignTop);
m_widgetLayout->addWidget(m_networkFlow);
mainLayout->addWidget(w, 0, Qt::AlignCenter);
// math1_radio = new QRadioButton();
// math2_radio = new QRadioButton();
// math1_radio->setFocusPolicy(Qt::NoFocus);
// math1_radio->setObjectName("math1");
// math2_radio->setFocusPolicy(Qt::NoFocus);
// math2_radio->setObjectName("math2");
// math1_radio->setChecked(false);
// math2_radio->setChecked(true);
// math1_radio->move(10,10);
// math2_radio->move(100,10);
// connect(math1_radio, SIGNAL(clicked()), this, SLOT(setRadioButtonRowStatus()));
// connect(math2_radio, SIGNAL(clicked()), this, SLOT(setRadioButtonRowStatus()));
}
NetworkWidget::~NetworkWidget()
{
}
void NetworkWidget::setRadioButtonRowStatus()
{
QObject *obj = sender(); //返回发出信号的对象用QObject类型接收
QRadioButton* pbtn = qobject_cast<QRadioButton*>(obj);
QString obj_name = pbtn->objectName();
if(obj_name == "math1")
{
}
else if(obj_name == "math2")
{
}
}
void NetworkWidget::onUpdateNetworkStatus(long recvTotalBytes, long sentTotalBytes, long recvRateBytes, long sentRateBytes)
{
m_networkFlow->onUpdateNetworkStatus(recvTotalBytes, sentTotalBytes, recvRateBytes, sentRateBytes);
}

View File

@ -0,0 +1,52 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin Kylin Ltd.
*
* Authors:
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef NETWORKWIDGET_H
#define NETWORKWIDGET_H
#include <QWidget>
#include <QRadioButton>
#include <QImage>
#include <QLabel>
#include <QVBoxLayout>
class NetworkFlow;
class NetworkWidget : public QWidget
{
Q_OBJECT
public:
NetworkWidget(QWidget *parent = 0);
~NetworkWidget();
public slots:
void onUpdateNetworkStatus(long recvTotalBytes, long sentTotalBytes, long recvRateKbs, long sentRateKbs);
void setRadioButtonRowStatus();
private:
QLabel *m_title = nullptr;
NetworkFlow *m_networkFlow = nullptr;
QVBoxLayout *m_widgetLayout = nullptr;
QHBoxLayout *mainLayout = nullptr;
// QRadioButton *math1_radio;
// QRadioButton *math2_radio;
};
#endif // NETWORKWIDGET_H

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +0,0 @@
<RCC>
<qresource prefix="/">
<file>res/wave-front.png</file>
<file>res/wave-back.png</file>
<file>../../src/res/kylin-assistant.png</file>
<file>res/upload.svg</file>
<file>res/download.svg</file>
</qresource>
</RCC>

View File

@ -18,9 +18,9 @@
*/
#include "resourcesdialog.h"
#include "cpuoccupancyrate.h"
#include "cpuratewidget.h"
#include "memorywidget.h"
#include "networkflow.h"
#include "networkwidget.h"
#include "resourcescategory.h"
#include <glibtop/netload.h>
@ -141,10 +141,10 @@ ResouresDialog::ResouresDialog(QWidget *parent)
m_hlayout = new QHBoxLayout(this);
m_hlayout->setContentsMargins(0, 0, 0, 0);
// splitter = new QSplitter(this);
// splitter->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
// splitter->setOrientation(Qt::Horizontal);
// splitter->setHandleWidth(1);
splitter = new QSplitter(this);
splitter->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
splitter->setOrientation(Qt::Horizontal);
splitter->setHandleWidth(1);
m_stack = new QStackedWidget(this);
m_stack->setStyleSheet("QStackedWidget{background: rgb(255, 255, 255);}");
@ -154,9 +154,9 @@ ResouresDialog::ResouresDialog(QWidget *parent)
connect(m_resourcesCategory, SIGNAL(switchResoucesPage(int)), this, SLOT(onSwitchResoucesPage(int)));
// m_vlayout = new QVBoxLayout;
m_cpuWidget = new CpuOccupancyRate();
m_cpuWidget = new CpuRateWidget();
m_memoryWidget = new MemoryWidget();
m_networkWidget = new NetworkFlow();
m_networkWidget = new NetworkWidget();
// m_vlayout->addWidget(m_cpuWidget, 0, Qt::AlignHCenter);
// m_vlayout->addWidget(m_memoryWidget, 0, Qt::AlignHCenter);
// m_vlayout->addWidget(m_networkWidget, 0, Qt::AlignHCenter);
@ -165,13 +165,12 @@ ResouresDialog::ResouresDialog(QWidget *parent)
m_stack->addWidget(m_networkWidget);
m_stack->setCurrentWidget(m_cpuWidget);
m_hlayout->addWidget(m_resourcesCategory);
/*m_hlayout->addWidget(m_resourcesCategory);
// m_hlayout->addLayout(m_vlayout);
m_hlayout->addWidget(m_stack);
// splitter->addWidget(m_resourcesCategory);
// splitter->addWidget(m_stack);
// m_hlayout->addWidget(splitter);
m_hlayout->addWidget(m_stack);*/
splitter->addWidget(m_resourcesCategory);
splitter->addWidget(m_stack);
m_hlayout->addWidget(splitter);
connect(this, SIGNAL(updateNetworkStatus(long,long,long,long)), m_networkWidget, SLOT(onUpdateNetworkStatus(long,long,long,long)), Qt::QueuedConnection);
connect(this, SIGNAL(updateMemoryStatus()), m_memoryWidget, SLOT(onUpdateMemoryStatus()));
@ -183,9 +182,6 @@ ResouresDialog::ResouresDialog(QWidget *parent)
connect(this, SIGNAL(updateCpuStatus(double)), m_resourcesCategory, SLOT(onUpdateCpuPercent(double)), Qt::QueuedConnection);
connect(this, SIGNAL(updateNetworkStatus(long,long,long,long)), m_resourcesCategory, SLOT(onUpdateNetworkStatus(long,long,long,long)), Qt::QueuedConnection);
// connect(m_networkWidget, &NetworkFlow::rebackNetworkPainterPath, this, [=] (QPainterPath downloadPath, QPainterPath uploadPath) {
// m_resourcesCategory->onUpdateNetworkPainterPath(downloadPath, uploadPath);
// });
updateStatusTimer = new QTimer(this);
connect(updateStatusTimer, SIGNAL(timeout()), this, SLOT(updateResourceStatus()));

View File

@ -24,9 +24,9 @@
#include <QSplitter>
class ResourcesCategory;
class CpuOccupancyRate;
class CpuRateWidget;
class MemoryWidget;
class NetworkFlow;
class NetworkWidget;
class ResouresDialog : public QWidget
{
@ -65,10 +65,10 @@ private:
QHBoxLayout *m_hlayout = nullptr;
// QVBoxLayout *m_vlayout = nullptr;
ResourcesCategory * m_resourcesCategory = nullptr;
CpuOccupancyRate *m_cpuWidget = nullptr;
CpuRateWidget *m_cpuWidget = nullptr;
MemoryWidget *m_memoryWidget = nullptr;
NetworkFlow *m_networkWidget = nullptr;
NetworkWidget *m_networkWidget = nullptr;
// QSplitter *splitter = nullptr;
QSplitter *splitter = nullptr;
QStackedWidget *m_stack = nullptr;
};

View File

@ -30,6 +30,7 @@ ResourcesIndicator::ResourcesIndicator(int flag, QWidget *parent)
else {
m_borderColor = Qt::transparent;
}
setResourcesState(Normal);
/*m_layout = new QHBoxLayout(this);
m_layout->setContentsMargins(5,5,5,5);

View File

@ -54,11 +54,13 @@ HEADERS += \
diskmodel.h \
diskinfo.h \
../widgets/mysearchedit.h \
networkwidget.h \
networkflow.h \
cpuoccupancyrate.h \
cpuratewidget.h \
cpuballwidget.h \
smoothcurvegenerator.h \
memorywidget.h \
memorycircle.h \
networkindicator.h \
resourcesindicator.h \
resourcescategory.h
@ -89,11 +91,13 @@ SOURCES += \
diskmodel.cpp \
diskinfo.cpp \
../widgets/mysearchedit.cpp \
networkwidget.cpp \
networkflow.cpp \
cpuoccupancyrate.cpp \
cpuratewidget.cpp \
cpuballwidget.cpp \
smoothcurvegenerator.cpp \
memorywidget.cpp \
memorycircle.cpp \
networkindicator.cpp \
resourcesindicator.cpp \
resourcescategory.cpp

View File

@ -214,8 +214,6 @@
<file>res/menu_selected.png</file>
<file>res/download.svg</file>
<file>res/upload.svg</file>
<file>res/wave-back.png</file>
<file>res/wave-front.png</file>
<file>res/disk.png</file>
<file>res/sub_logo.png</file>
<file>res/user_proc.png</file>
@ -223,6 +221,10 @@
<file>res/all_proc.png</file>
<file>res/arrow_down.png</file>
<file>res/arrow_up.png</file>
<file>res/wave_front.png</file>
<file>res/wave_front_small.png</file>
<file>res/wave_back.png</file>
<file>res/wave_back_small.png</file>
</qresource>
<qresource prefix="/sys">
<file>res/sysBtn/close_button.png</file>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/res/wave_back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
src/res/wave_back_small.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
src/res/wave_front.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -532,9 +532,9 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>CpuOccupancyRate</name>
<name>CpuRateWidget</name>
<message>
<location filename="../../plugins/systemmonitor/cpuoccupancyrate.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/cpuratewidget.cpp" line="40"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
@ -1346,16 +1346,41 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>MemoryWidget</name>
<name>MemoryCircle</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="140"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="132"/>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="134"/>
<source>Used %1(%2), Total %3</source>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="141"/>
<source>Swap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="147"/>
<source>Used(Percent)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="148"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="149"/>
<source>Total</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="155"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="156"/>
<source>%1(%2%)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MemoryWidget</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="19"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -1415,10 +1440,35 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>MonitorTitleWidget</name>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="109"/>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="239"/>
<source>Kylin System Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="299"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="303"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="307"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="360"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="374"/>
<source>Enter the relevant info of process</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MouseWidget</name>
@ -1446,31 +1496,44 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>NetworkFlow</name>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="246"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="250"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="274"/>
<source>Receiving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="251"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="276"/>
<source>Total Received</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="252"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="275"/>
<source>Sending</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="253"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="111"/>
<source>Receive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="112"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="277"/>
<source>Total Sent</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NetworkWidget</name>
<message>
<location filename="../../plugins/systemmonitor/networkwidget.cpp" line="41"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NormalCard</name>
<message>
@ -1565,49 +1628,49 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>ProcessDialog</name>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="162"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="161"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="175"/>
<source>End process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<source>Ending a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be ended.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="145"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="151"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="166"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="152"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="167"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="177"/>
<source>Kill process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<source>Killing a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be killed.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="171"/>
<source>Stop process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="173"/>
<source>Continue process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="189"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="202"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
@ -1615,28 +1678,28 @@ Are you sure to continue?</source>
<context>
<name>ProcessListItem</name>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="73"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<source>Stopped</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="75"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="86"/>
<source>Zombie</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="79"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="88"/>
<source>No response</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="90"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="92"/>
<source>Uninterruptible</source>
<translation type="unfinished"></translation>
</message>
@ -1644,47 +1707,50 @@ Are you sure to continue?</source>
<context>
<name>ProcessListWidget</name>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Process Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>User</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Command Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Priority</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="677"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="821"/>
<source>No search result</source>
<translation type="unfinished"></translation>
</message>
@ -1705,27 +1771,27 @@ Are you sure to continue?</source>
<context>
<name>PropertiesDialog</name>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="75"/>
<source>User name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="89"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="87"/>
<source>Process name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="101"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="99"/>
<source>Command line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="117"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="115"/>
<source>CPU Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="130"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="128"/>
<source>Started Time</source>
<translation type="unfinished"></translation>
</message>
@ -2472,6 +2538,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="24"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="50"/>
<source>byte</source>
<translation type="unfinished"></translation>
@ -2482,6 +2549,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="27"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="56"/>
<source>bytes</source>
<translation type="unfinished"></translation>
@ -2492,6 +2560,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="66"/>
<source>KiB</source>
<translation type="unfinished"></translation>
@ -2502,6 +2571,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="72"/>
<source>MiB</source>
<translation type="unfinished"></translation>
@ -2512,6 +2582,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="40"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="78"/>
<source>GiB</source>
<translation type="unfinished"></translation>
@ -2522,6 +2593,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="43"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="84"/>
<source>TiB</source>
<translation type="unfinished"></translation>
@ -2540,6 +2612,24 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ResourcesCategory</name>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="35"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="37"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="39"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingAction</name>
<message>
@ -2688,29 +2778,6 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="236"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="237"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="238"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="260"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolWidget</name>
<message>

View File

@ -532,9 +532,9 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>CpuOccupancyRate</name>
<name>CpuRateWidget</name>
<message>
<location filename="../../plugins/systemmonitor/cpuoccupancyrate.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/cpuratewidget.cpp" line="40"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
@ -1346,16 +1346,41 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>MemoryWidget</name>
<name>MemoryCircle</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="140"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="132"/>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="134"/>
<source>Used %1(%2), Total %3</source>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="141"/>
<source>Swap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="147"/>
<source>Used(Percent)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="148"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="149"/>
<source>Total</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="155"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="156"/>
<source>%1(%2%)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MemoryWidget</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="19"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -1415,10 +1440,35 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>MonitorTitleWidget</name>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="109"/>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="239"/>
<source>Kylin System Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="299"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="303"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="307"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="360"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="374"/>
<source>Enter the relevant info of process</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MouseWidget</name>
@ -1446,31 +1496,44 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>NetworkFlow</name>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="246"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="250"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="274"/>
<source>Receiving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="251"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="276"/>
<source>Total Received</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="252"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="275"/>
<source>Sending</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="253"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="111"/>
<source>Receive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="112"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="277"/>
<source>Total Sent</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NetworkWidget</name>
<message>
<location filename="../../plugins/systemmonitor/networkwidget.cpp" line="41"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NormalCard</name>
<message>
@ -1565,49 +1628,49 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>ProcessDialog</name>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="162"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="161"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="175"/>
<source>End process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<source>Ending a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be ended.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="145"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="151"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="166"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="152"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="167"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="177"/>
<source>Kill process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<source>Killing a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be killed.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="171"/>
<source>Stop process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="173"/>
<source>Continue process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="189"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="202"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
@ -1615,28 +1678,28 @@ Are you sure to continue?</source>
<context>
<name>ProcessListItem</name>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="73"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<source>Stopped</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="75"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="86"/>
<source>Zombie</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="79"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="88"/>
<source>No response</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="90"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="92"/>
<source>Uninterruptible</source>
<translation type="unfinished"></translation>
</message>
@ -1644,47 +1707,50 @@ Are you sure to continue?</source>
<context>
<name>ProcessListWidget</name>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Process Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>User</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Command Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Priority</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="677"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="821"/>
<source>No search result</source>
<translation type="unfinished"></translation>
</message>
@ -1705,27 +1771,27 @@ Are you sure to continue?</source>
<context>
<name>PropertiesDialog</name>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="75"/>
<source>User name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="89"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="87"/>
<source>Process name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="101"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="99"/>
<source>Command line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="117"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="115"/>
<source>CPU Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="130"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="128"/>
<source>Started Time</source>
<translation type="unfinished"></translation>
</message>
@ -2472,6 +2538,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="24"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="50"/>
<source>byte</source>
<translation type="unfinished"></translation>
@ -2482,6 +2549,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="27"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="56"/>
<source>bytes</source>
<translation type="unfinished"></translation>
@ -2492,6 +2560,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="66"/>
<source>KiB</source>
<translation type="unfinished"></translation>
@ -2502,6 +2571,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="72"/>
<source>MiB</source>
<translation type="unfinished"></translation>
@ -2512,6 +2582,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="40"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="78"/>
<source>GiB</source>
<translation type="unfinished"></translation>
@ -2522,6 +2593,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="43"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="84"/>
<source>TiB</source>
<translation type="unfinished"></translation>
@ -2540,6 +2612,24 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ResourcesCategory</name>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="35"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="37"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="39"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingAction</name>
<message>
@ -2688,29 +2778,6 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="236"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="237"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="238"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="260"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolWidget</name>
<message>

View File

@ -532,9 +532,9 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>CpuOccupancyRate</name>
<name>CpuRateWidget</name>
<message>
<location filename="../../plugins/systemmonitor/cpuoccupancyrate.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/cpuratewidget.cpp" line="40"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
@ -1346,16 +1346,41 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>MemoryWidget</name>
<name>MemoryCircle</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="140"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="132"/>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="134"/>
<source>Used %1(%2), Total %3</source>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="141"/>
<source>Swap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="147"/>
<source>Used(Percent)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="148"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="149"/>
<source>Total</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="155"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="156"/>
<source>%1(%2%)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MemoryWidget</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="19"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -1415,10 +1440,35 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>MonitorTitleWidget</name>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="109"/>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="239"/>
<source>Kylin System Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="299"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="303"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="307"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="360"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="374"/>
<source>Enter the relevant info of process</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MouseWidget</name>
@ -1446,31 +1496,44 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>NetworkFlow</name>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="246"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="250"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="274"/>
<source>Receiving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="251"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="276"/>
<source>Total Received</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="252"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="275"/>
<source>Sending</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="253"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="111"/>
<source>Receive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="112"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="277"/>
<source>Total Sent</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NetworkWidget</name>
<message>
<location filename="../../plugins/systemmonitor/networkwidget.cpp" line="41"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NormalCard</name>
<message>
@ -1565,49 +1628,49 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>ProcessDialog</name>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="162"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="161"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="175"/>
<source>End process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<source>Ending a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be ended.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="145"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="151"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="166"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="152"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="167"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="177"/>
<source>Kill process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<source>Killing a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be killed.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="171"/>
<source>Stop process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="173"/>
<source>Continue process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="189"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="202"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
@ -1615,28 +1678,28 @@ Are you sure to continue?</source>
<context>
<name>ProcessListItem</name>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="73"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<source>Stopped</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="75"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="86"/>
<source>Zombie</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="79"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="88"/>
<source>No response</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="90"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="92"/>
<source>Uninterruptible</source>
<translation type="unfinished"></translation>
</message>
@ -1644,47 +1707,50 @@ Are you sure to continue?</source>
<context>
<name>ProcessListWidget</name>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Process Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>User</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Command Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Priority</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="677"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="821"/>
<source>No search result</source>
<translation type="unfinished"></translation>
</message>
@ -1705,27 +1771,27 @@ Are you sure to continue?</source>
<context>
<name>PropertiesDialog</name>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="75"/>
<source>User name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="89"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="87"/>
<source>Process name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="101"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="99"/>
<source>Command line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="117"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="115"/>
<source>CPU Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="130"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="128"/>
<source>Started Time</source>
<translation type="unfinished"></translation>
</message>
@ -2472,6 +2538,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="24"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="50"/>
<source>byte</source>
<translation type="unfinished"></translation>
@ -2482,6 +2549,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="27"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="56"/>
<source>bytes</source>
<translation type="unfinished"></translation>
@ -2492,6 +2560,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="66"/>
<source>KiB</source>
<translation type="unfinished"></translation>
@ -2502,6 +2571,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="72"/>
<source>MiB</source>
<translation type="unfinished"></translation>
@ -2512,6 +2582,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="40"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="78"/>
<source>GiB</source>
<translation type="unfinished"></translation>
@ -2522,6 +2593,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="43"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="84"/>
<source>TiB</source>
<translation type="unfinished"></translation>
@ -2540,6 +2612,24 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ResourcesCategory</name>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="35"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="37"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="39"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingAction</name>
<message>
@ -2688,29 +2778,6 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="236"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="237"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="238"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="260"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolWidget</name>
<message>

View File

@ -532,9 +532,9 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>CpuOccupancyRate</name>
<name>CpuRateWidget</name>
<message>
<location filename="../../plugins/systemmonitor/cpuoccupancyrate.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/cpuratewidget.cpp" line="40"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
@ -1346,16 +1346,41 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
</message>
</context>
<context>
<name>MemoryWidget</name>
<name>MemoryCircle</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="140"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="132"/>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="134"/>
<source>Used %1(%2), Total %3</source>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="141"/>
<source>Swap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="147"/>
<source>Used(Percent)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="148"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="149"/>
<source>Total</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="155"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="156"/>
<source>%1(%2%)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MemoryWidget</name>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="19"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -1415,10 +1440,35 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>MonitorTitleWidget</name>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="109"/>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="239"/>
<source>Kylin System Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="299"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="303"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="307"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="360"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="374"/>
<source>Enter the relevant info of process</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MouseWidget</name>
@ -1446,31 +1496,44 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>NetworkFlow</name>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="246"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="250"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="274"/>
<source>Receiving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="251"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="276"/>
<source>Total Received</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="252"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="275"/>
<source>Sending</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="253"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="111"/>
<source>Receive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="112"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="277"/>
<source>Total Sent</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NetworkWidget</name>
<message>
<location filename="../../plugins/systemmonitor/networkwidget.cpp" line="41"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NormalCard</name>
<message>
@ -1565,49 +1628,49 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>ProcessDialog</name>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="162"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="161"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="175"/>
<source>End process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<source>Ending a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be ended.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="145"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="151"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="166"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="152"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="167"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="177"/>
<source>Kill process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<source>Killing a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be killed.
Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="171"/>
<source>Stop process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="173"/>
<source>Continue process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="189"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="202"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
@ -1615,28 +1678,28 @@ Are you sure to continue?</source>
<context>
<name>ProcessListItem</name>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="73"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<source>Stopped</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="75"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="86"/>
<source>Zombie</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="79"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="88"/>
<source>No response</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="90"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="92"/>
<source>Uninterruptible</source>
<translation type="unfinished"></translation>
</message>
@ -1644,47 +1707,50 @@ Are you sure to continue?</source>
<context>
<name>ProcessListWidget</name>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Process Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>User</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Command Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Priority</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="677"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="821"/>
<source>No search result</source>
<translation type="unfinished"></translation>
</message>
@ -1705,27 +1771,27 @@ Are you sure to continue?</source>
<context>
<name>PropertiesDialog</name>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="75"/>
<source>User name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="89"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="87"/>
<source>Process name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="101"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="99"/>
<source>Command line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="117"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="115"/>
<source>CPU Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="130"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="128"/>
<source>Started Time</source>
<translation type="unfinished"></translation>
</message>
@ -2472,6 +2538,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="24"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="50"/>
<source>byte</source>
<translation type="unfinished"></translation>
@ -2482,6 +2549,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="27"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="56"/>
<source>bytes</source>
<translation type="unfinished"></translation>
@ -2492,6 +2560,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="66"/>
<source>KiB</source>
<translation type="unfinished"></translation>
@ -2502,6 +2571,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="72"/>
<source>MiB</source>
<translation type="unfinished"></translation>
@ -2512,6 +2582,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="40"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="78"/>
<source>GiB</source>
<translation type="unfinished"></translation>
@ -2522,6 +2593,7 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="43"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="84"/>
<source>TiB</source>
<translation type="unfinished"></translation>
@ -2540,6 +2612,24 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ResourcesCategory</name>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="35"/>
<source>CPU</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="37"/>
<source>Memory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="39"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingAction</name>
<message>
@ -2688,29 +2778,6 @@ Are you sure to continue?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="236"/>
<source>Processes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="237"/>
<source>Resources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="238"/>
<source>File Systems</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="260"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ToolWidget</name>
<message>

View File

@ -1191,7 +1191,14 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>CpuOccupancyRate</name>
<message>
<location filename="../../plugins/systemmonitor/cpuoccupancyrate.cpp" line="34"/>
<source>CPU</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>CpuRateWidget</name>
<message>
<location filename="../../plugins/systemmonitor/cpuratewidget.cpp" line="40"/>
<source>CPU</source>
<translation></translation>
</message>
@ -2098,6 +2105,38 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>MemoryCircle</name>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="140"/>
<source>Memory</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="141"/>
<source>Swap</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="147"/>
<source>Used(Percent)</source>
<translation>使()</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="148"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="149"/>
<source>Total</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="155"/>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="156"/>
<source>%1(%2%)</source>
<translatorcomment>%1(%2%)</translatorcomment>
<translation></translation>
</message>
</context>
<context>
<name>MemoryWidget</name>
<message>
@ -2109,15 +2148,13 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<translation type="vanished"> %1</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="19"/>
<source>Memory</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="132"/>
<location filename="../../plugins/systemmonitor/memorywidget.cpp" line="134"/>
<source>Used %1(%2), Total %3</source>
<translation>使 %1(%2), %3</translation>
<translation type="vanished">使 %1(%2), %3</translation>
</message>
</context>
<context>
@ -2176,10 +2213,35 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>MonitorTitleWidget</name>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="109"/>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="239"/>
<source>Kylin System Monitor</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="299"/>
<source>Processes</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="303"/>
<source>Resources</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="307"/>
<source>File Systems</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="360"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/monitortitlewidget.cpp" line="374"/>
<source>Enter the relevant info of process</source>
<translation></translation>
</message>
</context>
<context>
<name>MonitorWidget</name>
@ -2249,31 +2311,48 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>NetworkFlow</name>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="246"/>
<source>Network</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="250"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="274"/>
<source>Receiving</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="251"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="276"/>
<source>Total Received</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="252"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="275"/>
<source>Sending</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="253"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="111"/>
<source>Receive</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="112"/>
<source>Send</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="277"/>
<source>Total Sent</source>
<translation></translation>
</message>
</context>
<context>
<name>NetworkWidget</name>
<message>
<location filename="../../plugins/systemmonitor/networkwidget.cpp" line="41"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NicWidget</name>
<message>
@ -2379,46 +2458,46 @@ Kylin Team &lt;ubuntukylin-members@list.launchpad.net&gt;</source>
<context>
<name>ProcessDialog</name>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="146"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="162"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="161"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="175"/>
<source>End process</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="143"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<source>Ending a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be ended.
Are you sure to continue?</source>
<translation>
</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="145"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="151"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="166"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="152"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="167"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="177"/>
<source>Kill process</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="149"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="164"/>
<source>Killing a process may destroy data, break the session or introduce a security risk. Only unresponsive processes should be killed.
Are you sure to continue?</source>
<translation>
</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="158"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="171"/>
<source>Stop process</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="160"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="173"/>
<source>Continue process</source>
<translation></translation>
</message>
@ -2451,7 +2530,7 @@ Are you sure to continue?</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="189"/>
<location filename="../../plugins/systemmonitor/processdialog.cpp" line="202"/>
<source>Properties</source>
<translation></translation>
</message>
@ -2459,28 +2538,28 @@ Are you sure to continue?</source>
<context>
<name>ProcessListItem</name>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="73"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<source>Stopped</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="75"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<source>Suspend</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="86"/>
<source>Zombie</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="79"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="88"/>
<source>No response</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="82"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="84"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="90"/>
<location filename="../../plugins/systemmonitor/processlistitem.cpp" line="92"/>
<source>Uninterruptible</source>
<translation></translation>
</message>
@ -2488,47 +2567,50 @@ Are you sure to continue?</source>
<context>
<name>ProcessListWidget</name>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Process Name</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>User</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Status</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>CPU</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>ID</source>
<translation>ID</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Command Line</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<source>Memory</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="65"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="57"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="743"/>
<source>Priority</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="677"/>
<location filename="../../plugins/systemmonitor/processlistwidget.cpp" line="821"/>
<source>No search result</source>
<translation></translation>
</message>
@ -2549,27 +2631,27 @@ Are you sure to continue?</source>
<context>
<name>PropertiesDialog</name>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="77"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="75"/>
<source>User name</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="89"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="87"/>
<source>Process name</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="101"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="99"/>
<source>Command line</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="117"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="115"/>
<source>CPU Time</source>
<translation>CPU </translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="130"/>
<location filename="../../plugins/systemmonitor/propertiesdialog.cpp" line="128"/>
<source>Started Time</source>
<translation></translation>
</message>
@ -3336,6 +3418,7 @@ Are you sure to continue?</source>
<translation type="vanished">/</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="24"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="50"/>
<source>byte</source>
<translation></translation>
@ -3346,6 +3429,7 @@ Are you sure to continue?</source>
<translation>/</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="27"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="56"/>
<source>bytes</source>
<translation></translation>
@ -3356,6 +3440,7 @@ Are you sure to continue?</source>
<translation>/</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="34"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="66"/>
<source>KiB</source>
<translation>KB</translation>
@ -3366,6 +3451,7 @@ Are you sure to continue?</source>
<translation>KB/</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="37"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="72"/>
<source>MiB</source>
<translation>MiB</translation>
@ -3376,6 +3462,7 @@ Are you sure to continue?</source>
<translation>MiB/</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="40"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="78"/>
<source>GiB</source>
<translation>GiB</translation>
@ -3386,6 +3473,7 @@ Are you sure to continue?</source>
<translation>GiB/</translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/memorycircle.cpp" line="43"/>
<location filename="../../plugins/systemmonitor/networkflow.cpp" line="84"/>
<source>TiB</source>
<translation>TiB</translation>
@ -3404,6 +3492,24 @@ Are you sure to continue?</source>
<translation></translation>
</message>
</context>
<context>
<name>ResourcesCategory</name>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="35"/>
<source>CPU</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="37"/>
<source>Memory</source>
<translation></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/resourcescategory.cpp" line="39"/>
<source>Network</source>
<translation></translation>
</message>
</context>
<context>
<name>SensorWieget</name>
<message>
@ -3727,24 +3833,20 @@ Are you sure to continue?</source>
<context>
<name>ToolBar</name>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="236"/>
<source>Processes</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="237"/>
<source>Resources</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="238"/>
<source>File Systems</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../plugins/systemmonitor/toolbar.cpp" line="260"/>
<source>Cancel</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>