From 59feffc5a253fec33b310f7a0105c8ef42b9019b Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 14 Jun 2015 01:35:25 +0200 Subject: paperreplay working --- paperreplay.h | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) (limited to 'paperreplay.h') diff --git a/paperreplay.h b/paperreplay.h index e771584..c9eb6f2 100644 --- a/paperreplay.h +++ b/paperreplay.h @@ -1,10 +1,9 @@ #ifndef PAPERREPLAY_H #define PAPERREPLAY_H -#include #include #include -#include +#include #include #define PAPER_REPLAY "Paper Replay" @@ -14,8 +13,9 @@ class PaperReplay : public QObject Q_OBJECT struct SessionData : public QSharedData { + quint64 id; QString name; - QDateTime start, end; + qint64 start, end; QVector pages; QString file; }; @@ -28,26 +28,45 @@ public: Session(); ~Session(); + bool isValid() const; + + quint64 id() const; + QString name() const; - QDateTime startTime() const; - QDateTime endTime() const; + qint64 startTime() const; + qint64 endTime() const; QVector pages() const; QString fileName() const; private: + Session(quint64 id); QSharedDataPointer d; + friend class PaperReplay; + friend class SessionList; + }; + + class SessionList { + public: + SessionList(); + + QList sessionsDuringTime(qint64 time) const; + + private: + explicit SessionList(const QMap& byTime); + + QMap _m; + friend class PaperReplay; }; bool open(const QString &path, const QString &penSerial, quint64 notebookGuid); void close(); - QList sessions() const; - QList sessions(quint64 pageAddress) const; + SessionList sessions(quint64 pageAddress) const; private: static bool parseSessionInfo(SessionData *session, const QString &path); @@ -60,8 +79,7 @@ private: private: QDir _dir; - QHash _sessions; - QMultiMap _byPage; + QMap > _byPageTime; }; #endif // PAPERREPLAY_H -- cgit v1.2.3