first commit

This commit is contained in:
2026-04-29 14:10:10 +08:00
commit b28556d43d
1558 changed files with 241386 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
#ifndef SCHEDULESHIFTSEDITOR_H
#define SCHEDULESHIFTSEDITOR_H
#include <QWidget>
#include <QTime>
#include <QTimeEdit>
#include <QStandardItemModel>
#include "PicScheduleShiftItem.h"
#include "ItemGeneralSettings.h"
namespace Ui {
class ScheduleShiftsEditor;
}
/**
* @brief 重写实现以实现一个自定义的QTimeEdit组件,用于选择时间时,点击时间选择器的部分时,能够选中所选的部分,而不仅仅是移动光标
*/
class SelectedStyleTimeEdit : public QTimeEdit
{
Q_OBJECT
public:
SelectedStyleTimeEdit(QWidget *parent = nullptr);
virtual ~SelectedStyleTimeEdit();
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
};
class ScheduleShiftsEditor : public QWidget
{
Q_OBJECT
public:
explicit ScheduleShiftsEditor(QWidget *parent = nullptr);
~ScheduleShiftsEditor();
void edit(PicScheduleShiftItem* item);
const QVector<ScheduleModel>& dataModel() const;
PicScheduleShiftItem* currEditItem();
signals:
void accepted();
void rejected();
private slots:
void onBtnOkClicked();
void onBtnCloseClicked();
void onBtnAddClicked();
void onBtnRemoveClicked();
void onTableSelectionChanged();
void btnAddEnbCheck(const QString& txt);
private:
void applyDataModel();
void applyStyleSheet();
Ui::ScheduleShiftsEditor *ui;
QVector<ScheduleModel> m_dataModel;
ItemGeneralSettings* m_generalSettings = nullptr;
QXmlStreamAttributes m_backup;
};
#endif // SCHEDULESHIFTSEDITOR_H