#ifndef TOOLS_H #define TOOLS_H #include "program/progitem.h" #include "gutil/qjson.h" #include #include #include #include #include #include #include #include #include const QString str0_9[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}; extern QTextEdit *gFdResInfo; extern ProgItem *gProgItem; class Tools : public QObject { Q_OBJECT public: static Tools* getInstance(); static QNetworkAccessManager &netManager() { static QNetworkAccessManager manager; return manager; }; static QRect centerRect(qreal, qreal, int, int); static QString addSufix(QString); static void mergeFormat(QTextEdit *textEdit, const QTextCharFormat &format); static QString readErrStr(QImageReader::ImageReaderError); static QString fileMd5(QString); static void saveImg(const QString&, const QFontMetrics&, const QFont&, const QColor&, JObj&, const QString&, const QString&); static void saveImg2(const QString&, const QFontMetrics&, const QFont&, const QColor&, JArray&, const QString&, const QString&); static QColor int2Color(int value); static int color2Int(const QColor& color); static QBrush getBrush(const QColor& color); static QString selectStr(bool f, const QString &s0, const QString &s1 = ""); ~Tools() { killTimer(timer_id); } signals: void sTick(); protected: virtual void timerEvent(QTimerEvent *event); private: Tools(QObject *parent = nullptr) : QObject(parent) { timer_id = startTimer(500, Qt::PreciseTimer); }; int timer_id; }; #endif // TOOLS_H