#ifndef MCONVERTER_H #define MCONVERTER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #define MACRO_CONVERT_WIN_RECT \ int element_x = jRoot["geometry"]["x"].toDouble();\ int element_y = jRoot["geometry"]["y"].toDouble();\ int element_w = jRoot["geometry"]["w"].toDouble();\ int element_h = jRoot["geometry"]["h"].toDouble(); class mConverter : public QThread { Q_OBJECT public: explicit mConverter(const QString &name,const QString &strPath,const QString &strPassword, QObject *parent = nullptr); int m_usbZipFlag=0; protected: virtual void run() override; protected: void cpyResource(); void cpySubResource(QString strSourceDir,QString strDestDir); void genPackage(); void zipPackage(); void compressDirByPassword(QString strZipFileName,QString strSrcDir,QString strPassword); void AddDirToZipFile(const QString &path,QuaZip *pZip,QString strRoot,QString strPassword); void AddFileToZipFile(const QString &strFile,QString strNewInfoInZip,QuaZip *pZip,QString strPassword); QJsonArray scanProg(); protected: QJsonObject genProgJson (const QString &pProg); QJsonArray genPagesJson(const QString &pProg); QJsonObject genPageJson (const QJsonDocument &jPage); ///////// QJsonObject genProgramJson(const QJsonDocument &jProg); QJsonArray genLayerJson(const QJsonDocument &jPage); QJsonObject convertMultElementWindow (const QJsonObject &json); protected: int newResId() { return m_resId++; } QString newUuid() { return QUuid::createUuid().toString().remove('{').remove('}'); } QString getFileMd5(QString filePath); protected: QJsonObject convertText (const QJsonObject &json); QJsonObject convertPhoto (const QJsonObject &json); QJsonObject convertMovie (const QJsonObject &json); QJsonObject convertGif (const QJsonObject &json); QJsonObject convertDClock (const QJsonObject &json); QJsonObject convertDClockNew (const QJsonObject &json); QJsonObject convertAClock (const QJsonObject &json); QJsonObject convertTemp (const QJsonObject &json); QJsonObject convertWeather(const QJsonObject &json); QJsonObject convertTimer (const QJsonObject &json); QJsonObject convertRss (const QJsonObject &json); QJsonObject convertOffice(const QJsonObject &json); QJsonObject convertColorText(const QJsonObject &json); QJsonObject convertWindow (const QJsonObject &json,QJsonArray &oSource); void DemoProtcol(); signals: void sProgress(QString, int, bool = false); void sigConvertTimerOut(); public slots: private: QString m_nProg; QString m_nConv; QString m_strProgramItemPath; QString m_pProg; QString m_pZipProg; QString m_pConv; QString m_strCurPagePath; QJsonDocument m_jProg; int m_resId; QString m_strPassword=""; QString makeColorString(const QColor &color, const QString type); // void compressDirByPassword(QString strZipFileName,QString strSrcDir,QString strPassword); }; #endif // MCONVERTER_H