diff --git a/.ci/format.sh b/.ci/format.sh
index cdbc0464d28cb69a5fe21c63bf0b37605fe518cd..2d922ee1be570ff74802057493d504f88eadd28c 100755
--- a/.ci/format.sh
+++ b/.ci/format.sh
@@ -7,7 +7,7 @@
 
 set -eu
 
-FILES=$(find src -type f -type f \( -iname "*.cpp" -o -iname "*.h" \))
+FILES=$(find src -type f \( -iname "*.cpp" -o -iname "*.h" \))
 
 for f in $FILES
 do
diff --git a/.ci/licenses.sh b/.ci/licenses.sh
new file mode 100755
index 0000000000000000000000000000000000000000..cdcd305fffc47e19bba059c25cbfcd6327c5eaa6
--- /dev/null
+++ b/.ci/licenses.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env sh
+
+# Runs the license update
+# Return codes:
+#  - 1 there are files to be formatted
+#  - 0 everything looks fine
+
+set -eu
+
+FILES=$(find src resources/qml -type f \( -iname "*.cpp" -o -iname "*.h" -o -iname "*.qml" \))
+
+reuse addheader --copyright="Nheko Contributors" --license="GPL-3.0-or-later" $FILES
+
+git diff --exit-code
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b44e740b40d28b5693deac038fbbc1685170ee56..95fec7ba610a5f34224bf6aae34058f1145abda2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -143,9 +143,12 @@ linting:
   image: alpine:latest
   tags: [docker]
   before_script:
-    - apk update && apk add clang make git
+    - apk update && apk add clang make git python3 py3-pip
+    - export PATH="$PATH:/root/.local/bin"
+    - pip3 install --user reuse
   script:
     - make lint
+    - make license
 
 appimage-amd64:
   stage: build
diff --git a/Makefile b/Makefile
index 7f603dcb8593c56f16499cd1ab07e6adc07e4316..f04ce540f5a42eaca166e42549b36c89421ab7a4 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,9 @@ macos-app-install:
 lint:
 	./.ci/format.sh
 
+license:
+	./.ci/licenses.sh
+
 image:
 	docker build -t nheko-app-image .
 
diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml
index f01911bba8d4b762dc4d3c0cc159ce3eafa2fb4e..07e68e103769a70c50a738fbe9f9cda63f815099 100644
--- a/resources/qml/Avatar.qml
+++ b/resources/qml/Avatar.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./ui"
 import QtGraphicalEffects 1.0
 import QtQuick 2.6
diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml
index f77f50e9bb07aac2a5fb755e16e64d5b464c69bc..e1b5c12990ef7211b5779efa338bbffebd451ca9 100644
--- a/resources/qml/Completer.qml
+++ b/resources/qml/Completer.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./ui"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/EncryptionIndicator.qml b/resources/qml/EncryptionIndicator.qml
index 00efe9e436b01de125057bc10142079c87248d26..ebb9031a70d8609144ada4f958defa97fd20a784 100644
--- a/resources/qml/EncryptionIndicator.qml
+++ b/resources/qml/EncryptionIndicator.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.12
 import QtQuick.Controls 2.1
 import im.nheko 1.0
diff --git a/resources/qml/ImageButton.qml b/resources/qml/ImageButton.qml
index 159c750f77404236dc61519778819ae87602f19c..76cc0b425adb3a132737012f539533aed89948e2 100644
--- a/resources/qml/ImageButton.qml
+++ b/resources/qml/ImageButton.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./ui"
 import QtQuick 2.3
 import QtQuick.Controls 2.3
diff --git a/resources/qml/MatrixText.qml b/resources/qml/MatrixText.qml
index 4ea1551840643f1ab529535ba3c966a93ea749ef..dfe7122de6a59374b458dcbbf3234afb3d6690c9 100644
--- a/resources/qml/MatrixText.qml
+++ b/resources/qml/MatrixText.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.5
 import QtQuick.Controls 2.3
 import im.nheko 1.0
diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml
index c526aa2c2c979ab4562198309b3dd1dcbb01ba93..7b651bc0aaba62f5a2a63b563b060e91dad4b127 100644
--- a/resources/qml/MessageInput.qml
+++ b/resources/qml/MessageInput.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./voip"
 import QtQuick 2.12
 import QtQuick.Controls 2.3
diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
index eefde0460dd3e67f68508bbf3eb447a65d2bf3d6..bdde8d470ca09c922b58d5260a38b8917e748eff 100644
--- a/resources/qml/MessageView.qml
+++ b/resources/qml/MessageView.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./delegates"
 import QtGraphicalEffects 1.0
 import QtQuick 2.12
