diff --git a/mumble_env.x64-windows-static-md.b1fe4a4257.7z b/mumble_env.x64-windows-static-md.b1fe4a4257.7z new file mode 100644 index 00000000000..16c69dcd0fc Binary files /dev/null and b/mumble_env.x64-windows-static-md.b1fe4a4257.7z differ diff --git a/src/mumble/CMakeLists.txt b/src/mumble/CMakeLists.txt index 1f3daa534c2..c36decfdc81 100644 --- a/src/mumble/CMakeLists.txt +++ b/src/mumble/CMakeLists.txt @@ -145,6 +145,8 @@ set(MUMBLE_SOURCES "Database.h" "DeveloperConsole.cpp" "DeveloperConsole.h" + "Documentation.cpp" + "Documentation.h" "EchoCancelOption.cpp" "EchoCancelOption.h" "EnumStringConversions.cpp" diff --git a/src/mumble/Documentation.cpp b/src/mumble/Documentation.cpp new file mode 100644 index 00000000000..be522c4bc59 --- /dev/null +++ b/src/mumble/Documentation.cpp @@ -0,0 +1,41 @@ +// Copyright The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include "Documentation.h" + +#include +#include +#include + +DocumentationDialog::DocumentationDialog(QWidget *parent) : QDialog(parent) { + setWindowTitle(tr("Mumble Documentation")); + resize(640, 520); + + QVBoxLayout *mainLayout = new QVBoxLayout(this); + + QTextBrowser *documentationView = new QTextBrowser(this); + documentationView->setReadOnly(true); + documentationView->setOpenExternalLinks(true); + documentationView->setAccessibleName(tr("Documentation links")); + documentationView->setHtml( + tr("

Welcome to Mumble Documentation

" + "

Documentation

" + "

You can find official Mumble documentation and support resources below.

" + "

For new users, start with the User Guide.

" + "

Configure key bindings with Global Shortcuts.

" + "

Tune your setup with the Audio Settings guide.

" + "

Browse all topics in Main Documentation.

" + "

Help and Resources

" + "

Download the latest release from Downloads.

" + "

Report issues or get technical help via GitHub Issues.

" + "

Read project updates on the Blog.

" + "

Reach the team through the Contact page.

")); + + QPushButton *okButton = new QPushButton(tr("OK"), this); + connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); + + mainLayout->addWidget(documentationView); + mainLayout->addWidget(okButton); +} diff --git a/src/mumble/Documentation.h b/src/mumble/Documentation.h new file mode 100644 index 00000000000..2a1751cb3d7 --- /dev/null +++ b/src/mumble/Documentation.h @@ -0,0 +1,20 @@ +// Copyright The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_MUMBLE_DOCUMENTATION_H_ +#define MUMBLE_MUMBLE_DOCUMENTATION_H_ + +#include + +class DocumentationDialog : public QDialog { +private: + Q_OBJECT + Q_DISABLE_COPY(DocumentationDialog) + +public: + explicit DocumentationDialog(QWidget *parent = nullptr); +}; + +#endif diff --git a/src/mumble/MainWindow.cpp b/src/mumble/MainWindow.cpp index a6fb6bac9ca..0dbd326d2a7 100644 --- a/src/mumble/MainWindow.cpp +++ b/src/mumble/MainWindow.cpp @@ -18,6 +18,7 @@ #include "Connection.h" #include "Database.h" #include "DeveloperConsole.h" +#include "Documentation.h" #include "Log.h" #include "MumbleConstants.h" #include "Net.h" @@ -2874,6 +2875,10 @@ void MainWindow::on_qaHelpAboutQt_triggered() { openAboutQtDialog(); } +void MainWindow::on_qaHelpDocumentation_triggered() { + openDocumentationDialog(); +} + void MainWindow::on_qaHelpVersionCheck_triggered() { versionCheck(); } @@ -4271,6 +4276,11 @@ void MainWindow::openAboutQtDialog() { QMessageBox::aboutQt(this, tr("About Qt")); } +void MainWindow::openDocumentationDialog() { + DocumentationDialog documentationDialog(this); + documentationDialog.exec(); +} + void MainWindow::versionCheck() { new VersionCheck(false, this); } diff --git a/src/mumble/MainWindow.h b/src/mumble/MainWindow.h index 462630a48c6..eebdc72dfd4 100644 --- a/src/mumble/MainWindow.h +++ b/src/mumble/MainWindow.h @@ -305,6 +305,7 @@ public slots: void on_qaHelpWhatsThis_triggered(); void on_qaHelpAbout_triggered(); void on_qaHelpAboutQt_triggered(); + void on_qaHelpDocumentation_triggered(); void on_qaHelpVersionCheck_triggered(); void on_qaQuit_triggered(); void on_qteChat_tabPressed(); @@ -477,6 +478,7 @@ public slots: void enableAudioTTS(bool enable); void openAboutDialog(); void openAboutQtDialog(); + void openDocumentationDialog(); void versionCheck(); void enablePositionalAudio(bool enable); }; diff --git a/src/mumble/MainWindow.ui b/src/mumble/MainWindow.ui index 0f2e11357a8..ac38dc97991 100644 --- a/src/mumble/MainWindow.ui +++ b/src/mumble/MainWindow.ui @@ -62,6 +62,7 @@ &Help + @@ -738,6 +739,17 @@ the channel's context menu. QAction::AboutQtRole + + + &Documentation + + + Open links to official Mumble documentation resources + + + Shows official Mumble documentation and support links. + + Check for &Updates