Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Adam <krzmbrzl@gmail.com>2021-03-01 20:01:11 +0300
committerRobert Adam <krzmbrzl@gmail.com>2021-03-02 12:15:01 +0300
commit59ae429972c16c377135bcccfee646b7df446933 (patch)
treed4d82f96756f95255970f165195f3fde71273c40 /src/mumble
parent86710dab6202794bb14a26aff76e303c99c7dc43 (diff)
MAINT: Update copyright notice to 2021
This was done by running scripts/updateLicenseHeaders.py and then manually editing the LICENSE file.
Diffstat (limited to 'src/mumble')
-rw-r--r--src/mumble/ACLEditor.cpp2
-rw-r--r--src/mumble/ACLEditor.h2
-rw-r--r--src/mumble/ALSAAudio.cpp2
-rw-r--r--src/mumble/ALSAAudio.h2
-rw-r--r--src/mumble/ASIOInput.cpp2
-rw-r--r--src/mumble/ASIOInput.h2
-rw-r--r--src/mumble/About.cpp2
-rw-r--r--src/mumble/About.h2
-rw-r--r--src/mumble/AppNap.h2
-rw-r--r--src/mumble/AppNap.mm2
-rw-r--r--src/mumble/ApplicationPalette.h2
-rw-r--r--src/mumble/ApplicationPaletteTemplate.h2
-rw-r--r--src/mumble/Audio.cpp2
-rw-r--r--src/mumble/Audio.h2
-rw-r--r--src/mumble/AudioConfigDialog.cpp2
-rw-r--r--src/mumble/AudioConfigDialog.h2
-rw-r--r--src/mumble/AudioInput.cpp2
-rw-r--r--src/mumble/AudioInput.h2
-rw-r--r--src/mumble/AudioOutput.cpp2
-rw-r--r--src/mumble/AudioOutput.h2
-rw-r--r--src/mumble/AudioOutputSample.cpp2
-rw-r--r--src/mumble/AudioOutputSample.h2
-rw-r--r--src/mumble/AudioOutputSpeech.cpp2
-rw-r--r--src/mumble/AudioOutputSpeech.h2
-rw-r--r--src/mumble/AudioOutputUser.cpp2
-rw-r--r--src/mumble/AudioOutputUser.h2
-rw-r--r--src/mumble/AudioStats.cpp2
-rw-r--r--src/mumble/AudioStats.h2
-rw-r--r--src/mumble/AudioWizard.cpp2
-rw-r--r--src/mumble/AudioWizard.h2
-rw-r--r--src/mumble/BanEditor.cpp2
-rw-r--r--src/mumble/BanEditor.h2
-rw-r--r--src/mumble/CELTCodec.cpp2
-rw-r--r--src/mumble/CELTCodec.h2
-rw-r--r--src/mumble/CELTCodec_sbcelt.cpp2
-rw-r--r--src/mumble/Cert.cpp2
-rw-r--r--src/mumble/Cert.h2
-rw-r--r--src/mumble/ClientUser.cpp2
-rw-r--r--src/mumble/ClientUser.h2
-rw-r--r--src/mumble/ConfigDialog.cpp2
-rw-r--r--src/mumble/ConfigDialog.h2
-rw-r--r--src/mumble/ConfigWidget.cpp2
-rw-r--r--src/mumble/ConfigWidget.h2
-rw-r--r--src/mumble/ConnectDialog.cpp2
-rw-r--r--src/mumble/ConnectDialog.h2
-rw-r--r--src/mumble/CoreAudio.h2
-rw-r--r--src/mumble/CoreAudio.mm2
-rw-r--r--src/mumble/CrashReporter.cpp2
-rw-r--r--src/mumble/CrashReporter.h2
-rw-r--r--src/mumble/CustomElements.cpp2
-rw-r--r--src/mumble/CustomElements.h2
-rw-r--r--src/mumble/DBus.cpp2
-rw-r--r--src/mumble/DBus.h2
-rw-r--r--src/mumble/Database.cpp2
-rw-r--r--src/mumble/Database.h2
-rw-r--r--src/mumble/DeveloperConsole.cpp2
-rw-r--r--src/mumble/DeveloperConsole.h2
-rw-r--r--src/mumble/G15LCDEngine_helper.cpp2
-rw-r--r--src/mumble/G15LCDEngine_helper.h2
-rw-r--r--src/mumble/G15LCDEngine_lglcd.cpp2
-rw-r--r--src/mumble/G15LCDEngine_lglcd.h2
-rw-r--r--src/mumble/G15LCDEngine_unix.cpp2
-rw-r--r--src/mumble/G15LCDEngine_unix.h2
-rw-r--r--src/mumble/GKey.cpp304
-rw-r--r--src/mumble/GKey.h128
-rw-r--r--src/mumble/Global.cpp2
-rw-r--r--src/mumble/Global.h2
-rw-r--r--src/mumble/GlobalShortcut.cpp2
-rw-r--r--src/mumble/GlobalShortcut.h2
-rw-r--r--src/mumble/GlobalShortcut_macx.h2
-rw-r--r--src/mumble/GlobalShortcut_macx.mm2
-rw-r--r--src/mumble/GlobalShortcut_unix.cpp2
-rw-r--r--src/mumble/GlobalShortcut_unix.h2
-rw-r--r--src/mumble/GlobalShortcut_win.cpp2
-rw-r--r--src/mumble/GlobalShortcut_win.h2
-rw-r--r--src/mumble/JackAudio.cpp2
-rw-r--r--src/mumble/JackAudio.h2
-rw-r--r--src/mumble/LCD.cpp2
-rw-r--r--src/mumble/LCD.h2
-rw-r--r--src/mumble/ListenerLocalVolumeDialog.cpp2
-rw-r--r--src/mumble/ListenerLocalVolumeDialog.h2
-rw-r--r--src/mumble/Log.cpp2
-rw-r--r--src/mumble/Log.h2
-rw-r--r--src/mumble/Log_macx.mm2
-rw-r--r--src/mumble/Log_unix.cpp2
-rw-r--r--src/mumble/Log_win.cpp2
-rw-r--r--src/mumble/LookConfig.cpp2
-rw-r--r--src/mumble/LookConfig.h2
-rw-r--r--src/mumble/MainWindow.cpp2
-rw-r--r--src/mumble/MainWindow.h2
-rw-r--r--src/mumble/ManualPlugin.cpp2
-rw-r--r--src/mumble/ManualPlugin.h2
-rw-r--r--src/mumble/Markdown.cpp2
-rw-r--r--src/mumble/Markdown.h2
-rw-r--r--src/mumble/Messages.cpp2
-rw-r--r--src/mumble/MumbleApplication.cpp2
-rw-r--r--src/mumble/MumbleApplication.h2
-rw-r--r--src/mumble/NetworkConfig.cpp2
-rw-r--r--src/mumble/NetworkConfig.h2
-rw-r--r--src/mumble/OSS.cpp2
-rw-r--r--src/mumble/OSS.h2
-rw-r--r--src/mumble/OpusCodec.cpp2
-rw-r--r--src/mumble/OpusCodec.h2
-rw-r--r--src/mumble/Overlay.cpp2
-rw-r--r--src/mumble/Overlay.h2
-rw-r--r--src/mumble/OverlayClient.cpp2
-rw-r--r--src/mumble/OverlayClient.h2
-rw-r--r--src/mumble/OverlayConfig.cpp2
-rw-r--r--src/mumble/OverlayConfig.h2
-rw-r--r--src/mumble/OverlayEditor.cpp2
-rw-r--r--src/mumble/OverlayEditor.h2
-rw-r--r--src/mumble/OverlayEditorScene.cpp2
-rw-r--r--src/mumble/OverlayEditorScene.h2
-rw-r--r--src/mumble/OverlayPositionableItem.cpp174
-rw-r--r--src/mumble/OverlayPositionableItem.h66
-rw-r--r--src/mumble/OverlayText.cpp2
-rw-r--r--src/mumble/OverlayText.h2
-rw-r--r--src/mumble/OverlayUser.cpp2
-rw-r--r--src/mumble/OverlayUser.h2
-rw-r--r--src/mumble/OverlayUserGroup.cpp2
-rw-r--r--src/mumble/OverlayUserGroup.h2
-rw-r--r--src/mumble/Overlay_macx.mm2
-rw-r--r--src/mumble/Overlay_unix.cpp2
-rw-r--r--src/mumble/Overlay_win.cpp2
-rw-r--r--src/mumble/Overlay_win.h112
-rw-r--r--src/mumble/PAAudio.cpp2
-rw-r--r--src/mumble/PAAudio.h2
-rw-r--r--src/mumble/PTTButtonWidget.cpp2
-rw-r--r--src/mumble/PTTButtonWidget.h2
-rw-r--r--src/mumble/PathListWidget.cpp184
-rw-r--r--src/mumble/PathListWidget.h80
-rw-r--r--src/mumble/Plugins.cpp2
-rw-r--r--src/mumble/Plugins.h2
-rw-r--r--src/mumble/PulseAudio.cpp2
-rw-r--r--src/mumble/PulseAudio.h2
-rw-r--r--src/mumble/RichTextEditor.cpp2
-rw-r--r--src/mumble/RichTextEditor.h2
-rw-r--r--src/mumble/Screen.cpp2
-rw-r--r--src/mumble/Screen.h2
-rw-r--r--src/mumble/ServerHandler.cpp2
-rw-r--r--src/mumble/ServerHandler.h2
-rw-r--r--src/mumble/Settings.cpp2
-rw-r--r--src/mumble/Settings.h2
-rw-r--r--src/mumble/SharedMemory.cpp2
-rw-r--r--src/mumble/SharedMemory.h2
-rw-r--r--src/mumble/SharedMemory_unix.cpp2
-rw-r--r--src/mumble/SharedMemory_win.cpp2
-rw-r--r--src/mumble/SocketRPC.cpp2
-rw-r--r--src/mumble/SocketRPC.h2
-rw-r--r--src/mumble/SvgIcon.cpp2
-rw-r--r--src/mumble/SvgIcon.h2
-rw-r--r--src/mumble/TalkingUI.cpp2
-rw-r--r--src/mumble/TalkingUI.h2
-rw-r--r--src/mumble/TalkingUIComponent.h2
-rw-r--r--src/mumble/TalkingUIContainer.cpp2
-rw-r--r--src/mumble/TalkingUIContainer.h2
-rw-r--r--src/mumble/TalkingUIEntry.cpp2
-rw-r--r--src/mumble/TalkingUIEntry.h2
-rw-r--r--src/mumble/TalkingUISelection.cpp2
-rw-r--r--src/mumble/TalkingUISelection.h2
-rw-r--r--src/mumble/TaskList.cpp2
-rw-r--r--src/mumble/TaskList.h2
-rw-r--r--src/mumble/TextMessage.cpp2
-rw-r--r--src/mumble/TextMessage.h2
-rw-r--r--src/mumble/TextToSpeech.cpp2
-rw-r--r--src/mumble/TextToSpeech.h2
-rw-r--r--src/mumble/TextToSpeech_macx.mm2
-rw-r--r--src/mumble/TextToSpeech_unix.cpp2
-rw-r--r--src/mumble/TextToSpeech_win.cpp2
-rw-r--r--src/mumble/ThemeInfo.cpp2
-rw-r--r--src/mumble/ThemeInfo.h2
-rw-r--r--src/mumble/Themes.cpp2
-rw-r--r--src/mumble/Themes.h2
-rw-r--r--src/mumble/Tokens.cpp2
-rw-r--r--src/mumble/Tokens.h2
-rw-r--r--src/mumble/Usage.cpp2
-rw-r--r--src/mumble/Usage.h2
-rw-r--r--src/mumble/UserEdit.cpp2
-rw-r--r--src/mumble/UserEdit.h2
-rw-r--r--src/mumble/UserInformation.cpp2
-rw-r--r--src/mumble/UserInformation.h2
-rw-r--r--src/mumble/UserListModel.cpp2
-rw-r--r--src/mumble/UserListModel.h2
-rw-r--r--src/mumble/UserLocalNicknameDialog.cpp2
-rw-r--r--src/mumble/UserLocalNicknameDialog.h2
-rw-r--r--src/mumble/UserLocalVolumeDialog.cpp2
-rw-r--r--src/mumble/UserLocalVolumeDialog.h2
-rw-r--r--src/mumble/UserLockFile.h2
-rw-r--r--src/mumble/UserLockFile_win.cpp2
-rw-r--r--src/mumble/UserModel.cpp2
-rw-r--r--src/mumble/UserModel.h2
-rw-r--r--src/mumble/UserView.cpp2
-rw-r--r--src/mumble/UserView.h2
-rw-r--r--src/mumble/VersionCheck.cpp2
-rw-r--r--src/mumble/VersionCheck.h2
-rw-r--r--src/mumble/ViewCert.cpp2
-rw-r--r--src/mumble/ViewCert.h2
-rw-r--r--src/mumble/VoiceRecorder.cpp2
-rw-r--r--src/mumble/VoiceRecorder.h2
-rw-r--r--src/mumble/VoiceRecorderDialog.cpp2
-rw-r--r--src/mumble/VoiceRecorderDialog.h2
-rw-r--r--src/mumble/WASAPI.cpp2
-rw-r--r--src/mumble/WASAPI.h2
-rw-r--r--src/mumble/WASAPINotificationClient.cpp2
-rw-r--r--src/mumble/WASAPINotificationClient.h2
-rw-r--r--src/mumble/WebFetch.cpp2
-rw-r--r--src/mumble/WebFetch.h2
-rw-r--r--src/mumble/WinGUIDs.cpp2
-rw-r--r--src/mumble/XMLTools.cpp402
-rw-r--r--src/mumble/XMLTools.h76
-rw-r--r--src/mumble/XboxInput.cpp138
-rw-r--r--src/mumble/XboxInput.h168
-rw-r--r--src/mumble/Zeroconf.cpp2
-rw-r--r--src/mumble/Zeroconf.h2
-rw-r--r--src/mumble/main.cpp2
-rw-r--r--src/mumble/mumble_pch.hpp2
-rw-r--r--src/mumble/os_early_win.cpp2
-rw-r--r--src/mumble/os_macx.mm2
-rw-r--r--src/mumble/os_unix.cpp2
-rw-r--r--src/mumble/os_win.cpp2
-rw-r--r--src/mumble/widgets/CompletablePage.cpp2
-rw-r--r--src/mumble/widgets/MUComboBox.cpp2
-rw-r--r--src/mumble/widgets/MUComboBox.h2
-rw-r--r--src/mumble/widgets/MultiStyleWidgetWrapper.cpp2
-rw-r--r--src/mumble/widgets/MultiStyleWidgetWrapper.h2
225 files changed, 1130 insertions, 1130 deletions
diff --git a/src/mumble/ACLEditor.cpp b/src/mumble/ACLEditor.cpp
index c2f729c9d..b9f932687 100644
--- a/src/mumble/ACLEditor.cpp
+++ b/src/mumble/ACLEditor.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ACLEditor.h b/src/mumble/ACLEditor.h
index b28b2643b..444cc12e6 100644
--- a/src/mumble/ACLEditor.h
+++ b/src/mumble/ACLEditor.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ALSAAudio.cpp b/src/mumble/ALSAAudio.cpp
index 886bd3d4d..ec3828509 100644
--- a/src/mumble/ALSAAudio.cpp
+++ b/src/mumble/ALSAAudio.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ALSAAudio.h b/src/mumble/ALSAAudio.h
index af0bd0725..89ae364de 100644
--- a/src/mumble/ALSAAudio.h
+++ b/src/mumble/ALSAAudio.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ASIOInput.cpp b/src/mumble/ASIOInput.cpp
index 456ef810d..4f3150506 100644
--- a/src/mumble/ASIOInput.cpp
+++ b/src/mumble/ASIOInput.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ASIOInput.h b/src/mumble/ASIOInput.h
index bfda5714c..8478b2c65 100644
--- a/src/mumble/ASIOInput.h
+++ b/src/mumble/ASIOInput.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/About.cpp b/src/mumble/About.cpp
index ce4ac2bf5..abf406a47 100644
--- a/src/mumble/About.cpp
+++ b/src/mumble/About.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/About.h b/src/mumble/About.h
index cde7bb633..8a5664044 100644
--- a/src/mumble/About.h
+++ b/src/mumble/About.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AppNap.h b/src/mumble/AppNap.h
index 32efc0a06..3e45a65e7 100644
--- a/src/mumble/AppNap.h
+++ b/src/mumble/AppNap.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AppNap.mm b/src/mumble/AppNap.mm
index e3648f9f1..d034a1b95 100644
--- a/src/mumble/AppNap.mm
+++ b/src/mumble/AppNap.mm
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ApplicationPalette.h b/src/mumble/ApplicationPalette.h
index 88eb82fd8..96c4bbeaf 100644
--- a/src/mumble/ApplicationPalette.h
+++ b/src/mumble/ApplicationPalette.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2014-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ApplicationPaletteTemplate.h b/src/mumble/ApplicationPaletteTemplate.h
index 5c841aefd..403fa4b22 100644
--- a/src/mumble/ApplicationPaletteTemplate.h
+++ b/src/mumble/ApplicationPaletteTemplate.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2014-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Audio.cpp b/src/mumble/Audio.cpp
index 051055a8d..2710e267d 100644
--- a/src/mumble/Audio.cpp
+++ b/src/mumble/Audio.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Audio.h b/src/mumble/Audio.h
index 9503be75b..19c804fc7 100644
--- a/src/mumble/Audio.h
+++ b/src/mumble/Audio.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioConfigDialog.cpp b/src/mumble/AudioConfigDialog.cpp
index 418929782..224b48616 100644
--- a/src/mumble/AudioConfigDialog.cpp
+++ b/src/mumble/AudioConfigDialog.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioConfigDialog.h b/src/mumble/AudioConfigDialog.h
index 03dda6673..d1749609f 100644
--- a/src/mumble/AudioConfigDialog.h
+++ b/src/mumble/AudioConfigDialog.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioInput.cpp b/src/mumble/AudioInput.cpp
index 392474143..4e1790afe 100644
--- a/src/mumble/AudioInput.cpp
+++ b/src/mumble/AudioInput.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioInput.h b/src/mumble/AudioInput.h
index 59568e0df..a9eeee903 100644
--- a/src/mumble/AudioInput.h
+++ b/src/mumble/AudioInput.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutput.cpp b/src/mumble/AudioOutput.cpp
index bdd34f7b8..cb0ff6f62 100644
--- a/src/mumble/AudioOutput.cpp
+++ b/src/mumble/AudioOutput.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutput.h b/src/mumble/AudioOutput.h
index 6567cc8e8..73838e606 100644
--- a/src/mumble/AudioOutput.h
+++ b/src/mumble/AudioOutput.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutputSample.cpp b/src/mumble/AudioOutputSample.cpp
index 6dbd7696f..4c3659de6 100644
--- a/src/mumble/AudioOutputSample.cpp
+++ b/src/mumble/AudioOutputSample.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2011-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutputSample.h b/src/mumble/AudioOutputSample.h
index 135127ac8..607dd730a 100644
--- a/src/mumble/AudioOutputSample.h
+++ b/src/mumble/AudioOutputSample.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutputSpeech.cpp b/src/mumble/AudioOutputSpeech.cpp
index 56b2c434b..bc48ed858 100644
--- a/src/mumble/AudioOutputSpeech.cpp
+++ b/src/mumble/AudioOutputSpeech.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2011-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutputSpeech.h b/src/mumble/AudioOutputSpeech.h
index bf3b4489f..09ffb2480 100644
--- a/src/mumble/AudioOutputSpeech.h
+++ b/src/mumble/AudioOutputSpeech.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutputUser.cpp b/src/mumble/AudioOutputUser.cpp
index 071ce7169..7b3081fb4 100644
--- a/src/mumble/AudioOutputUser.cpp
+++ b/src/mumble/AudioOutputUser.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioOutputUser.h b/src/mumble/AudioOutputUser.h
index e93472330..0b574b605 100644
--- a/src/mumble/AudioOutputUser.h
+++ b/src/mumble/AudioOutputUser.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioStats.cpp b/src/mumble/AudioStats.cpp
index c2642455d..798759ad5 100644
--- a/src/mumble/AudioStats.cpp
+++ b/src/mumble/AudioStats.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioStats.h b/src/mumble/AudioStats.h
index 5df5ae438..25a52a86f 100644
--- a/src/mumble/AudioStats.h
+++ b/src/mumble/AudioStats.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioWizard.cpp b/src/mumble/AudioWizard.cpp
index bf580ede6..ebbf55d48 100644
--- a/src/mumble/AudioWizard.cpp
+++ b/src/mumble/AudioWizard.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/AudioWizard.h b/src/mumble/AudioWizard.h
index f5b411819..3740628b8 100644
--- a/src/mumble/AudioWizard.h
+++ b/src/mumble/AudioWizard.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/BanEditor.cpp b/src/mumble/BanEditor.cpp
index a2fc046a2..98bbe1e74 100644
--- a/src/mumble/BanEditor.cpp
+++ b/src/mumble/BanEditor.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/BanEditor.h b/src/mumble/BanEditor.h
index 5dee4422c..7f92b36f8 100644
--- a/src/mumble/BanEditor.h
+++ b/src/mumble/BanEditor.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CELTCodec.cpp b/src/mumble/CELTCodec.cpp
index 2472cfdc2..38cb1f4c3 100644
--- a/src/mumble/CELTCodec.cpp
+++ b/src/mumble/CELTCodec.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CELTCodec.h b/src/mumble/CELTCodec.h
index c25e6c3fd..426d86b52 100644
--- a/src/mumble/CELTCodec.h
+++ b/src/mumble/CELTCodec.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CELTCodec_sbcelt.cpp b/src/mumble/CELTCodec_sbcelt.cpp
index 1226d2404..2fc89c7e8 100644
--- a/src/mumble/CELTCodec_sbcelt.cpp
+++ b/src/mumble/CELTCodec_sbcelt.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2012-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Cert.cpp b/src/mumble/Cert.cpp
index e2b939b99..76c96b0b9 100644
--- a/src/mumble/Cert.cpp
+++ b/src/mumble/Cert.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Cert.h b/src/mumble/Cert.h
index 6dc39d47d..03eade166 100644
--- a/src/mumble/Cert.h
+++ b/src/mumble/Cert.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ClientUser.cpp b/src/mumble/ClientUser.cpp
index 6655cf76e..724603335 100644
--- a/src/mumble/ClientUser.cpp
+++ b/src/mumble/ClientUser.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ClientUser.h b/src/mumble/ClientUser.h
index ec080c63b..4e4c9fabc 100644
--- a/src/mumble/ClientUser.h
+++ b/src/mumble/ClientUser.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ConfigDialog.cpp b/src/mumble/ConfigDialog.cpp
index 134dfb7a9..5e7fa5ade 100644
--- a/src/mumble/ConfigDialog.cpp
+++ b/src/mumble/ConfigDialog.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ConfigDialog.h b/src/mumble/ConfigDialog.h
index 528c3c7dd..0bf3596df 100644
--- a/src/mumble/ConfigDialog.h
+++ b/src/mumble/ConfigDialog.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ConfigWidget.cpp b/src/mumble/ConfigWidget.cpp
index 015a25685..752663c5c 100644
--- a/src/mumble/ConfigWidget.cpp
+++ b/src/mumble/ConfigWidget.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ConfigWidget.h b/src/mumble/ConfigWidget.h
index 12a5a4029..c3be4379c 100644
--- a/src/mumble/ConfigWidget.h
+++ b/src/mumble/ConfigWidget.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ConnectDialog.cpp b/src/mumble/ConnectDialog.cpp
index d5d2fea8d..b20533946 100644
--- a/src/mumble/ConnectDialog.cpp
+++ b/src/mumble/ConnectDialog.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ConnectDialog.h b/src/mumble/ConnectDialog.h
index 414cc9b88..ae6bce4df 100644
--- a/src/mumble/ConnectDialog.h
+++ b/src/mumble/ConnectDialog.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CoreAudio.h b/src/mumble/CoreAudio.h
index 5caaab57a..774228f94 100644
--- a/src/mumble/CoreAudio.h
+++ b/src/mumble/CoreAudio.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CoreAudio.mm b/src/mumble/CoreAudio.mm
index 135ace3a7..a438cb108 100644
--- a/src/mumble/CoreAudio.mm
+++ b/src/mumble/CoreAudio.mm
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CrashReporter.cpp b/src/mumble/CrashReporter.cpp
index c83c5198f..3b62b8891 100644
--- a/src/mumble/CrashReporter.cpp
+++ b/src/mumble/CrashReporter.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CrashReporter.h b/src/mumble/CrashReporter.h
index db8010a9a..69d497185 100644
--- a/src/mumble/CrashReporter.h
+++ b/src/mumble/CrashReporter.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CustomElements.cpp b/src/mumble/CustomElements.cpp
index c36342f41..adea56ae4 100644
--- a/src/mumble/CustomElements.cpp
+++ b/src/mumble/CustomElements.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/CustomElements.h b/src/mumble/CustomElements.h
index de225c185..83c373422 100644
--- a/src/mumble/CustomElements.h
+++ b/src/mumble/CustomElements.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/DBus.cpp b/src/mumble/DBus.cpp
index d984663d3..5220de498 100644
--- a/src/mumble/DBus.cpp
+++ b/src/mumble/DBus.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/DBus.h b/src/mumble/DBus.h
index 4ac47a22b..ff0ce58b7 100644
--- a/src/mumble/DBus.h
+++ b/src/mumble/DBus.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Database.cpp b/src/mumble/Database.cpp
index 10f40d407..89d7eadaf 100644
--- a/src/mumble/Database.cpp
+++ b/src/mumble/Database.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Database.h b/src/mumble/Database.h
index 4bed1914d..e19d36bdd 100644
--- a/src/mumble/Database.h
+++ b/src/mumble/Database.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/DeveloperConsole.cpp b/src/mumble/DeveloperConsole.cpp
index 56f5c776d..4a1ee9ed8 100644
--- a/src/mumble/DeveloperConsole.cpp
+++ b/src/mumble/DeveloperConsole.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2016-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/DeveloperConsole.h b/src/mumble/DeveloperConsole.h
index 99914c4bb..6ece41840 100644
--- a/src/mumble/DeveloperConsole.h
+++ b/src/mumble/DeveloperConsole.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2016-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/G15LCDEngine_helper.cpp b/src/mumble/G15LCDEngine_helper.cpp
index e8ea5904a..b2cb862c4 100644
--- a/src/mumble/G15LCDEngine_helper.cpp
+++ b/src/mumble/G15LCDEngine_helper.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/G15LCDEngine_helper.h b/src/mumble/G15LCDEngine_helper.h
index e4c19802f..79b415706 100644
--- a/src/mumble/G15LCDEngine_helper.h
+++ b/src/mumble/G15LCDEngine_helper.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/G15LCDEngine_lglcd.cpp b/src/mumble/G15LCDEngine_lglcd.cpp
index 05b9e931e..f72f46ef5 100644
--- a/src/mumble/G15LCDEngine_lglcd.cpp
+++ b/src/mumble/G15LCDEngine_lglcd.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/G15LCDEngine_lglcd.h b/src/mumble/G15LCDEngine_lglcd.h
index a82b228c0..cf43e5fb0 100644
--- a/src/mumble/G15LCDEngine_lglcd.h
+++ b/src/mumble/G15LCDEngine_lglcd.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/G15LCDEngine_unix.cpp b/src/mumble/G15LCDEngine_unix.cpp
index 8765287e3..5520eeb71 100644
--- a/src/mumble/G15LCDEngine_unix.cpp
+++ b/src/mumble/G15LCDEngine_unix.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/G15LCDEngine_unix.h b/src/mumble/G15LCDEngine_unix.h
index f5409c4dc..038b2d4b4 100644
--- a/src/mumble/G15LCDEngine_unix.h
+++ b/src/mumble/G15LCDEngine_unix.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GKey.cpp b/src/mumble/GKey.cpp
index 71206360c..cafba9784 100644
--- a/src/mumble/GKey.cpp
+++ b/src/mumble/GKey.cpp
@@ -1,152 +1,152 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-/* SPECIFICATION
- * The code interfacing with the Logitech G-Keys DLL was implemented using the
- * following spec:
- *
- * The G-keys DLL lives in
- * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x64\LogitechGkey.dll" for x64 and
- * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x86\LogitechGkey.dll" for x86.
- *
- * Its location can also be read from the registry, using the following keys:
- *
- * x86:
- * "HKEY_CLASSES_ROOT\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary"
- *
- * x64:
- * "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary"
- *
- * The registry keys are needed if a user installed the Logitech Gaming
- * Software in a non-standard location.
- *
- * The DLL has an init function, it's called "LogiGkeyInit". It takes a
- * pointer, but the parameter must always be nullptr. The function returns a BOOL
- * as a status code.
- *
- * The DLL also has a shutdown function, called "LogiGkeyShutdown". It takes
- * no parameters and does not return anything.
- *
- * You can poll for button states with the DLL using the functions
- * "LogiGkeyIsMouseButtonPressed" and "LogiGkeyIsKeyboardGkeyPressed".
- *
- * The function "LogiGkeyIsMouseButtonPressed" takes a single int parameter, a
- * button number. Mouse button numbers run from 6 up to and including 20. The
- * function returns a BOOL that is true if the button is pressed, and false if
- * not.
- *
- * The function "LogiGkeyIsKeyboardGkeyPressed" takes two int parameters, a
- * button number and a mode number. Keyboard button numbers run from 1 up to
- * and including 29. The mode number can 1, 2 or 3. The mode checks the button
- * state in a specific mode. Typically, one queries all buttons for all modes,
- * so one ends up with 29*3 calls to the function. The function returns a BOOL
- * that is true if the button in the given mode is pressed, and false if not.
- *
- * There are also two functions, "LogiGkeyGetMouseButtonString" and
- * "LogiGkeyGetKeyboardGkeyString". They take the same parameters as the
- * polling functions above, but do not check whether the button is pressed or
- * not. Instead, they return the name of the button being queried as a pointer
- * to a NUL-terminated array of wchar_t's. Presumably, the pointer will be
- * nullptr if the name cannot be retrieved or translated.
- */
-
-/* USAGE
- * In order to use the gkeys on a logitech keyboard, any user must have the
- * Logitech Gaming Software version 8.55+ installed on their computer. Then
- * (re)start mumble. When mumble initializes the library, the LGS (Logitech
- * Gaming Software) will create a profile called "mumble", featuring the mumble
- * icon. In LGS, right click this icon, and select either "Set as Default" or
- * "Set as Persistent". (See "What are persistent and default profiles?" in the
- * LGS help by clicking on the "?" icon on the LGS window, or at
- * http://www.logitech.com/assets/51813/3/lgs-guide.pdf). If mumble is not set
- * as the default or persistent profile, then your keys will not be active
- * unless mumble is the active window.
- */
-
-#include "GKey.h"
-
-#ifdef Q_CC_GNU
-# define RESOLVE(var) \
- { \
- var = reinterpret_cast< __typeof__(var) >(qlLogiGkey.resolve(#var)); \
- bValid = bValid && var; \
- }
-#else
-# define RESOLVE(var) \
- { \
- *reinterpret_cast< void ** >(&var) = static_cast< void * >(qlLogiGkey.resolve(#var)); \
- bValid = bValid && var; \
- }
-#endif
-
-const QUuid GKeyLibrary::quMouse = QUuid(QString::fromLatin1(GKEY_MOUSE_GUID));
-const QUuid GKeyLibrary::quKeyboard = QUuid(QString::fromLatin1(GKEY_KEYBOARD_GUID));
-
-GKeyLibrary::GKeyLibrary() {
- QStringList alternatives;
-
- HKEY key = nullptr;
- DWORD type = 0;
- WCHAR wcLocation[510];
- DWORD len = 510;
- if (RegOpenKeyEx(GKEY_LOGITECH_DLL_REG_HKEY, GKEY_LOGITECH_DLL_REG_PATH, 0, KEY_READ, &key) == ERROR_SUCCESS) {
- LONG err = RegQueryValueEx(key, L"", nullptr, &type, reinterpret_cast< LPBYTE >(wcLocation), &len);
- if (err == ERROR_SUCCESS && type == REG_SZ) {
- QString qsLocation = QString::fromUtf16(reinterpret_cast< ushort * >(wcLocation), len / 2);
- qWarning("GKeyLibrary: Found ServerBinary with libLocation = \"%s\", len = %lu", qPrintable(qsLocation),
- static_cast< unsigned long >(len));
- alternatives << qsLocation;
- } else {
- qWarning("GKeyLibrary: Error looking up ServerBinary (Error: 0x%lx, Type: 0x%lx, len: %lu)",
- static_cast< unsigned long >(err), static_cast< unsigned long >(type),
- static_cast< unsigned long >(len));
- }
- }
-
- alternatives << QString::fromLatin1(GKEY_LOGITECH_DLL_DEFAULT_LOCATION);
- foreach (const QString &lib, alternatives) {
- qlLogiGkey.setFileName(lib);
-
- if (qlLogiGkey.load()) {
- bValid = true;
- break;
- }
- }
-
- RESOLVE(LogiGkeyInit);
- RESOLVE(LogiGkeyShutdown);
- RESOLVE(LogiGkeyIsMouseButtonPressed);
- RESOLVE(LogiGkeyIsKeyboardGkeyPressed);
- RESOLVE(LogiGkeyGetMouseButtonString);
- RESOLVE(LogiGkeyGetKeyboardGkeyString);
-
- if (bValid)
- bValid = LogiGkeyInit(nullptr);
-}
-
-GKeyLibrary::~GKeyLibrary() {
- if (LogiGkeyShutdown)
- LogiGkeyShutdown();
-}
-
-bool GKeyLibrary::isValid() const {
- return bValid;
-}
-
-bool GKeyLibrary::isMouseButtonPressed(int button) {
- return LogiGkeyIsMouseButtonPressed(button);
-}
-
-bool GKeyLibrary::isKeyboardGkeyPressed(int key, int mode) {
- return LogiGkeyIsKeyboardGkeyPressed(key, mode);
-}
-
-QString GKeyLibrary::getMouseButtonString(int button) {
- return QString::fromWCharArray(LogiGkeyGetMouseButtonString(button));
-}
-
-QString GKeyLibrary::getKeyboardGkeyString(int key, int mode) {
- return QString::fromWCharArray(LogiGkeyGetKeyboardGkeyString(key, mode));
-}
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
+
+/* SPECIFICATION
+ * The code interfacing with the Logitech G-Keys DLL was implemented using the
+ * following spec:
+ *
+ * The G-keys DLL lives in
+ * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x64\LogitechGkey.dll" for x64 and
+ * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x86\LogitechGkey.dll" for x86.
+ *
+ * Its location can also be read from the registry, using the following keys:
+ *
+ * x86:
+ * "HKEY_CLASSES_ROOT\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary"
+ *
+ * x64:
+ * "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary"
+ *
+ * The registry keys are needed if a user installed the Logitech Gaming
+ * Software in a non-standard location.
+ *
+ * The DLL has an init function, it's called "LogiGkeyInit". It takes a
+ * pointer, but the parameter must always be nullptr. The function returns a BOOL
+ * as a status code.
+ *
+ * The DLL also has a shutdown function, called "LogiGkeyShutdown". It takes
+ * no parameters and does not return anything.
+ *
+ * You can poll for button states with the DLL using the functions
+ * "LogiGkeyIsMouseButtonPressed" and "LogiGkeyIsKeyboardGkeyPressed".
+ *
+ * The function "LogiGkeyIsMouseButtonPressed" takes a single int parameter, a
+ * button number. Mouse button numbers run from 6 up to and including 20. The
+ * function returns a BOOL that is true if the button is pressed, and false if
+ * not.
+ *
+ * The function "LogiGkeyIsKeyboardGkeyPressed" takes two int parameters, a
+ * button number and a mode number. Keyboard button numbers run from 1 up to
+ * and including 29. The mode number can 1, 2 or 3. The mode checks the button
+ * state in a specific mode. Typically, one queries all buttons for all modes,
+ * so one ends up with 29*3 calls to the function. The function returns a BOOL
+ * that is true if the button in the given mode is pressed, and false if not.
+ *
+ * There are also two functions, "LogiGkeyGetMouseButtonString" and
+ * "LogiGkeyGetKeyboardGkeyString". They take the same parameters as the
+ * polling functions above, but do not check whether the button is pressed or
+ * not. Instead, they return the name of the button being queried as a pointer
+ * to a NUL-terminated array of wchar_t's. Presumably, the pointer will be
+ * nullptr if the name cannot be retrieved or translated.
+ */
+
+/* USAGE
+ * In order to use the gkeys on a logitech keyboard, any user must have the
+ * Logitech Gaming Software version 8.55+ installed on their computer. Then
+ * (re)start mumble. When mumble initializes the library, the LGS (Logitech
+ * Gaming Software) will create a profile called "mumble", featuring the mumble
+ * icon. In LGS, right click this icon, and select either "Set as Default" or
+ * "Set as Persistent". (See "What are persistent and default profiles?" in the
+ * LGS help by clicking on the "?" icon on the LGS window, or at
+ * http://www.logitech.com/assets/51813/3/lgs-guide.pdf). If mumble is not set
+ * as the default or persistent profile, then your keys will not be active
+ * unless mumble is the active window.
+ */
+
+#include "GKey.h"
+
+#ifdef Q_CC_GNU
+# define RESOLVE(var) \
+ { \
+ var = reinterpret_cast< __typeof__(var) >(qlLogiGkey.resolve(#var)); \
+ bValid = bValid && var; \
+ }
+#else
+# define RESOLVE(var) \
+ { \
+ *reinterpret_cast< void ** >(&var) = static_cast< void * >(qlLogiGkey.resolve(#var)); \
+ bValid = bValid && var; \
+ }
+#endif
+
+const QUuid GKeyLibrary::quMouse = QUuid(QString::fromLatin1(GKEY_MOUSE_GUID));
+const QUuid GKeyLibrary::quKeyboard = QUuid(QString::fromLatin1(GKEY_KEYBOARD_GUID));
+
+GKeyLibrary::GKeyLibrary() {
+ QStringList alternatives;
+
+ HKEY key = nullptr;
+ DWORD type = 0;
+ WCHAR wcLocation[510];
+ DWORD len = 510;
+ if (RegOpenKeyEx(GKEY_LOGITECH_DLL_REG_HKEY, GKEY_LOGITECH_DLL_REG_PATH, 0, KEY_READ, &key) == ERROR_SUCCESS) {
+ LONG err = RegQueryValueEx(key, L"", nullptr, &type, reinterpret_cast< LPBYTE >(wcLocation), &len);
+ if (err == ERROR_SUCCESS && type == REG_SZ) {
+ QString qsLocation = QString::fromUtf16(reinterpret_cast< ushort * >(wcLocation), len / 2);
+ qWarning("GKeyLibrary: Found ServerBinary with libLocation = \"%s\", len = %lu", qPrintable(qsLocation),
+ static_cast< unsigned long >(len));
+ alternatives << qsLocation;
+ } else {
+ qWarning("GKeyLibrary: Error looking up ServerBinary (Error: 0x%lx, Type: 0x%lx, len: %lu)",
+ static_cast< unsigned long >(err), static_cast< unsigned long >(type),
+ static_cast< unsigned long >(len));
+ }
+ }
+
+ alternatives << QString::fromLatin1(GKEY_LOGITECH_DLL_DEFAULT_LOCATION);
+ foreach (const QString &lib, alternatives) {
+ qlLogiGkey.setFileName(lib);
+
+ if (qlLogiGkey.load()) {
+ bValid = true;
+ break;
+ }
+ }
+
+ RESOLVE(LogiGkeyInit);
+ RESOLVE(LogiGkeyShutdown);
+ RESOLVE(LogiGkeyIsMouseButtonPressed);
+ RESOLVE(LogiGkeyIsKeyboardGkeyPressed);
+ RESOLVE(LogiGkeyGetMouseButtonString);
+ RESOLVE(LogiGkeyGetKeyboardGkeyString);
+
+ if (bValid)
+ bValid = LogiGkeyInit(nullptr);
+}
+
+GKeyLibrary::~GKeyLibrary() {
+ if (LogiGkeyShutdown)
+ LogiGkeyShutdown();
+}
+
+bool GKeyLibrary::isValid() const {
+ return bValid;
+}
+
+bool GKeyLibrary::isMouseButtonPressed(int button) {
+ return LogiGkeyIsMouseButtonPressed(button);
+}
+
+bool GKeyLibrary::isKeyboardGkeyPressed(int key, int mode) {
+ return LogiGkeyIsKeyboardGkeyPressed(key, mode);
+}
+
+QString GKeyLibrary::getMouseButtonString(int button) {
+ return QString::fromWCharArray(LogiGkeyGetMouseButtonString(button));
+}
+
+QString GKeyLibrary::getKeyboardGkeyString(int key, int mode) {
+ return QString::fromWCharArray(LogiGkeyGetKeyboardGkeyString(key, mode));
+}
diff --git a/src/mumble/GKey.h b/src/mumble/GKey.h
index e1df65833..cbc857b88 100644
--- a/src/mumble/GKey.h
+++ b/src/mumble/GKey.h
@@ -1,64 +1,64 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#ifndef MUMBLE_MUMBLE_GKEY_H
-#define MUMBLE_MUMBLE_GKEY_H
-
-#include "win.h"
-
-#include <QtCore/QLibrary>
-#include <QtCore/QString>
-#include <QtCore/QUuid>
-
-#define GKEY_LOGITECH_DLL_REG_HKEY HKEY_CLASSES_ROOT
-#ifdef _M_X64
-# define GKEY_LOGITECH_DLL_REG_PATH L"Wow6432Node\\CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary"
-# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \
- "C:/Program Files/Logitech Gaming Software/SDK/G-key/x64/LogitechGkey.dll"
-#else
-# define GKEY_LOGITECH_DLL_REG_PATH L"CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary"
-# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \
- "C:/Program Files/Logitech Gaming Software/SDK/G-key/x86/LogitechGkey.dll"
-#endif
-
-#define GKEY_MIN_MOUSE_BUTTON 6
-#define GKEY_MAX_MOUSE_BUTTON 20
-#define GKEY_MIN_KEYBOARD_BUTTON 1
-#define GKEY_MAX_KEYBOARD_BUTTON 29
-#define GKEY_MIN_KEYBOARD_MODE 1
-#define GKEY_MAX_KEYBOARD_MODE 3
-
-#define GKEY_BUTTON_MOUSE 1
-#define GKEY_BUTTON_KEYBOARD 2
-
-#define GKEY_MOUSE_GUID "c41e60af-9022-46cf-bc39-37981082d716"
-#define GKEY_KEYBOARD_GUID "153e64e6-98c8-4e03-80ef-5ffd33d25b8a"
-
-class GKeyLibrary {
-public:
- GKeyLibrary();
- virtual ~GKeyLibrary();
- bool isValid() const;
- static const QUuid quMouse;
- static const QUuid quKeyboard;
-
- bool isMouseButtonPressed(int button);
- bool isKeyboardGkeyPressed(int key, int mode);
- QString getMouseButtonString(int button);
- QString getKeyboardGkeyString(int key, int mode);
-
-protected:
- QLibrary qlLogiGkey;
- bool bValid;
-
- BOOL (*LogiGkeyInit)(void *);
- void (*LogiGkeyShutdown)();
- BOOL (*LogiGkeyIsMouseButtonPressed)(int button);
- BOOL (*LogiGkeyIsKeyboardGkeyPressed)(int key, int mode);
- wchar_t *(*LogiGkeyGetMouseButtonString)(int button);
- wchar_t *(*LogiGkeyGetKeyboardGkeyString)(int key, int mode);
-};
-
-#endif // MUMBLE_MUMBLE_GKEY_H
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
+
+#ifndef MUMBLE_MUMBLE_GKEY_H
+#define MUMBLE_MUMBLE_GKEY_H
+
+#include "win.h"
+
+#include <QtCore/QLibrary>
+#include <QtCore/QString>
+#include <QtCore/QUuid>
+
+#define GKEY_LOGITECH_DLL_REG_HKEY HKEY_CLASSES_ROOT
+#ifdef _M_X64
+# define GKEY_LOGITECH_DLL_REG_PATH L"Wow6432Node\\CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary"
+# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \
+ "C:/Program Files/Logitech Gaming Software/SDK/G-key/x64/LogitechGkey.dll"
+#else
+# define GKEY_LOGITECH_DLL_REG_PATH L"CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary"
+# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \
+ "C:/Program Files/Logitech Gaming Software/SDK/G-key/x86/LogitechGkey.dll"
+#endif
+
+#define GKEY_MIN_MOUSE_BUTTON 6
+#define GKEY_MAX_MOUSE_BUTTON 20
+#define GKEY_MIN_KEYBOARD_BUTTON 1
+#define GKEY_MAX_KEYBOARD_BUTTON 29
+#define GKEY_MIN_KEYBOARD_MODE 1
+#define GKEY_MAX_KEYBOARD_MODE 3
+
+#define GKEY_BUTTON_MOUSE 1
+#define GKEY_BUTTON_KEYBOARD 2
+
+#define GKEY_MOUSE_GUID "c41e60af-9022-46cf-bc39-37981082d716"
+#define GKEY_KEYBOARD_GUID "153e64e6-98c8-4e03-80ef-5ffd33d25b8a"
+
+class GKeyLibrary {
+public:
+ GKeyLibrary();
+ virtual ~GKeyLibrary();
+ bool isValid() const;
+ static const QUuid quMouse;
+ static const QUuid quKeyboard;
+
+ bool isMouseButtonPressed(int button);
+ bool isKeyboardGkeyPressed(int key, int mode);
+ QString getMouseButtonString(int button);
+ QString getKeyboardGkeyString(int key, int mode);
+
+protected:
+ QLibrary qlLogiGkey;
+ bool bValid;
+
+ BOOL (*LogiGkeyInit)(void *);
+ void (*LogiGkeyShutdown)();
+ BOOL (*LogiGkeyIsMouseButtonPressed)(int button);
+ BOOL (*LogiGkeyIsKeyboardGkeyPressed)(int key, int mode);
+ wchar_t *(*LogiGkeyGetMouseButtonString)(int button);
+ wchar_t *(*LogiGkeyGetKeyboardGkeyString)(int key, int mode);
+};
+
+#endif // MUMBLE_MUMBLE_GKEY_H
diff --git a/src/mumble/Global.cpp b/src/mumble/Global.cpp
index fcb0dc8dc..a8977e746 100644
--- a/src/mumble/Global.cpp
+++ b/src/mumble/Global.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Global.h b/src/mumble/Global.h
index e3094014c..1da6253f8 100644
--- a/src/mumble/Global.h
+++ b/src/mumble/Global.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut.cpp b/src/mumble/GlobalShortcut.cpp
index 3640ed8b5..5cfc88766 100644
--- a/src/mumble/GlobalShortcut.cpp
+++ b/src/mumble/GlobalShortcut.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut.h b/src/mumble/GlobalShortcut.h
index 186d73d7e..dae566046 100644
--- a/src/mumble/GlobalShortcut.h
+++ b/src/mumble/GlobalShortcut.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut_macx.h b/src/mumble/GlobalShortcut_macx.h
index 20f8d4498..1d3de4672 100644
--- a/src/mumble/GlobalShortcut_macx.h
+++ b/src/mumble/GlobalShortcut_macx.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut_macx.mm b/src/mumble/GlobalShortcut_macx.mm
index fb335c133..aaa73d9a4 100644
--- a/src/mumble/GlobalShortcut_macx.mm
+++ b/src/mumble/GlobalShortcut_macx.mm
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut_unix.cpp b/src/mumble/GlobalShortcut_unix.cpp
index ce89ca787..9ae8c79fc 100644
--- a/src/mumble/GlobalShortcut_unix.cpp
+++ b/src/mumble/GlobalShortcut_unix.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut_unix.h b/src/mumble/GlobalShortcut_unix.h
index 6f0022757..bfa849aa6 100644
--- a/src/mumble/GlobalShortcut_unix.h
+++ b/src/mumble/GlobalShortcut_unix.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut_win.cpp b/src/mumble/GlobalShortcut_win.cpp
index 76286bb28..7b949fa60 100644
--- a/src/mumble/GlobalShortcut_win.cpp
+++ b/src/mumble/GlobalShortcut_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/GlobalShortcut_win.h b/src/mumble/GlobalShortcut_win.h
index 988eafeb9..47cd9590c 100644
--- a/src/mumble/GlobalShortcut_win.h
+++ b/src/mumble/GlobalShortcut_win.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/JackAudio.cpp b/src/mumble/JackAudio.cpp
index 1000c8b7c..d50b0a951 100644
--- a/src/mumble/JackAudio.cpp
+++ b/src/mumble/JackAudio.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2018-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/JackAudio.h b/src/mumble/JackAudio.h
index 56a0b03fa..6bae1d3a0 100644
--- a/src/mumble/JackAudio.h
+++ b/src/mumble/JackAudio.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2018-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/LCD.cpp b/src/mumble/LCD.cpp
index 7356bf1e9..e5cde7bb8 100644
--- a/src/mumble/LCD.cpp
+++ b/src/mumble/LCD.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/LCD.h b/src/mumble/LCD.h
index d94aa90bf..83ebdef50 100644
--- a/src/mumble/LCD.h
+++ b/src/mumble/LCD.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ListenerLocalVolumeDialog.cpp b/src/mumble/ListenerLocalVolumeDialog.cpp
index 41a829feb..1607715bb 100644
--- a/src/mumble/ListenerLocalVolumeDialog.cpp
+++ b/src/mumble/ListenerLocalVolumeDialog.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ListenerLocalVolumeDialog.h b/src/mumble/ListenerLocalVolumeDialog.h
index 40bb72965..348edccd6 100644
--- a/src/mumble/ListenerLocalVolumeDialog.h
+++ b/src/mumble/ListenerLocalVolumeDialog.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Log.cpp b/src/mumble/Log.cpp
index acb8363af..f4f44135f 100644
--- a/src/mumble/Log.cpp
+++ b/src/mumble/Log.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Log.h b/src/mumble/Log.h
index 761a0f268..f30c77c89 100644
--- a/src/mumble/Log.h
+++ b/src/mumble/Log.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Log_macx.mm b/src/mumble/Log_macx.mm
index 26544294f..42c6864cc 100644
--- a/src/mumble/Log_macx.mm
+++ b/src/mumble/Log_macx.mm
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2012-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Log_unix.cpp b/src/mumble/Log_unix.cpp
index f6b27e790..0d9e4b043 100644
--- a/src/mumble/Log_unix.cpp
+++ b/src/mumble/Log_unix.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2012-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Log_win.cpp b/src/mumble/Log_win.cpp
index 52a5122ad..35e9d05a5 100644
--- a/src/mumble/Log_win.cpp
+++ b/src/mumble/Log_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/LookConfig.cpp b/src/mumble/LookConfig.cpp
index 0b72abbe6..c0d51a681 100644
--- a/src/mumble/LookConfig.cpp
+++ b/src/mumble/LookConfig.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2006-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/LookConfig.h b/src/mumble/LookConfig.h
index ef9a2f97e..8881f1578 100644
--- a/src/mumble/LookConfig.h
+++ b/src/mumble/LookConfig.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/MainWindow.cpp b/src/mumble/MainWindow.cpp
index 613e33b97..14f487df8 100644
--- a/src/mumble/MainWindow.cpp
+++ b/src/mumble/MainWindow.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/MainWindow.h b/src/mumble/MainWindow.h
index ae473b2a8..a7f3a2615 100644
--- a/src/mumble/MainWindow.h
+++ b/src/mumble/MainWindow.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ManualPlugin.cpp b/src/mumble/ManualPlugin.cpp
index 3af6efb41..4b90d05e1 100644
--- a/src/mumble/ManualPlugin.cpp
+++ b/src/mumble/ManualPlugin.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ManualPlugin.h b/src/mumble/ManualPlugin.h
index 82da53a28..a3af1de02 100644
--- a/src/mumble/ManualPlugin.h
+++ b/src/mumble/ManualPlugin.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Markdown.cpp b/src/mumble/Markdown.cpp
index 8d877b4ed..3f60acb77 100644
--- a/src/mumble/Markdown.cpp
+++ b/src/mumble/Markdown.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Markdown.h b/src/mumble/Markdown.h
index 1684dd670..7892b252d 100644
--- a/src/mumble/Markdown.h
+++ b/src/mumble/Markdown.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Messages.cpp b/src/mumble/Messages.cpp
index 204c7c507..49575849a 100644
--- a/src/mumble/Messages.cpp
+++ b/src/mumble/Messages.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/MumbleApplication.cpp b/src/mumble/MumbleApplication.cpp
index fb1e458c1..005f2c124 100644
--- a/src/mumble/MumbleApplication.cpp
+++ b/src/mumble/MumbleApplication.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2014-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/MumbleApplication.h b/src/mumble/MumbleApplication.h
index ea1f0f77c..088fc4888 100644
--- a/src/mumble/MumbleApplication.h
+++ b/src/mumble/MumbleApplication.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/NetworkConfig.cpp b/src/mumble/NetworkConfig.cpp
index b35527372..d5bc0feb3 100644
--- a/src/mumble/NetworkConfig.cpp
+++ b/src/mumble/NetworkConfig.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/NetworkConfig.h b/src/mumble/NetworkConfig.h
index 1f871d7cc..45558ee00 100644
--- a/src/mumble/NetworkConfig.h
+++ b/src/mumble/NetworkConfig.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OSS.cpp b/src/mumble/OSS.cpp
index 30d4326fe..ac86950ff 100644
--- a/src/mumble/OSS.cpp
+++ b/src/mumble/OSS.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OSS.h b/src/mumble/OSS.h
index a282d61fb..723a5cc4e 100644
--- a/src/mumble/OSS.h
+++ b/src/mumble/OSS.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OpusCodec.cpp b/src/mumble/OpusCodec.cpp
index 1b3336938..8791b37e6 100644
--- a/src/mumble/OpusCodec.cpp
+++ b/src/mumble/OpusCodec.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2018-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OpusCodec.h b/src/mumble/OpusCodec.h
index 54a21ce03..d5775e372 100644
--- a/src/mumble/OpusCodec.h
+++ b/src/mumble/OpusCodec.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2018-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Overlay.cpp b/src/mumble/Overlay.cpp
index 30cd4bc2b..6782ba949 100644
--- a/src/mumble/Overlay.cpp
+++ b/src/mumble/Overlay.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Overlay.h b/src/mumble/Overlay.h
index b16bdb772..d1f35c8f0 100644
--- a/src/mumble/Overlay.h
+++ b/src/mumble/Overlay.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayClient.cpp b/src/mumble/OverlayClient.cpp
index cf9a3e845..7e3cdfc78 100644
--- a/src/mumble/OverlayClient.cpp
+++ b/src/mumble/OverlayClient.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayClient.h b/src/mumble/OverlayClient.h
index 6d2fc62cc..120091237 100644
--- a/src/mumble/OverlayClient.h
+++ b/src/mumble/OverlayClient.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayConfig.cpp b/src/mumble/OverlayConfig.cpp
index d73e3740c..8b16f0aa0 100644
--- a/src/mumble/OverlayConfig.cpp
+++ b/src/mumble/OverlayConfig.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayConfig.h b/src/mumble/OverlayConfig.h
index 0f6ca7247..c0178bfe1 100644
--- a/src/mumble/OverlayConfig.h
+++ b/src/mumble/OverlayConfig.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayEditor.cpp b/src/mumble/OverlayEditor.cpp
index a47b42444..a37cddd52 100644
--- a/src/mumble/OverlayEditor.cpp
+++ b/src/mumble/OverlayEditor.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayEditor.h b/src/mumble/OverlayEditor.h
index ce7f460c9..f292e7b68 100644
--- a/src/mumble/OverlayEditor.h
+++ b/src/mumble/OverlayEditor.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayEditorScene.cpp b/src/mumble/OverlayEditorScene.cpp
index 49413a505..a2bae4b63 100644
--- a/src/mumble/OverlayEditorScene.cpp
+++ b/src/mumble/OverlayEditorScene.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayEditorScene.h b/src/mumble/OverlayEditorScene.h
index 718196442..20880b769 100644
--- a/src/mumble/OverlayEditorScene.h
+++ b/src/mumble/OverlayEditorScene.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayPositionableItem.cpp b/src/mumble/OverlayPositionableItem.cpp
index eac5a5269..8fb28c47e 100644
--- a/src/mumble/OverlayPositionableItem.cpp
+++ b/src/mumble/OverlayPositionableItem.cpp
@@ -1,87 +1,87 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#include "OverlayPositionableItem.h"
-
-#include "Utils.h"
-
-#include <QtCore/QEvent>
-#include <QtGui/QPen>
-#include <QtWidgets/QGraphicsScene>
-
-OverlayPositionableItem::OverlayPositionableItem(QRectF *posPtr, const bool isPositionable)
- : m_position(posPtr), m_isPositionEditable(isPositionable), m_qgeiHandle(nullptr) {
-}
-
-OverlayPositionableItem::~OverlayPositionableItem() {
- delete m_qgeiHandle;
- m_qgeiHandle = nullptr;
-}
-
-void OverlayPositionableItem::createPositioningHandle() {
- m_qgeiHandle = new QGraphicsEllipseItem(QRectF(-4.0f, -4.0f, 8.0f, 8.0f));
- m_qgeiHandle->setPen(QPen(Qt::darkRed, 0.0f));
- m_qgeiHandle->setBrush(Qt::red);
- m_qgeiHandle->setZValue(0.5f);
- m_qgeiHandle->setFlag(QGraphicsItem::ItemIsMovable);
- m_qgeiHandle->setFlag(QGraphicsItem::ItemIsSelectable);
- scene()->addItem(m_qgeiHandle);
- m_qgeiHandle->installSceneEventFilter(this);
-}
-
-bool OverlayPositionableItem::sceneEventFilter(QGraphicsItem *watched, QEvent *e) {
- switch (e->type()) {
- case QEvent::GraphicsSceneMouseMove:
- case QEvent::GraphicsSceneMouseRelease:
- QMetaObject::invokeMethod(this, "onMove", Qt::QueuedConnection);
- break;
- default:
- break;
- }
- return QGraphicsItem::sceneEventFilter(watched, e);
-}
-
-void OverlayPositionableItem::onMove() {
- if (!m_qgeiHandle) {
- return;
- }
-
- const QRectF &sr = scene()->sceneRect();
- const QPointF &p = m_qgeiHandle->pos();
-
- m_position->setX(qBound< qreal >(0.0f, p.x() / sr.width(), 1.0f));
- m_position->setY(qBound< qreal >(0.0f, p.y() / sr.height(), 1.0f));
-
- m_qgeiHandle->setPos(m_position->x() * sr.width(), m_position->y() * sr.height());
-
- updateRender();
-}
-
-void OverlayPositionableItem::updateRender() {
- const QRectF &sr = scene()->sceneRect();
- // Translate the 0..1 float position to the real scene coordinates (relative to absolute position)
- QPoint absPos(iroundf(sr.width() * m_position->x() + 0.5f), iroundf(sr.height() * m_position->y() + 0.5f));
-
- if (m_isPositionEditable) {
- if (!m_qgeiHandle) {
- createPositioningHandle();
- }
- m_qgeiHandle->setPos(absPos.x(), absPos.y());
- }
-
- QRectF br = boundingRect();
- // Limit the position by the elements width (to make sure it is right-/bottom-bound rather than outside of the scene
- QPoint maxPos(iroundf(sr.width() - br.width() + 0.5f), iroundf(sr.height() - br.height() + 0.5f));
- int basex = qBound< int >(0, absPos.x(), maxPos.x());
- int basey = qBound< int >(0, absPos.y(), maxPos.y());
- setPos(basex, basey);
-}
-
-void OverlayPositionableItem::setItemVisible(const bool &visible) {
- setVisible(visible);
- if (m_qgeiHandle) {
- m_qgeiHandle->setVisible(visible);
- }
-}
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
+
+#include "OverlayPositionableItem.h"
+
+#include "Utils.h"
+
+#include <QtCore/QEvent>
+#include <QtGui/QPen>
+#include <QtWidgets/QGraphicsScene>
+
+OverlayPositionableItem::OverlayPositionableItem(QRectF *posPtr, const bool isPositionable)
+ : m_position(posPtr), m_isPositionEditable(isPositionable), m_qgeiHandle(nullptr) {
+}
+
+OverlayPositionableItem::~OverlayPositionableItem() {
+ delete m_qgeiHandle;
+ m_qgeiHandle = nullptr;
+}
+
+void OverlayPositionableItem::createPositioningHandle() {
+ m_qgeiHandle = new QGraphicsEllipseItem(QRectF(-4.0f, -4.0f, 8.0f, 8.0f));
+ m_qgeiHandle->setPen(QPen(Qt::darkRed, 0.0f));
+ m_qgeiHandle->setBrush(Qt::red);
+ m_qgeiHandle->setZValue(0.5f);
+ m_qgeiHandle->setFlag(QGraphicsItem::ItemIsMovable);
+ m_qgeiHandle->setFlag(QGraphicsItem::ItemIsSelectable);
+ scene()->addItem(m_qgeiHandle);
+ m_qgeiHandle->installSceneEventFilter(this);
+}
+
+bool OverlayPositionableItem::sceneEventFilter(QGraphicsItem *watched, QEvent *e) {
+ switch (e->type()) {
+ case QEvent::GraphicsSceneMouseMove:
+ case QEvent::GraphicsSceneMouseRelease:
+ QMetaObject::invokeMethod(this, "onMove", Qt::QueuedConnection);
+ break;
+ default:
+ break;
+ }
+ return QGraphicsItem::sceneEventFilter(watched, e);
+}
+
+void OverlayPositionableItem::onMove() {
+ if (!m_qgeiHandle) {
+ return;
+ }
+
+ const QRectF &sr = scene()->sceneRect();
+ const QPointF &p = m_qgeiHandle->pos();
+
+ m_position->setX(qBound< qreal >(0.0f, p.x() / sr.width(), 1.0f));
+ m_position->setY(qBound< qreal >(0.0f, p.y() / sr.height(), 1.0f));
+
+ m_qgeiHandle->setPos(m_position->x() * sr.width(), m_position->y() * sr.height());
+
+ updateRender();
+}
+
+void OverlayPositionableItem::updateRender() {
+ const QRectF &sr = scene()->sceneRect();
+ // Translate the 0..1 float position to the real scene coordinates (relative to absolute position)
+ QPoint absPos(iroundf(sr.width() * m_position->x() + 0.5f), iroundf(sr.height() * m_position->y() + 0.5f));
+
+ if (m_isPositionEditable) {
+ if (!m_qgeiHandle) {
+ createPositioningHandle();
+ }
+ m_qgeiHandle->setPos(absPos.x(), absPos.y());
+ }
+
+ QRectF br = boundingRect();
+ // Limit the position by the elements width (to make sure it is right-/bottom-bound rather than outside of the scene
+ QPoint maxPos(iroundf(sr.width() - br.width() + 0.5f), iroundf(sr.height() - br.height() + 0.5f));
+ int basex = qBound< int >(0, absPos.x(), maxPos.x());
+ int basey = qBound< int >(0, absPos.y(), maxPos.y());
+ setPos(basex, basey);
+}
+
+void OverlayPositionableItem::setItemVisible(const bool &visible) {
+ setVisible(visible);
+ if (m_qgeiHandle) {
+ m_qgeiHandle->setVisible(visible);
+ }
+}
diff --git a/src/mumble/OverlayPositionableItem.h b/src/mumble/OverlayPositionableItem.h
index 52a03d648..469cf38a5 100644
--- a/src/mumble/OverlayPositionableItem.h
+++ b/src/mumble/OverlayPositionableItem.h
@@ -1,33 +1,33 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#ifndef MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H
-#define MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H
-
-#include <QtCore/QtGlobal>
-#include <QtWidgets/QGraphicsItem>
-
-class OverlayPositionableItem : public QObject, public QGraphicsPixmapItem {
- Q_OBJECT
- Q_DISABLE_COPY(OverlayPositionableItem);
-
-public:
- OverlayPositionableItem(QRectF *posPtr, const bool isPositionable = false);
- virtual ~OverlayPositionableItem();
- void updateRender();
- void setItemVisible(const bool &visible);
-
-private:
- /// Float value between 0 and 1 where 0,0 is top left, and 1,1 is bottom right
- QRectF *m_position;
- const bool m_isPositionEditable;
- QGraphicsEllipseItem *m_qgeiHandle;
- void createPositioningHandle();
- bool sceneEventFilter(QGraphicsItem *, QEvent *) Q_DECL_OVERRIDE;
-private slots:
- void onMove();
-};
-
-#endif
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
+
+#ifndef MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H
+#define MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H
+
+#include <QtCore/QtGlobal>
+#include <QtWidgets/QGraphicsItem>
+
+class OverlayPositionableItem : public QObject, public QGraphicsPixmapItem {
+ Q_OBJECT
+ Q_DISABLE_COPY(OverlayPositionableItem);
+
+public:
+ OverlayPositionableItem(QRectF *posPtr, const bool isPositionable = false);
+ virtual ~OverlayPositionableItem();
+ void updateRender();
+ void setItemVisible(const bool &visible);
+
+private:
+ /// Float value between 0 and 1 where 0,0 is top left, and 1,1 is bottom right
+ QRectF *m_position;
+ const bool m_isPositionEditable;
+ QGraphicsEllipseItem *m_qgeiHandle;
+ void createPositioningHandle();
+ bool sceneEventFilter(QGraphicsItem *, QEvent *) Q_DECL_OVERRIDE;
+private slots:
+ void onMove();
+};
+
+#endif
diff --git a/src/mumble/OverlayText.cpp b/src/mumble/OverlayText.cpp
index c6a801d48..50b5cbc72 100644
--- a/src/mumble/OverlayText.cpp
+++ b/src/mumble/OverlayText.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayText.h b/src/mumble/OverlayText.h
index 812d7ad8c..108796ba2 100644
--- a/src/mumble/OverlayText.h
+++ b/src/mumble/OverlayText.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayUser.cpp b/src/mumble/OverlayUser.cpp
index e85797951..01660405f 100644
--- a/src/mumble/OverlayUser.cpp
+++ b/src/mumble/OverlayUser.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayUser.h b/src/mumble/OverlayUser.h
index 2064b5764..ab2a22310 100644
--- a/src/mumble/OverlayUser.h
+++ b/src/mumble/OverlayUser.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayUserGroup.cpp b/src/mumble/OverlayUserGroup.cpp
index 558e04b85..005cbcab9 100644
--- a/src/mumble/OverlayUserGroup.cpp
+++ b/src/mumble/OverlayUserGroup.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/OverlayUserGroup.h b/src/mumble/OverlayUserGroup.h
index dc0294c28..109b6a8fe 100644
--- a/src/mumble/OverlayUserGroup.h
+++ b/src/mumble/OverlayUserGroup.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Overlay_macx.mm b/src/mumble/Overlay_macx.mm
index b771460e8..5aa01f51e 100644
--- a/src/mumble/Overlay_macx.mm
+++ b/src/mumble/Overlay_macx.mm
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Overlay_unix.cpp b/src/mumble/Overlay_unix.cpp
index fbd961608..e0e74dbb5 100644
--- a/src/mumble/Overlay_unix.cpp
+++ b/src/mumble/Overlay_unix.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Overlay_win.cpp b/src/mumble/Overlay_win.cpp
index ae7f1a37b..6520137e2 100644
--- a/src/mumble/Overlay_win.cpp
+++ b/src/mumble/Overlay_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Overlay_win.h b/src/mumble/Overlay_win.h
index a6203faf3..666eb97ed 100644
--- a/src/mumble/Overlay_win.h
+++ b/src/mumble/Overlay_win.h
@@ -1,56 +1,56 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#ifndef MUMBLE_MUMBLE_OVERLAY_WIN_H_
-#define MUMBLE_MUMBLE_OVERLAY_WIN_H_
-
-#include "Overlay.h"
-
-#include "win.h"
-
-#include <QElapsedTimer>
-#include <QProcess>
-#include <QString>
-#include <QStringList>
-#include <QTimer>
-
-class OverlayPrivateWin : public OverlayPrivate {
-private:
- Q_OBJECT
- Q_DISABLE_COPY(OverlayPrivateWin)
-
-public:
- void setActive(bool);
- OverlayPrivateWin(QObject *);
- ~OverlayPrivateWin();
-
-public slots:
- void onHelperProcessStarted();
- void onHelperProcessError(QProcess::ProcessError);
- void onHelperProcessExited(int exitCode, QProcess::ExitStatus exitStatus);
- void onDelayedRestartTimerTriggered();
-
-protected:
- QProcess *m_helper_process;
- QString m_helper_exe_path;
- QStringList m_helper_exe_args;
- QElapsedTimer m_helper_start_time;
- QTimer *m_helper_restart_timer;
- bool m_helper_enabled;
-
- QProcess *m_helper64_process;
- QString m_helper64_exe_path;
- QStringList m_helper64_exe_args;
- QElapsedTimer m_helper64_start_time;
- QTimer *m_helper64_restart_timer;
- bool m_helper64_enabled;
-
- HANDLE m_mumble_handle;
- bool m_active;
-
- void startHelper(QProcess *helper);
-};
-
-#endif
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
+
+#ifndef MUMBLE_MUMBLE_OVERLAY_WIN_H_
+#define MUMBLE_MUMBLE_OVERLAY_WIN_H_
+
+#include "Overlay.h"
+
+#include "win.h"
+
+#include <QElapsedTimer>
+#include <QProcess>
+#include <QString>
+#include <QStringList>
+#include <QTimer>
+
+class OverlayPrivateWin : public OverlayPrivate {
+private:
+ Q_OBJECT
+ Q_DISABLE_COPY(OverlayPrivateWin)
+
+public:
+ void setActive(bool);
+ OverlayPrivateWin(QObject *);
+ ~OverlayPrivateWin();
+
+public slots:
+ void onHelperProcessStarted();
+ void onHelperProcessError(QProcess::ProcessError);
+ void onHelperProcessExited(int exitCode, QProcess::ExitStatus exitStatus);
+ void onDelayedRestartTimerTriggered();
+
+protected:
+ QProcess *m_helper_process;
+ QString m_helper_exe_path;
+ QStringList m_helper_exe_args;
+ QElapsedTimer m_helper_start_time;
+ QTimer *m_helper_restart_timer;
+ bool m_helper_enabled;
+
+ QProcess *m_helper64_process;
+ QString m_helper64_exe_path;
+ QStringList m_helper64_exe_args;
+ QElapsedTimer m_helper64_start_time;
+ QTimer *m_helper64_restart_timer;
+ bool m_helper64_enabled;
+
+ HANDLE m_mumble_handle;
+ bool m_active;
+
+ void startHelper(QProcess *helper);
+};
+
+#endif
diff --git a/src/mumble/PAAudio.cpp b/src/mumble/PAAudio.cpp
index 8da7c64af..03b9f5da7 100644
--- a/src/mumble/PAAudio.cpp
+++ b/src/mumble/PAAudio.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/PAAudio.h b/src/mumble/PAAudio.h
index 78790d964..b405cd63f 100644
--- a/src/mumble/PAAudio.h
+++ b/src/mumble/PAAudio.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/PTTButtonWidget.cpp b/src/mumble/PTTButtonWidget.cpp
index a8edbcb4a..c5584dd20 100644
--- a/src/mumble/PTTButtonWidget.cpp
+++ b/src/mumble/PTTButtonWidget.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2011-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/PTTButtonWidget.h b/src/mumble/PTTButtonWidget.h
index 038757d93..f5f42e7aa 100644
--- a/src/mumble/PTTButtonWidget.h
+++ b/src/mumble/PTTButtonWidget.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2011-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/PathListWidget.cpp b/src/mumble/PathListWidget.cpp
index eb6acdc29..6aabe69fa 100644
--- a/src/mumble/PathListWidget.cpp
+++ b/src/mumble/PathListWidget.cpp
@@ -1,92 +1,92 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#include "PathListWidget.h"
-
-#include "Overlay.h"
-
-#include <QtCore/QDir>
-#include <QtCore/QFile>
-#include <QtCore/QMimeData>
-#include <QtGui/QDragEnterEvent>
-#include <QtGui/QDragMoveEvent>
-#include <QtGui/QDropEvent>
-
-PathListWidget::PathListWidget(QWidget *parent) : QListWidget(parent), pathType(FILE_EXE) {
- setAcceptDrops(true);
-}
-
-void PathListWidget::setPathType(PathType type) {
- pathType = type;
-}
-
-void PathListWidget::addFilePath(const QString &path) {
- QString qsAppIdentifier = OverlayAppInfo::applicationIdentifierForPath(path);
- QStringList qslIdentifiers;
- for (int i = 0; i < count(); i++) {
- qslIdentifiers << item(i)->data(Qt::UserRole).toString();
- }
- if (!qslIdentifiers.contains(qsAppIdentifier)) {
- OverlayAppInfo oai = OverlayAppInfo::applicationInfoForId(qsAppIdentifier);
- QListWidgetItem *qlwiApplication = new QListWidgetItem(oai.qiIcon, oai.qsDisplayName, this);
- qlwiApplication->setData(Qt::UserRole, QVariant(qsAppIdentifier));
- setCurrentItem(qlwiApplication);
- }
-}
-
-void PathListWidget::addFolderPath(const QString &path) {
- QString dir = QDir::toNativeSeparators(path);
- QStringList qslIdentifiers;
- for (int i = 0; i < count(); i++) {
- qslIdentifiers << item(i)->data(Qt::UserRole).toString();
- }
- if (!dir.isEmpty() && !qslIdentifiers.contains(dir)) {
- QListWidgetItem *qlwiPath = new QListWidgetItem(QIcon(), QDir(dir).path(), this);
- qlwiPath->setData(Qt::UserRole, QVariant(dir));
- setCurrentItem(qlwiPath);
- }
-}
-
-void PathListWidget::checkAcceptDragEvent(QDropEvent *event, bool store) {
- if (event->mimeData()->hasUrls()) {
- foreach (QUrl url, event->mimeData()->urls()) {
- if (url.isLocalFile()) {
- QFileInfo info(url.toLocalFile());
- switch (pathType) {
- case FILE_EXE:
- if (info.isFile() && info.isExecutable()) {
- if (store) {
- addFilePath(info.filePath());
- }
- event->setDropAction(Qt::LinkAction);
- event->accept();
- }
- break;
- case FOLDER:
- if (info.isDir()) {
- if (store) {
- addFolderPath(url.toLocalFile());
- }
- event->setDropAction(Qt::LinkAction);
- event->accept();
- }
- break;
- }
- }
- }
- }
-}
-
-void PathListWidget::dragEnterEvent(QDragEnterEvent *event) {
- checkAcceptDragEvent(event, false);
-}
-
-void PathListWidget::dragMoveEvent(QDragMoveEvent *event) {
- checkAcceptDragEvent(event, false);
-}
-
-void PathListWidget::dropEvent(QDropEvent *event) {
- checkAcceptDragEvent(event, true);
-}
+// Copyright 2017-2021 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 <https://www.mumble.info/LICENSE>.
+
+#include "PathListWidget.h"
+
+#include "Overlay.h"
+
+#include <QtCore/QDir>
+#include <QtCore/QFile>
+#include <QtCore/QMimeData>
+#include <QtGui/QDragEnterEvent>
+#include <QtGui/QDragMoveEvent>
+#include <QtGui/QDropEvent>
+
+PathListWidget::PathListWidget(QWidget *parent) : QListWidget(parent), pathType(FILE_EXE) {
+ setAcceptDrops(true);
+}
+
+void PathListWidget::setPathType(PathType type) {
+ pathType = type;
+}
+
+void PathListWidget::addFilePath(const QString &path) {
+ QString qsAppIdentifier = OverlayAppInfo::applicationIdentifierForPath(path);
+ QStringList qslIdentifiers;
+ for (int i = 0; i < count(); i++) {
+ qslIdentifiers << item(i)->data(Qt::UserRole).toString();
+ }
+ if (!qslIdentifiers.contains(qsAppIdentifier)) {
+ OverlayAppInfo oai = OverlayAppInfo::applicationInfoForId(qsAppIdentifier);
+ QListWidgetItem *qlwiApplication = new QListWidgetItem(oai.qiIcon, oai.qsDisplayName, this);
+ qlwiApplication->setData(Qt::UserRole, QVariant(qsAppIdentifier));
+ setCurrentItem(qlwiApplication);
+ }
+}
+
+void PathListWidget::addFolderPath(const QString &path) {
+ QString dir = QDir::toNativeSeparators(path);
+ QStringList qslIdentifiers;
+ for (int i = 0; i < count(); i++) {
+ qslIdentifiers << item(i)->data(Qt::UserRole).toString();
+ }
+ if (!dir.isEmpty() && !qslIdentifiers.contains(dir)) {
+ QListWidgetItem *qlwiPath = new QListWidgetItem(QIcon(), QDir(dir).path(), this);
+ qlwiPath->setData(Qt::UserRole, QVariant(dir));
+ setCurrentItem(qlwiPath);
+ }
+}
+
+void PathListWidget::checkAcceptDragEvent(QDropEvent *event, bool store) {
+ if (event->mimeData()->hasUrls()) {
+ foreach (QUrl url, event->mimeData()->urls()) {
+ if (url.isLocalFile()) {
+ QFileInfo info(url.toLocalFile());
+ switch (pathType) {
+ case FILE_EXE:
+ if (info.isFile() && info.isExecutable()) {
+ if (store) {
+ addFilePath(info.filePath());
+ }
+ event->setDropAction(Qt::LinkAction);
+ event->accept();
+ }
+ break;
+ case FOLDER:
+ if (info.isDir()) {
+ if (store) {
+ addFolderPath(url.toLocalFile());
+ }
+ event->setDropAction(Qt::LinkAction);
+ event->accept();
+ }
+ break;
+ }
+ }
+ }
+ }
+}
+
+void PathListWidget::dragEnterEvent(QDragEnterEvent *event) {
+ checkAcceptDragEvent(event, false);
+}
+
+void PathListWidget::dragMoveEvent(QDragMoveEvent *event) {
+ checkAcceptDragEvent(event, false);
+}
+
+void PathListWidget::dropEvent(QDropEvent *event) {
+ checkAcceptDragEvent(event, true);
+}
diff --git a/src/mumble/PathListWidget.h b/src/mumble/PathListWidget.h
index 6753f2274..8b98811af 100644
--- a/src/mumble/PathListWidget.h
+++ b/src/mumble/PathListWidget.h
@@ -1,40 +1,40 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#ifndef MUMBLE_MUMBLE_PATHLISTWIDGET_H_
-#define MUMBLE_MUMBLE_PATHLISTWIDGET_H_
-
-#include <QListWidget>
-
-class QGraphicsSceneDragDropEvent;
-class QDropEvent;
-
-/**
- * ListWidget that adds functionality for being able to drop files or folders to add them to the list.
- *
- * It makes use of OverlayAppInfo to display file/app information (e.g. the appropriate icon).
- */
-class PathListWidget : public QListWidget {
-public:
- enum PathType { FILE_EXE, FOLDER };
-
- PathListWidget(QWidget *parent = 0);
- void setPathType(PathType type);
- virtual void dragEnterEvent(QDragEnterEvent *event) Q_DECL_OVERRIDE;
- virtual void dragMoveEvent(QDragMoveEvent *event) Q_DECL_OVERRIDE;
- virtual void dropEvent(QDropEvent *event) Q_DECL_OVERRIDE;
-
-private:
- Q_OBJECT
- Q_DISABLE_COPY(PathListWidget)
-
- PathType pathType;
-
- void addFilePath(const QString &path);
- void addFolderPath(const QString &path);
- void checkAcceptDragEvent(QDropEvent *event, bool store);
-};
-
-#endif
+// Copyright 2017-2021 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 <https://www.mumble.info/LICENSE>.
+
+#ifndef MUMBLE_MUMBLE_PATHLISTWIDGET_H_
+#define MUMBLE_MUMBLE_PATHLISTWIDGET_H_
+
+#include <QListWidget>
+
+class QGraphicsSceneDragDropEvent;
+class QDropEvent;
+
+/**
+ * ListWidget that adds functionality for being able to drop files or folders to add them to the list.
+ *
+ * It makes use of OverlayAppInfo to display file/app information (e.g. the appropriate icon).
+ */
+class PathListWidget : public QListWidget {
+public:
+ enum PathType { FILE_EXE, FOLDER };
+
+ PathListWidget(QWidget *parent = 0);
+ void setPathType(PathType type);
+ virtual void dragEnterEvent(QDragEnterEvent *event) Q_DECL_OVERRIDE;
+ virtual void dragMoveEvent(QDragMoveEvent *event) Q_DECL_OVERRIDE;
+ virtual void dropEvent(QDropEvent *event) Q_DECL_OVERRIDE;
+
+private:
+ Q_OBJECT
+ Q_DISABLE_COPY(PathListWidget)
+
+ PathType pathType;
+
+ void addFilePath(const QString &path);
+ void addFolderPath(const QString &path);
+ void checkAcceptDragEvent(QDropEvent *event, bool store);
+};
+
+#endif
diff --git a/src/mumble/Plugins.cpp b/src/mumble/Plugins.cpp
index 42eafe629..057912b25 100644
--- a/src/mumble/Plugins.cpp
+++ b/src/mumble/Plugins.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Plugins.h b/src/mumble/Plugins.h
index 2528457ba..30a63cd94 100644
--- a/src/mumble/Plugins.h
+++ b/src/mumble/Plugins.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/PulseAudio.cpp b/src/mumble/PulseAudio.cpp
index a60c05aea..1527ca444 100644
--- a/src/mumble/PulseAudio.cpp
+++ b/src/mumble/PulseAudio.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/PulseAudio.h b/src/mumble/PulseAudio.h
index 1728edd42..fec8863da 100644
--- a/src/mumble/PulseAudio.h
+++ b/src/mumble/PulseAudio.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/RichTextEditor.cpp b/src/mumble/RichTextEditor.cpp
index 189dd3e7b..c18eb1b87 100644
--- a/src/mumble/RichTextEditor.cpp
+++ b/src/mumble/RichTextEditor.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/RichTextEditor.h b/src/mumble/RichTextEditor.h
index 7c1fbb9c1..20ff8cef1 100644
--- a/src/mumble/RichTextEditor.h
+++ b/src/mumble/RichTextEditor.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Screen.cpp b/src/mumble/Screen.cpp
index c9e5898b5..39ca7397e 100644
--- a/src/mumble/Screen.cpp
+++ b/src/mumble/Screen.cpp
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 The Mumble Developers. All rights reserved.
+// Copyright 2019-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Screen.h b/src/mumble/Screen.h
index 93f844bb5..426b82e03 100644
--- a/src/mumble/Screen.h
+++ b/src/mumble/Screen.h
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 The Mumble Developers. All rights reserved.
+// Copyright 2019-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ServerHandler.cpp b/src/mumble/ServerHandler.cpp
index b4f1a7824..59e8a1436 100644
--- a/src/mumble/ServerHandler.cpp
+++ b/src/mumble/ServerHandler.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ServerHandler.h b/src/mumble/ServerHandler.h
index a598af5ab..89cd066c9 100644
--- a/src/mumble/ServerHandler.h
+++ b/src/mumble/ServerHandler.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Settings.cpp b/src/mumble/Settings.cpp
index a1fa6d8a7..2b7f39b35 100644
--- a/src/mumble/Settings.cpp
+++ b/src/mumble/Settings.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Settings.h b/src/mumble/Settings.h
index c4f05cf7e..df9d917ae 100644
--- a/src/mumble/Settings.h
+++ b/src/mumble/Settings.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SharedMemory.cpp b/src/mumble/SharedMemory.cpp
index c199a27d8..9d9337c1c 100644
--- a/src/mumble/SharedMemory.cpp
+++ b/src/mumble/SharedMemory.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SharedMemory.h b/src/mumble/SharedMemory.h
index 0da1e0d55..bdd5d7ba3 100644
--- a/src/mumble/SharedMemory.h
+++ b/src/mumble/SharedMemory.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SharedMemory_unix.cpp b/src/mumble/SharedMemory_unix.cpp
index 509218604..444c02841 100644
--- a/src/mumble/SharedMemory_unix.cpp
+++ b/src/mumble/SharedMemory_unix.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SharedMemory_win.cpp b/src/mumble/SharedMemory_win.cpp
index 68408fbc3..dad27c870 100644
--- a/src/mumble/SharedMemory_win.cpp
+++ b/src/mumble/SharedMemory_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SocketRPC.cpp b/src/mumble/SocketRPC.cpp
index c02244628..25121c7a3 100644
--- a/src/mumble/SocketRPC.cpp
+++ b/src/mumble/SocketRPC.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SocketRPC.h b/src/mumble/SocketRPC.h
index bfb4b35a8..8bf347b1e 100644
--- a/src/mumble/SocketRPC.h
+++ b/src/mumble/SocketRPC.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SvgIcon.cpp b/src/mumble/SvgIcon.cpp
index 9c5064c4c..4252507a9 100644
--- a/src/mumble/SvgIcon.cpp
+++ b/src/mumble/SvgIcon.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2018-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/SvgIcon.h b/src/mumble/SvgIcon.h
index 712fcf76f..cdc51837c 100644
--- a/src/mumble/SvgIcon.h
+++ b/src/mumble/SvgIcon.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2018-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUI.cpp b/src/mumble/TalkingUI.cpp
index 337eb1196..9417ccc68 100644
--- a/src/mumble/TalkingUI.cpp
+++ b/src/mumble/TalkingUI.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUI.h b/src/mumble/TalkingUI.h
index cad6b631d..b3f71699f 100644
--- a/src/mumble/TalkingUI.h
+++ b/src/mumble/TalkingUI.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUIComponent.h b/src/mumble/TalkingUIComponent.h
index 7f0035343..641136c87 100644
--- a/src/mumble/TalkingUIComponent.h
+++ b/src/mumble/TalkingUIComponent.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUIContainer.cpp b/src/mumble/TalkingUIContainer.cpp
index 8fbedef20..ef65a934c 100644
--- a/src/mumble/TalkingUIContainer.cpp
+++ b/src/mumble/TalkingUIContainer.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUIContainer.h b/src/mumble/TalkingUIContainer.h
index 55526755f..bf805ff21 100644
--- a/src/mumble/TalkingUIContainer.h
+++ b/src/mumble/TalkingUIContainer.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUIEntry.cpp b/src/mumble/TalkingUIEntry.cpp
index 5945dccca..7d9966cb0 100644
--- a/src/mumble/TalkingUIEntry.cpp
+++ b/src/mumble/TalkingUIEntry.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUIEntry.h b/src/mumble/TalkingUIEntry.h
index e7eb723d3..b1bedb8f3 100644
--- a/src/mumble/TalkingUIEntry.h
+++ b/src/mumble/TalkingUIEntry.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUISelection.cpp b/src/mumble/TalkingUISelection.cpp
index 0378e0660..bcdecd8b4 100644
--- a/src/mumble/TalkingUISelection.cpp
+++ b/src/mumble/TalkingUISelection.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TalkingUISelection.h b/src/mumble/TalkingUISelection.h
index 17b00be58..f58ff2e90 100644
--- a/src/mumble/TalkingUISelection.h
+++ b/src/mumble/TalkingUISelection.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TaskList.cpp b/src/mumble/TaskList.cpp
index ab0a80b02..e2a3c1e6b 100644
--- a/src/mumble/TaskList.cpp
+++ b/src/mumble/TaskList.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TaskList.h b/src/mumble/TaskList.h
index 6d45736ee..05fe04057 100644
--- a/src/mumble/TaskList.h
+++ b/src/mumble/TaskList.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TextMessage.cpp b/src/mumble/TextMessage.cpp
index 33b9c411d..bc28b6960 100644
--- a/src/mumble/TextMessage.cpp
+++ b/src/mumble/TextMessage.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TextMessage.h b/src/mumble/TextMessage.h
index 2dadec1dd..241d11819 100644
--- a/src/mumble/TextMessage.h
+++ b/src/mumble/TextMessage.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TextToSpeech.cpp b/src/mumble/TextToSpeech.cpp
index 9d4796878..1379e4ab0 100644
--- a/src/mumble/TextToSpeech.cpp
+++ b/src/mumble/TextToSpeech.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TextToSpeech.h b/src/mumble/TextToSpeech.h
index 08d483140..3bdc665ae 100644
--- a/src/mumble/TextToSpeech.h
+++ b/src/mumble/TextToSpeech.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TextToSpeech_macx.mm b/src/mumble/TextToSpeech_macx.mm
index 34be3097a..83533540c 100644
--- a/src/mumble/TextToSpeech_macx.mm
+++ b/src/mumble/TextToSpeech_macx.mm
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TextToSpeech_unix.cpp b/src/mumble/TextToSpeech_unix.cpp
index 230339628..30d8db377 100644
--- a/src/mumble/TextToSpeech_unix.cpp
+++ b/src/mumble/TextToSpeech_unix.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/TextToSpeech_win.cpp b/src/mumble/TextToSpeech_win.cpp
index e3befeb2b..48703c00e 100644
--- a/src/mumble/TextToSpeech_win.cpp
+++ b/src/mumble/TextToSpeech_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ThemeInfo.cpp b/src/mumble/ThemeInfo.cpp
index 1799c2273..4804d3d71 100644
--- a/src/mumble/ThemeInfo.cpp
+++ b/src/mumble/ThemeInfo.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ThemeInfo.h b/src/mumble/ThemeInfo.h
index 3277f84b9..b93550f87 100644
--- a/src/mumble/ThemeInfo.h
+++ b/src/mumble/ThemeInfo.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Themes.cpp b/src/mumble/Themes.cpp
index eb6389844..34d350ce9 100644
--- a/src/mumble/Themes.cpp
+++ b/src/mumble/Themes.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Themes.h b/src/mumble/Themes.h
index f14cb6d63..c040e8613 100644
--- a/src/mumble/Themes.h
+++ b/src/mumble/Themes.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Tokens.cpp b/src/mumble/Tokens.cpp
index 81e7a946f..514b2d6d9 100644
--- a/src/mumble/Tokens.cpp
+++ b/src/mumble/Tokens.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Tokens.h b/src/mumble/Tokens.h
index b130d8a89..5a647e7dd 100644
--- a/src/mumble/Tokens.h
+++ b/src/mumble/Tokens.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Usage.cpp b/src/mumble/Usage.cpp
index 4d0e5a092..95b7c2a68 100644
--- a/src/mumble/Usage.cpp
+++ b/src/mumble/Usage.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Usage.h b/src/mumble/Usage.h
index 2388b7480..49e7abd13 100644
--- a/src/mumble/Usage.h
+++ b/src/mumble/Usage.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserEdit.cpp b/src/mumble/UserEdit.cpp
index fa16681eb..c23fd746b 100644
--- a/src/mumble/UserEdit.cpp
+++ b/src/mumble/UserEdit.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserEdit.h b/src/mumble/UserEdit.h
index 5e0de7375..3152b723a 100644
--- a/src/mumble/UserEdit.h
+++ b/src/mumble/UserEdit.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserInformation.cpp b/src/mumble/UserInformation.cpp
index 4996bd856..a5780a81b 100644
--- a/src/mumble/UserInformation.cpp
+++ b/src/mumble/UserInformation.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserInformation.h b/src/mumble/UserInformation.h
index 4b54fd2e8..4fcd3dfee 100644
--- a/src/mumble/UserInformation.h
+++ b/src/mumble/UserInformation.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserListModel.cpp b/src/mumble/UserListModel.cpp
index b07b6bcee..23cafa8f5 100644
--- a/src/mumble/UserListModel.cpp
+++ b/src/mumble/UserListModel.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2013-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserListModel.h b/src/mumble/UserListModel.h
index 4da96e8ef..a990766df 100644
--- a/src/mumble/UserListModel.h
+++ b/src/mumble/UserListModel.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2013-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserLocalNicknameDialog.cpp b/src/mumble/UserLocalNicknameDialog.cpp
index 9e59cd42d..6c31a9cbb 100644
--- a/src/mumble/UserLocalNicknameDialog.cpp
+++ b/src/mumble/UserLocalNicknameDialog.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserLocalNicknameDialog.h b/src/mumble/UserLocalNicknameDialog.h
index b3b91ac72..5baa9b908 100644
--- a/src/mumble/UserLocalNicknameDialog.h
+++ b/src/mumble/UserLocalNicknameDialog.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserLocalVolumeDialog.cpp b/src/mumble/UserLocalVolumeDialog.cpp
index ee2d529f9..20ddea688 100644
--- a/src/mumble/UserLocalVolumeDialog.cpp
+++ b/src/mumble/UserLocalVolumeDialog.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserLocalVolumeDialog.h b/src/mumble/UserLocalVolumeDialog.h
index e4311e8c4..ca2d5fbe2 100644
--- a/src/mumble/UserLocalVolumeDialog.h
+++ b/src/mumble/UserLocalVolumeDialog.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserLockFile.h b/src/mumble/UserLockFile.h
index 431978bd9..9de08252d 100644
--- a/src/mumble/UserLockFile.h
+++ b/src/mumble/UserLockFile.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserLockFile_win.cpp b/src/mumble/UserLockFile_win.cpp
index c77454b52..243a5c4f3 100644
--- a/src/mumble/UserLockFile_win.cpp
+++ b/src/mumble/UserLockFile_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserModel.cpp b/src/mumble/UserModel.cpp
index 7d5fde979..b1253f48d 100644
--- a/src/mumble/UserModel.cpp
+++ b/src/mumble/UserModel.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserModel.h b/src/mumble/UserModel.h
index 449df09dd..b481b3c20 100644
--- a/src/mumble/UserModel.h
+++ b/src/mumble/UserModel.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserView.cpp b/src/mumble/UserView.cpp
index 99aec7b96..57b885636 100644
--- a/src/mumble/UserView.cpp
+++ b/src/mumble/UserView.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2009-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/UserView.h b/src/mumble/UserView.h
index fe3238013..6413b3262 100644
--- a/src/mumble/UserView.h
+++ b/src/mumble/UserView.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/VersionCheck.cpp b/src/mumble/VersionCheck.cpp
index 8defbe0d5..c001873ee 100644
--- a/src/mumble/VersionCheck.cpp
+++ b/src/mumble/VersionCheck.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/VersionCheck.h b/src/mumble/VersionCheck.h
index 30b512fe1..b036bcdcb 100644
--- a/src/mumble/VersionCheck.h
+++ b/src/mumble/VersionCheck.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ViewCert.cpp b/src/mumble/ViewCert.cpp
index e665ad1ab..19f4968f3 100644
--- a/src/mumble/ViewCert.cpp
+++ b/src/mumble/ViewCert.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2007-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/ViewCert.h b/src/mumble/ViewCert.h
index 6d1ee70f3..b77e05e08 100644
--- a/src/mumble/ViewCert.h
+++ b/src/mumble/ViewCert.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/VoiceRecorder.cpp b/src/mumble/VoiceRecorder.cpp
index cd2d5c331..2d3cffdb9 100644
--- a/src/mumble/VoiceRecorder.cpp
+++ b/src/mumble/VoiceRecorder.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/VoiceRecorder.h b/src/mumble/VoiceRecorder.h
index 41ed20a94..107b5f672 100644
--- a/src/mumble/VoiceRecorder.h
+++ b/src/mumble/VoiceRecorder.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/VoiceRecorderDialog.cpp b/src/mumble/VoiceRecorderDialog.cpp
index 5bb482138..b3103f0c0 100644
--- a/src/mumble/VoiceRecorderDialog.cpp
+++ b/src/mumble/VoiceRecorderDialog.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/VoiceRecorderDialog.h b/src/mumble/VoiceRecorderDialog.h
index 2d4973cde..f660d9dc7 100644
--- a/src/mumble/VoiceRecorderDialog.h
+++ b/src/mumble/VoiceRecorderDialog.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2010-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/WASAPI.cpp b/src/mumble/WASAPI.cpp
index afa6308ba..f73b061cf 100644
--- a/src/mumble/WASAPI.cpp
+++ b/src/mumble/WASAPI.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/WASAPI.h b/src/mumble/WASAPI.h
index 7ef33f4c0..9c5e4a3d6 100644
--- a/src/mumble/WASAPI.h
+++ b/src/mumble/WASAPI.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/WASAPINotificationClient.cpp b/src/mumble/WASAPINotificationClient.cpp
index 78c033e72..28c8c5708 100644
--- a/src/mumble/WASAPINotificationClient.cpp
+++ b/src/mumble/WASAPINotificationClient.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2012-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/WASAPINotificationClient.h b/src/mumble/WASAPINotificationClient.h
index fb1b64380..4397ed854 100644
--- a/src/mumble/WASAPINotificationClient.h
+++ b/src/mumble/WASAPINotificationClient.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2012-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/WebFetch.cpp b/src/mumble/WebFetch.cpp
index 94c1fe10c..1bd8c53a6 100644
--- a/src/mumble/WebFetch.cpp
+++ b/src/mumble/WebFetch.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2011-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/WebFetch.h b/src/mumble/WebFetch.h
index aa7dcd782..9947e9c79 100644
--- a/src/mumble/WebFetch.h
+++ b/src/mumble/WebFetch.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/WinGUIDs.cpp b/src/mumble/WinGUIDs.cpp
index b49862849..acae30a64 100644
--- a/src/mumble/WinGUIDs.cpp
+++ b/src/mumble/WinGUIDs.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2017-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/XMLTools.cpp b/src/mumble/XMLTools.cpp
index 2023b5eac..073a59763 100644
--- a/src/mumble/XMLTools.cpp
+++ b/src/mumble/XMLTools.cpp
@@ -1,201 +1,201 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#include "XMLTools.h"
-
-#include <QStringList>
-#include <QXmlStreamReader>
-#include <QXmlStreamWriter>
-
-void XMLTools::recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int &paragraphs,
- const QMap< QString, QString > &opstyle, const int close, bool ignore) {
- while (!reader.atEnd()) {
- QXmlStreamReader::TokenType tt = reader.readNext();
-
- QXmlStreamAttributes a = reader.attributes();
- QMap< QString, QString > style;
- QMap< QString, QString > pstyle = opstyle;
-
- QStringRef styleref = a.value(QLatin1String("style"));
- if (!styleref.isNull()) {
- QString stylestring = styleref.toString();
-#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
- QStringList styles = stylestring.split(QLatin1String(";"), Qt::SkipEmptyParts);
-#else
- // Qt 5.14 introduced the Qt::SplitBehavior flags deprecating the QString fields
- QStringList styles = stylestring.split(QLatin1String(";"), QString::SkipEmptyParts);
-#endif
- foreach (QString s, styles) {
- s = s.simplified();
- int idx = s.indexOf(QLatin1Char(':'));
- QString key = (idx > 0) ? s.left(idx).simplified() : s;
- QString val = (idx > 0) ? s.mid(idx + 1).simplified() : QString();
-
- if (!pstyle.contains(key) || (pstyle.value(key) != val)) {
- style.insert(key, val);
- pstyle.insert(key, val);
- }
- }
- }
-
- switch (tt) {
- case QXmlStreamReader::StartElement: {
- QString name = reader.name().toString();
- int rclose = 1;
- if (name == QLatin1String("body")) {
- rclose = 0;
- ignore = false;
- } else if (name == QLatin1String("span")) {
- // Substitute style with <b>, <i> and <u>
-
- rclose = 0;
- if (style.value(QLatin1String("font-weight")) == QLatin1String("600")) {
- writer.writeStartElement(QLatin1String("b"));
- rclose++;
- style.remove(QLatin1String("font-weight"));
- }
- if (style.value(QLatin1String("font-style")) == QLatin1String("italic")) {
- writer.writeStartElement(QLatin1String("i"));
- rclose++;
- style.remove(QLatin1String("font-style"));
- }
- if (style.value(QLatin1String("text-decoration")) == QLatin1String("underline")) {
- writer.writeStartElement(QLatin1String("u"));
- rclose++;
- style.remove(QLatin1String("text-decoration"));
- }
- if (!style.isEmpty()) {
- rclose++;
- writer.writeStartElement(name);
-
- QStringList qsl;
- QMap< QString, QString >::const_iterator i;
- for (i = style.constBegin(); i != style.constEnd(); ++i) {
- if (!i.value().isEmpty())
- qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value());
- else
- qsl << i.key();
- }
-
- writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; ")));
- }
- } else if (name == QLatin1String("p")) {
- paragraphs++;
- if (paragraphs == 1) {
- // Ignore first paragraph. If it is styled empty drop its contents (e.g. <br />) too.
- if (style.value(QLatin1String("-qt-paragraph-type")) == QLatin1String("empty")) {
- reader.skipCurrentElement();
- continue;
- }
- rclose = 0;
- } else {
- rclose = 1;
- writer.writeStartElement(name);
-
- if (!style.isEmpty()) {
- QStringList qsl;
- QMap< QString, QString >::const_iterator i;
- for (i = style.constBegin(); i != style.constEnd(); ++i) {
- if (!i.value().isEmpty())
- qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value());
- else
- qsl << i.key();
- }
-
- writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; ")));
- }
- }
- } else if (name == QLatin1String("a")) {
- // Set pstyle to include implicit blue underline.
- rclose = 1;
- writer.writeCurrentToken(reader);
- pstyle.insert(QLatin1String("text-decoration"), QLatin1String("underline"));
- pstyle.insert(QLatin1String("color"), QLatin1String("#0000ff"));
- } else if (!ignore) {
- rclose = 1;
- writer.writeCurrentToken(reader);
- }
-
- recurseParse(reader, writer, paragraphs, pstyle, rclose, ignore);
- break;
- }
- case QXmlStreamReader::EndElement:
- if (!ignore)
- for (int i = 0; i < close; ++i)
- writer.writeEndElement();
- return;
- case QXmlStreamReader::Characters:
- if (!ignore)
- writer.writeCharacters(reader.text().toString());
- break;
- default:
- break;
- }
- }
-}
-
-bool XMLTools::unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer) {
- bool changed = false;
- bool needclose = false;
-
- QStringList qslConcat;
- qslConcat << QLatin1String("b");
- qslConcat << QLatin1String("i");
- qslConcat << QLatin1String("u");
- qslConcat << QLatin1String("a");
-
- QList< QString > qlNames;
- QList< QXmlStreamAttributes > qlAttributes;
-
- while (!reader.atEnd()) {
- QXmlStreamReader::TokenType tt = reader.readNext();
- QString name = reader.name().toString();
- switch (tt) {
- case QXmlStreamReader::StartDocument:
- case QXmlStreamReader::EndDocument:
- break;
- case QXmlStreamReader::StartElement: {
- QXmlStreamAttributes a = reader.attributes();
-
- if (name == QLatin1String("unduplicate"))
- break;
-
- if (needclose) {
- needclose = false;
-
- if ((a == qlAttributes.last()) && (name == qlNames.last()) && (qslConcat.contains(name))) {
- changed = true;
- break;
- }
- qlNames.takeLast();
- qlAttributes.takeLast();
- writer.writeEndElement();
- }
- writer.writeCurrentToken(reader);
- qlNames.append(name);
- qlAttributes.append(a);
- } break;
- case QXmlStreamReader::EndElement: {
- if (name == QLatin1String("unduplicate"))
- break;
- if (needclose) {
- qlNames.takeLast();
- qlAttributes.takeLast();
- writer.writeCurrentToken(reader);
- }
- needclose = true;
- } break;
- default:
- if (needclose) {
- writer.writeEndElement();
- needclose = false;
- }
- writer.writeCurrentToken(reader);
- }
- }
- if (needclose)
- writer.writeEndElement();
- return changed;
-}
+// Copyright 2017-2021 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 <https://www.mumble.info/LICENSE>.
+
+#include "XMLTools.h"
+
+#include <QStringList>
+#include <QXmlStreamReader>
+#include <QXmlStreamWriter>
+
+void XMLTools::recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int &paragraphs,
+ const QMap< QString, QString > &opstyle, const int close, bool ignore) {
+ while (!reader.atEnd()) {
+ QXmlStreamReader::TokenType tt = reader.readNext();
+
+ QXmlStreamAttributes a = reader.attributes();
+ QMap< QString, QString > style;
+ QMap< QString, QString > pstyle = opstyle;
+
+ QStringRef styleref = a.value(QLatin1String("style"));
+ if (!styleref.isNull()) {
+ QString stylestring = styleref.toString();
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ QStringList styles = stylestring.split(QLatin1String(";"), Qt::SkipEmptyParts);
+#else
+ // Qt 5.14 introduced the Qt::SplitBehavior flags deprecating the QString fields
+ QStringList styles = stylestring.split(QLatin1String(";"), QString::SkipEmptyParts);
+#endif
+ foreach (QString s, styles) {
+ s = s.simplified();
+ int idx = s.indexOf(QLatin1Char(':'));
+ QString key = (idx > 0) ? s.left(idx).simplified() : s;
+ QString val = (idx > 0) ? s.mid(idx + 1).simplified() : QString();
+
+ if (!pstyle.contains(key) || (pstyle.value(key) != val)) {
+ style.insert(key, val);
+ pstyle.insert(key, val);
+ }
+ }
+ }
+
+ switch (tt) {
+ case QXmlStreamReader::StartElement: {
+ QString name = reader.name().toString();
+ int rclose = 1;
+ if (name == QLatin1String("body")) {
+ rclose = 0;
+ ignore = false;
+ } else if (name == QLatin1String("span")) {
+ // Substitute style with <b>, <i> and <u>
+
+ rclose = 0;
+ if (style.value(QLatin1String("font-weight")) == QLatin1String("600")) {
+ writer.writeStartElement(QLatin1String("b"));
+ rclose++;
+ style.remove(QLatin1String("font-weight"));
+ }
+ if (style.value(QLatin1String("font-style")) == QLatin1String("italic")) {
+ writer.writeStartElement(QLatin1String("i"));
+ rclose++;
+ style.remove(QLatin1String("font-style"));
+ }
+ if (style.value(QLatin1String("text-decoration")) == QLatin1String("underline")) {
+ writer.writeStartElement(QLatin1String("u"));
+ rclose++;
+ style.remove(QLatin1String("text-decoration"));
+ }
+ if (!style.isEmpty()) {
+ rclose++;
+ writer.writeStartElement(name);
+
+ QStringList qsl;
+ QMap< QString, QString >::const_iterator i;
+ for (i = style.constBegin(); i != style.constEnd(); ++i) {
+ if (!i.value().isEmpty())
+ qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value());
+ else
+ qsl << i.key();
+ }
+
+ writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; ")));
+ }
+ } else if (name == QLatin1String("p")) {
+ paragraphs++;
+ if (paragraphs == 1) {
+ // Ignore first paragraph. If it is styled empty drop its contents (e.g. <br />) too.
+ if (style.value(QLatin1String("-qt-paragraph-type")) == QLatin1String("empty")) {
+ reader.skipCurrentElement();
+ continue;
+ }
+ rclose = 0;
+ } else {
+ rclose = 1;
+ writer.writeStartElement(name);
+
+ if (!style.isEmpty()) {
+ QStringList qsl;
+ QMap< QString, QString >::const_iterator i;
+ for (i = style.constBegin(); i != style.constEnd(); ++i) {
+ if (!i.value().isEmpty())
+ qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value());
+ else
+ qsl << i.key();
+ }
+
+ writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; ")));
+ }
+ }
+ } else if (name == QLatin1String("a")) {
+ // Set pstyle to include implicit blue underline.
+ rclose = 1;
+ writer.writeCurrentToken(reader);
+ pstyle.insert(QLatin1String("text-decoration"), QLatin1String("underline"));
+ pstyle.insert(QLatin1String("color"), QLatin1String("#0000ff"));
+ } else if (!ignore) {
+ rclose = 1;
+ writer.writeCurrentToken(reader);
+ }
+
+ recurseParse(reader, writer, paragraphs, pstyle, rclose, ignore);
+ break;
+ }
+ case QXmlStreamReader::EndElement:
+ if (!ignore)
+ for (int i = 0; i < close; ++i)
+ writer.writeEndElement();
+ return;
+ case QXmlStreamReader::Characters:
+ if (!ignore)
+ writer.writeCharacters(reader.text().toString());
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+bool XMLTools::unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer) {
+ bool changed = false;
+ bool needclose = false;
+
+ QStringList qslConcat;
+ qslConcat << QLatin1String("b");
+ qslConcat << QLatin1String("i");
+ qslConcat << QLatin1String("u");
+ qslConcat << QLatin1String("a");
+
+ QList< QString > qlNames;
+ QList< QXmlStreamAttributes > qlAttributes;
+
+ while (!reader.atEnd()) {
+ QXmlStreamReader::TokenType tt = reader.readNext();
+ QString name = reader.name().toString();
+ switch (tt) {
+ case QXmlStreamReader::StartDocument:
+ case QXmlStreamReader::EndDocument:
+ break;
+ case QXmlStreamReader::StartElement: {
+ QXmlStreamAttributes a = reader.attributes();
+
+ if (name == QLatin1String("unduplicate"))
+ break;
+
+ if (needclose) {
+ needclose = false;
+
+ if ((a == qlAttributes.last()) && (name == qlNames.last()) && (qslConcat.contains(name))) {
+ changed = true;
+ break;
+ }
+ qlNames.takeLast();
+ qlAttributes.takeLast();
+ writer.writeEndElement();
+ }
+ writer.writeCurrentToken(reader);
+ qlNames.append(name);
+ qlAttributes.append(a);
+ } break;
+ case QXmlStreamReader::EndElement: {
+ if (name == QLatin1String("unduplicate"))
+ break;
+ if (needclose) {
+ qlNames.takeLast();
+ qlAttributes.takeLast();
+ writer.writeCurrentToken(reader);
+ }
+ needclose = true;
+ } break;
+ default:
+ if (needclose) {
+ writer.writeEndElement();
+ needclose = false;
+ }
+ writer.writeCurrentToken(reader);
+ }
+ }
+ if (needclose)
+ writer.writeEndElement();
+ return changed;
+}
diff --git a/src/mumble/XMLTools.h b/src/mumble/XMLTools.h
index 2d09364f5..f9a970276 100644
--- a/src/mumble/XMLTools.h
+++ b/src/mumble/XMLTools.h
@@ -1,38 +1,38 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#ifndef MUMBLE_MUMBLE_XMLTOOLS_H_
-#define MUMBLE_MUMBLE_XMLTOOLS_H_
-
-#include <QMap>
-#include <QObject>
-#include <QXmlStreamReader>
-#include <QXmlStreamWriter>
-
-class XMLTools : public QObject {
- Q_OBJECT
-public:
- /* Recursively parse and output XHTML.
- * This will drop <head>, <html> etc, take the contents of <body> and strip out unnecesarry styles.
- * It will also change <span style=""> into matching <b>, <i> or <u>.
- */
- static void recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int &paragraphs,
- const QMap< QString, QString > &opstyle, const int close = 0, bool ignore = true);
-
- /* Iterate XML and remove close-followed-by-open.
- * For example, make "<b>bold with </b><b><i>italic</i></b>" into
- * "<b>bold with <i>italic</i></b>"
- *
- * If the input XML is or may not be valid, a "unduplicate" tag can be used as a root element,
- * which will be dropped and not written to writer.
- *
- * Input XML has to be valid XML.
- *
- * Works on b, i, u, and a elements.
- */
- static bool unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer);
-};
-
-#endif // XMLTOOLS_H
+// Copyright 2017-2021 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 <https://www.mumble.info/LICENSE>.
+
+#ifndef MUMBLE_MUMBLE_XMLTOOLS_H_
+#define MUMBLE_MUMBLE_XMLTOOLS_H_
+
+#include <QMap>
+#include <QObject>
+#include <QXmlStreamReader>
+#include <QXmlStreamWriter>
+
+class XMLTools : public QObject {
+ Q_OBJECT
+public:
+ /* Recursively parse and output XHTML.
+ * This will drop <head>, <html> etc, take the contents of <body> and strip out unnecesarry styles.
+ * It will also change <span style=""> into matching <b>, <i> or <u>.
+ */
+ static void recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int &paragraphs,
+ const QMap< QString, QString > &opstyle, const int close = 0, bool ignore = true);
+
+ /* Iterate XML and remove close-followed-by-open.
+ * For example, make "<b>bold with </b><b><i>italic</i></b>" into
+ * "<b>bold with <i>italic</i></b>"
+ *
+ * If the input XML is or may not be valid, a "unduplicate" tag can be used as a root element,
+ * which will be dropped and not written to writer.
+ *
+ * Input XML has to be valid XML.
+ *
+ * Works on b, i, u, and a elements.
+ */
+ static bool unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer);
+};
+
+#endif // XMLTOOLS_H
diff --git a/src/mumble/XboxInput.cpp b/src/mumble/XboxInput.cpp
index 2ebcbe5da..34e924076 100644
--- a/src/mumble/XboxInput.cpp
+++ b/src/mumble/XboxInput.cpp
@@ -1,69 +1,69 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#include "XboxInput.h"
-
-#include <QtCore/QStringList>
-
-const QUuid XboxInput::s_XboxInputGuid = QUuid(QString::fromLatin1("ca3937e3-640c-4d9e-9ef3-903f8b4fbcab"));
-
-XboxInput::XboxInput()
- : GetState(nullptr), m_getStateFunc(nullptr), m_getStateExFunc(nullptr), m_xinputlib(nullptr), m_valid(false) {
- // Load the most suitable XInput DLL available.
- //
- // We prefer 1_4 and 1_3 over the others because they provide
- // XInputGetStateEx(), which allows us to query the state of
- // the guide button.
- //
- // See https://msdn.microsoft.com/en-us/library/windows/desktop/hh405051(v=vs.85).aspx
- // for more information.
- QStringList alternatives;
- alternatives << QLatin1String("XInput1_4.dll");
- alternatives << QLatin1String("xinput1_3.dll");
- alternatives << QLatin1String("XInput9_1_0.dll");
- alternatives << QLatin1String("xinput1_2.dll");
- alternatives << QLatin1String("xinput1_1.dll");
-
- foreach (const QString &lib, alternatives) {
- m_xinputlib = LoadLibraryW(reinterpret_cast< const wchar_t * >(lib.utf16()));
- if (m_xinputlib) {
- qWarning("XboxInput: using XInput DLL '%s'", qPrintable(lib));
- m_valid = true;
- break;
- }
- }
-
- if (!m_valid) {
- qWarning("XboxInput: no valid XInput DLL was found on the system.");
- return;
- }
-
- m_getStateFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, "XInputGetState"));
- // Undocumented XInputGetStateEx -- ordinal 100. It is available in XInput 1.3 and greater.
- // It provides access to the state of the guide button.
- // For reference, see SDL's XInput support: http://www.libsdl.org/tmp/SDL/src/core/windows/SDL_xinput.c
- m_getStateExFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, (char *) 100));
-
- if (m_getStateExFunc) {
- GetState = m_getStateExFunc;
- qWarning("XboxInput: using XInputGetStateEx() as querying function.");
- } else if (m_getStateFunc) {
- GetState = m_getStateFunc;
- qWarning("XboxInput: using XInputGetState() as querying function.");
- } else {
- m_valid = false;
- qWarning("XboxInput: no valid querying function found.");
- }
-}
-
-XboxInput::~XboxInput() {
- if (m_xinputlib) {
- FreeLibrary(m_xinputlib);
- }
-}
-
-bool XboxInput::isValid() const {
- return m_valid;
-}
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
+
+#include "XboxInput.h"
+
+#include <QtCore/QStringList>
+
+const QUuid XboxInput::s_XboxInputGuid = QUuid(QString::fromLatin1("ca3937e3-640c-4d9e-9ef3-903f8b4fbcab"));
+
+XboxInput::XboxInput()
+ : GetState(nullptr), m_getStateFunc(nullptr), m_getStateExFunc(nullptr), m_xinputlib(nullptr), m_valid(false) {
+ // Load the most suitable XInput DLL available.
+ //
+ // We prefer 1_4 and 1_3 over the others because they provide
+ // XInputGetStateEx(), which allows us to query the state of
+ // the guide button.
+ //
+ // See https://msdn.microsoft.com/en-us/library/windows/desktop/hh405051(v=vs.85).aspx
+ // for more information.
+ QStringList alternatives;
+ alternatives << QLatin1String("XInput1_4.dll");
+ alternatives << QLatin1String("xinput1_3.dll");
+ alternatives << QLatin1String("XInput9_1_0.dll");
+ alternatives << QLatin1String("xinput1_2.dll");
+ alternatives << QLatin1String("xinput1_1.dll");
+
+ foreach (const QString &lib, alternatives) {
+ m_xinputlib = LoadLibraryW(reinterpret_cast< const wchar_t * >(lib.utf16()));
+ if (m_xinputlib) {
+ qWarning("XboxInput: using XInput DLL '%s'", qPrintable(lib));
+ m_valid = true;
+ break;
+ }
+ }
+
+ if (!m_valid) {
+ qWarning("XboxInput: no valid XInput DLL was found on the system.");
+ return;
+ }
+
+ m_getStateFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, "XInputGetState"));
+ // Undocumented XInputGetStateEx -- ordinal 100. It is available in XInput 1.3 and greater.
+ // It provides access to the state of the guide button.
+ // For reference, see SDL's XInput support: http://www.libsdl.org/tmp/SDL/src/core/windows/SDL_xinput.c
+ m_getStateExFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, (char *) 100));
+
+ if (m_getStateExFunc) {
+ GetState = m_getStateExFunc;
+ qWarning("XboxInput: using XInputGetStateEx() as querying function.");
+ } else if (m_getStateFunc) {
+ GetState = m_getStateFunc;
+ qWarning("XboxInput: using XInputGetState() as querying function.");
+ } else {
+ m_valid = false;
+ qWarning("XboxInput: no valid querying function found.");
+ }
+}
+
+XboxInput::~XboxInput() {
+ if (m_xinputlib) {
+ FreeLibrary(m_xinputlib);
+ }
+}
+
+bool XboxInput::isValid() const {
+ return m_valid;
+}
diff --git a/src/mumble/XboxInput.h b/src/mumble/XboxInput.h
index 86496cd29..a511f8779 100644
--- a/src/mumble/XboxInput.h
+++ b/src/mumble/XboxInput.h
@@ -1,84 +1,84 @@
-// Copyright 2005-2020 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 <https://www.mumble.info/LICENSE>.
-
-#ifndef MUMBLE_MUMBLE_XBOXINPUT_H_
-#define MUMBLE_MUMBLE_XBOXINPUT_H_
-
-#include "win.h"
-
-#include <QUuid>
-
-#include <stdint.h>
-
-/// XBOXINPUT_MAX_DEVICES defines the maximum
-/// number of devices that can be connected
-/// to the system at once.
-///
-/// In typical operation, one calls GetState()
-/// in a loop bounded by XBOXINPUT_MAX_DEVICES.
-#define XBOXINPUT_MAX_DEVICES 4
-
-/// XBOXINPUT_TRIGGER_THRESHOLD defines the thresold
-/// that an analog trigger (leftTrigger and
-/// rightTrigger of XboxInputState) must have exceeded
-/// in order to count as a button press.
-#define XBOXINPUT_TRIGGER_THRESHOLD 30
-
-/// XboxInputState represents the state of an
-/// Xbox controller as returned by GetState().
-struct XboxInputState {
- uint32_t packetNumber;
- uint16_t buttons;
- uint8_t leftTrigger;
- uint8_t rightTrigger;
- uint16_t leftThumbX;
- uint16_t leftThumbY;
- uint16_t rightThumbY;
- uint16_t rightThumbX;
- uint32_t paddingReserved; // Required for XInputGetStateEx. Not required for XInputGetState.
-};
-
-typedef uint32_t(WINAPI *XboxInputGetStateFunc)(uint32_t deviceIndex, XboxInputState *state);
-
-/// XboxInput is an XInput wrapper that dynamically loads an appropriate
-/// xinput*.dll on construction and provides access to its GetState(Ex)
-/// function.
-class XboxInput {
-public:
- XboxInput();
- virtual ~XboxInput();
-
- /// s_XboxInputGuid is the GUID used by GlobalShortcut_win
- /// to distinguish XboxInputLibrary's events from other event
- /// soures.
- static const QUuid s_XboxInputGuid;
-
- /// isValid determines wheter the XboxInputLibrary
- /// is usable.
- bool isValid() const;
-
- /// Query the state of the Xbox controller at deviceIndex.
- /// If the function succeeds, it returns 0 (Windows's ERROR_SUCCESS).
- /// If no device is connected, it returns 0x48F (Windows's ERROR_DEVICE_NOT_CONNECTED).
- XboxInputGetStateFunc GetState;
-
-protected:
- /// m_getStateFunc represents XInputGetState from the XInput DLL.
- XboxInputGetStateFunc m_getStateFunc;
-
- /// m_getStateFuncEx represents XInputGetStateEx, which is optionally
- /// available in the XInput DLL.
- XboxInputGetStateFunc m_getStateExFunc;
-
- /// m_xinputlib is the handle to the XInput DLL as returned by
- /// LoadLibrary.
- HMODULE m_xinputlib;
-
- /// m_valid determines whether or not the XboxInputLibrary
- /// is valid for use.
- bool m_valid;
-};
-
-#endif
+// Copyright 2015-2021 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 <https://www.mumble.info/LICENSE>.
+
+#ifndef MUMBLE_MUMBLE_XBOXINPUT_H_
+#define MUMBLE_MUMBLE_XBOXINPUT_H_
+
+#include "win.h"
+
+#include <QUuid>
+
+#include <stdint.h>
+
+/// XBOXINPUT_MAX_DEVICES defines the maximum
+/// number of devices that can be connected
+/// to the system at once.
+///
+/// In typical operation, one calls GetState()
+/// in a loop bounded by XBOXINPUT_MAX_DEVICES.
+#define XBOXINPUT_MAX_DEVICES 4
+
+/// XBOXINPUT_TRIGGER_THRESHOLD defines the thresold
+/// that an analog trigger (leftTrigger and
+/// rightTrigger of XboxInputState) must have exceeded
+/// in order to count as a button press.
+#define XBOXINPUT_TRIGGER_THRESHOLD 30
+
+/// XboxInputState represents the state of an
+/// Xbox controller as returned by GetState().
+struct XboxInputState {
+ uint32_t packetNumber;
+ uint16_t buttons;
+ uint8_t leftTrigger;
+ uint8_t rightTrigger;
+ uint16_t leftThumbX;
+ uint16_t leftThumbY;
+ uint16_t rightThumbY;
+ uint16_t rightThumbX;
+ uint32_t paddingReserved; // Required for XInputGetStateEx. Not required for XInputGetState.
+};
+
+typedef uint32_t(WINAPI *XboxInputGetStateFunc)(uint32_t deviceIndex, XboxInputState *state);
+
+/// XboxInput is an XInput wrapper that dynamically loads an appropriate
+/// xinput*.dll on construction and provides access to its GetState(Ex)
+/// function.
+class XboxInput {
+public:
+ XboxInput();
+ virtual ~XboxInput();
+
+ /// s_XboxInputGuid is the GUID used by GlobalShortcut_win
+ /// to distinguish XboxInputLibrary's events from other event
+ /// soures.
+ static const QUuid s_XboxInputGuid;
+
+ /// isValid determines wheter the XboxInputLibrary
+ /// is usable.
+ bool isValid() const;
+
+ /// Query the state of the Xbox controller at deviceIndex.
+ /// If the function succeeds, it returns 0 (Windows's ERROR_SUCCESS).
+ /// If no device is connected, it returns 0x48F (Windows's ERROR_DEVICE_NOT_CONNECTED).
+ XboxInputGetStateFunc GetState;
+
+protected:
+ /// m_getStateFunc represents XInputGetState from the XInput DLL.
+ XboxInputGetStateFunc m_getStateFunc;
+
+ /// m_getStateFuncEx represents XInputGetStateEx, which is optionally
+ /// available in the XInput DLL.
+ XboxInputGetStateFunc m_getStateExFunc;
+
+ /// m_xinputlib is the handle to the XInput DLL as returned by
+ /// LoadLibrary.
+ HMODULE m_xinputlib;
+
+ /// m_valid determines whether or not the XboxInputLibrary
+ /// is valid for use.
+ bool m_valid;
+};
+
+#endif
diff --git a/src/mumble/Zeroconf.cpp b/src/mumble/Zeroconf.cpp
index ebefcdbe7..10bdf4a2f 100644
--- a/src/mumble/Zeroconf.cpp
+++ b/src/mumble/Zeroconf.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/Zeroconf.h b/src/mumble/Zeroconf.h
index 87506c3b3..441c324ad 100644
--- a/src/mumble/Zeroconf.h
+++ b/src/mumble/Zeroconf.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/main.cpp b/src/mumble/main.cpp
index d51befa93..0801d9b3b 100644
--- a/src/mumble/main.cpp
+++ b/src/mumble/main.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/mumble_pch.hpp b/src/mumble/mumble_pch.hpp
index 874e6d50a..6a8061895 100644
--- a/src/mumble/mumble_pch.hpp
+++ b/src/mumble/mumble_pch.hpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/os_early_win.cpp b/src/mumble/os_early_win.cpp
index 87c1e2d71..975bf154b 100644
--- a/src/mumble/os_early_win.cpp
+++ b/src/mumble/os_early_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2016-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/os_macx.mm b/src/mumble/os_macx.mm
index 15f55bd47..cab6c4c83 100644
--- a/src/mumble/os_macx.mm
+++ b/src/mumble/os_macx.mm
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2008-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/os_unix.cpp b/src/mumble/os_unix.cpp
index 504bce4f3..a8fadb3b1 100644
--- a/src/mumble/os_unix.cpp
+++ b/src/mumble/os_unix.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2016-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/os_win.cpp b/src/mumble/os_win.cpp
index ff7ebfa45..a148b291a 100644
--- a/src/mumble/os_win.cpp
+++ b/src/mumble/os_win.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2006-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/widgets/CompletablePage.cpp b/src/mumble/widgets/CompletablePage.cpp
index 350b56cbf..18edb7e42 100644
--- a/src/mumble/widgets/CompletablePage.cpp
+++ b/src/mumble/widgets/CompletablePage.cpp
@@ -1,4 +1,4 @@
-// Copyright 2021 The Mumble Developers. All rights reserved.
+// Copyright 2016-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/widgets/MUComboBox.cpp b/src/mumble/widgets/MUComboBox.cpp
index 4b35da394..682a4e653 100644
--- a/src/mumble/widgets/MUComboBox.cpp
+++ b/src/mumble/widgets/MUComboBox.cpp
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2016-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/widgets/MUComboBox.h b/src/mumble/widgets/MUComboBox.h
index c25d6fff0..583467712 100644
--- a/src/mumble/widgets/MUComboBox.h
+++ b/src/mumble/widgets/MUComboBox.h
@@ -1,4 +1,4 @@
-// Copyright 2005-2020 The Mumble Developers. All rights reserved.
+// Copyright 2005-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/widgets/MultiStyleWidgetWrapper.cpp b/src/mumble/widgets/MultiStyleWidgetWrapper.cpp
index fd7795cbf..288c094b9 100644
--- a/src/mumble/widgets/MultiStyleWidgetWrapper.cpp
+++ b/src/mumble/widgets/MultiStyleWidgetWrapper.cpp
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.
diff --git a/src/mumble/widgets/MultiStyleWidgetWrapper.h b/src/mumble/widgets/MultiStyleWidgetWrapper.h
index 3ca40af5e..1cdfa4fdd 100644
--- a/src/mumble/widgets/MultiStyleWidgetWrapper.h
+++ b/src/mumble/widgets/MultiStyleWidgetWrapper.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Mumble Developers. All rights reserved.
+// Copyright 2020-2021 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 <https://www.mumble.info/LICENSE>.