diff --git a/ChangeLog.txt b/ChangeLog.txt index 75b326bd01..8a2033e794 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -4,7 +4,7 @@ Version 5.16, unreleased Default Qt Client -- +- Option to show server's message of the day in a welcome dialog box Android Client - iOS Client diff --git a/Client/qtTeamTalk/chattextedit.cpp b/Client/qtTeamTalk/chattextedit.cpp index d1f34fe2cd..101cac8d7f 100644 --- a/Client/qtTeamTalk/chattextedit.cpp +++ b/Client/qtTeamTalk/chattextedit.cpp @@ -27,6 +27,7 @@ #include #include #include +#include extern TTInstance* ttInst; extern QSettings* ttSettings; @@ -148,16 +149,23 @@ void ChatTextEdit::updateServer(const ServerProperties& srvprop) font.setBold(true); format.setFont(font); cursor.setCharFormat(format); - QString line = dt + tr("Server Name: %1").arg(_Q(srvprop.szServerName));; + QString line = dt + tr("Server Name: %1").arg(_Q(srvprop.szServerName)); setTextCursor(cursor); appendPlainText(line); if (_Q(srvprop.szMOTD).size() > 0) { - line = dt + tr("Message of the Day: %1").arg(_Q(srvprop.szMOTD)) + "\r\n"; - format.setForeground(QBrush(Qt::darkCyan)); - cursor.setCharFormat(format); - setTextCursor(cursor); - appendPlainText(line); + if (ttSettings->value(SETTINGS_DISPLAY_MOTD_DLG, SETTINGS_DISPLAY_MOTD_DLG_DEFAULT).toBool() == true) + { + QMessageBox::information(this, tr("Welcome"), QString("Welcome to %1.\r\nMessage of the day: %2").arg(_Q(srvprop.szServerName)).arg(_Q(srvprop.szMOTD))); + } + else + { + line = dt + tr("Message of the Day: %1").arg(_Q(srvprop.szMOTD)) + "\r\n"; + format.setForeground(QBrush(Qt::darkCyan)); + cursor.setCharFormat(format); + setTextCursor(cursor); + appendPlainText(line); + } } //revert bold diff --git a/Client/qtTeamTalk/preferences.ui b/Client/qtTeamTalk/preferences.ui index 266ad7d5c2..e60cc0bb7d 100644 --- a/Client/qtTeamTalk/preferences.ui +++ b/Client/qtTeamTalk/preferences.ui @@ -576,6 +576,13 @@ + + + + Show dialog box with server's message of the day + + + diff --git a/Client/qtTeamTalk/preferencesdlg.cpp b/Client/qtTeamTalk/preferencesdlg.cpp index 19687dd1b9..501020e1b9 100644 --- a/Client/qtTeamTalk/preferencesdlg.cpp +++ b/Client/qtTeamTalk/preferencesdlg.cpp @@ -579,6 +579,7 @@ void PreferencesDlg::slotTabChange(int index) ui.closeFileDlgChkBox->setChecked(ttSettings->value(SETTINGS_DISPLAY_CLOSE_FILEDIALOG, SETTINGS_DISPLAY_CLOSE_FILEDIALOG_DEFAULT).toBool()); ui.dlgExcludeChkBox->setChecked(ttSettings->value(SETTINGS_DISPLAY_CHANEXCLUDE_DLG, SETTINGS_DISPLAY_CHANEXCLUDE_DLG_DEFAULT).toBool()); + ui.dlgMOTDChkBox->setChecked(ttSettings->value(SETTINGS_DISPLAY_MOTD_DLG, SETTINGS_DISPLAY_MOTD_DLG_DEFAULT).toBool()); ui.startServerListChkBox->setVisible(!ttSettings->value(SETTINGS_CONNECTION_AUTOCONNECT, SETTINGS_CONNECTION_AUTOCONNECT_DEFAULT).toBool()); ui.startServerListChkBox->setChecked(ttSettings->value(SETTINGS_DISPLAY_START_SERVERLIST, SETTINGS_DISPLAY_START_SERVERLIST_DEFAULT).toBool()); } @@ -876,6 +877,7 @@ void PreferencesDlg::slotSaveChanges() ttSettings->setValue(SETTINGS_DISPLAY_CHANNELSORT, getCurrentItemData(ui.channelsortComboBox, CHANNELSORT_ASCENDING)); ttSettings->setValue(SETTINGS_DISPLAY_CLOSE_FILEDIALOG, ui.closeFileDlgChkBox->isChecked()); ttSettings->setValue(SETTINGS_DISPLAY_CHANEXCLUDE_DLG, ui.dlgExcludeChkBox->isChecked()); + ttSettings->setValue(SETTINGS_DISPLAY_MOTD_DLG, ui.dlgMOTDChkBox->isChecked()); ttSettings->setValue(SETTINGS_DISPLAY_START_SERVERLIST, ui.startServerListChkBox->isChecked()); } if(m_modtab.find(CONNECTION_TAB) != m_modtab.end()) diff --git a/Client/qtTeamTalk/settings.h b/Client/qtTeamTalk/settings.h index dd4867ad37..f2d480df71 100644 --- a/Client/qtTeamTalk/settings.h +++ b/Client/qtTeamTalk/settings.h @@ -141,6 +141,8 @@ #define SETTINGS_DISPLAY_CLOSE_FILEDIALOG_DEFAULT false #define SETTINGS_DISPLAY_CHANEXCLUDE_DLG "display/dlg-alert-exclude" #define SETTINGS_DISPLAY_CHANEXCLUDE_DLG_DEFAULT false +#define SETTINGS_DISPLAY_MOTD_DLG "display/MOTD-dlg" +#define SETTINGS_DISPLAY_MOTD_DLG_DEFAULT false #define SETTINGS_DISPLAY_START_SERVERLIST "display/serverlist-on-start" #define SETTINGS_DISPLAY_START_SERVERLIST_DEFAULT false #define SETTINGS_DISPLAY_CHANNELSORT "display/sort-channels"