QLineEdit组合清除、添加按钮优化

This commit is contained in:
zhaominyong 2022-03-18 14:45:23 +08:00
parent 954d2ff912
commit cde6b9d95f
16 changed files with 526 additions and 333 deletions

View File

@ -34,5 +34,7 @@
<file alias="/images/empty_dark.png">resource/images/empty_dark.png</file>
<file alias="/symbos/document-open-recent-symbolic.png">resource/symbos/document-open-recent-symbolic.png</file>
<file alias="/language/qt_zh_CN.qm">resource/language/qt_zh_CN.qm</file>
<file alias="/symbos/window-close-symbolic.png">resource/symbos/window-close-symbolic.png</file>
<file alias="/symbos/object-select-symbolic.png">resource/symbos/object-select-symbolic.png</file>
</qresource>
</RCC>

View File

@ -27,7 +27,7 @@ BackupListWidget::BackupListWidget(QWidget *parent /*= nullptr*/) :
m_plusLogo = new QLabel;
m_plusLogo->setFixedHeight(36);
QIcon icon = QIcon::fromTheme("list-add-symbolic", QIcon(":/symbos/list-add-symbolic.png"));
m_plusLogo->setPixmap(icon.pixmap(icon.actualSize(QSize(24, 24))));
m_plusLogo->setPixmap(icon.pixmap(icon.actualSize(QSize(16, 16))));
m_plusLogo->setEnabled(false);
// 文件拖放区域
m_plusText = new QLabel;
@ -85,23 +85,22 @@ bool BackupListWidget::appendItem(const QString &text)
if (count > 0)
++count;
int width = this->width();
QListWidgetItem *item = new QListWidgetItem(this, m_type);
item->setSizeHint(QSize(width - 10, 36));
MyItemWidget *widget = new MyItemWidget;
item->setSizeHint(QSize(this->width() - 5, 36));
MyItemWidget *widget = new MyItemWidget(this);
widget->setMaximumWidth(this->width() - 5);
widget->setFixedHeight(36);
widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
QHBoxLayout *hlayout = new QHBoxLayout;
hlayout->setContentsMargins(0,5,0,5);
hlayout->setContentsMargins(5, 2, 2, 2);
MyLabel *label = new MyLabel;
label->setDeplayText(text);
label->setToolTip(text);
label->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
// label->setMinimumWidth(width - 60);
label->setMaximumWidth(width - 10);
label->setIsOriginal(true);
hlayout->addWidget(label);
hlayout->addStretch();
hlayout->setAlignment(label, Qt::AlignLeft);
m_List << text;
QPushButton *buttonDelete = new QPushButton;
@ -112,17 +111,20 @@ bool BackupListWidget::appendItem(const QString &text)
buttonDelete->setIcon(QIcon::fromTheme("window-close-symbolic"));
buttonDelete->setVisible(false);
hlayout->addWidget(buttonDelete);
hlayout->setSpacing(5);
hlayout->setAlignment(buttonDelete, Qt::AlignRight);
widget->setLayout(hlayout);
this->setItemWidget(item, widget);
// this->setCurrentItem(item);
this->setCurrentRow(-1);
connect(widget, &MyItemWidget::selected, buttonDelete, [=](bool checked) {
if (checked)
if (checked) {
buttonDelete->setVisible(true);
else
} else {
buttonDelete->setVisible(false);
}
});
connect(buttonDelete, &QPushButton::clicked, this, [=]() {

View File

@ -33,5 +33,5 @@ ClickLabel::~ClickLabel()
void ClickLabel::mousePressEvent(QMouseEvent *event){
if (event->button() == Qt::LeftButton)
emit clicked();
// QLabel::mousePressEvent(event);
// QLabel::mousePressEvent(event);
}

View File

@ -31,15 +31,16 @@ MyIconButton::MyIconButton(QWidget *parent) :
m_textLabel = new MyLabel(this);
QSizePolicy textLabelPolicy = m_textLabel->sizePolicy();
textLabelPolicy.setHorizontalPolicy(QSizePolicy::Fixed);
textLabelPolicy.setVerticalPolicy(QSizePolicy::Fixed);
textLabelPolicy.setHorizontalPolicy(QSizePolicy::Expanding);
textLabelPolicy.setVerticalPolicy(QSizePolicy::Expanding);
m_textLabel->setSizePolicy(textLabelPolicy);
QHBoxLayout *hLayout = new QHBoxLayout();
hLayout->setContentsMargins(8, 0, 0, 0);
hLayout->addWidget(m_iconButton, Qt::AlignCenter);
QHBoxLayout *hLayout = new QHBoxLayout(this);
hLayout->setContentsMargins(5, 0, 5, 0);
hLayout->setSpacing(5);
hLayout->addWidget(m_iconButton);
hLayout->addWidget(m_textLabel);
hLayout->addStretch();
hLayout->setAlignment(Qt::AlignLeft);
setLayout(hLayout);
connect(m_iconButton, &QPushButton::clicked, this, [=]() {
@ -49,9 +50,9 @@ MyIconButton::MyIconButton(QWidget *parent) :
connect(m_iconButton, &QPushButton::toggled, this, [=] (bool checked) {
if (checked || g_GSettingWrapper.isDarkTheme())
m_iconButton->setIcon(ImageUtil::loadTheme(m_themeIconName, m_defaultIconName, "white", m_pixSize));
m_iconButton->setIcon(ImageUtil::loadTheme(this->m_themeIconName, this->m_defaultIconName, "white", this->m_pixSize));
else
m_iconButton->setIcon(ImageUtil::loadTheme(m_themeIconName, m_defaultIconName, "default", m_pixSize));
m_iconButton->setIcon(ImageUtil::loadTheme(this->m_themeIconName, this->m_defaultIconName, "default", this->m_pixSize));
});
connect(this, &MyIconButton::toggled, this, [=](bool checked) {
@ -61,25 +62,33 @@ MyIconButton::MyIconButton(QWidget *parent) :
m_textLabel->setStyleSheet("color:white");
} else {
this->setStyleSheet(QString("QPushButton:hover{background-color:%1;border-radius: 6px;}"
"QPushButton:pressed{background-color:%2;border-radius: 6px;}").arg(m_hoverColor).arg(m_clickColor));
"QPushButton:pressed{background-color:%2;border-radius: 6px;}").arg(this->m_hoverColor).arg(this->m_clickColor));
m_textLabel->setStyleSheet("color:palette(windowText)");
}
});
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::styleNameChanged, this, [=](bool isDark) {
Q_UNUSED(isDark)
// 深浅主题切换时,因为调色板已经更换,高亮等颜色已经改变,所以要重新加载图标。
if (this->isChecked() || isDark)
m_iconButton->setIcon(ImageUtil::loadTheme(m_themeIconName, m_defaultIconName, "white", m_pixSize));
this->m_iconButton->setIcon(ImageUtil::loadTheme(this->m_themeIconName, this->m_defaultIconName, "white", this->m_pixSize));
else
m_iconButton->setIcon(ImageUtil::loadTheme(m_themeIconName, m_defaultIconName, "default", m_pixSize));
this->m_iconButton->setIcon(ImageUtil::loadTheme(this->m_themeIconName, this->m_defaultIconName, "default", this->m_pixSize));
m_hoverColor = pluginBtnHoverColor(true);
m_clickColor = pluginBtnHoverColor(false);
this->m_hoverColor = pluginBtnHoverColor(true);
this->m_clickColor = pluginBtnHoverColor(false);
if (!this->isChecked())
this->setStyleSheet(QString("QPushButton:hover{background-color:%1;border-radius: 6px;}"
"QPushButton:pressed{background-color:%2;border-radius: 6px;}").arg(m_hoverColor).arg(m_clickColor));
"QPushButton:pressed{background-color:%2;border-radius: 6px;}").arg(this->m_hoverColor).arg(this->m_clickColor));
});
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::fontChanged, this, [=](int fontSize) {
QFont font = this->m_textLabel->font();
font.setPointSize(fontSize);
this->m_textLabel->setFont(font);
// 字体家族、大小变化需重绘,并且字体大小变化也可能会造成显示不全问题
this->setDesplayText(m_originalText);
});
}
MyIconButton::~MyIconButton()
@ -94,34 +103,27 @@ void MyIconButton::setThemeIcon(const QString &themeIconName, const QString &def
m_iconButton->setIcon(ImageUtil::loadTheme(m_themeIconName, m_defaultIconName, "default", m_pixSize));
}
/**
* @brief
* @param text
* @note button大小label宽度要根据button宽度计算
*/
void MyIconButton::setDesplayText(const QString &text)
{
m_originalText = text;
m_textLabel->setDeplayText(text);
}
/**
* 使qss了
*/
void MyIconButton::changePalette(bool checked)
{
m_iconButton->setChecked(checked);
QPalette pal = m_textLabel->palette();
// png格式的图标会自动跟随主题不需再手动设置像素颜色
if (g_GSettingWrapper.isDarkTheme()) {
if (checked) {
pal.setColor(QPalette::ButtonText, this->palette().highlightedText().color());
} else {
pal.setColor(QPalette::ButtonText, this->palette().windowText().color());
}
// m_textLabel->setFixedWidth(this->width() - 40);
m_textLabel->setMinimumWidth(this->width() - 40);
if (m_textLabel->wordWrap()) {
m_textLabel->setDeplayText(m_originalText);
} else {
if (checked) {
pal.setColor(QPalette::ButtonText, this->palette().highlightedText().color());
QFontMetrics fontMetrics(m_textLabel->font());
int fontSize = fontMetrics.width(m_originalText);
if (fontSize > m_textLabel->width()) {
m_textLabel->setDeplayText(fontMetrics.elidedText(m_originalText, Qt::ElideRight, m_textLabel->width()));
} else {
pal.setColor(QPalette::ButtonText, this->palette().windowText().color());
m_textLabel->setDeplayText(m_originalText);
}
}
m_textLabel->setPalette(pal);
}
QString MyIconButton::pluginBtnHoverColor(bool hoverFlag)
@ -157,3 +159,28 @@ QString MyIconButton::pluginBtnHoverColor(bool hoverFlag)
.arg(color.alpha());
return hoverColor;
}
/**
* 使qss了
*/
void MyIconButton::changePalette(bool checked)
{
m_iconButton->setChecked(checked);
QPalette pal = m_textLabel->palette();
// png格式的图标会自动跟随主题不需再手动设置像素颜色
if (g_GSettingWrapper.isDarkTheme()) {
if (checked) {
pal.setColor(QPalette::ButtonText, this->palette().highlightedText().color());
} else {
pal.setColor(QPalette::ButtonText, this->palette().windowText().color());
}
} else {
if (checked) {
pal.setColor(QPalette::ButtonText, this->palette().highlightedText().color());
} else {
pal.setColor(QPalette::ButtonText, this->palette().windowText().color());
}
}
m_textLabel->setPalette(pal);
}

View File

@ -25,20 +25,21 @@ MyLabel::MyLabel(QWidget* parent) :
}
});
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::fontChanged, this, [=]() {
// 字体家族、大小变化需重绘,并且字体大小变化也可能会造成显示不全问题
if (this->wordWrap()) {
this->setText(m_text);
} else {
QFontMetrics fontMetrics(this->font());
int fontSize = fontMetrics.width(m_text);
if (fontSize > this->width()) {
this->setText(fontMetrics.elidedText(m_text, Qt::ElideRight, this->width()));
} else {
this->setText(m_text);
}
}
});
// 主题模块已经将QLabel改为了跟随主题设置这里暂时去掉
// connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::fontChanged, this, [=]() {
// // 字体家族、大小变化需重绘,并且字体大小变化也可能会造成显示不全问题
// if (this->wordWrap()) {
// this->setText(m_text);
// } else {
// QFontMetrics fontMetrics(this->font());
// int fontSize = fontMetrics.width(m_text);
// if (fontSize > this->width()) {
// this->setText(fontMetrics.elidedText(m_text, Qt::ElideRight, this->width()));
// } else {
// this->setText(m_text);
// }
// }
// });
}
/**
@ -53,11 +54,12 @@ MyLabel::MyLabel(const QString& text, QWidget* parent /*= nullptr*/, Qt::Alignme
m_bAutoTheme(true)
{
this->setAlignment(align);
this->setText(text);
this->setDeplayText(text);
this->setScaledContents(true);
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::styleNameChanged, this, [=](bool isDark) {
// 只有黑白两色手动跟随主题,其它颜色不需要程序员手动设置(自动即可)
if (!m_bAutoTheme) {
if (!this->m_bAutoTheme) {
if (isDark) {
this->setFontColor(Qt::white);
} else {
@ -66,20 +68,21 @@ MyLabel::MyLabel(const QString& text, QWidget* parent /*= nullptr*/, Qt::Alignme
}
});
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::fontChanged, this, [=]() {
// 字体家族、大小变化需重绘,并且字体大小变化也可能会造成显示不全问题
if (this->wordWrap()) {
this->setText(m_text);
} else {
QFontMetrics fontMetrics(this->font());
int fontSize = fontMetrics.width(m_text);
if (fontSize > this->width()) {
this->setText(fontMetrics.elidedText(m_text, Qt::ElideRight, this->width()));
} else {
this->setText(m_text);
}
}
});
// 主题模块已经将QLabel改为了跟随主题设置这里暂时去掉
// connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::fontChanged, this, [=]() {
// // 字体家族、大小变化需重绘,并且字体大小变化也可能会造成显示不全问题
// if (this->wordWrap()) {
// this->setText(m_text);
// } else {
// QFontMetrics fontMetrics(this->font());
// int fontSize = fontMetrics.width(m_text);
// if (fontSize > this->width()) {
// this->setText(fontMetrics.elidedText(m_text, Qt::ElideRight, this->width()));
// } else {
// this->setText(m_text);
// }
// }
// });
}
MyLabel::~MyLabel()

View File

@ -0,0 +1,79 @@
#include "pixmapbutton.h"
#include "imageutil.h"
#include "../gsettingswrapper.h"
#include "../globalbackupinfo.h"
PixmapButton::PixmapButton(QWidget *parent) :
QPushButton(parent)
{
this->setCheckable(false);
this->setProperty("useButtonPalette", true);
m_hoverColor = pluginBtnHoverColor(true);
m_clickColor = pluginBtnHoverColor(false);
this->setStyleSheet(QString("QPushButton:!hover:!pressed{background-color:palette(base);border-radius: 6px;}"
"QPushButton:hover{background-color:%1;border-radius: 6px;}"
"QPushButton:pressed{background-color:%2;border-radius: 6px;}").arg(m_hoverColor).arg(m_clickColor));
m_iconSize = 16;
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::styleNameChanged, this, [=](bool isDark) {
// 深浅主题切换时,因为调色板已经更换,高亮等颜色已经改变,所以要重新加载图标。
if (isDark)
this->setIcon(ImageUtil::loadTheme(this->m_iconTheme, this->m_defaultIconName, "white", this->m_iconSize));
else
this->setIcon(ImageUtil::loadTheme(this->m_iconTheme, this->m_defaultIconName, "default", this->m_iconSize));
this->m_hoverColor = pluginBtnHoverColor(true);
this->m_clickColor = pluginBtnHoverColor(false);
this->setStyleSheet(QString("QPushButton:!hover:!pressed{background-color:palette(base);border-radius: 6px;}"
"QPushButton:hover{background-color:%1;border-radius: 6px;}"
"QPushButton:pressed{background-color:%2;border-radius: 6px;}").arg(m_hoverColor).arg(m_clickColor));
});
}
void PixmapButton::setThemeIcon(const QString &themeIconName, const QString &defaultIconName, int size)
{
m_iconTheme = themeIconName;
m_defaultIconName = defaultIconName;
m_iconSize = size;
this->setIcon(ImageUtil::loadTheme(m_iconTheme, m_defaultIconName, "default", m_iconSize));
}
PixmapButton::~PixmapButton()
{}
QString PixmapButton::pluginBtnHoverColor(bool hoverFlag)
{
QColor color1, color2;
if (this->parent()) {
QWidget * parent = qobject_cast<QWidget *>(this->parent());
color1 = parent->palette().color(QPalette::Active, QPalette::Button);
color2 = parent->palette().color(QPalette::Active, QPalette::BrightText);
} else {
color1 = palette().color(QPalette::Active, QPalette::Button);
color2 = palette().color(QPalette::Active, QPalette::BrightText);
}
QColor color;
qreal r,g,b,a;
QString hoverColor;
if ((g_GSettingWrapper.isDarkTheme() && hoverFlag) ||
(!g_GSettingWrapper.isDarkTheme() && !hoverFlag)) {
r = color1.redF() * 0.8 + color2.redF() * 0.2;
g = color1.greenF() * 0.8 + color2.greenF() * 0.2;
b = color1.blueF() * 0.8 + color2.blueF() * 0.2;
a = color1.alphaF() * 0.8 + color2.alphaF() * 0.2;
} else {
r = color1.redF() * 0.95 + color2.redF() * 0.05;
g = color1.greenF() * 0.95 + color2.greenF() * 0.05;
b = color1.blueF() * 0.95 + color2.blueF() * 0.05;
a = color1.alphaF() * 0.95 + color2.alphaF() * 0.05;
}
color = QColor::fromRgbF(r, g, b, a);
hoverColor = QString("rgba(%1, %2, %3, %4)").arg(color.red())
.arg(color.green())
.arg(color.blue())
.arg(color.alpha());
return hoverColor;
}

