Pause chat while hovering. Fixes #208

Also pauses when clicking with double-click-links enabled and while
selecting text
This commit is contained in:
fourtf
2018-01-05 11:22:51 +01:00
parent 4ac03f396f
commit df81a0e5a5
5 changed files with 103 additions and 37 deletions
+8
View File
@@ -39,6 +39,7 @@ public:
void clearSelection();
void setEnableScrollingToBottom(bool);
bool getEnableScrollingToBottom() const;
void pause(int msecTimeout);
void setChannel(std::shared_ptr<Channel> channel);
messages::LimitedQueueSnapshot<messages::SharedMessageRef> getMessagesSnapshot();
@@ -56,6 +57,9 @@ protected:
virtual void paintEvent(QPaintEvent *) override;
virtual void wheelEvent(QWheelEvent *event) override;
virtual void enterEvent(QEvent *) override;
virtual void leaveEvent(QEvent *) override;
virtual void mouseMoveEvent(QMouseEvent *event) override;
virtual void mousePressEvent(QMouseEvent *event) override;
virtual void mouseReleaseEvent(QMouseEvent *event) override;
@@ -72,6 +76,10 @@ private:
QTimer updateTimer;
bool updateQueued = false;
bool messageWasAdded = false;
bool paused = false;
QTimer pauseTimeout;
messages::LimitedQueueSnapshot<messages::SharedMessageRef> snapshot;
void detachChannel();
void actuallyLayoutMessages();