2021-11-19 15:36:12 +08:00
|
|
|
//
|
|
|
|
|
// Created by Krad on 2021/11/19.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#ifndef GUI_USEROPERATIONLOG_H
|
|
|
|
|
#define GUI_USEROPERATIONLOG_H
|
|
|
|
|
|
|
|
|
|
#include <QDateTime>
|
|
|
|
|
#include <QFile>
|
|
|
|
|
#include <QTextStream>
|
|
|
|
|
|
|
|
|
|
#define USER_OPERATIONS()\
|
|
|
|
|
ADD_OPERATION(Login)\
|
|
|
|
|
ADD_OPERATION(Logout)\
|
|
|
|
|
ADD_OPERATION(ChangePassword)\
|
|
|
|
|
ADD_OPERATION(ChangeUserName)\
|
|
|
|
|
ADD_OPERATION(AddPatient)\
|
|
|
|
|
ADD_OPERATION(ChangePatientInfo)\
|
|
|
|
|
ADD_OPERATION(DeletePatient)\
|
|
|
|
|
ADD_OPERATION(SelectPatient)\
|
|
|
|
|
ADD_OPERATION(StartRefresh)\
|
|
|
|
|
ADD_OPERATION(Stop)\
|
|
|
|
|
ADD_OPERATION(StartPreview)\
|
|
|
|
|
ADD_OPERATION(StartScan)\
|
|
|
|
|
ADD_OPERATION(ConfirmError)\
|
|
|
|
|
|
|
|
|
|
#define LOG_USER_OPERATION(...)\
|
|
|
|
|
UserOperationLog::Default()->log(__VA_ARGS__);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum UserOperation{
|
|
|
|
|
#define ADD_OPERATION(name) name,\
|
|
|
|
|
|
|
|
|
|
USER_OPERATIONS()
|
|
|
|
|
#undef ADD_OPERATION
|
|
|
|
|
};
|
|
|
|
|
class UserOperationLog {
|
|
|
|
|
public:
|
|
|
|
|
UserOperationLog(){}
|
|
|
|
|
~UserOperationLog(){
|
|
|
|
|
if (logFile.isOpen())
|
|
|
|
|
{
|
|
|
|
|
logFile.flush();
|
|
|
|
|
logFile.close();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void init();
|
|
|
|
|
static UserOperationLog* Default(){
|
|
|
|
|
static UserOperationLog d;
|
|
|
|
|
return &d;
|
|
|
|
|
}
|
2021-11-23 13:22:00 +08:00
|
|
|
static void cleanHistoryLog();
|
|
|
|
|
|
|
|
|
|
static QStringList getHistoryLogFiles();
|
|
|
|
|
|
2021-11-19 15:36:12 +08:00
|
|
|
void log(UserOperation operation, bool processing = false);
|
2021-11-19 17:21:12 +08:00
|
|
|
void reloadFile();
|
2021-11-23 13:22:00 +08:00
|
|
|
QString currentLogFile(){
|
|
|
|
|
return currentFileName;
|
|
|
|
|
}
|
|
|
|
|
static void loadLogFromFile(QString filePath, QStringList& result);
|
2021-11-19 15:36:12 +08:00
|
|
|
private:
|
|
|
|
|
QString currentFileName;
|
|
|
|
|
QFile logFile;
|
|
|
|
|
QTextStream out;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif //GUI_USEROPERATIONLOG_H
|