View File

@ -0,0 +1,31 @@
#ifndef PIXMAPBUTTON_H
#define PIXMAPBUTTON_H
#include <QPushButton>
class PixmapButton : public QPushButton
{
Q_OBJECT
public:
explicit PixmapButton(QWidget *parent = nullptr);
~PixmapButton();
// 设置跟随主题图标
void setThemeIcon(const QString &themeIconName, const QString &defaultIconName = "", int size = 16);
QString pluginBtnHoverColor(bool hoverFlag);
private:
// 主题图标
QString m_iconTheme;
// 默认本地图标文件
QString m_defaultIconName;
// 主题图标大小
int m_iconSize;
QString m_hoverColor;
QString m_clickColor;
};
#endif // PIXMAPBUTTON_H

View File

@ -24,7 +24,7 @@ signals:
void backgroundColorChanged();
// 字体(家族或大小)变化
void fontChanged();
void fontChanged(int fontSize);
};
#endif // GLOBALSIGNALS_H

View File

@ -41,7 +41,8 @@ GSettingsWrapper::GSettingsWrapper(token)
emit GlobelBackupInfo::inst().getGlobalSignals()->themeIconChanged();
} else if ("systemFont" == key || "systemFontSize" == key) {
// 字体大小或字体类型发生变化
emit GlobelBackupInfo::inst().getGlobalSignals()->fontChanged();
int fontSize = m_pGsettingThemeData->get("system-font-size").toInt();
emit GlobelBackupInfo::inst().getGlobalSignals()->fontChanged(fontSize);
}
});
}

