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()); verticalScrollBar()->setValue(verticalScrollBar()->maximum());
} }
void ChatView::clearChat() {
document()->clear();
}
void ChatView::enterEvent(QEvent * /*event*/) void ChatView::enterEvent(QEvent * /*event*/)
{ {
setMouseTracking(true); setMouseTracking(true);

View file

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

View file

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

View file

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