再改回来,使用登出用户操作测试时出现了其它问题
This commit is contained in:
parent
76137966f5
commit
6eca263e55
|
@ -199,13 +199,6 @@ int MyBackupManager::goRestore(const BackupWrapper& backupWrapper)
|
||||||
connect(worker, &Worker::progress, this, [&](int rate) {
|
connect(worker, &Worker::progress, this, [&](int rate) {
|
||||||
emit this->progress(int(BackupState::WORKING), rate);
|
emit this->progress(int(BackupState::WORKING), rate);
|
||||||
});
|
});
|
||||||
connect(worker, &Worker::otherSignal, this, [&](int type) {
|
|
||||||
// 结束ukui-session-tools的锁定,以便后面的用户登出操作
|
|
||||||
if (Worker::OtherSignal::UKUI_SESSION_LOCK_END == type) {
|
|
||||||
this->uninhibit();
|
|
||||||
emit this->sendRestoreResult(true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
connect(worker, &Worker::workResult, this, [&] (bool result) {
|
connect(worker, &Worker::workResult, this, [&] (bool result) {
|
||||||
emit this->sendRestoreResult(result);
|
emit this->sendRestoreResult(result);
|
||||||
this->finished();
|
this->finished();
|
||||||
|
|
|
@ -372,23 +372,16 @@ void SystemRestoreProxy::restoreSystem()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (FACTORY_BACKUP_UUID == m_curUuid && m_backupWrapper.m_type == BackupType::RESTORE_SYSTEM) {
|
if (FACTORY_BACKUP_UUID == m_curUuid && m_backupWrapper.m_type == BackupType::RESTORE_SYSTEM) {
|
||||||
emit this->otherSignal(UKUI_SESSION_LOCK_END);
|
|
||||||
Utils::wait(5);
|
|
||||||
|
|
||||||
// 出厂还原有的机器上删除/home/xxx有残留,故在此再强制删除一下,sudo rm -rf命令一遍还删除不了(报错:无法删除/home/xx/.config:目录非空,应该是删除后又自动生成了),多删除几次还不是非常干净,^_^
|
// 出厂还原有的机器上删除/home/xxx有残留,故在此再强制删除一下,sudo rm -rf命令一遍还删除不了(报错:无法删除/home/xx/.config:目录非空,应该是删除后又自动生成了),多删除几次还不是非常干净,^_^
|
||||||
removeHome(QString(Utils::getSysRootPath() + "/home").replace("//", "/"));
|
removeHome(QString(Utils::getSysRootPath() + "/home").replace("//", "/"));
|
||||||
removeHome(QString(Utils::getSysRootPath() + "/data/home").replace("//", "/"));
|
removeHome(QString(Utils::getSysRootPath() + "/data/home").replace("//", "/"));
|
||||||
|
|
||||||
QProcess::execute("sync");
|
|
||||||
Utils::wait(2);
|
|
||||||
emit this->workResult(result);
|
|
||||||
} else {
|
|
||||||
QProcess::execute("sync");
|
|
||||||
Utils::wait(5);
|
|
||||||
emit this->workResult(result);
|
|
||||||
Utils::wait(3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QProcess::execute("sync");
|
||||||
|
Utils::wait(5);
|
||||||
|
emit this->workResult(result);
|
||||||
|
Utils::wait(2);
|
||||||
|
|
||||||
reboot(RB_AUTOBOOT);
|
reboot(RB_AUTOBOOT);
|
||||||
} else {
|
} else {
|
||||||
emit this->workResult(result);
|
emit this->workResult(result);
|
||||||
|
|
|
@ -11,10 +11,6 @@
|
||||||
class Worker : public QObject
|
class Worker : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
|
||||||
enum OtherSignal{
|
|
||||||
UKUI_SESSION_LOCK_END,
|
|
||||||
};
|
|
||||||
public:
|
public:
|
||||||
explicit Worker();
|
explicit Worker();
|
||||||
virtual ~Worker();
|
virtual ~Worker();
|
||||||
|
@ -28,8 +24,6 @@ signals:
|
||||||
void workResult(bool result);
|
void workResult(bool result);
|
||||||
// 任务取消
|
// 任务取消
|
||||||
void cancel();
|
void cancel();
|
||||||
// 其它信号
|
|
||||||
void otherSignal(int type);
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
// 环境检测
|
// 环境检测
|
||||||
|
|
|
@ -963,9 +963,6 @@ void SystemRestore::initLastWidget()
|
||||||
labelError2->setVisible(false);
|
labelError2->setVisible(false);
|
||||||
retry->setVisible(false);
|
retry->setVisible(false);
|
||||||
homePage->setVisible(false);
|
homePage->setVisible(false);
|
||||||
|
|
||||||
Utils::wait(2);
|
|
||||||
QProcess::execute("ukui-session-tools --logout");
|
|
||||||
} else {
|
} else {
|
||||||
resultLogo->setThemeIconSchema("dialog-error", ":/symbos/dialog-error");
|
resultLogo->setThemeIconSchema("dialog-error", ":/symbos/dialog-error");
|
||||||
resultLogo->setVisible(true);
|
resultLogo->setVisible(true);
|
||||||
|
|
Loading…
Reference in New Issue