mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-01-21 17:13:22 -08:00
Click tag mentions
You can now click on a username in the main chat to add a "@username" tag to the chat. Makes communication with other users using tags faster.
This commit is contained in:
@@ -249,12 +249,15 @@ void ChatView::mousePressEvent(QMouseEvent *event)
|
||||
break;
|
||||
}
|
||||
case HoveredUser: {
|
||||
if (event->button() == Qt::RightButton) {
|
||||
if (event->button() != Qt::MidButton) {
|
||||
const int delimiterIndex = hoveredContent.indexOf("_");
|
||||
UserLevelFlags userLevel(hoveredContent.left(delimiterIndex).toInt());
|
||||
const QString userName = hoveredContent.mid(delimiterIndex + 1);
|
||||
|
||||
userContextMenu->showContextMenu(event->globalPos(), userName, userLevel);
|
||||
if (event->button() == Qt::RightButton) {
|
||||
UserLevelFlags userLevel(hoveredContent.left(delimiterIndex).toInt());
|
||||
userContextMenu->showContextMenu(event->globalPos(), userName, userLevel);
|
||||
}
|
||||
else if (event->button() == Qt::LeftButton)
|
||||
emit addMentionTag("@" + userName);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ signals:
|
||||
void cardNameHovered(QString cardName);
|
||||
void showCardInfoPopup(QPoint pos, QString cardName);
|
||||
void deleteCardInfoPopup(QString cardName);
|
||||
void addMentionTag(QString mentionTag);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -44,6 +44,7 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI
|
||||
connect(chatView, SIGNAL(openMessageDialog(QString, bool)), this, SIGNAL(openMessageDialog(QString, bool)));
|
||||
connect(chatView, SIGNAL(showCardInfoPopup(QPoint, QString)), this, SLOT(showCardInfoPopup(QPoint, QString)));
|
||||
connect(chatView, SIGNAL(deleteCardInfoPopup(QString)), this, SLOT(deleteCardInfoPopup(QString)));
|
||||
connect(chatView, SIGNAL(addMentionTag(QString)), this, SLOT(addMentionTag(QString)));
|
||||
sayLabel = new QLabel;
|
||||
sayEdit = new QLineEdit;
|
||||
sayLabel->setBuddy(sayEdit);
|
||||
@@ -225,6 +226,10 @@ void TabRoom::processRoomSayEvent(const Event_RoomSay &event)
|
||||
emit userEvent(false);
|
||||
}
|
||||
|
||||
void TabRoom::addMentionTag(QString mentionTag) {
|
||||
sayEdit->insert(mentionTag + " ");
|
||||
}
|
||||
|
||||
PendingCommand *TabRoom::prepareRoomCommand(const ::google::protobuf::Message &cmd)
|
||||
{
|
||||
return client->prepareRoomCommand(cmd, roomId);
|
||||
|
||||
@@ -56,6 +56,7 @@ private slots:
|
||||
void actIgnoreUnregisteredUsers();
|
||||
void actClearChat();
|
||||
void ignoreUnregisteredUsersChanged();
|
||||
void addMentionTag(QString mentionTag);
|
||||
|
||||
void processListGamesEvent(const Event_ListGames &event);
|
||||
void processJoinRoomEvent(const Event_JoinRoom &event);
|
||||
|
||||
Reference in New Issue
Block a user