qt/LedOK/program/pagelistitem.h
2023-06-20 16:09:25 +08:00

42 lines
866 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 *fdIdx{0}, *fdPlayTimes{0};
qreal scale{1};
int viewW{120}, viewH{80};
};
struct AudioInfo {
QString dir;
QString name;
int dur{0};
int vol{100};
};
Q_DECLARE_METATYPE(AudioInfo)
#endif // PAGELISTITEM_H