From ac7b085449fb49f54225d22c7c229da6ad120e2b Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 12 Sep 2021 19:41:12 +0200 Subject: remove PEN_EPOCH mistake and get usertime from the pen --- paperreplay.h | 53 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 21 deletions(-) (limited to 'paperreplay.h') diff --git a/paperreplay.h b/paperreplay.h index 9e61af7..62a75a6 100644 --- a/paperreplay.h +++ b/paperreplay.h @@ -24,18 +24,26 @@ #include #include -/** Name of the paper replay notebook */ +/** Name of the paper replay "fake" notebook. + * Contains all paper replay sessions not tied to another notebook. */ #define PAPER_REPLAY "Paper Replay" +#define PAPER_REPLAY_GUID 0 class PaperReplay : public QObject { Q_OBJECT +public: + typedef quint64 SessionId; + typedef quint64 PenTime; + typedef quint64 PageAddress; + +private: struct SessionData : public QSharedData { - quint64 id; + SessionId id; QString name; - qint64 start, end; - QVector pages; + PenTime start, end; + QVector pages; QString file; }; @@ -49,12 +57,12 @@ public: bool isValid() const; - quint64 id() const; + SessionId id() const; QString name() const; - qint64 startTime() const; - qint64 endTime() const; + PenTime startTime() const; + PenTime endTime() const; QVector pages() const; @@ -63,7 +71,7 @@ public: static bool startTimeLess(const Session &a, const Session &b); private: - Session(quint64 id); + Session(SessionId id); QSharedDataPointer d; friend class PaperReplay; @@ -74,35 +82,38 @@ public: public: SessionList(); - QList sessionsDuringTime(qint64 time) const; + QList sessionsDuringTime(PenTime time) const; private: - explicit SessionList(const QMap& byTime); + explicit SessionList(const QMap& byTime); - QMap _m; + QMap _m; friend class PaperReplay; }; - bool open(const QString &path, quint64 notebookGuid = 0); + bool open(const QString &path, quint64 notebookGuid, PenTime userTime); void close(); QList sessions() const; - SessionList sessions(quint64 pageAddress) const; + SessionList sessions(PageAddress pageAddress) const; + + PenTime userTime() const; private: - static bool parseSessionInfo(SessionData *session, const QString &path); - static bool parseSessionInfo(SessionData *session, QIODevice *dev); - static bool parseSessionInfoV3(SessionData *session, QIODevice *dev); + bool parseSessionInfo(SessionData *session, const QString &path) const; + bool parseSessionInfo(SessionData *session, QIODevice *dev) const; + bool parseSessionInfoV3(SessionData *session, QIODevice *dev) const; - static bool parseSessionPages(SessionData *session, const QString &path); - static bool parseSessionPages(SessionData *session, QIODevice *dev); - static bool parseSessionPagesV1(SessionData *session, QIODevice *dev); + bool parseSessionPages(SessionData *session, const QString &path) const; + bool parseSessionPages(SessionData *session, QIODevice *dev) const; + bool parseSessionPagesV1(SessionData *session, QIODevice *dev) const; private: QDir _dir; - QHash _sessions; - QMap > _byPageTime; + QHash _sessions; + QMap > _byPageTime; + PenTime _userTime; }; #endif // PAPERREPLAY_H -- cgit v1.2.3