View File

@ -52,6 +52,7 @@ HEADERS += \
component/mylineedit.h \
component/mypushbutton.h \
component/mywidget.h \
component/pixmapbutton.h \
component/pixmaplabel.h \
component/ringsprogressbar.h \
deletebackupdialog.h \
@ -98,6 +99,7 @@ SOURCES += \
component/mylineedit.cpp \
component/mypushbutton.cpp \
component/mywidget.cpp \
component/pixmapbutton.cpp \
component/pixmaplabel.cpp \
component/ringsprogressbar.cpp \
deletebackupdialog.cpp \

View File

@ -18,6 +18,7 @@
#include "../component/ringsprogressbar.h"
#include "../component/myfileselect.h"
#include "../component/pixmaplabel.h"
#include "../component/pixmapbutton.h"
#include "../../common/utils.h"
#include "../globalbackupinfo.h"
#include "managebackuppointlist.h"
@ -185,11 +186,14 @@ void DataBackup::initFirstWidget()
QHBoxLayout *bottomHBoxLayout = new QHBoxLayout;
bottomHBoxLayout->addStretch();
// 备份管理
ClickLabel * backupPointManage = new ClickLabel(tr("Backup Management >>"));
MyPushButton *backupPointManage = new MyPushButton;
backupPointManage->setText(tr("Backup Management >>"));
backupPointManage->setFlat(true);
backupPointManage->setProperty("useButtonPalette", true);
QPalette pal(backupPointManage->palette());
pal.setColor(QPalette::WindowText, QColor(Qt::blue));
pal.setColor(QPalette::ButtonText, QColor(COLOR_BLUE));
pal.setColor(QPalette::Button, this->palette().base().color());
backupPointManage->setPalette(pal);
backupPointManage->setToolTip(tr("Backup Management >>"));
bottomHBoxLayout->addWidget(backupPointManage);
bottomHBoxLayout->addSpacing(20);
@ -199,10 +203,17 @@ void DataBackup::initFirstWidget()
bottomVBoxLayout->addSpacing(20);
first->setLayout(bottomVBoxLayout);
connect(backupPointManage, &ClickLabel::clicked, this, [=]() {
connect(backupPointManage, &MyPushButton::clicked, this, [=]() {
ManageBackupPointList backupManager(first, ManageBackupPointList::DATA);
backupManager.exec();
});
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::styleNameChanged, this, [=](bool isDark) {
Q_UNUSED(isDark)
// 深浅主题切换时,因为调色板已经更换,高亮等颜色已经改变,所以要重新加载图标。
QPalette pal(backupPointManage->palette());
pal.setColor(QPalette::Button, this->palette().base().color());
backupPointManage->setPalette(pal);
});
addWidget(first);
}
@ -316,28 +327,46 @@ void DataBackup::initSecondWidget()
editSelect->setMinimumWidth(460);
editSelect->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
editSelect->setMaxLength(255);
editSelect->setTextMargins(0, 0, 62, 0);
QHBoxLayout *searchLayout = new QHBoxLayout(editSelect);
searchLayout->setMargin(2);
// 删除按钮
QPushButton *buttonDelete = new QPushButton;
buttonDelete->setFixedSize(36, 36);
buttonDelete->setProperty("isWindowButton", 0x2);
buttonDelete->setProperty("useIconHighlightEffect", 0x8);
PixmapButton *buttonDelete = new PixmapButton;
buttonDelete->setFixedSize(30, 30);
buttonDelete->setThemeIcon("window-close-symbolic", ":/symbos/window-close-symbolic.png");
buttonDelete->setToolTip(tr("Clear"));
buttonDelete->setFlat(true);
buttonDelete->setIcon(QIcon::fromTheme("window-close-symbolic"));
connect(buttonDelete, &QPushButton::clicked, this, [=]() {
editSelect->setText("");
});
// 添加按钮
MyPushButton *buttonAdd = new MyPushButton;
buttonAdd->setFixedWidth(70);
buttonAdd->setText(tr("Add"));
PixmapButton *buttonAdd = new PixmapButton;
buttonAdd->setFixedSize(30, 30);
buttonAdd->setThemeIcon("object-select-symbolic", ":/symbos/object-select-symbolic.png");
buttonAdd->setToolTip(tr("Add"));
buttonAdd->setFlat(true);
searchLayout->addWidget(buttonDelete);
searchLayout->addWidget(buttonAdd);
searchLayout->setSpacing(0);
searchLayout->setAlignment(Qt::AlignRight);
buttonDelete->setVisible(false);
buttonAdd->setVisible(false);
connect(editSelect, &QLineEdit::textChanged, this, [=](const QString& text) {
if (!text.isEmpty()) {
buttonDelete->setVisible(true);
buttonAdd->setVisible(true);
} else {
buttonDelete->setVisible(false);
buttonAdd->setVisible(false);
}
});
// 选择按钮
MyPushButton *buttonSelect = new MyPushButton;
buttonSelect->setText(tr("Select"));
hlayoutLine4->addWidget(editSelect);
hlayoutLine4->addWidget(buttonDelete);
hlayoutLine4->addWidget(buttonAdd);
hlayoutLine4->addWidget(buttonSelect);
hlayoutLine4->addStretch();
hlayoutLine4->addSpacing(35);
vlayout->addLayout(hlayoutLine4);
// 第五行
@ -417,6 +446,7 @@ void DataBackup::initSecondWidget()
if (!selectFiles.isEmpty()) {
QString fileName = selectFiles.at(0);
editSelect->setText(fileName);
editSelect->setFocus();
}
}
@ -539,28 +569,45 @@ void DataBackup::initSecondWidget_inc()
editSelect->setMinimumWidth(460);
editSelect->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
editSelect->setMaxLength(255);
editSelect->setTextMargins(0, 0, 62, 0);
QHBoxLayout *searchLayout = new QHBoxLayout(editSelect);
searchLayout->setMargin(2);
// 删除按钮
QPushButton *buttonDelete = new QPushButton;
buttonDelete->setFixedSize(36, 36);
buttonDelete->setProperty("isWindowButton", 0x2);
buttonDelete->setProperty("useIconHighlightEffect", 0x8);
buttonDelete->setFlat(true);
buttonDelete->setIcon(QIcon::fromTheme("window-close-symbolic"));
PixmapButton *buttonDelete = new PixmapButton;
buttonDelete->setFixedSize(30, 30);
buttonDelete->setThemeIcon("window-close-symbolic", ":/symbos/window-close-symbolic.png");
buttonDelete->setToolTip(tr("Clear"));
connect(buttonDelete, &QPushButton::clicked, this, [=]() {
editSelect->setText("");
});
// 添加按钮
MyPushButton *buttonAdd = new MyPushButton;
buttonAdd->setFixedSize(70, 36);
buttonAdd->setText(tr("Add"));
PixmapButton *buttonAdd = new PixmapButton;
buttonAdd->setFixedSize(30, 30);
buttonAdd->setThemeIcon("object-select-symbolic", ":/symbos/object-select-symbolic.png");
buttonAdd->setToolTip(tr("Add"));
searchLayout->addWidget(buttonDelete);
searchLayout->addWidget(buttonAdd);
searchLayout->setSpacing(0);
searchLayout->setAlignment(Qt::AlignRight);
buttonDelete->setVisible(false);
buttonAdd->setVisible(false);
connect(editSelect, &QLineEdit::textChanged, this, [=](const QString& text) {
if (!text.isEmpty()) {
buttonDelete->setVisible(true);
buttonAdd->setVisible(true);
} else {
buttonDelete->setVisible(false);
buttonAdd->setVisible(false);
}
});
// 选择按钮
MyPushButton *buttonSelect = new MyPushButton;
buttonSelect->setText(tr("Select"));
hlayoutLine4->addWidget(editSelect);
hlayoutLine4->addWidget(buttonDelete);
hlayoutLine4->addWidget(buttonAdd);
hlayoutLine4->addWidget(buttonSelect);
hlayoutLine4->addStretch();
// hlayoutLine4->addStretch();
hlayoutLine4->addSpacing(35);
vlayout->addLayout(hlayoutLine4);
// 第五行
@ -631,6 +678,7 @@ void DataBackup::initSecondWidget_inc()
if (!selectFiles.isEmpty()) {
QString fileName = selectFiles.at(0);
editSelect->setText(fileName);
editSelect->setFocus();
}
}

