yhkylin-backup-tools/kybackup/module/databackup.h

99 lines
2.7 KiB
C++
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef DATABACKUP_H
#define DATABACKUP_H
#include <QStackedWidget>
#include "udiskdetector.h"
#include "../backup_manager_interface.h"
#include "../backup-daemon/parsebackuplist.h"
#include "../component/backuplistwidget.h"
class DataBackup : public QStackedWidget
{
Q_OBJECT
public:
enum DataBackupState
{
IDEL = 0, // 空闲
CHECKING, // 环境校验中
BACKUPING // 备份中
};
enum DataBackupPage
{
HOME_PAGE, // 首页
SELECT_PATH_PAGE, // 选择备份路径页
INC_SELECT_PATH_PAGE, // 增量备份选择路径页
CHECK_ENV_PAGE, // 环境检测页
NAME_BACKUP_PAGE, // 备份命名页
BACKUP_PAGE, // 备份中页
LAST_PAGE, // 结束页
};
public:
explicit DataBackup(QWidget *parent = nullptr);
~DataBackup();
private:
void initFirstWidget();
void initSecondWidget();
void initSecondWidget_inc();
void initThirdWidget();
void initForthWidget();
void initFifthWidget();
void initLastWidget();
QList<ParseBackupList::BackupPoint> getBackupPointList();
bool isExistsBackupName(const QString & backupName);
signals:
void reset();
void initIncListWidget();
void startCheckEnv();
void checkEnvResult(bool result, const QString &errMsg = "", const QString &errTip = "");
void backupWarnning(const QString &warnning);
void checkBackupResult(bool result, const QString &errMsg = "", const QString &errTip = "");
void startBackup();
void progress(int state, int rate);
void clearBackupName();
public slots:
void on_pre_clicked(bool checked = false);
void on_next_clicked(bool checked = false);
void on_checkEnv_start();
void on_checkEnv_end(int result);
void on_backup_start();
void on_checkBackup_end(int result);
void on_backup_end(bool result);
private:
void getPathsLimit(QStringList &pathLimits, QList<QUrl> &siderUrls);
void addOldBackupPaths(BackupListWidget *listWidget);
// 是否增量备份
bool m_isIncrement;
// U盘探测
UdiskDetector* m_udector;
// U盘挂载路径列表
QStringList m_udiskPaths;
// U盘列表变化时先锁定
bool m_isLock;
// 是否本地备份
bool m_isLocal;
// 备份路径列表
QStringList m_backupPaths;
// 数据备份状态
int m_DataBackupState;
// 增量备份选择的备份点uuid
QString m_uuid;
// 自定义备份路径
QString m_customizePath;
// 选中的备份目标路径前缀暂指udisk挂载路径
QString m_prefixDestPath;
// dbus接口
ComKylinBackupManagerInterface *m_pInterface;
// 备份点名称
QString m_backupName;
};
#endif // DATABACKUP_H