qt/LedOK/program/pagelistitem.h
2023-05-09 15:08:39 +08:00

40 lines
804 B
C++

#ifndef PAGELISTITEM_H
#define PAGELISTITEM_H
#include <QGraphicsScene>
#include <QJsonObject>
#include <QLabel>
#include <QListWidget>
class PageListItem : public QObject, public QListWidgetItem {
Q_OBJECT
public:
explicit PageListItem(const QJsonObject &attr, const QString &pageDir);
~PageListItem() {
if(mAttrWgt) delete mAttrWgt;
}
void updateJson();
bool saveFiles();
QWidget *itemWgt();
QWidget *attrWgt();
QJsonObject mAttr;
QString mPageDir;
QWidget *mAttrWgt{0};
QListWidget *mAudiosList{0};
QGraphicsScene *mScene{0};
QGraphicsView *mGraView{0};
QLabel *fdPlayTimes{0};
};
struct AudioInfo {
QString dir;
QString name;
int dur{0};
int vol{100};
};
Q_DECLARE_METATYPE(AudioInfo)
#endif // PAGELISTITEM_H