#ifndef PAGELISTITEM_H
#define PAGELISTITEM_H

#include "pageeditor.h"
#include <QJsonObject>
#include <QListWidget>

class PageListItem : public QObject, public QListWidgetItem {
    Q_OBJECT
public:
    explicit PageListItem(const QJsonObject &attr, const QString &pageDir);
    ~PageListItem() {
        if(mAttrWgt!=0) 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
