2025-01-05 16:29:31 +01:00
|
|
|
#ifndef STATSDATA_H
|
|
|
|
|
#define STATSDATA_H
|
|
|
|
|
|
2025-01-05 17:42:12 +01:00
|
|
|
#include <QHash>
|
2025-01-05 16:29:31 +01:00
|
|
|
#include <QObject>
|
|
|
|
|
|
|
|
|
|
class StatsData : public QObject
|
|
|
|
|
{
|
2025-01-05 17:42:12 +01:00
|
|
|
Q_OBJECT
|
|
|
|
|
Q_PROPERTY(QList<QObject *> rows READ rows NOTIFY rowsChanged FINAL)
|
2025-01-05 16:29:31 +01:00
|
|
|
public:
|
2025-01-05 17:42:12 +01:00
|
|
|
StatsData(const QString &dir);
|
2025-01-05 16:29:31 +01:00
|
|
|
|
2025-01-05 17:42:12 +01:00
|
|
|
QList<QObject *> rows() const;
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
void rowsChanged();
|
|
|
|
|
|
|
|
|
|
private slots:
|
2025-01-05 16:29:31 +01:00
|
|
|
void start();
|
|
|
|
|
|
|
|
|
|
private:
|
2025-01-05 17:42:12 +01:00
|
|
|
const QString m_dir;
|
|
|
|
|
QList<QObject*> m_rows;
|
|
|
|
|
};
|
2025-01-05 16:29:31 +01:00
|
|
|
|
2025-01-05 17:42:12 +01:00
|
|
|
class Row : public QObject {
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
Q_PROPERTY(QString language READ language CONSTANT FINAL)
|
|
|
|
|
Q_PROPERTY(int mobileStringCount READ mobileStringCount CONSTANT FINAL)
|
|
|
|
|
Q_PROPERTY(int desktopStringCount READ desktopStringCount CONSTANT FINAL)
|
|
|
|
|
Q_PROPERTY(int doneMobile READ doneMobile CONSTANT FINAL)
|
|
|
|
|
Q_PROPERTY(int doneDesktop READ doneDesktop CONSTANT FINAL)
|
|
|
|
|
public:
|
|
|
|
|
Row(const QString &language, QObject *parent);
|
|
|
|
|
|
|
|
|
|
QString language() const;
|
|
|
|
|
|
|
|
|
|
int mobileStringCount() const;
|
|
|
|
|
int desktopStringCount() const;
|
|
|
|
|
int doneMobile() const;
|
|
|
|
|
int doneDesktop() const;
|
|
|
|
|
|
|
|
|
|
const QString m_language;
|
|
|
|
|
int m_mobileStringCount = 0;
|
|
|
|
|
int m_desktopStringCount = 0;
|
|
|
|
|
int m_doneMobile = 0;
|
|
|
|
|
int m_doneDesktop = 0;
|
2025-01-05 16:29:31 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|