@@ -203,7 +207,7 @@ ScrollView {
             TimelineRow {
                 id: timelinerow
 
-                y: section.active && section.visible ? section.y + section.height : 0
+                y: section.visible && section.active ? section.y + section.height : 0
             }
 
             Connections {
diff --git a/resources/qml/NhekoBusyIndicator.qml b/resources/qml/NhekoBusyIndicator.qml
index 89a40dd57cbcaf4485f699d1b00879dcb73795e2..917e11dcfdbf1faf656cb9ad78bfbe1bc1d4eca6 100644
--- a/resources/qml/NhekoBusyIndicator.qml
+++ b/resources/qml/NhekoBusyIndicator.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.9
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.2
diff --git a/resources/qml/PrivacyScreen.qml b/resources/qml/PrivacyScreen.qml
index 76520706d66672a7f8c564a2b0ad0d51c6c02c01..ca73cfd7ee1ea90b7f025206a054ce60bf657f4e 100644
--- a/resources/qml/PrivacyScreen.qml
+++ b/resources/qml/PrivacyScreen.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtGraphicalEffects 1.0
 import QtQuick 2.12
 import im.nheko 1.0
diff --git a/resources/qml/Reactions.qml b/resources/qml/Reactions.qml
index 836087ef7e6dd2cd343bc73d1b95bdb4ddc8013b..f53c89ade8f6ca5137f37eb112793453edd4c239 100644
--- a/resources/qml/Reactions.qml
+++ b/resources/qml/Reactions.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.6
 import QtQuick.Controls 2.2
 import im.nheko 1.0
diff --git a/resources/qml/ReplyPopup.qml b/resources/qml/ReplyPopup.qml
index c07c2c44f5c4fa52d44adc676f0a17c9a48be268..37b6f6cc4fd70dceb661ac3ebab82eaa58497152 100644
--- a/resources/qml/ReplyPopup.qml
+++ b/resources/qml/ReplyPopup.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./delegates/"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/RoomSettings.qml b/resources/qml/RoomSettings.qml
index 1808ebf0975b5bbebe35a346b76211f0ce1a3257..2117e5133d5fe76bb8f1261aacbae9e6da62e9ad 100644
--- a/resources/qml/RoomSettings.qml
+++ b/resources/qml/RoomSettings.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import Qt.labs.platform 1.1 as Platform
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/ScrollHelper.qml b/resources/qml/ScrollHelper.qml
index 7dc31464abbdbc8d95531cafc41c871c54ad5f03..2dd56f27c8c9b14a9e9d263d911eb775615d24b8 100644
--- a/resources/qml/ScrollHelper.qml
+++ b/resources/qml/ScrollHelper.qml
@@ -1,21 +1,9 @@
-/*
- *  Copyright (C) 2016 Michael Bohlender, <michael.bohlender@kdemail.net>
- *  Copyright (C) 2017 Christian Mollekopf, <mollekopf@kolabsystems.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License along
- *  with this program; if not, write to the Free Software Foundation, Inc.,
- *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
+// Copyright (C) 2016 Michael Bohlender, <michael.bohlender@kdemail.net>
+// Copyright (C) 2017 Christian Mollekopf, <mollekopf@kolabsystems.com>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 /*
 * Shamelessly stolen from:
 * https://cgit.kde.org/kube.git/tree/framework/qml/ScrollHelper.qml
@@ -90,7 +78,7 @@ MouseArea {
         // Show the scrollbars
         flickable.flick(0, 0);
         flickable.contentY = newPos;
-        cancelFlickStateTimer.start();
+        cancelFlickStateTimer.restart();
     }
 
     Timer {
diff --git a/resources/qml/StatusIndicator.qml b/resources/qml/StatusIndicator.qml
index 165e730db93ea5a105848f78dabef5cf30de8290..3d2d82784695af5244558ddd03227aaeb7c673b6 100644
--- a/resources/qml/StatusIndicator.qml
+++ b/resources/qml/StatusIndicator.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.5
 import QtQuick.Controls 2.1
 import im.nheko 1.0
diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml
index b731d29d015722d5a37c4f1021f328ef6d5fde90..4c010ca472067bd194f9d9ac71298b65661674fc 100644
--- a/resources/qml/TimelineRow.qml
+++ b/resources/qml/TimelineRow.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./delegates"
 import "./emoji"
 import QtQuick 2.12
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index 4eac48f29181854de8dd32075c505b7f9b7207d9..905926c46b0a55cf7011e60362235850fd64e557 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./delegates"
 import "./device-verification"
 import "./emoji"
diff --git a/resources/qml/ToggleButton.qml b/resources/qml/ToggleButton.qml
index 9f079c6241ddb1ee15d6ebc1e1ec95ce23408567..bd82e4f96adb070cd73e2334dfaf3555af95f854 100644
--- a/resources/qml/ToggleButton.qml
+++ b/resources/qml/ToggleButton.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.5
 import QtQuick 2.12
 import QtQuick.Controls 2.12
diff --git a/resources/qml/TopBar.qml b/resources/qml/TopBar.qml
index 967aa11e3f8764293be80c6840248d4ff42eef86..444a4572e5619e125c13ae6929ac65c688d415d5 100644
--- a/resources/qml/TopBar.qml
+++ b/resources/qml/TopBar.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.9
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.2
diff --git a/resources/qml/TypingIndicator.qml b/resources/qml/TypingIndicator.qml
index 239fd6627614c09488c38223d3faca8d82f788fe..ffe88fb6ed668e9f98bebcf38512f93c96f5bb6e 100644
--- a/resources/qml/TypingIndicator.qml
+++ b/resources/qml/TypingIndicator.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.9
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.2
diff --git a/resources/qml/UserProfile.qml b/resources/qml/UserProfile.qml
index 4797a38e232d583513fca093af83088533a28a0d..dbf1379695cca35004ba58ece2a63ca031c07cfc 100644
--- a/resources/qml/UserProfile.qml
+++ b/resources/qml/UserProfile.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "./device-verification"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/delegates/FileMessage.qml b/resources/qml/delegates/FileMessage.qml
index 4bc202ebc73116237eacf35844a48190a91f6562..293b7a78ff4fbdcec834186ebc6cd94482875561 100644
--- a/resources/qml/delegates/FileMessage.qml
+++ b/resources/qml/delegates/FileMessage.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.12
 import QtQuick.Layouts 1.2
 import im.nheko 1.0
diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml
index 3bb9eb05dfaa61a0cc89b47a46b0bc488e2dd7aa..0521258e028a42e18852580deb00a6e0b2a00bdb 100644
--- a/resources/qml/delegates/ImageMessage.qml
+++ b/resources/qml/delegates/ImageMessage.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.12
 import im.nheko 1.0
 
diff --git a/resources/qml/delegates/MessageDelegate.qml b/resources/qml/delegates/MessageDelegate.qml
index 816ab183cc3e5a411880dfca7e79556c2b8ee6d5..211e03a64ac0b9a1bbfc56f6ba53a5694eee4577 100644
--- a/resources/qml/delegates/MessageDelegate.qml
+++ b/resources/qml/delegates/MessageDelegate.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.6
 import im.nheko 1.0
 
diff --git a/resources/qml/delegates/NoticeMessage.qml b/resources/qml/delegates/NoticeMessage.qml
index c38cb555680354bbb0661c32f883c2be68895665..ef15ac261bc143ce2400ffe7104b8fba18610eae 100644
--- a/resources/qml/delegates/NoticeMessage.qml
+++ b/resources/qml/delegates/NoticeMessage.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 TextMessage {
     font.italic: true
     color: colors.buttonText
diff --git a/resources/qml/delegates/Pill.qml b/resources/qml/delegates/Pill.qml
index 88f6c7fdc4e7a028ccdad485764edf97881030c0..a3fa0d9e0005e7f9f93a79eb41a601b10e2e5462 100644
--- a/resources/qml/delegates/Pill.qml
+++ b/resources/qml/delegates/Pill.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.5
 import QtQuick.Controls 2.1
 
diff --git a/resources/qml/delegates/Placeholder.qml b/resources/qml/delegates/Placeholder.qml
index db023d8a880d2f4f2982755e3a72c7ceb96e51e0..addbc7e7aa63629b8ab3f4c61a6eaae7c043874c 100644
--- a/resources/qml/delegates/Placeholder.qml
+++ b/resources/qml/delegates/Placeholder.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import ".."
 
 MatrixText {
diff --git a/resources/qml/delegates/PlayableMediaMessage.qml b/resources/qml/delegates/PlayableMediaMessage.qml
index 70f39e434c759b7b6478df2097303e5972e89590..f871e4920909570845259163a7ca9aa0d629be93 100644
--- a/resources/qml/delegates/PlayableMediaMessage.qml
+++ b/resources/qml/delegates/PlayableMediaMessage.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtMultimedia 5.6
 import QtQuick 2.12
 import QtQuick.Controls 2.1
diff --git a/resources/qml/delegates/Reply.qml b/resources/qml/delegates/Reply.qml
index 28c4bf6e240e6cd290d2b9384ec5eeca7e380fa4..6763b71bde93f0d6996b3650f38cdd5dd922b484 100644
--- a/resources/qml/delegates/Reply.qml
+++ b/resources/qml/delegates/Reply.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.12
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.2
diff --git a/resources/qml/delegates/TextMessage.qml b/resources/qml/delegates/TextMessage.qml
index 82d0d0e4c4fe4ff2c5b38569cf71f08112cf85b9..1624d95c38135f1ffbb3cf9f8f26226e85295237 100644
--- a/resources/qml/delegates/TextMessage.qml
+++ b/resources/qml/delegates/TextMessage.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import ".."
 import im.nheko 1.0
 
diff --git a/resources/qml/device-verification/AwaitingVerificationConfirmation.qml b/resources/qml/device-verification/AwaitingVerificationConfirmation.qml
index 43f6d08686e2c5eb727236fb17e454a891d1d2de..ae62c334b34960b132253bae4cb2d052321f3894 100644
--- a/resources/qml/device-verification/AwaitingVerificationConfirmation.qml
+++ b/resources/qml/device-verification/AwaitingVerificationConfirmation.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/device-verification/DeviceVerification.qml b/resources/qml/device-verification/DeviceVerification.qml
index 93cbc9bdb060f439f82deea4031115375b99f9b6..fee0284a0f821ecfe448ba18ac755f8df41395b4 100644
--- a/resources/qml/device-verification/DeviceVerification.qml
+++ b/resources/qml/device-verification/DeviceVerification.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.10
 import QtQuick.Controls 2.3
 import QtQuick.Window 2.10
diff --git a/resources/qml/device-verification/DigitVerification.qml b/resources/qml/device-verification/DigitVerification.qml
index cfc246e0b3ef909b3880da96008e9dbe7b023224..a387756da2287b095bf0da78a1300e8fdb03f77a 100644
--- a/resources/qml/device-verification/DigitVerification.qml
+++ b/resources/qml/device-verification/DigitVerification.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/device-verification/EmojiElement.qml b/resources/qml/device-verification/EmojiElement.qml
index e498017e7520c1fd3d78c7152b752b4e61026da8..f5c87a56b035f212b66d52cdead5c64c39fc9bf7 100644
--- a/resources/qml/device-verification/EmojiElement.qml
+++ b/resources/qml/device-verification/EmojiElement.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/device-verification/EmojiVerification.qml b/resources/qml/device-verification/EmojiVerification.qml
index 90cb493223735d667cecdabe7b7835673775b8ca..be9e3938e58e74bb81fa068193de070ba258e23b 100644
--- a/resources/qml/device-verification/EmojiVerification.qml
+++ b/resources/qml/device-verification/EmojiVerification.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/device-verification/Failed.qml b/resources/qml/device-verification/Failed.qml
index 5e44fc6e9823b802421d859e03e171f8f6a25978..5c71b02ef2a29d3b3f0c82b6aae55f2a65883905 100644
--- a/resources/qml/device-verification/Failed.qml
+++ b/resources/qml/device-verification/Failed.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/device-verification/NewVerificationRequest.qml b/resources/qml/device-verification/NewVerificationRequest.qml
index b37c4641fb363a91cfe766403adf906bd20ad1d5..e8589cf7942712fe7e69a1db9bcc5c1a8adeb755 100644
--- a/resources/qml/device-verification/NewVerificationRequest.qml
+++ b/resources/qml/device-verification/NewVerificationRequest.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/device-verification/Success.qml b/resources/qml/device-verification/Success.qml
index 1336df65edb5131d0deef442f33c9dfe8f9c599c..f2657b12e7d654ba6219ac62de253ca96e157c60 100644
--- a/resources/qml/device-verification/Success.qml
+++ b/resources/qml/device-verification/Success.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/device-verification/Waiting.qml b/resources/qml/device-verification/Waiting.qml
index 68c73d5d7deb85c2d2320c2e893e2cd0590808f1..3bfa153db1c4c65946aee8b0c02fd99cd9190d78 100644
--- a/resources/qml/device-verification/Waiting.qml
+++ b/resources/qml/device-verification/Waiting.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.3
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.10
diff --git a/resources/qml/emoji/EmojiButton.qml b/resources/qml/emoji/EmojiButton.qml
index dd7530a6d1b3b0e14982c528cd956814271ed16e..cec51d757017e460efd24a9872acfc77dd7abfca 100644
--- a/resources/qml/emoji/EmojiButton.qml
+++ b/resources/qml/emoji/EmojiButton.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "../"
 import QtQuick 2.10
 import QtQuick.Controls 2.1
diff --git a/resources/qml/emoji/EmojiPicker.qml b/resources/qml/emoji/EmojiPicker.qml
index 7c75e0107810a33a1cc645a2c7836dcbc5c52836..2db9dc0770772f125bbff9734d1ae9a9c8808f71 100644
--- a/resources/qml/emoji/EmojiPicker.qml
+++ b/resources/qml/emoji/EmojiPicker.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "../"
 import QtGraphicalEffects 1.0
 import QtQuick 2.9
diff --git a/resources/qml/ui/Ripple.qml b/resources/qml/ui/Ripple.qml
index ccf93c83c5100b16413ef6f007d7845d964c5ba2..b240f42157b0baf9b79f50b74a58e961176e3e66 100644
--- a/resources/qml/ui/Ripple.qml
+++ b/resources/qml/ui/Ripple.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtGraphicalEffects 1.0
 import QtQuick 2.10
 import QtQuick.Controls 2.3
diff --git a/resources/qml/voip/ActiveCallBar.qml b/resources/qml/voip/ActiveCallBar.qml
index d7f3c6fdeeb1b0b0fa1972776630b06cc3982a58..68d3bc4ade9056bd6e6cc19b5a2745bd3f9ac6a1 100644
--- a/resources/qml/voip/ActiveCallBar.qml
+++ b/resources/qml/voip/ActiveCallBar.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "../"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/voip/CallDevices.qml b/resources/qml/voip/CallDevices.qml
index 3c1108fb914ba7578cd267d1f845f86dac08a015..11644797a29d0b57d797c45f1b54796ca56ed8a8 100644
--- a/resources/qml/voip/CallDevices.qml
+++ b/resources/qml/voip/CallDevices.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.9
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.2
diff --git a/resources/qml/voip/CallInvite.qml b/resources/qml/voip/CallInvite.qml
index df3343eddd7b4f05f7c499b5b2822bdda60fe6e6..15d987e733d777f089c1c5a4e4db34e694f6a28f 100644
--- a/resources/qml/voip/CallInvite.qml
+++ b/resources/qml/voip/CallInvite.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "../"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/voip/CallInviteBar.qml b/resources/qml/voip/CallInviteBar.qml
index 7fc8cd05cae0adcbc6a3d0f59503ff0d0beddfe8..fe3f791f4d790f7315464a9bb9ea09d11f477854 100644
--- a/resources/qml/voip/CallInviteBar.qml
+++ b/resources/qml/voip/CallInviteBar.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "../"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/voip/DeviceError.qml b/resources/qml/voip/DeviceError.qml
index a5000adaaf237b63484ab5fdcf9883be9030422e..05cfd409585a5ca301207645ee5bc3c5d6f436b3 100644
--- a/resources/qml/voip/DeviceError.qml
+++ b/resources/qml/voip/DeviceError.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.9
 import QtQuick.Controls 2.3
 import QtQuick.Layouts 1.2
diff --git a/resources/qml/voip/PlaceCall.qml b/resources/qml/voip/PlaceCall.qml
index 5dbeb6e16af0e9e1ca973d77193a0a41fc91df12..c9aa8ea1dca60e3346fa1f5d377ed822f94e9ed4 100644
--- a/resources/qml/voip/PlaceCall.qml
+++ b/resources/qml/voip/PlaceCall.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "../"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/voip/ScreenShare.qml b/resources/qml/voip/ScreenShare.qml
index 6402e563b3915ac885da5eded5928981f1100134..af473c0459030affd46484e2cfe60e9662615735 100644
--- a/resources/qml/voip/ScreenShare.qml
+++ b/resources/qml/voip/ScreenShare.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import "../"
 import QtQuick 2.9
 import QtQuick.Controls 2.3
diff --git a/resources/qml/voip/VideoCall.qml b/resources/qml/voip/VideoCall.qml
index 14408b6e639e9bd181cac38aa35100779ad5cb16..23651033954813ad66b078d90ee3f6f38dfca3e9 100644
--- a/resources/qml/voip/VideoCall.qml
+++ b/resources/qml/voip/VideoCall.qml
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 import QtQuick 2.9
 import org.freedesktop.gstreamer.GLVideoItem 1.0
 
diff --git a/src/AvatarProvider.cpp b/src/AvatarProvider.cpp
index 4c3969bed4e5f0e56112b93b03b11712a80aa98e..1834e040ab6617e6d1d7081cde85768bb5bbaf0e 100644
--- a/src/AvatarProvider.cpp
+++ b/src/AvatarProvider.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QBuffer>
 #include <QPixmapCache>
diff --git a/src/AvatarProvider.h b/src/AvatarProvider.h
index 47ed028ee1c92cf1aa678c1eabe9a5fd047dbf8d..0bea1a8fffa07e370053c731d1c0bb9d061cb2b5 100644
--- a/src/AvatarProvider.h
+++ b/src/AvatarProvider.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/BlurhashProvider.cpp b/src/BlurhashProvider.cpp
index acaef400eba1444b2f6219a5f8ab1a16d59967cf..12a27b827d0dc3fc18f6f27702b56a47045a9c9b 100644
--- a/src/BlurhashProvider.cpp
+++ b/src/BlurhashProvider.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "BlurhashProvider.h"
 
 #include <algorithm>
diff --git a/src/BlurhashProvider.h b/src/BlurhashProvider.h
index 48c945de7767cfa85ee0b5fdd0d09c0ccac853c0..ee89302c8fb427db4a5429001be6f1a919508ded 100644
--- a/src/BlurhashProvider.h
+++ b/src/BlurhashProvider.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QQuickAsyncImageProvider>
diff --git a/src/Cache.cpp b/src/Cache.cpp
index d54f8f6eb38aad22ad00ab63f34dd0d7fbd98c1b..87dbfb8cbb1d2fc81413ce85c26e5fc1c23e1e17 100644
--- a/src/Cache.cpp
+++ b/src/Cache.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <limits>
 #include <stdexcept>
diff --git a/src/Cache.h b/src/Cache.h
index e60fc970e38c28e11e84966a3b818f1e5335c8b1..f7e5f74927eee2a3cdcdf284b1d62d8d39c903bc 100644
--- a/src/Cache.h
+++ b/src/Cache.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/CacheCryptoStructs.h b/src/CacheCryptoStructs.h
index eb2cc445c95e216d0304f3ff26abde664dafc0c7..383d7b05f3c341962cdc146126e4b70411957423 100644
--- a/src/CacheCryptoStructs.h
+++ b/src/CacheCryptoStructs.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <map>
diff --git a/src/CacheStructs.h b/src/CacheStructs.h
index 10f8cc540814b13f19c0d74aa355edadcf7b76f2..ad9aab98f92816817edb187149c907fb8f238d83 100644
--- a/src/CacheStructs.h
+++ b/src/CacheStructs.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QDateTime>
diff --git a/src/Cache_p.h b/src/Cache_p.h
index eb5506c3c015159ddf422a5e3c7a9361a17a4fdf..09fc277d78d4bce2c4558971c8ecd9e9ad62f1e7 100644
--- a/src/Cache_p.h
+++ b/src/Cache_p.h
@@ -1,20 +1,8 @@
-/*
- * nheko Copyright (C) 2019  The nheko authors
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2019 The nheko authors
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/CallDevices.cpp b/src/CallDevices.cpp
index 0e1a2a23f8dc0aee86b287d61d75068ac502e13e..917b86b894bfe31ee37913ce7881bb9541727d3b 100644
--- a/src/CallDevices.cpp
+++ b/src/CallDevices.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <cstring>
 #include <optional>
 #include <string_view>
diff --git a/src/CallDevices.h b/src/CallDevices.h
index 6d9e18c63ff8a0aaa6940d81f3c7d0831e2303ea..69325f97b2c2070b5ffda9bb427c9d6dd45d37e7 100644
--- a/src/CallDevices.h
+++ b/src/CallDevices.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <string>
diff --git a/src/CallManager.cpp b/src/CallManager.cpp
index 5a36c07713ee0b963c1b35d66142affdb1f749e9..45d41aced51a26a14c73f00480e13ceb694c58f2 100644
--- a/src/CallManager.cpp
+++ b/src/CallManager.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <algorithm>
 #include <cctype>
 #include <chrono>
diff --git a/src/CallManager.h b/src/CallManager.h
index be3c824dd7d50c27bb2cbb5b8bde5ba3223cd401..1d9731916d334307779fa291c63ed021766b59fd 100644
--- a/src/CallManager.h
+++ b/src/CallManager.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <string>
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp
index 370f5f92d435ebca9a06b24bcde35bd03dc1eca0..8efdab2e3104c69837817b184203f5f3e428b25e 100644
--- a/src/ChatPage.cpp
+++ b/src/ChatPage.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QApplication>
 #include <QImageReader>
diff --git a/src/ChatPage.h b/src/ChatPage.h
index dc6b82995aca6d4734c912fce527f9c662c96a4c..6c16926d94bbfbc4389352689b25a4e959861ba2 100644
--- a/src/ChatPage.h
+++ b/src/ChatPage.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/ColorImageProvider.cpp b/src/ColorImageProvider.cpp
index c580c3941ea74a9db4c5b427a2f75c9901b67562..41fd5d8f4332233a91612342adf9293c02eccdb2 100644
--- a/src/ColorImageProvider.cpp
+++ b/src/ColorImageProvider.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "ColorImageProvider.h"
 
 #include <QPainter>
diff --git a/src/ColorImageProvider.h b/src/ColorImageProvider.h
index 21f36c126cd32a6427fa2d25448364cff0cb9ca1..9ae8c85e397d4922669438dc5146cf2af93cb7c3 100644
--- a/src/ColorImageProvider.h
+++ b/src/ColorImageProvider.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QQuickImageProvider>
 
 class ColorImageProvider : public QQuickImageProvider
diff --git a/src/CommunitiesList.cpp b/src/CommunitiesList.cpp
index 8bc71d9129b4a55dfeacb2f2c9b6bddd28272fb0..f644ebee9715cf1c57cfebf8f7da75f379186e5a 100644
--- a/src/CommunitiesList.cpp
+++ b/src/CommunitiesList.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "CommunitiesList.h"
 #include "Cache.h"
 #include "Logging.h"
diff --git a/src/CommunitiesList.h b/src/CommunitiesList.h
index 5113e7edc83b0f7819611737419ae4cd6ca9c4a2..2586f6f589e25bc33bead9aadb51891090b53a7d 100644
--- a/src/CommunitiesList.h
+++ b/src/CommunitiesList.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QScrollArea>
diff --git a/src/CommunitiesListItem.cpp b/src/CommunitiesListItem.cpp
index 01c39fdce87e5fabbafe4a2b7c01b6a462c57811..3a121dc0bc78a0203af0a0d14563185ecf5790c6 100644
--- a/src/CommunitiesListItem.cpp
+++ b/src/CommunitiesListItem.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "CommunitiesListItem.h"
 
 #include <QMenu>
diff --git a/src/CommunitiesListItem.h b/src/CommunitiesListItem.h
index a80e320008a5f5a0b86db54d8a50a38147ce6a48..006511c864377066b7ae95e75be82a96201721b3 100644
--- a/src/CommunitiesListItem.h
+++ b/src/CommunitiesListItem.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QSharedPointer>
diff --git a/src/CompletionModelRoles.h b/src/CompletionModelRoles.h
index 7c7307d31908e5682cd8fd31e80a285cb08a9404..8505e76185dbd04404d28f1a2bdc33b920757666 100644
--- a/src/CompletionModelRoles.h
+++ b/src/CompletionModelRoles.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QAbstractItemModel>
diff --git a/src/CompletionProxyModel.cpp b/src/CompletionProxyModel.cpp
index 95c057f0918c2d464428bde6a107c83750977e61..34625e76d5fd6067f9f9135c31a438a80be15902 100644
--- a/src/CompletionProxyModel.cpp
+++ b/src/CompletionProxyModel.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "CompletionProxyModel.h"
 
 #include <QRegularExpression>
diff --git a/src/CompletionProxyModel.h b/src/CompletionProxyModel.h
index 1517505fe88067073482f3ec2a7a866849be2794..1b8e18f720e61b4566d9e0610b289d100eb75914 100644
--- a/src/CompletionProxyModel.h
+++ b/src/CompletionProxyModel.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 // Class for showing a limited amount of completions at a time
diff --git a/src/Config.h b/src/Config.h
index c06247090b161854fd6cd0af0ab520adae6f6599..d3fee836a56a4baaa6d6f55ac8bbf2f0f88c531a 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QRegularExpression>
diff --git a/src/DeviceVerificationFlow.cpp b/src/DeviceVerificationFlow.cpp
index f0be661adfad3c2ff6a07f4803a4eaf47b7f0d68..f7fb6c3593f99a49f5a41c643bee60759e833cc4 100644
--- a/src/DeviceVerificationFlow.cpp
+++ b/src/DeviceVerificationFlow.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "DeviceVerificationFlow.h"
 
 #include "Cache.h"
diff --git a/src/DeviceVerificationFlow.h b/src/DeviceVerificationFlow.h
index 6c61354522411e0095ce8e8cd1c647838f531998..4685a450b5b99fad4afad6844c38d3333d8b073e 100644
--- a/src/DeviceVerificationFlow.h
+++ b/src/DeviceVerificationFlow.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QObject>
diff --git a/src/EventAccessors.cpp b/src/EventAccessors.cpp
index e6bc61b0b8cd7a72b06a2daba79c3662e1e44a66..cfc41a98e1c5a6cb9dddd1c1edb533fcba9c795e 100644
--- a/src/EventAccessors.cpp
+++ b/src/EventAccessors.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "EventAccessors.h"
 
 #include <nlohmann/json.hpp>
diff --git a/src/EventAccessors.h b/src/EventAccessors.h
index 7bf695fc8e52dec6bbe5fe15c65f51dd728e46c3..ced159c18c3e6985a34c1622bab23f28444786e8 100644
--- a/src/EventAccessors.h
+++ b/src/EventAccessors.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <string>
diff --git a/src/InviteeItem.cpp b/src/InviteeItem.cpp
index a6b471dcd384ca7cd1c6f135c8065b89c41359e6..27f02560035c6663e7c6374f3516977513b9690d 100644
--- a/src/InviteeItem.cpp
+++ b/src/InviteeItem.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QHBoxLayout>
 #include <QLabel>
 #include <QPushButton>
diff --git a/src/InviteeItem.h b/src/InviteeItem.h
index 54c619388724e5d940b4abb368da5f30a01f4846..014541ea751ae570d6b5e81d3ddea6818e7a9d7d 100644
--- a/src/InviteeItem.h
+++ b/src/InviteeItem.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QWidget>
diff --git a/src/Logging.cpp b/src/Logging.cpp
index e537ef7aa46105bda401564e255cc7c8789706e4..436de811f7149cfdee7ab49c6718bc814d778bad 100644
--- a/src/Logging.cpp
+++ b/src/Logging.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "Logging.h"
 #include "config/nheko.h"
 
diff --git a/src/Logging.h b/src/Logging.h
index f572afae0d2a420731dcef7bfb26e921432ae4c2..e09705d157867df68b617e31c5836ec39a3c46b8 100644
--- a/src/Logging.h
+++ b/src/Logging.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <memory>
diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp
index cd54431db1eedae03864ce1df550183e69bc62a3..8e2aef262b5d1660f15c494469c1d0fdf9c8b4d1 100644
--- a/src/LoginPage.cpp
+++ b/src/LoginPage.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QDesktopServices>
 #include <QFontMetrics>
diff --git a/src/LoginPage.h b/src/LoginPage.h
index f6428cbba0405d5bde4e69ef1e8c23dbbb3b766b..2e1eb9b95869d25aa53942bdf5950fc339e26e36 100644
--- a/src/LoginPage.h
+++ b/src/LoginPage.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index ae532ef3ba79efec099aaad4881183643bfa763d..c405f8531625da6d19b10d820b284102efc343af 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QApplication>
 #include <QLayout>
diff --git a/src/MainWindow.h b/src/MainWindow.h
index 4a8ea642cb92ce306f794f0dce67044f966789e1..4122e4c1907cd5910a4cd67aace91f8ddc842b72 100644
--- a/src/MainWindow.h
+++ b/src/MainWindow.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/MatrixClient.cpp b/src/MatrixClient.cpp
index 669dc270b16e6d4d0494fae74bc4f1b46a9ec484..196a93224c156528b6a2843efc44b0924eb382f9 100644
--- a/src/MatrixClient.cpp
+++ b/src/MatrixClient.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "MatrixClient.h"
 
 #include <memory>
diff --git a/src/MatrixClient.h b/src/MatrixClient.h
index 4db51095aa23c1d8215e2e904ac6f190a622db23..605ba5e0a678e58ec2da43a961b2cdde433a2513 100644
--- a/src/MatrixClient.h
+++ b/src/MatrixClient.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <mtxclient/http/client.hpp>
diff --git a/src/MxcImageProvider.cpp b/src/MxcImageProvider.cpp
index b48fe01133775e620675feecea248a19132ae399..e4f629a55bc47e04e41d4da9e9ce9ffce16ccdca 100644
--- a/src/MxcImageProvider.cpp
+++ b/src/MxcImageProvider.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "MxcImageProvider.h"
 
 #include <mtxclient/crypto/client.hpp>
diff --git a/src/MxcImageProvider.h b/src/MxcImageProvider.h
index 2c197a13c552fe944be896c6f3c487210007c4e3..f7580bcad7a9e2339eedbe707118191490ab41ed 100644
--- a/src/MxcImageProvider.h
+++ b/src/MxcImageProvider.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QQuickAsyncImageProvider>
diff --git a/src/Olm.cpp b/src/Olm.cpp
index 54be4751ae3869499bf7bb761bcb5c4eb5019177..311aeb7fd0a1cebd1f45f22d0cf847b2d81ca976 100644
--- a/src/Olm.cpp
+++ b/src/Olm.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "Olm.h"
 
 #include <QObject>
diff --git a/src/Olm.h b/src/Olm.h
index 7058782b730a1a18bbc3a04517ded9db9817114b..bcb486a3ed327ee7c3734f71060cbdc8976e9095 100644
--- a/src/Olm.h
+++ b/src/Olm.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <boost/optional.hpp>
diff --git a/src/QuickSwitcher.cpp b/src/QuickSwitcher.cpp
index 046c774d1b5ffc257e059c4a265b0d5d4fe59d32..ad2be23d6b908ff8fe721400b877be567e91f417 100644
--- a/src/QuickSwitcher.cpp
+++ b/src/QuickSwitcher.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QCompleter>
 #include <QPainter>
diff --git a/src/QuickSwitcher.h b/src/QuickSwitcher.h
index 5bc3165071ac07755fb3d30a351c6f776c008ca1..41c5301671d3a1446ee968ac3249d441c8815b9f 100644
--- a/src/QuickSwitcher.h
+++ b/src/QuickSwitcher.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/RegisterPage.cpp b/src/RegisterPage.cpp
index 004d5b9891618294bc26f984f9e06af9338129e4..6425e0b556d0d1beb2c757dbed05f53ad509f23a 100644
--- a/src/RegisterPage.cpp
+++ b/src/RegisterPage.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QLabel>
 #include <QMetaType>
diff --git a/src/RegisterPage.h b/src/RegisterPage.h
index 6d2129559c69d3efaeaa000d5947a2664ef66314..2f05d04ccde5479312e8a7ac2a43988250dba3fa 100644
--- a/src/RegisterPage.h
+++ b/src/RegisterPage.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/RoomInfoListItem.cpp b/src/RoomInfoListItem.cpp
index b5ba5af1d116ed560f5e253f7fb8093e9d48795e..d74f9dc9df0ec3b0bdb262f7f9f9f924c9ea3535 100644
--- a/src/RoomInfoListItem.cpp
+++ b/src/RoomInfoListItem.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QDateTime>
 #include <QInputDialog>
diff --git a/src/RoomInfoListItem.h b/src/RoomInfoListItem.h
index c2826f6ff20c55c12e06519b040ef610197329b9..a5e0009e2b0dd137fc654913819f8fa644a7556a 100644
--- a/src/RoomInfoListItem.h
+++ b/src/RoomInfoListItem.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/RoomList.cpp b/src/RoomList.cpp
index 10042c9455e0db4c9351f80eef5667db1ac8e092..8a807e7146e588d671f40be0240a84081a3c7141 100644
--- a/src/RoomList.cpp
+++ b/src/RoomList.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <limits>
 #include <set>
diff --git a/src/RoomList.h b/src/RoomList.h
index 5350a2ab396e3d33c07d57031019e44b8d8c8f93..74152c558df57d0d06d69cdc9aaed44e2ad49d62 100644
--- a/src/RoomList.h
+++ b/src/RoomList.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/RoomsModel.cpp b/src/RoomsModel.cpp
index 4286f87b54e20a6a84322a580fbbc6b1dcb3e271..1c3085eaf18acf42bce975c78bc976386956eeca 100644
--- a/src/RoomsModel.cpp
+++ b/src/RoomsModel.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "RoomsModel.h"
 
 #include <QUrl>
diff --git a/src/RoomsModel.h b/src/RoomsModel.h
index 0e006448d88bf5eef5d11a3e72fa44144d17bd4a..255f207cdeabd31985965cd3e404ce1dc076983d 100644
--- a/src/RoomsModel.h
+++ b/src/RoomsModel.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include "Cache.h"
diff --git a/src/SSOHandler.cpp b/src/SSOHandler.cpp
index cacbbaa92c6fad64d73fc82cc58762d44580e97c..8fd0828cdaa24abe052dd3be12a36253697bedd1 100644
--- a/src/SSOHandler.cpp
+++ b/src/SSOHandler.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "SSOHandler.h"
 
 #include <QTimer>
diff --git a/src/SSOHandler.h b/src/SSOHandler.h
index 325b7a58ecc3a573be3ad31838b82e062f714656..bd0d424dd68ae58898509db2340c9c0d19470ba9 100644
--- a/src/SSOHandler.h
+++ b/src/SSOHandler.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "httplib.h"
 
 #include <QObject>
diff --git a/src/SideBarActions.cpp b/src/SideBarActions.cpp
index 5af01cc2afc2a84fb8e35b147f8a50f565b28c6c..0b7756f0612f8ffa04fddfaecbb5154a194d6de4 100644
--- a/src/SideBarActions.cpp
+++ b/src/SideBarActions.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QIcon>
 #include <QPainter>
 #include <QResizeEvent>
diff --git a/src/SideBarActions.h b/src/SideBarActions.h
index 662750b3383f7e24ed769b37737a9411e664adb4..566aa76b45500484b591e26d37226371d75d1272 100644
--- a/src/SideBarActions.h
+++ b/src/SideBarActions.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QAction>
diff --git a/src/Splitter.cpp b/src/Splitter.cpp
index a2757d8e48c53e081f69000c9b72d4ec083efcd9..15e3f5c55b4a22a0d55df2bd22c8c093002c348b 100644
--- a/src/Splitter.cpp
+++ b/src/Splitter.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QSettings>
 
diff --git a/src/Splitter.h b/src/Splitter.h
index 7bde89de8f586afa1d47714a4a96325d95253de2..94622f897e213759c6931d42449c3ab900f47c00 100644
--- a/src/Splitter.h
+++ b/src/Splitter.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/TrayIcon.cpp b/src/TrayIcon.cpp
index 6ab011d14a6b6033818cca5db590d8a6796e81d9..f2a01432cf21697c12d5d65a817bbf2b949a38e0 100644
--- a/src/TrayIcon.cpp
+++ b/src/TrayIcon.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QAction>
 #include <QApplication>
diff --git a/src/TrayIcon.h b/src/TrayIcon.h
index 24ac81dadcdc0716e69a254df0face4dbfd9fd5b..10dfafc5ddeb4e93460b0a3cf03bb3728e7940d0 100644
--- a/src/TrayIcon.h
+++ b/src/TrayIcon.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/UserInfoWidget.cpp b/src/UserInfoWidget.cpp
index 5bcb44a927b0284b35274ffddd7f3fd67a1693ab..3d526b8b8fc846cdbf9a09b4ee8f088d60bc5a75 100644
--- a/src/UserInfoWidget.cpp
+++ b/src/UserInfoWidget.cpp
@@ -1,20 +1,7 @@
-
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QInputDialog>
 #include <QLabel>
diff --git a/src/UserInfoWidget.h b/src/UserInfoWidget.h
index bfcfbc0bd639a6e295987a521c2ae4919f187990..5aec1cdab3396b91a234f0f60efa06db17fc4a46 100644
--- a/src/UserInfoWidget.h
+++ b/src/UserInfoWidget.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp
index 7410e35ba3fefa6548422349e3a88fa0db5ad597..0714ed40d6e2e7615642f9dd4ae7d41093f2f2ba 100644
--- a/src/UserSettingsPage.cpp
+++ b/src/UserSettingsPage.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QApplication>
 #include <QComboBox>
diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index dfb5acf4b38d51b6c78ead737c81a063d4b43238..f0b452cb75a51527c118c686d1fd9dea27d20d93 100644
--- a/src/UserSettingsPage.h
+++ b/src/UserSettingsPage.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/UsersModel.cpp b/src/UsersModel.cpp
index 4be375039ae4724ae4d205714725bcf56a2bc66d..dd77e5126d9f62554bc8b32ccd88e0fefa540ad1 100644
--- a/src/UsersModel.cpp
+++ b/src/UsersModel.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "UsersModel.h"
 
 #include "Cache.h"
diff --git a/src/UsersModel.h b/src/UsersModel.h
index cd9b780cbff049f74d3e5a24f75618d393295f32..5bc94b0fb665a608c4a66185f6a609c93fcd363c 100644
--- a/src/UsersModel.h
+++ b/src/UsersModel.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QAbstractListModel>
diff --git a/src/Utils.cpp b/src/Utils.cpp
index 991fa5507f23b917262b4724d4665df307fe239c..07fe8a00ed219fbac3f48309c01ebd54dd2fd828 100644
--- a/src/Utils.cpp
+++ b/src/Utils.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "Utils.h"
 
 #include <QApplication>
diff --git a/src/Utils.h b/src/Utils.h
index 6de3d458d3a2de9f9adc36a79b75a50935ad0289..373bed0181041d0516057cf36d36154166777699 100644
--- a/src/Utils.h
+++ b/src/Utils.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <variant>
diff --git a/src/WebRTCSession.cpp b/src/WebRTCSession.cpp
index c10c5fb9c863feb4e57566979a0eb588cf9d5fbd..880a14a2ddc5d3a915a0b540c270e7da8a04c318 100644
--- a/src/WebRTCSession.cpp
+++ b/src/WebRTCSession.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QQmlEngine>
 #include <QQuickItem>
 #include <algorithm>
diff --git a/src/WebRTCSession.h b/src/WebRTCSession.h
index 3d3e9a6966279d43c75a6092526278251e43a448..97487c5c988207d3b2dda137c0438891d3ac2623 100644
--- a/src/WebRTCSession.h
+++ b/src/WebRTCSession.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <string>
diff --git a/src/WelcomePage.cpp b/src/WelcomePage.cpp
index 22b73ac72d39f05464aba211dd74327ffd176ad5..2cce7b8dc9dfdf5c6e6e945e492657d56e71777d 100644
--- a/src/WelcomePage.cpp
+++ b/src/WelcomePage.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QLabel>
 #include <QLayout>
diff --git a/src/WelcomePage.h b/src/WelcomePage.h
index ae6602154584ba18bdd7b7c74ae88100a471177d..d2dcc0c99b7430a092c3f15956bf597a1b649bc9 100644
--- a/src/WelcomePage.h
+++ b/src/WelcomePage.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QWidget>
diff --git a/src/dialogs/CreateRoom.cpp b/src/dialogs/CreateRoom.cpp
index fed46e02f970ddb21f0d186213c7bcf6428c3b75..ba38543692afd166b240d4b68a3f03116167daa3 100644
--- a/src/dialogs/CreateRoom.cpp
+++ b/src/dialogs/CreateRoom.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QComboBox>
 #include <QLabel>
 #include <QPushButton>
diff --git a/src/dialogs/CreateRoom.h b/src/dialogs/CreateRoom.h
index a482a63609ceb5f196eace5a642273625e807a83..d4c6474d16a145f1e3b7e10dcb3e42e37ef8bf40 100644
--- a/src/dialogs/CreateRoom.h
+++ b/src/dialogs/CreateRoom.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QFrame>
diff --git a/src/dialogs/FallbackAuth.cpp b/src/dialogs/FallbackAuth.cpp
index a0633c1e7ef85cd5a9ee47d01674e857ede2cbbe..c7b179f431030a23362e154a23faf6e53326313e 100644
--- a/src/dialogs/FallbackAuth.cpp
+++ b/src/dialogs/FallbackAuth.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QDesktopServices>
 #include <QLabel>
 #include <QPushButton>
diff --git a/src/dialogs/FallbackAuth.h b/src/dialogs/FallbackAuth.h
index 245fa03e66aaf7a5069559b07bd29d10a262ee83..8e4e28eadb31836417b2a3e773e5bfb78f019b9a 100644
--- a/src/dialogs/FallbackAuth.h
+++ b/src/dialogs/FallbackAuth.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QWidget>
diff --git a/src/dialogs/ImageOverlay.cpp b/src/dialogs/ImageOverlay.cpp
index e075fb67c84ce172624e372c69b838305333c05f..f38b29f59c1326a473476bb0d919d634bf4fc9c6 100644
--- a/src/dialogs/ImageOverlay.cpp
+++ b/src/dialogs/ImageOverlay.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QApplication>
 #include <QDesktopWidget>
diff --git a/src/dialogs/ImageOverlay.h b/src/dialogs/ImageOverlay.h
index bf566ce46979db0bf75cad746caa07fa52d61429..93b6afdc16da246ee0c013e15288465413d1edf4 100644
--- a/src/dialogs/ImageOverlay.h
+++ b/src/dialogs/ImageOverlay.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/dialogs/InviteUsers.cpp b/src/dialogs/InviteUsers.cpp
index 8f1097fa5ffb3daa66f294beaf61f0c38fabd02d..9dd6085f7b4b6a247e81162324b3e086947cbcae 100644
--- a/src/dialogs/InviteUsers.cpp
+++ b/src/dialogs/InviteUsers.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QDebug>
 #include <QIcon>
 #include <QLabel>
diff --git a/src/dialogs/InviteUsers.h b/src/dialogs/InviteUsers.h
index 684f60b4bf1daf8cabd7f3fb4df1e0c865a14532..e40183c1442d2df361720d68944e24de5201a788 100644
--- a/src/dialogs/InviteUsers.h
+++ b/src/dialogs/InviteUsers.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QFrame>
diff --git a/src/dialogs/JoinRoom.cpp b/src/dialogs/JoinRoom.cpp
index b5c26e69f98142684cb8bd16464423b0cbde9bc6..dc2e48046d3055dfc56d8e651ee97bc3564d0db4 100644
--- a/src/dialogs/JoinRoom.cpp
+++ b/src/dialogs/JoinRoom.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QLabel>
 #include <QPushButton>
 #include <QVBoxLayout>
diff --git a/src/dialogs/JoinRoom.h b/src/dialogs/JoinRoom.h
index 257cb950cbbd20036669e5a3a7de06abb2739298..f399f1fb7c20817dc29d60e10f77c5f934d9af32 100644
--- a/src/dialogs/JoinRoom.h
+++ b/src/dialogs/JoinRoom.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QFrame>
diff --git a/src/dialogs/LeaveRoom.cpp b/src/dialogs/LeaveRoom.cpp
index e3aea4396031fc51ab655f6ec0f74c8777f127b3..5246d6934afda2746f3c423586bda393004b11d3 100644
--- a/src/dialogs/LeaveRoom.cpp
+++ b/src/dialogs/LeaveRoom.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QLabel>
 #include <QPushButton>
 #include <QVBoxLayout>
diff --git a/src/dialogs/LeaveRoom.h b/src/dialogs/LeaveRoom.h
index a35cf04d8e729550bba44fd1ab7931cfef79ad2d..e94655794a8ad935af5c4dca71a273173690b4df 100644
--- a/src/dialogs/LeaveRoom.h
+++ b/src/dialogs/LeaveRoom.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QFrame>
diff --git a/src/dialogs/Logout.cpp b/src/dialogs/Logout.cpp
index 7c44b23c863f148da2ea76f25a824bdec1aa6a6f..fdfc3338141acfa75815e6f8e555ad7da3ed91ca 100644
--- a/src/dialogs/Logout.cpp
+++ b/src/dialogs/Logout.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QLabel>
 #include <QPushButton>
diff --git a/src/dialogs/Logout.h b/src/dialogs/Logout.h
index b7e962eb090e404bb3d76470ea08e3387ef419f7..9d8d0f4ba9461f50b33ea30b156d7274b591934c 100644
--- a/src/dialogs/Logout.h
+++ b/src/dialogs/Logout.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/dialogs/MemberList.cpp b/src/dialogs/MemberList.cpp
index 54e7bf96d375adb664b7f065c8df8eb01e67888a..21eb72b014e6a158baf28039c3ff89829e3a589c 100644
--- a/src/dialogs/MemberList.cpp
+++ b/src/dialogs/MemberList.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QAbstractSlider>
 #include <QLabel>
 #include <QListWidgetItem>
diff --git a/src/dialogs/MemberList.h b/src/dialogs/MemberList.h
index c01b6829fd05df18e9ca02fdc2c5890710304126..b822eec80faa39ff7c46fff6e64fb84d5018f19d 100644
--- a/src/dialogs/MemberList.h
+++ b/src/dialogs/MemberList.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QFrame>
diff --git a/src/dialogs/PreviewUploadOverlay.cpp b/src/dialogs/PreviewUploadOverlay.cpp
index bd2076429a0d5b305fede5fdfd53cda75a3a6624..55421a7d08170958f2f47444a9fc48e4f796114b 100644
--- a/src/dialogs/PreviewUploadOverlay.cpp
+++ b/src/dialogs/PreviewUploadOverlay.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QBuffer>
 #include <QFile>
diff --git a/src/dialogs/PreviewUploadOverlay.h b/src/dialogs/PreviewUploadOverlay.h
index 5139e3f2afc1aa064778830c2d8665751cceae21..7493f67c919c5aab605ba5c9b3f9cbf06876f788 100644
--- a/src/dialogs/PreviewUploadOverlay.h
+++ b/src/dialogs/PreviewUploadOverlay.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/dialogs/RawMessage.h b/src/dialogs/RawMessage.h
index c69fad601a82c9d7f5a0cc2bc95fe3306287421c..e95f675cd79919d4691deca3f34b92a4810b38fe 100644
--- a/src/dialogs/RawMessage.h
+++ b/src/dialogs/RawMessage.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QFont>
diff --git a/src/dialogs/ReCaptcha.cpp b/src/dialogs/ReCaptcha.cpp
index 21dc8c7792671d85f0bf88bad94be6d465969121..c7b95f1a836d0a7778a227a88e6fd04e0398a03c 100644
--- a/src/dialogs/ReCaptcha.cpp
+++ b/src/dialogs/ReCaptcha.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QDesktopServices>
 #include <QLabel>
 #include <QPushButton>
diff --git a/src/dialogs/ReCaptcha.h b/src/dialogs/ReCaptcha.h
index 88ff3722c0327d9a1421c637a3589f7b1c078a86..0c9f75390448924d51e56213564b596202029dbc 100644
--- a/src/dialogs/ReCaptcha.h
+++ b/src/dialogs/ReCaptcha.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QWidget>
diff --git a/src/dialogs/ReadReceipts.cpp b/src/dialogs/ReadReceipts.cpp
index 7dcffc2873110e5070750f07ecc9b357d101dec5..fa7132fd4da7e1aea5dd1880f4a7a10da4419c44 100644
--- a/src/dialogs/ReadReceipts.cpp
+++ b/src/dialogs/ReadReceipts.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QDebug>
 #include <QIcon>
 #include <QLabel>
diff --git a/src/dialogs/ReadReceipts.h b/src/dialogs/ReadReceipts.h
index 2e7a0217ca0dec7b846baa80db5370cdcc086785..5c6c5d2bdbdcc604566302421f6872e006cdba5b 100644
--- a/src/dialogs/ReadReceipts.h
+++ b/src/dialogs/ReadReceipts.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QDateTime>
diff --git a/src/emoji/EmojiModel.cpp b/src/emoji/EmojiModel.cpp
index f207c7408e633842f94da657e5b0bde0deece56a..70b85934789aceba5a545dd9941e91b6104fed9b 100644
--- a/src/emoji/EmojiModel.cpp
+++ b/src/emoji/EmojiModel.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "EmojiModel.h"
 
 #include <Cache.h>
diff --git a/src/emoji/EmojiModel.h b/src/emoji/EmojiModel.h
index 938db46d179be41e13af2a8b7b21e1a24922f477..1a8bf029bcaa68ae3f0fb36022fb2f93bb0bead6 100644
--- a/src/emoji/EmojiModel.h
+++ b/src/emoji/EmojiModel.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QAbstractListModel>
diff --git a/src/emoji/EmojiSearchModel.h b/src/emoji/EmojiSearchModel.h
index 7dbe67324cf8c4c65beb00e5a64b7e85631223b3..64af83ddcc80806d1ab10c76fafae8196dc5684c 100644
--- a/src/emoji/EmojiSearchModel.h
+++ b/src/emoji/EmojiSearchModel.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include "EmojiModel.h"
diff --git a/src/emoji/MacHelper.h b/src/emoji/MacHelper.h
index a2e94158046138c3a1416a5ea0d626d97c4e6155..b3e2e6314f541892e7d8352441fb31f2c469c160 100644
--- a/src/emoji/MacHelper.h
+++ b/src/emoji/MacHelper.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QMenuBar>
diff --git a/src/emoji/Provider.cpp b/src/emoji/Provider.cpp
index b780542c1b43ce33b214e1753c7fe039dd9e7763..70ac474eeccefc2b7d4ff62a4024bd7453d9db0c 100644
--- a/src/emoji/Provider.cpp
+++ b/src/emoji/Provider.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "emoji/Provider.h"
 
 using namespace emoji;
diff --git a/src/emoji/Provider.h b/src/emoji/Provider.h
index 068162f468fd4d728d510d939426cc4529d9b4b5..43c880a208f49b38d878ac70ee219eb6447e1faf 100644
--- a/src/emoji/Provider.h
+++ b/src/emoji/Provider.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/main.cpp b/src/main.cpp
index 0c7c9f6062d6daee40d0c498b23a38865a2396d0..fe1a9ee3b5131f38daf44f512b1f4a6d8fa95db2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <iostream>
 
diff --git a/src/notifications/Manager.h b/src/notifications/Manager.h
index 950740ba80739dab658505a8e08c2ab7c3599e65..e2b3236aefcae05fdcd9c92f6c82461aa6526988 100644
--- a/src/notifications/Manager.h
+++ b/src/notifications/Manager.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QImage>
diff --git a/src/notifications/ManagerLinux.cpp b/src/notifications/ManagerLinux.cpp
index c7fd402330d69d4e2612fa5499ecdd07442fae51..a222bd3652d6186343884b0e95dcf2d5de6ebc01 100644
--- a/src/notifications/ManagerLinux.cpp
+++ b/src/notifications/ManagerLinux.cpp
@@ -44,12 +44,11 @@ NotificationsManager::NotificationsManager(QObject *parent)
                                               SLOT(notificationReplied(uint, QString)));
 }
 
-/**
- * This function is based on code from
- * https://github.com/rohieb/StratumsphereTrayIcon
- * Copyright (C) 2012 Roland Hieber <rohieb@rohieb.name>
- * Licensed under the GNU General Public License, version 3
- */
+// SPDX-FileCopyrightText: 2012 Roland Hieber <rohieb@rohieb.name>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 void
 NotificationsManager::postNotification(const mtx::responses::Notification &notification,
                                        const QImage &icon)
@@ -174,7 +173,7 @@ NotificationsManager::notificationClosed(uint id, uint reason)
  * http://www.clementine-player.org) and licensed under the GNU General Public
  * License, version 3 or later.
  *
- * Copyright 2010, David Sansome <me@davidsansome.com>
+ * SPDX-FileCopyrightText: 2010 David Sansome <me@davidsansome.com>
  */
 QDBusArgument &
 operator<<(QDBusArgument &arg, const QImage &image)
diff --git a/src/notifications/ManagerWin.cpp b/src/notifications/ManagerWin.cpp
index 85abe642180d1b2ac7597b0d8775645d24e763af..3152d84f85d135aa70c43f5ea47a4f198ec6d6cb 100644
--- a/src/notifications/ManagerWin.cpp
+++ b/src/notifications/ManagerWin.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "notifications/Manager.h"
 #include "wintoastlib.h"
 
diff --git a/src/popups/PopupItem.cpp b/src/popups/PopupItem.cpp
index 37fe142a9fa48f182490c9bb6570b967f0dfbc2a..2daa61435bf29326d4db42879c7b1bc98e43830d 100644
--- a/src/popups/PopupItem.cpp
+++ b/src/popups/PopupItem.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QLabel>
 #include <QPaintEvent>
 #include <QPainter>
diff --git a/src/popups/PopupItem.h b/src/popups/PopupItem.h
index 499d6b33b8a6d90a900f7a7b453bea4fea2d0227..fc24915eea60202e6b64d8722f5f16b5e9b6b06a 100644
--- a/src/popups/PopupItem.h
+++ b/src/popups/PopupItem.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QWidget>
diff --git a/src/popups/SuggestionsPopup.cpp b/src/popups/SuggestionsPopup.cpp
index 8add43130b9ed3b693c57fcb0dae586f971a9141..7b545d61690bcb802d12037fdbd800decd687fd9 100644
--- a/src/popups/SuggestionsPopup.cpp
+++ b/src/popups/SuggestionsPopup.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QPaintEvent>
 #include <QPainter>
 #include <QStyleOption>
diff --git a/src/popups/SuggestionsPopup.h b/src/popups/SuggestionsPopup.h
index 6a0157a1ae163e53bc6b8319298fc00273771652..281edddb9fd02d52ce499dc0100a386ae85f71d6 100644
--- a/src/popups/SuggestionsPopup.h
+++ b/src/popups/SuggestionsPopup.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QWidget>
diff --git a/src/popups/UserMentions.cpp b/src/popups/UserMentions.cpp
index 23a679f1b6dc05ca31f28e3f23f4c9aaa545276e..56b57503a7fd5ea89ed71bcef3dd0994c296fd22 100644
--- a/src/popups/UserMentions.cpp
+++ b/src/popups/UserMentions.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QPaintEvent>
 #include <QPainter>
 #include <QScrollArea>
diff --git a/src/popups/UserMentions.h b/src/popups/UserMentions.h
index 885fe67dd83eb43deaeaff1a85aab614fcf5c042..f0b662d8d9d77e8f0fea489b4b6526a946dfe438 100644
--- a/src/popups/UserMentions.h
+++ b/src/popups/UserMentions.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <mtx/responses/notifications.hpp>
diff --git a/src/timeline/DelegateChooser.cpp b/src/timeline/DelegateChooser.cpp
index 8598fa7725d2e1c53cd30b98ec48389574fad979..39c8fa17b2c7f8a54375dd4dda627c794c8ded9d 100644
--- a/src/timeline/DelegateChooser.cpp
+++ b/src/timeline/DelegateChooser.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "DelegateChooser.h"
 
 #include "Logging.h"
diff --git a/src/timeline/DelegateChooser.h b/src/timeline/DelegateChooser.h
index 2524b0689f78971b149a3b0a868a21c210c46ae5..22e423a2781cb4195f30173038bd26361c261507 100644
--- a/src/timeline/DelegateChooser.h
+++ b/src/timeline/DelegateChooser.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 // A DelegateChooser like the one, that was added to Qt5.12 (in labs), but compatible with older Qt
 // versions see KDE/kquickitemviews see qtdeclarative/qqmldelagatecomponent
 
diff --git a/src/timeline/EventStore.cpp b/src/timeline/EventStore.cpp
index 31cf799bc841ce332891dfb6b051abf8c9c2b427..410bb091674835439872855792d75868ed1a265f 100644
--- a/src/timeline/EventStore.cpp
+++ b/src/timeline/EventStore.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "EventStore.h"
 
 #include <QThread>
diff --git a/src/timeline/EventStore.h b/src/timeline/EventStore.h
index ced7bdc0b5fc81e749105e96754e4a2130aad123..a10c2126701c41eeae59d6945a570f77b674e794 100644
--- a/src/timeline/EventStore.h
+++ b/src/timeline/EventStore.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <limits>
diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp
index b1580f97d0ea6128240fe00f2d207f308d7551a0..490fccc388fd2354a1114de056340d78fd904cd0 100644
--- a/src/timeline/InputBar.cpp
+++ b/src/timeline/InputBar.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "InputBar.h"
 
 #include <QClipboard>
diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h
index 4cb6da7b9ba6bd0949e9cfe9c865a637df8c60bc..5af46b0da445cdd7d671fe68071d37207fce04f6 100644
--- a/src/timeline/InputBar.h
+++ b/src/timeline/InputBar.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QObject>
diff --git a/src/timeline/Reaction.cpp b/src/timeline/Reaction.cpp
index 343c4649b5ee2cacbf40215b6e97d3045506e67e..963e04d656a4bec1c27377dec741bb33eab71227 100644
--- a/src/timeline/Reaction.cpp
+++ b/src/timeline/Reaction.cpp
@@ -1 +1,5 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "Reaction.h"
diff --git a/src/timeline/Reaction.h b/src/timeline/Reaction.h
index 5f122e0adad53a7c68e413bb936d70f37eb15db4..47dac6172b28f627ea038d7c24b5e724244c1c4d 100644
--- a/src/timeline/Reaction.h
+++ b/src/timeline/Reaction.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QObject>
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index 3d1a776753b90b7c55c42c89bc8e7bdb7534b36f..f9a5460ace9b2d7f6c33298083a03c98c7f7a587 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "TimelineModel.h"
 
 #include <algorithm>
diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h
index e02539bb190a991ae9ab2cb66eaff3c093de4494..06da95c6f30cdd3a46eef424f4b6db3b3d5942fd 100644
--- a/src/timeline/TimelineModel.h
+++ b/src/timeline/TimelineModel.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QAbstractListModel>
diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp
index f2e6d571fa200bb838cce14d0d2708e50e72d3bf..744278558f77e6b638d1940209b15893e0683d47 100644
--- a/src/timeline/TimelineViewManager.cpp
+++ b/src/timeline/TimelineViewManager.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "TimelineViewManager.h"
 
 #include <QDesktopServices>
diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h
index 61fce5742870292bc230d9e4409d5514fdce6b4f..097fccfc76d1ad090719696abcf0ce6540623794 100644
--- a/src/timeline/TimelineViewManager.h
+++ b/src/timeline/TimelineViewManager.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QHash>
diff --git a/src/ui/Avatar.cpp b/src/ui/Avatar.cpp
index 0d1bb92428a33cc5e448bd3ba98bc739136cd03a..53e72618187bc0688577ded8e480098bab0b3c54 100644
--- a/src/ui/Avatar.cpp
+++ b/src/ui/Avatar.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QPainter>
 #include <QPainterPath>
 #include <QSettings>
diff --git a/src/ui/Avatar.h b/src/ui/Avatar.h
index 229a980d560a46316688519973830c0db415df5f..bbf05be3e7e6b03dc1c25387aa9b46f79a0f9402 100644
--- a/src/ui/Avatar.h
+++ b/src/ui/Avatar.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QImage>
diff --git a/src/ui/Badge.cpp b/src/ui/Badge.cpp
index 6701f9b7b619f78e6cae1cf0fe1e127b4c3faaa0..66210d06d5cb0e192de3c80000d03a45c1ea1024 100644
--- a/src/ui/Badge.cpp
+++ b/src/ui/Badge.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QPainter>
 
 #include "Badge.h"
diff --git a/src/ui/Badge.h b/src/ui/Badge.h
index 748b56fdc4470c53a0872909fb5f336d5bb7feae..98e1687364d9dee91131a0b1037f5e226fc0c206 100644
--- a/src/ui/Badge.h
+++ b/src/ui/Badge.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QColor>
diff --git a/src/ui/DropShadow.cpp b/src/ui/DropShadow.cpp
index d437975ccbc63caa0f3cf8f3d8d1f54f67263fe2..a413e3f738efd3f82ed482cf66961b8ec597bb29 100644
--- a/src/ui/DropShadow.cpp
+++ b/src/ui/DropShadow.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "DropShadow.h"
 
 #include <QLinearGradient>
diff --git a/src/ui/DropShadow.h b/src/ui/DropShadow.h
index 6997e1a0d9a95c48f1877feb8f1e14bd73979116..4ace473148e378f43d5ddae45dde08d3083413ab 100644
--- a/src/ui/DropShadow.h
+++ b/src/ui/DropShadow.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QColor>
diff --git a/src/ui/FlatButton.cpp b/src/ui/FlatButton.cpp
index 6660c58dd1304656aa59b7e607cab4b97a50c7ac..c036401be991794a89b242343f176fa3607a1a2e 100644
--- a/src/ui/FlatButton.cpp
+++ b/src/ui/FlatButton.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QEventTransition>
 #include <QFontDatabase>
 #include <QIcon>
diff --git a/src/ui/FlatButton.h b/src/ui/FlatButton.h
index 3749a0d9e303330824a590f06c6c3dcc20a8b833..c79945b7f45e01b6b203a8b5cb91edc01dfbc467 100644
--- a/src/ui/FlatButton.h
+++ b/src/ui/FlatButton.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QPushButton>
diff --git a/src/ui/FloatingButton.cpp b/src/ui/FloatingButton.cpp
index f3a09ccd9c79a9d38307a5bb3d44aa888abe517a..95b6ae1dc37f0ef84786fc5335b619d1f71f40d4 100644
--- a/src/ui/FloatingButton.cpp
+++ b/src/ui/FloatingButton.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QPainter>
 #include <QPainterPath>
 
diff --git a/src/ui/FloatingButton.h b/src/ui/FloatingButton.h
index 91e99ebb3b0479b954b48b00d2b8e02425f98514..b59b385460e4abb5de235c7dc06ff2410aa4e46e 100644
--- a/src/ui/FloatingButton.h
+++ b/src/ui/FloatingButton.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include "RaisedButton.h"
diff --git a/src/ui/InfoMessage.cpp b/src/ui/InfoMessage.cpp
index 0b69564d3a9a30f4650530a7ec6aa68aaf457e8f..fb3b306a0ffb76d942733a76628d66abba7e8d10 100644
--- a/src/ui/InfoMessage.cpp
+++ b/src/ui/InfoMessage.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "InfoMessage.h"
 #include "Config.h"
 
diff --git a/src/ui/InfoMessage.h b/src/ui/InfoMessage.h
index f8f457e30f62a5ad7a4412389ea29972e54b9bff..cc0c57dcf3281fb8cfd308d93905438c3839df21 100644
--- a/src/ui/InfoMessage.h
+++ b/src/ui/InfoMessage.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QColor>
diff --git a/src/ui/Label.cpp b/src/ui/Label.cpp
index 8bd8c54e502c8f850ee8cd7ef9099337c94502bb..2e8f8e1d8ada299b332224875f4fe26d37cd164b 100644
--- a/src/ui/Label.cpp
+++ b/src/ui/Label.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include "Label.h"
 #include <QMouseEvent>
diff --git a/src/ui/Label.h b/src/ui/Label.h
index 09cf27d705cfd837a343f1a68c5a98526f3b8d0a..a3eb511b4e9048a0e0ec2d3679f61f1eb37a71c3 100644
--- a/src/ui/Label.h
+++ b/src/ui/Label.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QLabel>
diff --git a/src/ui/LoadingIndicator.cpp b/src/ui/LoadingIndicator.cpp
index d2b1240d5489cb9f3ce836deedc15b659178342e..fb3c761cc40ab875b49ce4423fb8e52cac52e4bd 100644
--- a/src/ui/LoadingIndicator.cpp
+++ b/src/ui/LoadingIndicator.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "LoadingIndicator.h"
 
 #include <QPaintEvent>
diff --git a/src/ui/LoadingIndicator.h b/src/ui/LoadingIndicator.h
index 678ef611ff62d473e137162deaf51462a5c9f992..ba56b449b8b1b52ffa4d11e5fcd71e0ee1d913e7 100644
--- a/src/ui/LoadingIndicator.h
+++ b/src/ui/LoadingIndicator.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QColor>
diff --git a/src/ui/Menu.h b/src/ui/Menu.h
index d0427851a7fe9dabe95a029ff0c59ced5d7f31d0..fd2946ddb5d5270279ac87fb00f0fcb4569445aa 100644
--- a/src/ui/Menu.h
+++ b/src/ui/Menu.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QMenu>
diff --git a/src/ui/NhekoCursorShape.cpp b/src/ui/NhekoCursorShape.cpp
index 06b0a321bd5761559b7b6f69842d08ef6fad5d82..b36eedbd74e8f95bb86aa98eea0c712ce6559934 100644
--- a/src/ui/NhekoCursorShape.cpp
+++ b/src/ui/NhekoCursorShape.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "NhekoCursorShape.h"
 
 #include <QCursor>
diff --git a/src/ui/NhekoCursorShape.h b/src/ui/NhekoCursorShape.h
index 2eab5e42a8631f566065609a56c015b395289ff3..6f6a2b826c6330eb82fd56b4e14e004f3e289a95 100644
--- a/src/ui/NhekoCursorShape.h
+++ b/src/ui/NhekoCursorShape.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 // see
diff --git a/src/ui/NhekoDropArea.cpp b/src/ui/NhekoDropArea.cpp
index 14b71524290dfa85f071777142564e4f11d40a21..54f48d3ce160991bdd402bad35ef674eaf099aab 100644
--- a/src/ui/NhekoDropArea.cpp
+++ b/src/ui/NhekoDropArea.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "NhekoDropArea.h"
 
 #include <QMimeData>
diff --git a/src/ui/NhekoDropArea.h b/src/ui/NhekoDropArea.h
index b03620f25a62f078e7a05f0085f14a284651452f..9fbf173716ea58f92623565887e4d1979008ec50 100644
--- a/src/ui/NhekoDropArea.h
+++ b/src/ui/NhekoDropArea.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QQuickItem>
 
 class NhekoDropArea : public QQuickItem
diff --git a/src/ui/OverlayModal.cpp b/src/ui/OverlayModal.cpp
index abd1827ad83823864b4dd4fb3817a32e21d7fc72..f5f287322c896e6c87ecfe0cfa69e41d12e42474 100644
--- a/src/ui/OverlayModal.cpp
+++ b/src/ui/OverlayModal.cpp
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #include <QPainter>
 #include <QVBoxLayout>
diff --git a/src/ui/OverlayModal.h b/src/ui/OverlayModal.h
index e1fe8ec07d8414a5ef67e9447ef5d04ff5830191..005614fa56962f08db7746e565e0e6cd64eb22fc 100644
--- a/src/ui/OverlayModal.h
+++ b/src/ui/OverlayModal.h
@@ -1,19 +1,7 @@
-/*
- * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
 
 #pragma once
 
diff --git a/src/ui/OverlayWidget.cpp b/src/ui/OverlayWidget.cpp
index a32d86b6b99d5596772758c0be5ac58816d17516..c8c95581b29c554222ff6353018058c8396a6066 100644
--- a/src/ui/OverlayWidget.cpp
+++ b/src/ui/OverlayWidget.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "OverlayWidget.h"
 
 #include <QPainter>
diff --git a/src/ui/OverlayWidget.h b/src/ui/OverlayWidget.h
index ed3ef52d8a7aff8dc39a9d9d758fca119f8dc9bd..05bb86968fdeee642e085550e50174d3abb0fb89 100644
--- a/src/ui/OverlayWidget.h
+++ b/src/ui/OverlayWidget.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QEvent>
diff --git a/src/ui/Painter.h b/src/ui/Painter.h
index c69dca95b8cf6356cf380f0b4bb5f42d43d64b07..3353f0c76cbbfa141f9b4ced6e8dd844d6098b57 100644
--- a/src/ui/Painter.h
+++ b/src/ui/Painter.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QFontMetrics>
diff --git a/src/ui/RaisedButton.cpp b/src/ui/RaisedButton.cpp
index c519f84f1a3db798dc0a47e51ece82760d98dd6b..563cb8e5a6657478a33ac257698236754582e2c2 100644
--- a/src/ui/RaisedButton.cpp
+++ b/src/ui/RaisedButton.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QEventTransition>
 #include <QPropertyAnimation>
 
diff --git a/src/ui/RaisedButton.h b/src/ui/RaisedButton.h
index 47ef1acde7784446dbec1cef7a7254928ffe7899..dcb579bbdffd55813f11d837b6fc4de5ffd37f98 100644
--- a/src/ui/RaisedButton.h
+++ b/src/ui/RaisedButton.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QGraphicsDropShadowEffect>
diff --git a/src/ui/Ripple.cpp b/src/ui/Ripple.cpp
index ef8a62dd1aaaf1f0307ed56d76d51a54b0722567..f0455f0b8fa48f371de718935810e31c8dc56d5a 100644
--- a/src/ui/Ripple.cpp
+++ b/src/ui/Ripple.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "Ripple.h"
 #include "RippleOverlay.h"
 
diff --git a/src/ui/Ripple.h b/src/ui/Ripple.h
index 3701fb6c0c65bc53917147b0fe4e98b1c16a676e..2ad42b9ebebcc9654b08e903bc84554ab8f1665a 100644
--- a/src/ui/Ripple.h
+++ b/src/ui/Ripple.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QBrush>
diff --git a/src/ui/RippleOverlay.cpp b/src/ui/RippleOverlay.cpp
index 20e98c0f97e5102c1350b4727acc1e82f78eb6c9..00915deb844392720c3b5d142739915726dd8066 100644
--- a/src/ui/RippleOverlay.cpp
+++ b/src/ui/RippleOverlay.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QPainter>
 
 #include "Ripple.h"
diff --git a/src/ui/RippleOverlay.h b/src/ui/RippleOverlay.h
index 5d12aff7f35dc7641e37937d81d835b8ef8ff338..7ae3e4f10a541d2d57d507ce2634f287a72b942d 100644
--- a/src/ui/RippleOverlay.h
+++ b/src/ui/RippleOverlay.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QPainterPath>
diff --git a/src/ui/RoomSettings.cpp b/src/ui/RoomSettings.cpp
index a264c78b4595b9263d7c66c15fc1098b82c37666..cb82cc4e88aac2072ecd75872eb4dc872095fb43 100644
--- a/src/ui/RoomSettings.cpp
+++ b/src/ui/RoomSettings.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "RoomSettings.h"
 
 #include <QApplication>
diff --git a/src/ui/RoomSettings.h b/src/ui/RoomSettings.h
index 25c6e588867ce0b21430419b4a5334726a3afdc0..367f31113c3085515f067aba84fe0e8b7e3c2f51 100644
--- a/src/ui/RoomSettings.h
+++ b/src/ui/RoomSettings.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QLabel>
diff --git a/src/ui/SnackBar.cpp b/src/ui/SnackBar.cpp
index 51a0ff384579455a470125264b8a1fb8ad5c72bb..036098028d810566552596359e7c318479e59cd5 100644
--- a/src/ui/SnackBar.cpp
+++ b/src/ui/SnackBar.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QPainter>
 
 #include <tweeny.h>
diff --git a/src/ui/SnackBar.h b/src/ui/SnackBar.h
index 15cbf626e23223a624abd7b5a0b88b254f8d2ef6..5459159e0f99b7a3ad2a44ee8dbd2bbba8a0a9f1 100644
--- a/src/ui/SnackBar.h
+++ b/src/ui/SnackBar.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QCoreApplication>
diff --git a/src/ui/TextField.cpp b/src/ui/TextField.cpp
index 055fe73b16a6ef7db1d39566bd4db7d33330a068..7d015e893f797ad55efbcc5dbccb05cb299bed3d 100644
--- a/src/ui/TextField.cpp
+++ b/src/ui/TextField.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "TextField.h"
 
 #include <QCoreApplication>
diff --git a/src/ui/TextField.h b/src/ui/TextField.h
index 01fd578260d992e48d4cd60093cb9f0175f9d07d..ac4c396ebbc1b34cb7481cd6211e2a5d2ebecbff 100644
--- a/src/ui/TextField.h
+++ b/src/ui/TextField.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QColor>
diff --git a/src/ui/TextLabel.cpp b/src/ui/TextLabel.cpp
index 8ea2bb5481a0ae5bd554d622b387dbdfc47ffa2f..3568e15c5b00934368350fe7a6c8c61c9ebddc7f 100644
--- a/src/ui/TextLabel.cpp
+++ b/src/ui/TextLabel.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include "ui/TextLabel.h"
 
 #include <QAbstractTextDocumentLayout>
diff --git a/src/ui/TextLabel.h b/src/ui/TextLabel.h
index 56778dcc2e753e703594f18c52ef06bc4a14cb62..bc0958231e91d09b6f1387ce1a31175ac703ecbd 100644
--- a/src/ui/TextLabel.h
+++ b/src/ui/TextLabel.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QSize>
diff --git a/src/ui/Theme.cpp b/src/ui/Theme.cpp
index 7209864a86fdd93b5330092bfdcc0b0caa55f04d..4341bd637dd9d8d9dcff05d69db97646e79ac993 100644
--- a/src/ui/Theme.cpp
+++ b/src/ui/Theme.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QDebug>
 
 #include "Theme.h"
diff --git a/src/ui/Theme.h b/src/ui/Theme.h
index 349712800f213ceb280ec252799bc3e09fae43ca..3243c076497b9db0da019fdb6c1f84d48cea6121 100644
--- a/src/ui/Theme.h
+++ b/src/ui/Theme.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QColor>
diff --git a/src/ui/ThemeManager.cpp b/src/ui/ThemeManager.cpp
index 7baed1f3bc91123340bd19a465da0ff0ee63299e..834f508338c9c77d77b3d79939f06263daf9b357 100644
--- a/src/ui/ThemeManager.cpp
+++ b/src/ui/ThemeManager.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QFontDatabase>
 
 #include "ThemeManager.h"
diff --git a/src/ui/ThemeManager.h b/src/ui/ThemeManager.h
index d35ff75402adef24a3c63f80352f91706d9b3891..f2099730d44a194ad740169781b1cb6e91bf753c 100644
--- a/src/ui/ThemeManager.h
+++ b/src/ui/ThemeManager.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QCommonStyle>
diff --git a/src/ui/ToggleButton.cpp b/src/ui/ToggleButton.cpp
index 40ea82acf12460fd1c34be99a82b920c9fe14ba4..33bf8f92029b732ce9d20034f029842009ddc1fe 100644
--- a/src/ui/ToggleButton.cpp
+++ b/src/ui/ToggleButton.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QColor>
 #include <QCoreApplication>
 #include <QEvent>
diff --git a/src/ui/ToggleButton.h b/src/ui/ToggleButton.h
index 14c3450b92d22c991d69aab5483367715a75f24b..2413b0864e9da5fc8dc2212db23a20ae6c7261ad 100644
--- a/src/ui/ToggleButton.h
+++ b/src/ui/ToggleButton.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QAbstractButton>
diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp
index a9e013c295764de3bbb91636772958cfbc16fbf3..b5feb353e9b7f412e259266fdb3718a4edf55b65 100644
--- a/src/ui/UserProfile.cpp
+++ b/src/ui/UserProfile.cpp
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #include <QFileDialog>
 #include <QImageReader>
 #include <QMimeDatabase>
diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h
index ffc5dcaec0db1b4f9d3f5e6a7f28e92b4b5a8abe..7c9c7495020e9cb23c26f347aef734305292e50c 100644
--- a/src/ui/UserProfile.h
+++ b/src/ui/UserProfile.h
@@ -1,3 +1,7 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
 #pragma once
 
 #include <QAbstractListModel>