diff --git a/src/mumble/MainWindow.cpp b/src/mumble/MainWindow.cpp
index f32428a4f40..81c4f289d13 100644
--- a/src/mumble/MainWindow.cpp
+++ b/src/mumble/MainWindow.cpp
@@ -2258,6 +2258,7 @@ void MainWindow::qmChannel_aboutToShow() {
qmChannel->addAction(qaChannelUnlinkAll);
qmChannel->addSeparator();
qmChannel->addAction(qaChannelCopyURL);
+ qmChannel->addAction(qaChannelDescriptionView);
qmChannel->addAction(qaChannelSendMessage);
// hiding the root is nonsense
@@ -2310,6 +2311,7 @@ void MainWindow::qmChannel_aboutToShow() {
if (c) {
qaChannelHide->setChecked(c->m_filterMode == ChannelFilterMode::HIDE);
qaChannelPin->setChecked(c->m_filterMode == ChannelFilterMode::PIN);
+ qaChannelDescriptionView->setEnabled(!c->qbaDescHash.isEmpty());
}
qaChannelAdd->setEnabled(add);
@@ -2531,6 +2533,34 @@ void MainWindow::on_qaChannelCopyURL_triggered() {
QClipboard::Clipboard);
}
+void MainWindow::on_qaChannelDescriptionView_triggered() {
+ Channel *c = getContextMenuChannel();
+ // This has to be done here because UserModel could've set it.
+ cContextChannel.clear();
+
+ if (!c)
+ return;
+
+ if (!c->qbaDescHash.isEmpty() && c->qsDesc.isEmpty()) {
+ c->qsDesc = QString::fromUtf8(Global::get().db->blob(c->qbaDescHash));
+ if (c->qsDesc.isEmpty()) {
+ pmModel->iChannelDescription = ~static_cast< int >(c->iId);
+ MumbleProto::RequestBlob mprb;
+ mprb.add_channel_description(c->iId);
+ Global::get().sh->sendMessage(mprb);
+ return;
+ }
+ }
+
+ pmModel->seenComment(pmModel->index(c));
+
+ ::TextMessage *texm = new ::TextMessage(this, tr("View description of channel %1").arg(c->qsName));
+
+ texm->rteMessage->setText(c->qsDesc, true);
+ texm->setAttribute(Qt::WA_DeleteOnClose, true);
+ texm->show();
+}
+
/**
* This function updates the UI according to the permission of the user in the current channel.
* If possible the permissions are fetched from a cache. Otherwise they are requested by the server
diff --git a/src/mumble/MainWindow.h b/src/mumble/MainWindow.h
index e54eab71169..a85aa33eb1d 100644
--- a/src/mumble/MainWindow.h
+++ b/src/mumble/MainWindow.h
@@ -271,6 +271,7 @@ public slots:
void on_qaChannelHide_triggered();
void on_qaChannelPin_triggered();
void on_qaChannelCopyURL_triggered();
+ void on_qaChannelDescriptionView_triggered();
void on_qaAudioReset_triggered();
void on_qaAudioMute_triggered();
void on_qaAudioDeaf_triggered();
diff --git a/src/mumble/MainWindow.ui b/src/mumble/MainWindow.ui
index da034615394..bf84cbc535e 100644
--- a/src/mumble/MainWindow.ui
+++ b/src/mumble/MainWindow.ui
@@ -919,6 +919,14 @@ the channel's context menu.
&Pin When Filtering
+
+
+ Vie&w Description
+
+
+ View description in editor
+
+
Vie&w Comment
diff --git a/src/mumble/UserModel.cpp b/src/mumble/UserModel.cpp
index 49d2fab1244..f79ae34157f 100644
--- a/src/mumble/UserModel.cpp
+++ b/src/mumble/UserModel.cpp
@@ -1271,6 +1271,10 @@ void UserModel::setComment(Channel *c, const QString &comment) {
QToolTip::showText(QCursor::pos(), data(index(c, 0), Qt::ToolTipRole).toString(),
Global::get().mw->qtvUsers);
}
+ } else if (c->iId == static_cast< unsigned int >(~iChannelDescription)) {
+ iChannelDescription = -1;
+ Global::get().mw->cContextChannel = c;
+ QTimer::singleShot(0, Global::get().mw, &MainWindow::on_qaChannelDescriptionView_triggered);
} else {
item->bCommentSeen = Global::get().db->seenComment(item->hash(), c->qbaDescHash);
newstate = item->bCommentSeen ? 2 : 1;
diff --git a/src/mumble/mumble_ar.ts b/src/mumble/mumble_ar.ts
index c7bd042197b..d766b15c31b 100644
--- a/src/mumble/mumble_ar.ts
+++ b/src/mumble/mumble_ar.ts
@@ -7002,6 +7002,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_bg.ts b/src/mumble/mumble_bg.ts
index cefea097ce1..87286fffd7a 100644
--- a/src/mumble/mumble_bg.ts
+++ b/src/mumble/mumble_bg.ts
@@ -6999,6 +6999,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_br.ts b/src/mumble/mumble_br.ts
index c048125243e..38e241e2ed1 100644
--- a/src/mumble/mumble_br.ts
+++ b/src/mumble/mumble_br.ts
@@ -6998,6 +6998,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_ca.ts b/src/mumble/mumble_ca.ts
index c6303666ef3..0e68ead9111 100644
--- a/src/mumble/mumble_ca.ts
+++ b/src/mumble/mumble_ca.ts
@@ -7152,6 +7152,18 @@ Les opcions vàlides són:
Canals i usuaris filtrats
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_cs.ts b/src/mumble/mumble_cs.ts
index 7f5dcac793e..1dfce1d5821 100644
--- a/src/mumble/mumble_cs.ts
+++ b/src/mumble/mumble_cs.ts
@@ -7058,6 +7058,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_cy.ts b/src/mumble/mumble_cy.ts
index ccfad2922e1..c8698ab0f44 100644
--- a/src/mumble/mumble_cy.ts
+++ b/src/mumble/mumble_cy.ts
@@ -7002,6 +7002,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_da.ts b/src/mumble/mumble_da.ts
index 36d6c33c194..85a84e53d93 100644
--- a/src/mumble/mumble_da.ts
+++ b/src/mumble/mumble_da.ts
@@ -7054,6 +7054,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_de.ts b/src/mumble/mumble_de.ts
index 2bfe33f1d85..7597d35f489 100644
--- a/src/mumble/mumble_de.ts
+++ b/src/mumble/mumble_de.ts
@@ -7145,6 +7145,18 @@ Gültige Optionen sind:
Gefilterte Kanäle und Benutzer
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_el.ts b/src/mumble/mumble_el.ts
index 89e1f6ea08f..9ba61ef10d4 100644
--- a/src/mumble/mumble_el.ts
+++ b/src/mumble/mumble_el.ts
@@ -7152,6 +7152,18 @@ mumble://[<username>[:<password>]@]<host>[:<port>][/<
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_en.ts b/src/mumble/mumble_en.ts
index 263bdf254b8..b9e9406f861 100644
--- a/src/mumble/mumble_en.ts
+++ b/src/mumble/mumble_en.ts
@@ -6997,6 +6997,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_en_GB.ts b/src/mumble/mumble_en_GB.ts
index c9f91995fe3..6b9cc51f148 100644
--- a/src/mumble/mumble_en_GB.ts
+++ b/src/mumble/mumble_en_GB.ts
@@ -7051,6 +7051,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_eo.ts b/src/mumble/mumble_eo.ts
index 599d1e63a4f..ee7ffb2ab37 100644
--- a/src/mumble/mumble_eo.ts
+++ b/src/mumble/mumble_eo.ts
@@ -7010,6 +7010,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_es.ts b/src/mumble/mumble_es.ts
index 09a13903896..5017cb5ee46 100644
--- a/src/mumble/mumble_es.ts
+++ b/src/mumble/mumble_es.ts
@@ -7153,6 +7153,18 @@ Las opciones válidas son:
Canales filtrados y usuarias
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_et.ts b/src/mumble/mumble_et.ts
index a6328145fa1..d829f86492f 100644
--- a/src/mumble/mumble_et.ts
+++ b/src/mumble/mumble_et.ts
@@ -6999,6 +6999,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_eu.ts b/src/mumble/mumble_eu.ts
index dd7ebb88b59..f58739d8e53 100644
--- a/src/mumble/mumble_eu.ts
+++ b/src/mumble/mumble_eu.ts
@@ -7019,6 +7019,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_fa_IR.ts b/src/mumble/mumble_fa_IR.ts
index d26a92ba57b..838b020e36f 100644
--- a/src/mumble/mumble_fa_IR.ts
+++ b/src/mumble/mumble_fa_IR.ts
@@ -6999,6 +6999,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_fi.ts b/src/mumble/mumble_fi.ts
index e79908e6681..7529bbd5780 100644
--- a/src/mumble/mumble_fi.ts
+++ b/src/mumble/mumble_fi.ts
@@ -7151,6 +7151,18 @@ Hyväksytyt valinnat ovat
Suodatetut kanavat ja käyttäjät
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_fr.ts b/src/mumble/mumble_fr.ts
index 72325cc55df..e5168241528 100644
--- a/src/mumble/mumble_fr.ts
+++ b/src/mumble/mumble_fr.ts
@@ -7159,6 +7159,18 @@ Les options valides sont :
Salons et utilisateurs filtrés
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_gl.ts b/src/mumble/mumble_gl.ts
index 46ad38d4ac8..783e8240559 100644
--- a/src/mumble/mumble_gl.ts
+++ b/src/mumble/mumble_gl.ts
@@ -7000,6 +7000,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_he.ts b/src/mumble/mumble_he.ts
index 68006fb7d79..6e26c2b5e29 100644
--- a/src/mumble/mumble_he.ts
+++ b/src/mumble/mumble_he.ts
@@ -7050,6 +7050,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_hi.ts b/src/mumble/mumble_hi.ts
index b99000f56df..58dd5ee2e09 100644
--- a/src/mumble/mumble_hi.ts
+++ b/src/mumble/mumble_hi.ts
@@ -6961,6 +6961,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_hu.ts b/src/mumble/mumble_hu.ts
index 48d6b9fe7e1..33218a3d727 100644
--- a/src/mumble/mumble_hu.ts
+++ b/src/mumble/mumble_hu.ts
@@ -7050,6 +7050,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_it.ts b/src/mumble/mumble_it.ts
index fee730039cf..7b106173528 100644
--- a/src/mumble/mumble_it.ts
+++ b/src/mumble/mumble_it.ts
@@ -7092,6 +7092,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_ja.ts b/src/mumble/mumble_ja.ts
index 81cf29f7255..26ac6e9f081 100644
--- a/src/mumble/mumble_ja.ts
+++ b/src/mumble/mumble_ja.ts
@@ -7048,6 +7048,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_ko.ts b/src/mumble/mumble_ko.ts
index 9e3348423c1..d593f565ebb 100644
--- a/src/mumble/mumble_ko.ts
+++ b/src/mumble/mumble_ko.ts
@@ -7091,6 +7091,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_lt.ts b/src/mumble/mumble_lt.ts
index 79536ffa7da..9ebdf40a080 100644
--- a/src/mumble/mumble_lt.ts
+++ b/src/mumble/mumble_lt.ts
@@ -7033,6 +7033,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_nl.ts b/src/mumble/mumble_nl.ts
index 6327e199f4d..d1967f27f36 100644
--- a/src/mumble/mumble_nl.ts
+++ b/src/mumble/mumble_nl.ts
@@ -7092,6 +7092,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_no.ts b/src/mumble/mumble_no.ts
index e527362e968..8054e76c841 100644
--- a/src/mumble/mumble_no.ts
+++ b/src/mumble/mumble_no.ts
@@ -7107,6 +7107,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_oc.ts b/src/mumble/mumble_oc.ts
index 83535751d72..0fc9620f4a7 100644
--- a/src/mumble/mumble_oc.ts
+++ b/src/mumble/mumble_oc.ts
@@ -6999,6 +6999,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_pl.ts b/src/mumble/mumble_pl.ts
index 0557986b417..f49c82055f4 100644
--- a/src/mumble/mumble_pl.ts
+++ b/src/mumble/mumble_pl.ts
@@ -7153,6 +7153,18 @@ Prawidłowe opcje to:
Filtrowane kanały i użytkownicy
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_pt_BR.ts b/src/mumble/mumble_pt_BR.ts
index 83cf84540b9..7c8393caff7 100644
--- a/src/mumble/mumble_pt_BR.ts
+++ b/src/mumble/mumble_pt_BR.ts
@@ -7092,6 +7092,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_pt_PT.ts b/src/mumble/mumble_pt_PT.ts
index ec1ed9548e1..57a921aac7d 100644
--- a/src/mumble/mumble_pt_PT.ts
+++ b/src/mumble/mumble_pt_PT.ts
@@ -7070,6 +7070,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_ro.ts b/src/mumble/mumble_ro.ts
index 507b960f6b2..5ff6cbf5594 100644
--- a/src/mumble/mumble_ro.ts
+++ b/src/mumble/mumble_ro.ts
@@ -7007,6 +7007,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_ru.ts b/src/mumble/mumble_ru.ts
index c66d90ab137..340f549a0bd 100644
--- a/src/mumble/mumble_ru.ts
+++ b/src/mumble/mumble_ru.ts
@@ -7153,6 +7153,18 @@ mumble://[<имя пользователя>[:<пароль>]@]<х
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_si.ts b/src/mumble/mumble_si.ts
index 8386ff390f6..a0e0cacee98 100644
--- a/src/mumble/mumble_si.ts
+++ b/src/mumble/mumble_si.ts
@@ -6961,6 +6961,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_sk.ts b/src/mumble/mumble_sk.ts
index d8b5598c5cb..358aa0e06d2 100644
--- a/src/mumble/mumble_sk.ts
+++ b/src/mumble/mumble_sk.ts
@@ -6965,6 +6965,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_sq.ts b/src/mumble/mumble_sq.ts
index dabc4b8e997..da7e0ed6e8a 100644
--- a/src/mumble/mumble_sq.ts
+++ b/src/mumble/mumble_sq.ts
@@ -6963,6 +6963,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_sv.ts b/src/mumble/mumble_sv.ts
index 7cc8b6d37b5..c4c845ab660 100644
--- a/src/mumble/mumble_sv.ts
+++ b/src/mumble/mumble_sv.ts
@@ -7151,6 +7151,18 @@ Giltiga värden för options är:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_te.ts b/src/mumble/mumble_te.ts
index 5dd48265015..f50d24c5077 100644
--- a/src/mumble/mumble_te.ts
+++ b/src/mumble/mumble_te.ts
@@ -7010,6 +7010,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_th.ts b/src/mumble/mumble_th.ts
index 52102b984f9..0cc95ed9fc4 100644
--- a/src/mumble/mumble_th.ts
+++ b/src/mumble/mumble_th.ts
@@ -6997,6 +6997,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_tr.ts b/src/mumble/mumble_tr.ts
index f78f9915d02..2f4f55fc0ed 100644
--- a/src/mumble/mumble_tr.ts
+++ b/src/mumble/mumble_tr.ts
@@ -7153,6 +7153,18 @@ Geçerli seçenekler şunlardır:
Filtrelenmiş kanallar ve kullanıcılar
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_uk.ts b/src/mumble/mumble_uk.ts
index ca546a6965b..60f50e141b3 100644
--- a/src/mumble/mumble_uk.ts
+++ b/src/mumble/mumble_uk.ts
@@ -7007,6 +7007,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_zh_CN.ts b/src/mumble/mumble_zh_CN.ts
index 5a8fad05b9b..04d0d7df7e4 100644
--- a/src/mumble/mumble_zh_CN.ts
+++ b/src/mumble/mumble_zh_CN.ts
@@ -7151,6 +7151,18 @@ mumble://[<用户名>[:<密码>]@]<主机名>[:<端口>]
筛选的频道和用户
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_zh_HK.ts b/src/mumble/mumble_zh_HK.ts
index 70e3521f780..abc18a0f856 100644
--- a/src/mumble/mumble_zh_HK.ts
+++ b/src/mumble/mumble_zh_HK.ts
@@ -7002,6 +7002,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual
diff --git a/src/mumble/mumble_zh_TW.ts b/src/mumble/mumble_zh_TW.ts
index 6204a0face7..858adc7bc33 100644
--- a/src/mumble/mumble_zh_TW.ts
+++ b/src/mumble/mumble_zh_TW.ts
@@ -7026,6 +7026,18 @@ Valid options are:
+
+
+
+
+
+
+
+
+
+
+
+
Manual