diff --git a/cockatrice/src/dlg_settings.cpp b/cockatrice/src/dlg_settings.cpp index d5ea5f09..36c66e2f 100644 --- a/cockatrice/src/dlg_settings.cpp +++ b/cockatrice/src/dlg_settings.cpp @@ -574,8 +574,13 @@ MessagesSettingsPage::MessagesSettingsPage() chatMentionCheckBox.setChecked(settingsCache->getChatMention()); connect(&chatMentionCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setChatMention(int))); + + ignoreUnregUsersMainChat.setChecked(settingsCache->getIgnoreUnregisteredUsers()); + connect(&ignoreUnregUsersMainChat, SIGNAL(stateChanged(int)), settingsCache, SLOT(setIgnoreUnregisteredUsers(int))); + QGridLayout *chatGrid = new QGridLayout; chatGrid->addWidget(&chatMentionCheckBox, 0, 0); + chatGrid->addWidget(&ignoreUnregUsersMainChat, 1, 0); chatGroupBox = new QGroupBox; chatGroupBox->setLayout(chatGrid); @@ -647,6 +652,7 @@ void MessagesSettingsPage::retranslateUi() chatGroupBox->setTitle(tr("Chat settings")); chatMentionCheckBox.setText(tr("Enable chat mentions ('@yourusername' in chat log will be highlighted)")); messageShortcuts->setTitle(tr("In-game message macros")); + ignoreUnregUsersMainChat.setText(tr("Ignore unregisterd users in main chat")); } DlgSettings::DlgSettings(QWidget *parent) diff --git a/cockatrice/src/dlg_settings.h b/cockatrice/src/dlg_settings.h index 05751fc5..a3875c5c 100644 --- a/cockatrice/src/dlg_settings.h +++ b/cockatrice/src/dlg_settings.h @@ -161,6 +161,7 @@ private: QAction *aAdd; QAction *aRemove; QCheckBox chatMentionCheckBox; + QCheckBox ignoreUnregUsersMainChat; QGroupBox *chatGroupBox; QGroupBox *messageShortcuts; diff --git a/cockatrice/src/settingscache.cpp b/cockatrice/src/settingscache.cpp index 1cc465e2..8bfbeb2d 100644 --- a/cockatrice/src/settingscache.cpp +++ b/cockatrice/src/settingscache.cpp @@ -293,11 +293,10 @@ void SettingsCache::setPriceTagSource(int _priceTagSource) settings->setValue("deckeditor/pricetagsource", priceTagSource); } -void SettingsCache::setIgnoreUnregisteredUsers(bool _ignoreUnregisteredUsers) +void SettingsCache::setIgnoreUnregisteredUsers(int _ignoreUnregisteredUsers) { ignoreUnregisteredUsers = _ignoreUnregisteredUsers; settings->setValue("chat/ignore_unregistered", ignoreUnregisteredUsers); - emit ignoreUnregisteredUsersChanged(); } void SettingsCache::setMainWindowGeometry(const QByteArray &_mainWindowGeometry) diff --git a/cockatrice/src/settingscache.h b/cockatrice/src/settingscache.h index bfc724c0..b4d6e9bf 100644 --- a/cockatrice/src/settingscache.h +++ b/cockatrice/src/settingscache.h @@ -154,7 +154,7 @@ public slots: void setSoundPath(const QString &_soundPath); void setPriceTagFeature(int _priceTagFeature); void setPriceTagSource(int _priceTagSource); - void setIgnoreUnregisteredUsers(bool _ignoreUnregisteredUsers); + void setIgnoreUnregisteredUsers(int _ignoreUnregisteredUsers); void setPicUrl(const QString &_picUrl); void setPicUrlHq(const QString &_picUrlHq); void setPicUrlFallback(const QString &_picUrlFallback); diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp index 5b134b1d..2b8ffd87 100644 --- a/cockatrice/src/tab_room.cpp +++ b/cockatrice/src/tab_room.cpp @@ -52,15 +52,12 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI connect(sayEdit, SIGNAL(returnPressed()), this, SLOT(sendMessage())); QMenu *chatSettingsMenu = new QMenu(this); - 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())); + chatSettingsMenu->addSeparator(); + aOpenChatSettings = chatSettingsMenu->addAction(QString()); connect(aOpenChatSettings, SIGNAL(triggered()), this, SLOT(actOpenChatSettings())); @@ -124,7 +121,6 @@ void TabRoom::retranslateUi() chatGroupBox->setTitle(tr("Chat")); roomMenu->setTitle(tr("&Room")); aLeaveRoom->setText(tr("&Leave room")); - aIgnoreUnregisteredUsers->setText(tr("&Ignore unregistered users in chat")); aClearChat->setText(tr("&Clear chat")); aOpenChatSettings->setText(tr("Chat Settings...")); } @@ -174,17 +170,6 @@ void TabRoom::actLeaveRoom() deleteLater(); } -void TabRoom::actIgnoreUnregisteredUsers() -{ - aIgnoreUnregisteredUsers->setChecked(!aIgnoreUnregisteredUsers->isChecked()); - settingsCache->setIgnoreUnregisteredUsers(!settingsCache->getIgnoreUnregisteredUsers()); -} - -void TabRoom::ignoreUnregisteredUsersChanged() -{ - aIgnoreUnregisteredUsers->setChecked(settingsCache->getIgnoreUnregisteredUsers()); -} - void TabRoom::actClearChat() { chatView->clearChat(); } diff --git a/cockatrice/src/tab_room.h b/cockatrice/src/tab_room.h index e27384a3..115093fd 100644 --- a/cockatrice/src/tab_room.h +++ b/cockatrice/src/tab_room.h @@ -43,7 +43,6 @@ private: QMenu *roomMenu; QAction *aLeaveRoom; - QAction *aIgnoreUnregisteredUsers; QAction *aOpenChatSettings; QAction * aClearChat; QString sanitizeHtml(QString dirty) const; @@ -54,10 +53,8 @@ private slots: void sendMessage(); void sayFinished(const Response &response); void actLeaveRoom(); - void actIgnoreUnregisteredUsers(); void actClearChat(); void actOpenChatSettings(); - void ignoreUnregisteredUsersChanged(); void addMentionTag(QString mentionTag); void processListGamesEvent(const Event_ListGames &event);