View File

@ -136,11 +136,14 @@ void SystemBackup::initFirstWidget()
QHBoxLayout *bottomHBoxLayout = new QHBoxLayout;
bottomHBoxLayout->addStretch();
// 备份管理
ClickLabel * backupPointManage = new ClickLabel(tr("Backup Management >>"));
MyPushButton *backupPointManage = new MyPushButton;
backupPointManage->setText(tr("Backup Management >>"));
backupPointManage->setFlat(true);
backupPointManage->setProperty("useButtonPalette", true);
QPalette pal(backupPointManage->palette());
pal.setColor(QPalette::WindowText, QColor(Qt::blue));
pal.setColor(QPalette::ButtonText, QColor(COLOR_BLUE));
pal.setColor(QPalette::Button, this->palette().base().color());
backupPointManage->setPalette(pal);
backupPointManage->setToolTip(tr("Backup Management >>"));
bottomHBoxLayout->addWidget(backupPointManage);
bottomHBoxLayout->addSpacing(20);
@ -150,10 +153,17 @@ void SystemBackup::initFirstWidget()
bottomVBoxLayout->addSpacing(20);
first->setLayout(bottomVBoxLayout);
connect(backupPointManage, &ClickLabel::clicked, this, [=]() {
ManageBackupPointList backupManager(first);
connect(backupPointManage, &MyPushButton::clicked, this, [=]() {
ManageBackupPointList backupManager(first, ManageBackupPointList::DATA);
backupManager.exec();
});
connect(GlobelBackupInfo::inst().getGlobalSignals(), &GlobalSignals::styleNameChanged, this, [=](bool isDark) {
Q_UNUSED(isDark)
// 深浅主题切换时,因为调色板已经更换,高亮等颜色已经改变,所以要重新加载图标。
QPalette pal(backupPointManage->palette());
pal.setColor(QPalette::Button, this->palette().base().color());
backupPointManage->setPalette(pal);
});
addWidget(first);
}

View File

@ -83,343 +83,348 @@
<context>
<name>DataBackup</name>
<message>
<location filename="module/databackup.cpp" line="69"/>
<location filename="module/databackup.cpp" line="70"/>
<source>Data Backup</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="90"/>
<location filename="module/databackup.cpp" line="91"/>
<source>Only files in the /home, /root, and /data directories can be backed up</source>
<translation>/home/root/data目录下的文件</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="92"/>
<location filename="module/databackup.cpp" line="93"/>
<source>Only files in the /home, /root, and /data/usershare directories can be backed up</source>
<translation>/home/root/data/usershare目录下的文件</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="103"/>
<location filename="module/databackup.cpp" line="104"/>
<source>Multi-Spot</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="110"/>
<location filename="module/databackup.cpp" line="111"/>
<source>Security</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="117"/>
<location filename="module/databackup.cpp" line="118"/>
<source>Protect Data</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="124"/>
<location filename="module/databackup.cpp" line="125"/>
<source>Convenient</source>
<translation>便</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="130"/>
<location filename="module/databackup.cpp" line="131"/>
<source>Start Backup</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="150"/>
<location filename="module/databackup.cpp" line="151"/>
<source>Update Backup</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="188"/>
<location filename="module/databackup.cpp" line="192"/>
<location filename="module/databackup.cpp" line="190"/>
<source>Backup Management &gt;&gt;</source>
<translation> &gt;&gt;</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="252"/>
<location filename="module/databackup.cpp" line="263"/>
<source>Please select backup position</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="282"/>
<location filename="module/databackup.cpp" line="508"/>
<location filename="module/databackup.cpp" line="293"/>
<location filename="module/databackup.cpp" line="537"/>
<source>local default path : </source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="285"/>
<location filename="module/databackup.cpp" line="511"/>
<location filename="module/databackup.cpp" line="296"/>
<location filename="module/databackup.cpp" line="540"/>
<source>removable devices path : </source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="302"/>
<location filename="module/databackup.cpp" line="525"/>
<location filename="module/databackup.cpp" line="313"/>
<location filename="module/databackup.cpp" line="554"/>
<source>Select backup data</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="332"/>
<location filename="module/databackup.cpp" line="555"/>
<location filename="module/databackup.cpp" line="345"/>
<location filename="module/databackup.cpp" line="586"/>
<source>Add</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="335"/>
<location filename="module/databackup.cpp" line="558"/>
<location filename="module/databackup.cpp" line="364"/>
<location filename="module/databackup.cpp" line="605"/>
<source>Select</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="412"/>
<location filename="module/databackup.cpp" line="625"/>
<location filename="module/databackup.cpp" line="440"/>
<location filename="module/databackup.cpp" line="671"/>
<source>Please select file to backup</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="367"/>
<location filename="module/databackup.cpp" line="589"/>
<location filename="module/databackup.cpp" line="799"/>
<location filename="module/databackup.cpp" line="1102"/>
<location filename="module/databackup.cpp" line="395"/>
<location filename="module/databackup.cpp" line="635"/>
<location filename="module/databackup.cpp" line="846"/>
<location filename="module/databackup.cpp" line="1149"/>
<source>Back</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="376"/>
<location filename="module/databackup.cpp" line="598"/>
<location filename="module/databackup.cpp" line="812"/>
<location filename="module/databackup.cpp" line="1110"/>
<location filename="module/databackup.cpp" line="337"/>
<location filename="module/databackup.cpp" line="578"/>
<source>Clear</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="404"/>
<location filename="module/databackup.cpp" line="644"/>
<location filename="module/databackup.cpp" line="859"/>
<location filename="module/databackup.cpp" line="1157"/>
<source>Next</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="487"/>
<location filename="module/databackup.cpp" line="516"/>
<source>Default backup location</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="712"/>
<location filename="module/databackup.cpp" line="1042"/>
<location filename="module/databackup.cpp" line="1226"/>
<location filename="module/databackup.cpp" line="1495"/>
<location filename="module/databackup.cpp" line="759"/>
<location filename="module/databackup.cpp" line="1089"/>
<location filename="module/databackup.cpp" line="1273"/>
<location filename="module/databackup.cpp" line="1542"/>
<source>checking</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="715"/>
<location filename="module/databackup.cpp" line="1045"/>
<location filename="module/databackup.cpp" line="1229"/>
<location filename="module/databackup.cpp" line="1498"/>
<location filename="module/databackup.cpp" line="762"/>
<location filename="module/databackup.cpp" line="1092"/>
<location filename="module/databackup.cpp" line="1276"/>
<location filename="module/databackup.cpp" line="1545"/>
<source>preparing</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="718"/>
<location filename="module/databackup.cpp" line="1048"/>
<location filename="module/databackup.cpp" line="1232"/>
<location filename="module/databackup.cpp" line="1501"/>
<location filename="module/databackup.cpp" line="765"/>
<location filename="module/databackup.cpp" line="1095"/>
<location filename="module/databackup.cpp" line="1279"/>
<location filename="module/databackup.cpp" line="1548"/>
<source>backuping</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="721"/>
<location filename="module/databackup.cpp" line="1051"/>
<location filename="module/databackup.cpp" line="1235"/>
<location filename="module/databackup.cpp" line="1504"/>
<location filename="module/databackup.cpp" line="768"/>
<location filename="module/databackup.cpp" line="1098"/>
<location filename="module/databackup.cpp" line="1282"/>
<location filename="module/databackup.cpp" line="1551"/>
<source>finished</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="822"/>
<location filename="module/databackup.cpp" line="869"/>
<source>Recheck</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="849"/>
<location filename="module/databackup.cpp" line="896"/>
<source>Checking, wait a moment ...</source>
<translation>...</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="855"/>
<location filename="module/databackup.cpp" line="902"/>
<source>Do not perform other operations during backup to avoid data loss</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="858"/>
<location filename="module/databackup.cpp" line="905"/>
<source>Check whether the remaining capacity of the backup partition is sufficient</source>
<translation>···</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="861"/>
<location filename="module/databackup.cpp" line="908"/>
<source>Check whether the remaining capacity of the removable device is sufficient</source>
<translation>···</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="880"/>
<location filename="module/databackup.cpp" line="927"/>
<source>Check success</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="882"/>
<location filename="module/databackup.cpp" line="929"/>
<source>The storage for backup is enough</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="887"/>
<location filename="module/databackup.cpp" line="934"/>
<source>Make sure the computer is plugged in or the battery level is above 60%</source>
<translation>60%</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="899"/>
<location filename="module/databackup.cpp" line="946"/>
<source>Check failure</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="967"/>
<location filename="module/databackup.cpp" line="1386"/>
<location filename="module/databackup.cpp" line="1014"/>
<location filename="module/databackup.cpp" line="1433"/>
<source>Program lock failed, please retry</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="969"/>
<location filename="module/databackup.cpp" line="1388"/>
<location filename="module/databackup.cpp" line="1016"/>
<location filename="module/databackup.cpp" line="1435"/>
<source>There may be other backups or restores being performed</source>
<translation>/</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="973"/>
<location filename="module/databackup.cpp" line="1392"/>
<location filename="module/databackup.cpp" line="1020"/>
<location filename="module/databackup.cpp" line="1439"/>
<source>Unsupported task type</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="975"/>
<location filename="module/databackup.cpp" line="1394"/>
<location filename="module/databackup.cpp" line="1022"/>
<location filename="module/databackup.cpp" line="1441"/>
<source>No processing logic was found in the service</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="979"/>
<location filename="module/databackup.cpp" line="1398"/>
<location filename="module/databackup.cpp" line="1026"/>
<location filename="module/databackup.cpp" line="1445"/>
<source>Failed to mount the backup partition</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="981"/>
<location filename="module/databackup.cpp" line="1400"/>
<location filename="module/databackup.cpp" line="1028"/>
<location filename="module/databackup.cpp" line="1447"/>
<source>Check whether there is a backup partition</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="985"/>
<location filename="module/databackup.cpp" line="1032"/>
<source>The filesystem of device is vfat format</source>
<translation>vfat格式</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="987"/>
<location filename="module/databackup.cpp" line="1034"/>
<source>Please change filesystem format to ext3ext4 or ntfs</source>
<translation>ext3ext4ntfs等文件系统格式</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="991"/>
<location filename="module/databackup.cpp" line="1038"/>
<source>The device is read only</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="993"/>
<location filename="module/databackup.cpp" line="1040"/>
<source>Please chmod to rw</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="997"/>
<location filename="module/databackup.cpp" line="1404"/>
<location filename="module/databackup.cpp" line="1044"/>
<location filename="module/databackup.cpp" line="1451"/>
<source>The storage for backup is not enough</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="999"/>
<location filename="module/databackup.cpp" line="1406"/>
<location filename="module/databackup.cpp" line="1046"/>
<location filename="module/databackup.cpp" line="1453"/>
<source>Retry after release space</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1003"/>
<location filename="module/databackup.cpp" line="1410"/>
<location filename="module/databackup.cpp" line="1050"/>
<location filename="module/databackup.cpp" line="1457"/>
<source>Other backup or restore task is being performed</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1005"/>
<location filename="module/databackup.cpp" line="1412"/>
<location filename="module/databackup.cpp" line="1052"/>
<location filename="module/databackup.cpp" line="1459"/>
<source>Please try again later</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1059"/>
<location filename="module/databackup.cpp" line="1106"/>
<source>Backup Name</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1081"/>
<location filename="module/databackup.cpp" line="1124"/>
<location filename="module/databackup.cpp" line="1128"/>
<location filename="module/databackup.cpp" line="1171"/>
<source>Name already exists</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1282"/>
<location filename="module/databackup.cpp" line="1329"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1313"/>
<location filename="module/databackup.cpp" line="1360"/>
<source>Do not use computer in case of data loss</source>
<translation>使</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1418"/>
<location filename="module/databackup.cpp" line="1465"/>
<source>Failed to create the backup point directory</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1420"/>
<location filename="module/databackup.cpp" line="1467"/>
<source>Please check backup partition permissions</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1424"/>
<location filename="module/databackup.cpp" line="1471"/>
<source>The backup had been canceled</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1426"/>
<location filename="module/databackup.cpp" line="1473"/>
<source>Re-initiate the backup if necessary</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1459"/>
<location filename="module/databackup.cpp" line="1506"/>
<source>An error occurred during backup</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1461"/>
<location filename="module/databackup.cpp" line="1508"/>
<source>Error messages refer to log file : /var/log/backup.log</source>
<translation>/var/log/backup.log</translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1575"/>
<location filename="module/databackup.cpp" line="1622"/>
<source>Home Page</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1582"/>
<location filename="module/databackup.cpp" line="1629"/>
<source>Retry</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1605"/>
<location filename="module/databackup.cpp" line="1652"/>
<source>The backup is successful</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1619"/>
<location filename="module/databackup.cpp" line="1666"/>
<source>The backup is failed</source>
<translation></translation>
</message>
@ -1049,22 +1054,6 @@
<source>Close</source>
<translation></translation>
</message>
<message>
<source>Theme</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Auto</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Light</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Dark</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="maindialog.cpp" line="163"/>
<source>Help</source>
@ -1215,14 +1204,14 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="component/backuplistwidget.cpp" line="163"/>
<location filename="component/backuplistwidget.cpp" line="172"/>
<location filename="component/backuplistwidget.cpp" line="195"/>
<location filename="component/backuplistwidget.cpp" line="165"/>
<location filename="component/backuplistwidget.cpp" line="174"/>
<location filename="component/backuplistwidget.cpp" line="197"/>
<location filename="maindialog.cpp" line="283"/>
<location filename="maindialog.cpp" line="300"/>
<location filename="maindialog.cpp" line="320"/>
<location filename="module/databackup.cpp" line="401"/>
<location filename="module/databackup.cpp" line="612"/>
<location filename="module/databackup.cpp" line="429"/>
<location filename="module/databackup.cpp" line="658"/>
<location filename="module/datarestore.cpp" line="990"/>
<location filename="module/managebackuppointlist.cpp" line="44"/>
<location filename="module/selectrestorepoint.cpp" line="44"/>
@ -1231,38 +1220,38 @@
<translation></translation>
</message>
<message>
<location filename="component/backuplistwidget.cpp" line="164"/>
<location filename="component/backuplistwidget.cpp" line="166"/>
<source>Path already exists : </source>
<translation></translation>
</message>
<message>
<location filename="component/backuplistwidget.cpp" line="165"/>
<location filename="component/backuplistwidget.cpp" line="174"/>
<location filename="component/backuplistwidget.cpp" line="197"/>
<location filename="component/backuplistwidget.cpp" line="167"/>
<location filename="component/backuplistwidget.cpp" line="176"/>
<location filename="component/backuplistwidget.cpp" line="199"/>
<location filename="main.cpp" line="54"/>
<location filename="maindialog.cpp" line="285"/>
<location filename="maindialog.cpp" line="293"/>
<location filename="maindialog.cpp" line="302"/>
<location filename="maindialog.cpp" line="322"/>
<location filename="module/databackup.cpp" line="403"/>
<location filename="module/databackup.cpp" line="614"/>
<location filename="module/databackup.cpp" line="1330"/>
<location filename="module/databackup.cpp" line="431"/>
<location filename="module/databackup.cpp" line="660"/>
<location filename="module/databackup.cpp" line="1377"/>
<location filename="module/datarestore.cpp" line="992"/>
<location filename="module/ghostimage.cpp" line="780"/>
<location filename="module/managebackuppointlist.cpp" line="44"/>
<location filename="module/managebackuppointlist.cpp" line="49"/>
<location filename="module/selectrestorepoint.cpp" line="44"/>
<location filename="module/systembackup.cpp" line="914"/>
<location filename="module/systembackup.cpp" line="924"/>
<source>Ok</source>
<translation></translation>
</message>
<message>
<location filename="component/backuplistwidget.cpp" line="173"/>
<location filename="component/backuplistwidget.cpp" line="175"/>
<source>The file or directory does not exist : </source>
<translation></translation>
</message>
<message>
<location filename="component/backuplistwidget.cpp" line="196"/>
<location filename="component/backuplistwidget.cpp" line="198"/>
<source>Only data that exists in the follow directorys can be selected: %1.
Path:%2 is not in them.</source>
<translation type="unfinished">%1
@ -1271,12 +1260,12 @@
<message>
<location filename="main.cpp" line="52"/>
<location filename="maindialog.cpp" line="291"/>
<location filename="module/databackup.cpp" line="1330"/>
<location filename="module/databackup.cpp" line="1377"/>
<location filename="module/datarestore.cpp" line="176"/>
<location filename="module/ghostimage.cpp" line="780"/>
<location filename="module/managebackuppointlist.cpp" line="49"/>
<location filename="module/selectrestorepoint.cpp" line="50"/>
<location filename="module/systembackup.cpp" line="914"/>
<location filename="module/systembackup.cpp" line="924"/>
<source>Information</source>
<translation></translation>
</message>
@ -1316,25 +1305,25 @@
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="402"/>
<location filename="module/databackup.cpp" line="613"/>
<location filename="module/databackup.cpp" line="430"/>
<location filename="module/databackup.cpp" line="659"/>
<source>Please select a backup file or directory</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1330"/>
<location filename="module/databackup.cpp" line="1377"/>
<location filename="module/ghostimage.cpp" line="780"/>
<location filename="module/systembackup.cpp" line="914"/>
<location filename="module/systembackup.cpp" line="924"/>
<source>Are you sure to cancel the operation</source>
<translation></translation>
</message>
<message>
<location filename="module/databackup.cpp" line="1330"/>
<location filename="module/databackup.cpp" line="1377"/>
<location filename="module/datarestore.cpp" line="176"/>
<location filename="module/ghostimage.cpp" line="780"/>
<location filename="module/managebackuppointlist.cpp" line="49"/>
<location filename="module/selectrestorepoint.cpp" line="50"/>
<location filename="module/systembackup.cpp" line="914"/>
<location filename="module/systembackup.cpp" line="924"/>
<location filename="module/systemrestore.cpp" line="205"/>
<source>Cancel</source>
<translation></translation>
@ -1451,286 +1440,285 @@
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="139"/>
<location filename="module/systembackup.cpp" line="143"/>
<location filename="module/systembackup.cpp" line="140"/>
<source>Backup Management &gt;&gt;</source>
<translation> &gt;&gt;</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="196"/>
<location filename="module/systembackup.cpp" line="206"/>
<source>Please select backup position</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="221"/>
<location filename="module/systembackup.cpp" line="231"/>
<source>local default path : </source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="224"/>
<location filename="module/systembackup.cpp" line="234"/>
<source>removable devices path : </source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="235"/>
<location filename="module/systembackup.cpp" line="368"/>
<location filename="module/systembackup.cpp" line="664"/>
<location filename="module/systembackup.cpp" line="245"/>
<location filename="module/systembackup.cpp" line="378"/>
<location filename="module/systembackup.cpp" line="674"/>
<source>Back</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="243"/>
<location filename="module/systembackup.cpp" line="376"/>
<location filename="module/systembackup.cpp" line="672"/>
<location filename="module/systembackup.cpp" line="253"/>
<location filename="module/systembackup.cpp" line="386"/>
<location filename="module/systembackup.cpp" line="682"/>
<source>Next</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="281"/>
<location filename="module/systembackup.cpp" line="610"/>
<location filename="module/systembackup.cpp" line="794"/>
<location filename="module/systembackup.cpp" line="1112"/>
<location filename="module/systembackup.cpp" line="291"/>
<location filename="module/systembackup.cpp" line="620"/>
<location filename="module/systembackup.cpp" line="804"/>
<location filename="module/systembackup.cpp" line="1122"/>
<source>checking</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="284"/>
<location filename="module/systembackup.cpp" line="613"/>
<location filename="module/systembackup.cpp" line="797"/>
<location filename="module/systembackup.cpp" line="1115"/>
<location filename="module/systembackup.cpp" line="294"/>
<location filename="module/systembackup.cpp" line="623"/>
<location filename="module/systembackup.cpp" line="807"/>
<location filename="module/systembackup.cpp" line="1125"/>
<source>preparing</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="287"/>
<location filename="module/systembackup.cpp" line="616"/>
<location filename="module/systembackup.cpp" line="800"/>
<location filename="module/systembackup.cpp" line="1118"/>
<location filename="module/systembackup.cpp" line="297"/>
<location filename="module/systembackup.cpp" line="626"/>
<location filename="module/systembackup.cpp" line="810"/>
<location filename="module/systembackup.cpp" line="1128"/>
<source>backuping</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="290"/>
<location filename="module/systembackup.cpp" line="619"/>
<location filename="module/systembackup.cpp" line="803"/>
<location filename="module/systembackup.cpp" line="1121"/>
<location filename="module/systembackup.cpp" line="300"/>
<location filename="module/systembackup.cpp" line="629"/>
<location filename="module/systembackup.cpp" line="813"/>
<location filename="module/systembackup.cpp" line="1131"/>
<source>finished</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="386"/>
<location filename="module/systembackup.cpp" line="396"/>
<source>Recheck</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="413"/>
<location filename="module/systembackup.cpp" line="423"/>
<source>Checking, wait a moment ...</source>
<translation>...</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="419"/>
<location filename="module/systembackup.cpp" line="429"/>
<source>Do not perform other operations during backup to avoid data loss</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="422"/>
<location filename="module/systembackup.cpp" line="432"/>
<source>Check whether the remaining capacity of the backup partition is sufficient</source>
<translation>···</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="425"/>
<location filename="module/systembackup.cpp" line="435"/>
<source>Check whether the remaining capacity of the removable device is sufficient</source>
<translation>···</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="444"/>
<location filename="module/systembackup.cpp" line="454"/>
<source>Check success</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="446"/>
<location filename="module/systembackup.cpp" line="456"/>
<source>The storage for backup is enough</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="451"/>
<location filename="module/systembackup.cpp" line="461"/>
<source>Make sure the computer is plugged in or the battery level is above 60%</source>
<translation>60%</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="463"/>
<location filename="module/systembackup.cpp" line="473"/>
<source>Check failure</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="535"/>
<location filename="module/systembackup.cpp" line="972"/>
<location filename="module/systembackup.cpp" line="545"/>
<location filename="module/systembackup.cpp" line="982"/>
<source>Program lock failed, please retry</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="537"/>
<location filename="module/systembackup.cpp" line="974"/>
<location filename="module/systembackup.cpp" line="547"/>
<location filename="module/systembackup.cpp" line="984"/>
<source>There may be other backups or restores being performed</source>
<translation>/</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="541"/>
<location filename="module/systembackup.cpp" line="978"/>
<location filename="module/systembackup.cpp" line="551"/>
<location filename="module/systembackup.cpp" line="988"/>
<source>Unsupported task type</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="543"/>
<location filename="module/systembackup.cpp" line="980"/>
<location filename="module/systembackup.cpp" line="553"/>
<location filename="module/systembackup.cpp" line="990"/>
<source>No processing logic was found in the service</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="547"/>
<location filename="module/systembackup.cpp" line="984"/>
<location filename="module/systembackup.cpp" line="557"/>
<location filename="module/systembackup.cpp" line="994"/>
<source>Failed to mount the backup partition</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="549"/>
<location filename="module/systembackup.cpp" line="986"/>
<location filename="module/systembackup.cpp" line="559"/>
<location filename="module/systembackup.cpp" line="996"/>
<source>Check whether there is a backup partition</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="553"/>
<location filename="module/systembackup.cpp" line="990"/>
<location filename="module/systembackup.cpp" line="563"/>
<location filename="module/systembackup.cpp" line="1000"/>
<source>The filesystem of device is vfat format</source>
<translation>vfat格式</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="555"/>
<location filename="module/systembackup.cpp" line="992"/>
<location filename="module/systembackup.cpp" line="565"/>
<location filename="module/systembackup.cpp" line="1002"/>
<source>Please change filesystem format to ext3ext4 or ntfs</source>
<translation>ext3ext4ntfs等文件系统格式</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="559"/>
<location filename="module/systembackup.cpp" line="996"/>
<location filename="module/systembackup.cpp" line="569"/>
<location filename="module/systembackup.cpp" line="1006"/>
<source>The device is read only</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="561"/>
<location filename="module/systembackup.cpp" line="998"/>
<location filename="module/systembackup.cpp" line="571"/>
<location filename="module/systembackup.cpp" line="1008"/>
<source>Please chmod to rw</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="565"/>
<location filename="module/systembackup.cpp" line="1002"/>
<location filename="module/systembackup.cpp" line="575"/>
<location filename="module/systembackup.cpp" line="1012"/>
<source>The storage for backup is not enough</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="567"/>
<location filename="module/systembackup.cpp" line="1004"/>
<location filename="module/systembackup.cpp" line="577"/>
<location filename="module/systembackup.cpp" line="1014"/>
<source>Retry after release space</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="571"/>
<location filename="module/systembackup.cpp" line="1008"/>
<location filename="module/systembackup.cpp" line="581"/>
<location filename="module/systembackup.cpp" line="1018"/>
<source>Other backup or restore task is being performed</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="573"/>
<location filename="module/systembackup.cpp" line="1010"/>
<location filename="module/systembackup.cpp" line="583"/>
<location filename="module/systembackup.cpp" line="1020"/>
<source>Please try again later</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="627"/>
<location filename="module/systembackup.cpp" line="637"/>
<source>Backup Name</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="645"/>
<location filename="module/systembackup.cpp" line="686"/>
<location filename="module/systembackup.cpp" line="655"/>
<location filename="module/systembackup.cpp" line="696"/>
<source>Name already exists</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="743"/>
<location filename="module/systembackup.cpp" line="753"/>
<source>factory backup</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="862"/>
<location filename="module/systembackup.cpp" line="872"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="895"/>
<location filename="module/systembackup.cpp" line="905"/>
<source>Do not use computer in case of data loss</source>
<translation>使</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1016"/>
<location filename="module/systembackup.cpp" line="1026"/>
<source>Failed to create the backup point directory</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1018"/>
<location filename="module/systembackup.cpp" line="1028"/>
<source>Please check backup partition permissions</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1022"/>
<location filename="module/systembackup.cpp" line="1032"/>
<source>The system is being compressed to the local disk, please wait patiently...</source>
<translation>...</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1030"/>
<location filename="module/systembackup.cpp" line="1040"/>
<source>Transferring image file to mobile device, about to be completed...</source>
<translation>image文件到移动设备...</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1035"/>
<location filename="module/systembackup.cpp" line="1045"/>
<source>The backup had been canceled</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1037"/>
<location filename="module/systembackup.cpp" line="1047"/>
<source>Re-initiate the backup if necessary</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1050"/>
<location filename="module/systembackup.cpp" line="1076"/>
<location filename="module/systembackup.cpp" line="1060"/>
<location filename="module/systembackup.cpp" line="1086"/>
<source>An error occurred during backup</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1052"/>
<location filename="module/systembackup.cpp" line="1078"/>
<location filename="module/systembackup.cpp" line="1062"/>
<location filename="module/systembackup.cpp" line="1088"/>
<source>Error messages refer to log file : /var/log/backup.log</source>
<translation>/var/log/backup.log</translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1192"/>
<location filename="module/systembackup.cpp" line="1202"/>
<source>Home Page</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1199"/>
<location filename="module/systembackup.cpp" line="1209"/>
<source>Retry</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1221"/>
<location filename="module/systembackup.cpp" line="1231"/>
<source>The backup is successful</source>
<translation></translation>
</message>
<message>
<location filename="module/systembackup.cpp" line="1235"/>
<location filename="module/systembackup.cpp" line="1245"/>
<source>The backup is failed</source>
<translation></translation>
</message>

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B