diff options
Diffstat (limited to 'board.h')
-rw-r--r-- | board.h | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -5,6 +5,8 @@ #include <QtCore/QHash> #include <QtCore/QPair> #include <QtCore/QRegExp> +#include <QtCore/QSet> +#include <QtCore/QTimer> #include <QtCore/QQueue> #include <QtCore/QUrl> #include <QtCore/QVariant> @@ -63,9 +65,13 @@ public slots: void notifyForumsChanged(); void notifyForumTopicsChanged(int forumId, int start, int end); void notifyTopicPostsChanged(int topicId, int start, int end); + void notifyTopicPostsUnread(int topicId, int position); void notifyLogin(const QMap<QString, QVariant>& info); void notifyLogout(); + // Functions for marking posts as read + void markPostAsRead(int postId); + signals: void busyChanged(); void loggedInChanged(); @@ -73,6 +79,7 @@ signals: void forumsChanged(); void forumTopicsChanged(int forumId, int start, int end); void topicPostsChanged(int topicId, int start, int end); + void topicPostsUnread(int topicId, int position); private: static QString createSlug(const QUrl& url); @@ -86,6 +93,7 @@ private: void executeActionFromQueue(); void initializeBbCode(); void initializeSmilies(); + void initializeMarkRead(); void fetchConfigIfOutdated(); void fetchForumsIfOutdated(); @@ -98,13 +106,21 @@ private: QString _slug; QSqlDatabase _db; XmlRpcInterface *_iface; + /** The queue of pending actions. The first one is currently being run. */ QQueue<Action*> _queue; /** Configuration cache */ mutable QHash<QString, QString> _config; + /** Login information, which is obviously not persistent. */ QMap<QString, QVariant> _loginInfo; + /** Bbcodes list and their HTML replacements for quick-and-dirty parsing. */ QList< QPair<QRegExp, QString> > _bbcodes; + /** List of smilies and their replacements. */ QHash<QString, QString> _smilies; + /** A regular expression that matches every possibly smilie. */ QRegExp _smilieRegexp; + /** This timer helps delay marking topics/posts as read. */ + QTimer *_markReadDelay; + QSet<int> _postsToMarkRead; }; inline bool Board::busy() const |