Merge pull request #543 from poixen/clearchat

Clear chat
This commit is contained in:
Gavin Bisesi 2015-01-12 21:15:55 -05:00
commit 2ae9cd2c37
4 changed files with 15 additions and 0 deletions

View file

@ -175,6 +175,10 @@ void ChatView::appendMessage(QString message, QString sender, UserLevelFlags use
verticalScrollBar()->setValue(verticalScrollBar()->maximum());
}
void ChatView::clearChat() {
document()->clear();
}
void ChatView::enterEvent(QEvent * /*event*/)
{
setMouseTracking(true);

View file

@ -37,6 +37,7 @@ public:
void retranslateUi();
void appendHtml(const QString &html);
void appendMessage(QString message, QString sender = QString(), UserLevelFlags userLevel = UserLevelFlags(), bool playerBold = false);
void clearChat();
protected:
void enterEvent(QEvent *event);
void leaveEvent(QEvent *event);

View file

@ -53,6 +53,9 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI
aIgnoreUnregisteredUsers = chatSettingsMenu->addAction(QString());
aIgnoreUnregisteredUsers->setCheckable(true);
connect(aIgnoreUnregisteredUsers, SIGNAL(triggered()), this, SLOT(actIgnoreUnregisteredUsers()));
chatSettingsMenu->addSeparator();
aClearChat = chatSettingsMenu->addAction(QString());
connect(aClearChat, SIGNAL(triggered()), this, SLOT(actClearChat()));
connect(settingsCache, SIGNAL(ignoreUnregisteredUsersChanged()), this, SLOT(ignoreUnregisteredUsersChanged()));
QToolButton *chatSettingsButton = new QToolButton;
chatSettingsButton->setIcon(QIcon(":/resources/icon_settings.svg"));
@ -114,6 +117,7 @@ void TabRoom::retranslateUi()
roomMenu->setTitle(tr("&Room"));
aLeaveRoom->setText(tr("&Leave room"));
aIgnoreUnregisteredUsers->setText(tr("&Ignore unregistered users in chat"));
aClearChat->setText(tr("&Clear chat"));
}
void TabRoom::closeRequest()
@ -172,6 +176,10 @@ void TabRoom::ignoreUnregisteredUsersChanged()
aIgnoreUnregisteredUsers->setChecked(settingsCache->getIgnoreUnregisteredUsers());
}
void TabRoom::actClearChat() {
chatView->clearChat();
}
void TabRoom::processRoomEvent(const RoomEvent &event)
{
switch (static_cast<RoomEvent::RoomEventType>(getPbExtension(event))) {

View file

@ -44,6 +44,7 @@ private:
QMenu *roomMenu;
QAction *aLeaveRoom;
QAction *aIgnoreUnregisteredUsers;
QAction * aClearChat;
QString sanitizeHtml(QString dirty) const;
signals:
void roomClosing(TabRoom *tab);
@ -53,6 +54,7 @@ private slots:
void sayFinished(const Response &response);
void actLeaveRoom();
void actIgnoreUnregisteredUsers();
void actClearChat();
void ignoreUnregisteredUsersChanged();
void processListGamesEvent(const Event_ListGames &event);