#ifndef PAGELISTITEM_H #define PAGELISTITEM_H #include #include #include #include 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