diff --git a/src/AliasEditModel.h b/src/AliasEditModel.h
index a7b9588d..8709e945 100644
--- a/src/AliasEditModel.h
+++ b/src/AliasEditModel.h
@@ -11,7 +11,7 @@
#include "CacheStructs.h"
-class FetchPublishedAliasesJob : public QObject
+class FetchPublishedAliasesJob final : public QObject
{
Q_OBJECT
@@ -26,7 +26,7 @@ signals:
void advertizedAliasesFetched(std::vector<std::string> aliases);
};
-class AliasEditingModel : public QAbstractListModel
+class AliasEditingModel final : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(bool canAdvertize READ canAdvertize CONSTANT)
diff --git a/src/AvatarProvider.h b/src/AvatarProvider.h
index 1a753fe7..0bdb8b7c 100644
--- a/src/AvatarProvider.h
+++ b/src/AvatarProvider.h
@@ -11,7 +11,7 @@
using AvatarCallback = std::function<void(QPixmap)>;
-class AvatarProxy : public QObject
+class AvatarProxy final : public QObject
{
Q_OBJECT
diff --git a/src/BlurhashProvider.h b/src/BlurhashProvider.h
index 566e07ac..c0826e72 100644
--- a/src/BlurhashProvider.h
+++ b/src/BlurhashProvider.h
@@ -11,7 +11,7 @@
#include <QImage>
#include <QThreadPool>
-class BlurhashRunnable
+class BlurhashRunnable final
: public QObject
, public QRunnable
{
@@ -33,7 +33,7 @@ private:
QSize m_requestedSize;
};
-class BlurhashResponse : public QQuickImageResponse
+class BlurhashResponse final : public QQuickImageResponse
{
public:
BlurhashResponse(const QString &id, const QSize &requestedSize)
diff --git a/src/Cache_p.h b/src/Cache_p.h
index a12cb43a..0c75acdb 100644
--- a/src/Cache_p.h
+++ b/src/Cache_p.h
@@ -33,7 +33,7 @@ namespace mtx::responses {
struct Messages;
}
-class Cache : public QObject
+class Cache final : public QObject
{
Q_OBJECT
diff --git a/src/ChatPage.h b/src/ChatPage.h
index fd1711c5..73b7efcc 100644
--- a/src/ChatPage.h
+++ b/src/ChatPage.h
@@ -48,7 +48,7 @@ struct Rooms;
using SecretsToDecrypt = std::map<std::string, mtx::secret_storage::AesHmacSha2EncryptedData>;
-class ChatPage : public QObject
+class ChatPage final : public QObject
{
Q_OBJECT
diff --git a/src/Clipboard.h b/src/Clipboard.h
index 65b7e4bd..568604b0 100644
--- a/src/Clipboard.h
+++ b/src/Clipboard.h
@@ -8,7 +8,7 @@
#include <QObject>
#include <QString>
-class Clipboard : public QObject
+class Clipboard final : public QObject
{
Q_OBJECT
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
diff --git a/src/ColorImageProvider.h b/src/ColorImageProvider.h
index 05cc1084..c416d7ec 100644
--- a/src/ColorImageProvider.h
+++ b/src/ColorImageProvider.h
@@ -5,7 +5,7 @@
#include <QQuickImageProvider>
-class ColorImageProvider : public QQuickImageProvider
+class ColorImageProvider final : public QQuickImageProvider
{
public:
ColorImageProvider()
diff --git a/src/CombinedImagePackModel.h b/src/CombinedImagePackModel.h
index b0560ee3..49979fca 100644
--- a/src/CombinedImagePackModel.h
+++ b/src/CombinedImagePackModel.h
@@ -9,7 +9,7 @@
#include <mtx/events/mscs/image_packs.hpp>
-class CombinedImagePackModel : public QAbstractListModel
+class CombinedImagePackModel final : public QAbstractListModel
{
Q_OBJECT
public:
diff --git a/src/CompletionProxyModel.h b/src/CompletionProxyModel.h
index 0a6d6c47..6bf2eb35 100644
--- a/src/CompletionProxyModel.h
+++ b/src/CompletionProxyModel.h
@@ -156,7 +156,7 @@ struct trie
}
};
-class CompletionProxyModel : public QAbstractProxyModel
+class CompletionProxyModel final : public QAbstractProxyModel
{
Q_OBJECT
Q_PROPERTY(QString searchString READ searchString WRITE setSearchString NOTIFY newSearchString)
diff --git a/src/ImagePackListModel.h b/src/ImagePackListModel.h
index 2e288094..9190eb8c 100644
--- a/src/ImagePackListModel.h
+++ b/src/ImagePackListModel.h
@@ -10,7 +10,7 @@
#include <QSharedPointer>
class SingleImagePackModel;
-class ImagePackListModel : public QAbstractListModel
+class ImagePackListModel final : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(bool containsAccountPack READ containsAccountPack CONSTANT)
diff --git a/src/InviteesModel.h b/src/InviteesModel.h
index ac5e215f..004f37ca 100644
--- a/src/InviteesModel.h
+++ b/src/InviteesModel.h
@@ -9,7 +9,7 @@
#include <QAbstractListModel>
#include <QVector>
-class Invitee : public QObject
+class Invitee final : public QObject
{
Q_OBJECT
@@ -27,7 +27,7 @@ private:
friend class InviteesModel;
};
-class InviteesModel : public QAbstractListModel
+class InviteesModel final : public QAbstractListModel
{
Q_OBJECT
diff --git a/src/JdenticonProvider.h b/src/JdenticonProvider.h
index 72c1fa03..d8fdbb42 100644
--- a/src/JdenticonProvider.h
+++ b/src/JdenticonProvider.h
@@ -14,7 +14,7 @@
#include "jdenticoninterface.h"
-class JdenticonRunnable
+class JdenticonRunnable final
: public QObject
, public QRunnable
{
@@ -34,7 +34,7 @@ private:
QSize m_requestedSize;
};
-class JdenticonResponse : public QQuickImageResponse
+class JdenticonResponse final : public QQuickImageResponse
{
public:
JdenticonResponse(const QString &key, bool crop, double radius, const QSize &requestedSize);
diff --git a/src/MainWindow.h b/src/MainWindow.h
index 996d292c..f567c93e 100644
--- a/src/MainWindow.h
+++ b/src/MainWindow.h
@@ -39,7 +39,7 @@ class MemberList;
class ReCaptcha;
}
-class MainWindow : public QQuickView
+class MainWindow final : public QQuickView
{
Q_OBJECT
diff --git a/src/MemberList.h b/src/MemberList.h
index eb70ddbf..f7d2cac6 100644
--- a/src/MemberList.h
+++ b/src/MemberList.h
@@ -12,7 +12,7 @@
#include "CacheStructs.h"
-class MemberListBackend : public QAbstractListModel
+class MemberListBackend final : public QAbstractListModel
{
Q_OBJECT
@@ -77,7 +77,7 @@ private:
friend class MemberList;
};
-class MemberList : public QSortFilterProxyModel
+class MemberList final : public QSortFilterProxyModel
{
Q_OBJECT
diff --git a/src/MxcImageProvider.h b/src/MxcImageProvider.h
index dff4743e..9d5aaabc 100644
--- a/src/MxcImageProvider.h
+++ b/src/MxcImageProvider.h
@@ -14,7 +14,7 @@
#include <mtx/common.hpp>
-class MxcImageRunnable : public QObject
+class MxcImageRunnable final : public QObject
{
Q_OBJECT
@@ -38,7 +38,7 @@ public:
bool m_crop;
double m_radius;
};
-class MxcImageResponse : public QQuickImageResponse
+class MxcImageResponse final : public QQuickImageResponse
{
public:
MxcImageResponse(const QString &id, bool crop, double radius, const QSize &requestedSize)
diff --git a/src/PowerlevelsEditModels.h b/src/PowerlevelsEditModels.h
index 515fdb56..d0593f09 100644
--- a/src/PowerlevelsEditModels.h
+++ b/src/PowerlevelsEditModels.h
@@ -11,7 +11,7 @@
#include "CacheStructs.h"
-class PowerlevelsTypeListModel : public QAbstractListModel
+class PowerlevelsTypeListModel final : public QAbstractListModel
{
Q_OBJECT
@@ -68,7 +68,7 @@ public:
mtx::events::state::PowerLevels powerLevels_;
};
-class PowerlevelsUserListModel : public QAbstractListModel
+class PowerlevelsUserListModel final : public QAbstractListModel
{
Q_OBJECT
@@ -122,7 +122,7 @@ public:
mtx::events::state::PowerLevels powerLevels_;
};
-class PowerlevelsSpacesListModel : public QAbstractListModel
+class PowerlevelsSpacesListModel final : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(bool applyToChildren READ applyToChildren WRITE setApplyToChildren NOTIFY
@@ -192,7 +192,7 @@ public:
bool applyToChildren_ = true, overwriteDiverged_ = false;
};
-class PowerlevelEditingModels : public QObject
+class PowerlevelEditingModels final : public QObject
{
Q_OBJECT
diff --git a/src/ReadReceiptsModel.h b/src/ReadReceiptsModel.h
index 23d54051..48b1a598 100644
--- a/src/ReadReceiptsModel.h
+++ b/src/ReadReceiptsModel.h
@@ -12,7 +12,7 @@
#include <QSortFilterProxyModel>
#include <QString>
-class ReadReceiptsModel : public QAbstractListModel
+class ReadReceiptsModel final : public QAbstractListModel
{
Q_OBJECT
@@ -51,7 +51,7 @@ private:
QVector<QPair<QString, QDateTime>> readReceipts_;
};
-class ReadReceiptsProxy : public QSortFilterProxyModel
+class ReadReceiptsProxy final : public QSortFilterProxyModel
{
Q_OBJECT
diff --git a/src/RoomsModel.h b/src/RoomsModel.h
index eb86202c..8571e4bb 100644
--- a/src/RoomsModel.h
+++ b/src/RoomsModel.h
@@ -10,7 +10,7 @@
#include <QAbstractListModel>
#include <QString>
-class RoomsModel : public QAbstractListModel
+class RoomsModel final : public QAbstractListModel
{
public:
enum Roles
diff --git a/src/SSOHandler.h b/src/SSOHandler.h
index 5a4638c9..3fd4effd 100644
--- a/src/SSOHandler.h
+++ b/src/SSOHandler.h
@@ -8,7 +8,7 @@
#include <QObject>
#include <string>
-class SSOHandler : public QObject
+class SSOHandler final : public QObject
{
Q_OBJECT
diff --git a/src/SingleImagePackModel.h b/src/SingleImagePackModel.h
index de2e4dea..3040f53e 100644
--- a/src/SingleImagePackModel.h
+++ b/src/SingleImagePackModel.h
@@ -13,7 +13,7 @@
#include "CacheStructs.h"
-class SingleImagePackModel : public QAbstractListModel
+class SingleImagePackModel final : public QAbstractListModel
{
Q_OBJECT
diff --git a/src/TrayIcon.h b/src/TrayIcon.h
index 554a4a0a..519f9d14 100644
--- a/src/TrayIcon.h
+++ b/src/TrayIcon.h
@@ -14,7 +14,7 @@
class QAction;
class QPainter;
-class MsgCountComposedIcon : public QIconEngine
+class MsgCountComposedIcon final : public QIconEngine
{
public:
MsgCountComposedIcon(const QString &filename);
@@ -36,7 +36,7 @@ private:
QIcon icon_;
};
-class TrayIcon : public QSystemTrayIcon
+class TrayIcon final : public QSystemTrayIcon
{
Q_OBJECT
public:
diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index 34a792eb..45464173 100644
--- a/src/UserSettingsPage.h
+++ b/src/UserSettingsPage.h
@@ -26,7 +26,7 @@ constexpr int OptionMargin = 6;
constexpr int LayoutTopMargin = 50;
constexpr int LayoutBottomMargin = LayoutTopMargin;
-class UserSettings : public QObject
+class UserSettings final : public QObject
{
Q_OBJECT
@@ -393,7 +393,7 @@ private:
static QSharedPointer<UserSettings> instance_;
};
-class UserSettingsModel : public QAbstractListModel
+class UserSettingsModel final : public QAbstractListModel
{
Q_OBJECT
diff --git a/src/UsersModel.h b/src/UsersModel.h
index b83a35ea..e6d21845 100644
--- a/src/UsersModel.h
+++ b/src/UsersModel.h
@@ -7,7 +7,7 @@
#include <QAbstractListModel>
-class UsersModel : public QAbstractListModel
+class UsersModel final : public QAbstractListModel
{
public:
enum Roles
diff --git a/src/dbus/NhekoDBusApi.h b/src/dbus/NhekoDBusApi.h
index 4ef8819e..3995404a 100644
--- a/src/dbus/NhekoDBusApi.h
+++ b/src/dbus/NhekoDBusApi.h
@@ -25,7 +25,7 @@ const QVersionNumber dbusApiVersion{1, 0, 0};
bool
apiVersionIsCompatible(const QVersionNumber &clientAppVersion);
-class RoomInfoItem : public QObject
+class RoomInfoItem final : public QObject
{
Q_OBJECT
diff --git a/src/dbus/NhekoDBusBackend.h b/src/dbus/NhekoDBusBackend.h
index 6a7606bd..6fb9dd72 100644
--- a/src/dbus/NhekoDBusBackend.h
+++ b/src/dbus/NhekoDBusBackend.h
@@ -13,7 +13,7 @@
class RoomlistModel;
-class NhekoDBusBackend : public QObject
+class NhekoDBusBackend final : public QObject
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "im.nheko.Nheko")
diff --git a/src/dialogs/FallbackAuth.h b/src/dialogs/FallbackAuth.h
index 290d8c4a..579d85b0 100644
--- a/src/dialogs/FallbackAuth.h
+++ b/src/dialogs/FallbackAuth.h
@@ -12,7 +12,7 @@ class QLabel;
namespace dialogs {
-class FallbackAuth : public QWidget
+class FallbackAuth final : public QWidget
{
Q_OBJECT
diff --git a/src/dialogs/ReCaptcha.h b/src/dialogs/ReCaptcha.h
index e8ad4227..815b4bf3 100644
--- a/src/dialogs/ReCaptcha.h
+++ b/src/dialogs/ReCaptcha.h
@@ -11,7 +11,7 @@ class QPushButton;
namespace dialogs {
-class ReCaptcha : public QWidget
+class ReCaptcha final : public QWidget
{
Q_OBJECT
diff --git a/src/dock/Dock.h b/src/dock/Dock.h
index a076a97c..33bdeeae 100644
--- a/src/dock/Dock.h
+++ b/src/dock/Dock.h
@@ -10,7 +10,7 @@
#include <QtDBus/QDBusInterface>
#endif
-class Dock : public QObject
+class Dock final : public QObject
{
Q_OBJECT
public:
diff --git a/src/encryption/DeviceVerificationFlow.h b/src/encryption/DeviceVerificationFlow.h
index afaddb37..7a8500c4 100644
--- a/src/encryption/DeviceVerificationFlow.h
+++ b/src/encryption/DeviceVerificationFlow.h
@@ -61,7 +61,7 @@ using sas_ptr = std::unique_ptr<mtx::crypto::SAS>;
* We are the bigger mxid and deviceid (since we discard our start message). <- GLARE RESOLUTION
*/
// clang-format on
-class DeviceVerificationFlow : public QObject
+class DeviceVerificationFlow final : public QObject
{
Q_OBJECT
Q_PROPERTY(QString state READ state NOTIFY stateChanged)
diff --git a/src/encryption/SelfVerificationStatus.h b/src/encryption/SelfVerificationStatus.h
index ec80fc6b..e5c1971b 100644
--- a/src/encryption/SelfVerificationStatus.h
+++ b/src/encryption/SelfVerificationStatus.h
@@ -7,7 +7,7 @@
#include <QObject>
-class SelfVerificationStatus : public QObject
+class SelfVerificationStatus final : public QObject
{
Q_OBJECT
diff --git a/src/encryption/VerificationManager.h b/src/encryption/VerificationManager.h
index f9844cc0..a6f3f861 100644
--- a/src/encryption/VerificationManager.h
+++ b/src/encryption/VerificationManager.h
@@ -18,7 +18,7 @@ class TimelineModel;
class TimelineViewManager;
class RoomlistModel;
-class VerificationManager : public QObject
+class VerificationManager final : public QObject
{
Q_OBJECT
diff --git a/src/notifications/Manager.h b/src/notifications/Manager.h
index 0a5f4caa..f3b1fe30 100644
--- a/src/notifications/Manager.h
+++ b/src/notifications/Manager.h
@@ -28,7 +28,7 @@ operator==(const roomEventId &a, const roomEventId &b)
return a.roomId == b.roomId && a.eventId == b.eventId;
}
-class NotificationsManager : public QObject
+class NotificationsManager final : public QObject
{
Q_OBJECT
public:
diff --git a/src/timeline/CommunitiesModel.h b/src/timeline/CommunitiesModel.h
index 001c538d..a40b4802 100644
--- a/src/timeline/CommunitiesModel.h
+++ b/src/timeline/CommunitiesModel.h
@@ -19,7 +19,7 @@
class CommunitiesModel;
-class FilteredCommunitiesModel : public QSortFilterProxyModel
+class FilteredCommunitiesModel final : public QSortFilterProxyModel
{
Q_OBJECT
@@ -71,7 +71,7 @@ public:
bool canEditParent = false, canEditChild = false;
};
-class CommunitiesModel : public QAbstractListModel
+class CommunitiesModel final : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(QString currentTagId READ currentTagId WRITE setCurrentTagId NOTIFY
diff --git a/src/timeline/DelegateChooser.h b/src/timeline/DelegateChooser.h
index 8dff66ad..d34d13e4 100644
--- a/src/timeline/DelegateChooser.h
+++ b/src/timeline/DelegateChooser.h
@@ -69,7 +69,7 @@ signals:
void childChanged();
private:
- struct DelegateIncubator : public QQmlIncubator
+ struct DelegateIncubator final : public QQmlIncubator
{
DelegateIncubator(DelegateChooser &parent)
: QQmlIncubator(QQmlIncubator::AsynchronousIfNested)
diff --git a/src/timeline/EventStore.h b/src/timeline/EventStore.h
index 5cfab727..108fa735 100644
--- a/src/timeline/EventStore.h
+++ b/src/timeline/EventStore.h
@@ -19,7 +19,7 @@
#include "Reaction.h"
#include "encryption/Olm.h"
-class EventStore : public QObject
+class EventStore final : public QObject
{
Q_OBJECT
diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h
index 066074f7..eced7cb8 100644
--- a/src/timeline/InputBar.h
+++ b/src/timeline/InputBar.h
@@ -41,7 +41,7 @@ enum class MarkdownOverride
OFF,
};
-class InputVideoSurface : public QAbstractVideoSurface
+class InputVideoSurface final : public QAbstractVideoSurface
{
Q_OBJECT
@@ -60,7 +60,7 @@ signals:
void newImage(QImage img);
};
-class MediaUpload : public QObject
+class MediaUpload final : public QObject
{
Q_OBJECT
Q_PROPERTY(int mediaType READ type NOTIFY mediaTypeChanged)
@@ -168,7 +168,7 @@ public:
bool encrypt_;
};
-class InputBar : public QObject
+class InputBar final : public QObject
{
Q_OBJECT
Q_PROPERTY(bool uploading READ uploading NOTIFY uploadingChanged)
diff --git a/src/timeline/Permissions.h b/src/timeline/Permissions.h
index 1285f01d..aa10999d 100644
--- a/src/timeline/Permissions.h
+++ b/src/timeline/Permissions.h
@@ -11,7 +11,7 @@
class TimelineModel;
-class Permissions : public QObject
+class Permissions final : public QObject
{
Q_OBJECT
diff --git a/src/timeline/PresenceEmitter.h b/src/timeline/PresenceEmitter.h
index 7028c501..c1f07c76 100644
--- a/src/timeline/PresenceEmitter.h
+++ b/src/timeline/PresenceEmitter.h
@@ -12,7 +12,7 @@
#include <mtx/events.hpp>
#include <mtx/events/presence.hpp>
-class PresenceEmitter : public QObject
+class PresenceEmitter final : public QObject
{
Q_OBJECT
diff --git a/src/timeline/RoomlistModel.h b/src/timeline/RoomlistModel.h
index 1abeb812..0eb57547 100644
--- a/src/timeline/RoomlistModel.h
+++ b/src/timeline/RoomlistModel.h
@@ -46,7 +46,7 @@ public:
bool isInvite_ = false;
};
-class RoomlistModel : public QAbstractListModel
+class RoomlistModel final : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(
@@ -152,7 +152,7 @@ private:
friend class FilteredRoomlistModel;
};
-class FilteredRoomlistModel : public QSortFilterProxyModel
+class FilteredRoomlistModel final : public QSortFilterProxyModel
{
Q_OBJECT
Q_PROPERTY(
diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h
index ee84486e..8e191556 100644
--- a/src/timeline/TimelineModel.h
+++ b/src/timeline/TimelineModel.h
@@ -171,7 +171,7 @@ struct DecryptionResult
class TimelineViewManager;
-class TimelineModel : public QAbstractListModel
+class TimelineModel final : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h
index 572e3e22..c0895b2c 100644
--- a/src/timeline/TimelineViewManager.h
+++ b/src/timeline/TimelineViewManager.h
@@ -34,7 +34,7 @@ namespace mtx::responses {
struct Sync;
}
-class TimelineViewManager : public QObject
+class TimelineViewManager final : public QObject
{
Q_OBJECT
diff --git a/src/ui/NhekoGlobalObject.h b/src/ui/NhekoGlobalObject.h
index 77ec50d7..6ef71bcc 100644
--- a/src/ui/NhekoGlobalObject.h
+++ b/src/ui/NhekoGlobalObject.h
@@ -16,7 +16,7 @@
#include "Theme.h"
#include "UserProfile.h"
-class Nheko : public QObject
+class Nheko final : public QObject
{
Q_OBJECT
diff --git a/src/ui/RoomSettings.h b/src/ui/RoomSettings.h
index f4aa664d..99d27eee 100644
--- a/src/ui/RoomSettings.h
+++ b/src/ui/RoomSettings.h
@@ -19,7 +19,7 @@
/// Convenience class which connects events emmited from threads
/// outside of main with the UI code.
-class ThreadProxy : public QObject
+class ThreadProxy final : public QObject
{
Q_OBJECT
@@ -32,7 +32,7 @@ signals:
class RoomSettings;
-class RoomSettingsAllowedRoomsModel : public QAbstractListModel
+class RoomSettingsAllowedRoomsModel final : public QAbstractListModel
{
Q_OBJECT
@@ -67,7 +67,7 @@ private:
RoomSettings *settings;
};
-class RoomSettings : public QObject
+class RoomSettings final : public QObject
{
Q_OBJECT
Q_PROPERTY(QString roomId READ roomId CONSTANT)
diff --git a/src/ui/RoomSummary.h b/src/ui/RoomSummary.h
index fd19f4c2..30d47eb1 100644
--- a/src/ui/RoomSummary.h
+++ b/src/ui/RoomSummary.h
@@ -10,7 +10,7 @@
#include <mtx/responses/public_rooms.hpp>
-class RoomSummaryProxy : public QObject
+class RoomSummaryProxy final : public QObject
{
Q_OBJECT
@@ -21,7 +21,7 @@ signals:
void failed();
};
-class RoomSummary : public QObject
+class RoomSummary final : public QObject
{
Q_OBJECT
diff --git a/src/ui/Theme.h b/src/ui/Theme.h
index a9fb0519..140e60b3 100644
--- a/src/ui/Theme.h
+++ b/src/ui/Theme.h
@@ -8,7 +8,7 @@
#include <QColor>
#include <QPalette>
-class Theme : public QPalette
+class Theme final : public QPalette
{
Q_GADGET
Q_PROPERTY(QColor sidebarBackground READ sidebarBackground CONSTANT)
diff --git a/src/ui/ThemeManager.h b/src/ui/ThemeManager.h
index bb0b6274..1924611d 100644
--- a/src/ui/ThemeManager.h
+++ b/src/ui/ThemeManager.h
@@ -7,7 +7,7 @@
#include <QCommonStyle>
-class ThemeManager : public QCommonStyle
+class ThemeManager final : public QCommonStyle
{
Q_OBJECT
diff --git a/src/ui/UIA.h b/src/ui/UIA.h
index a97df4ac..73a58ffe 100644
--- a/src/ui/UIA.h
+++ b/src/ui/UIA.h
@@ -9,7 +9,7 @@
#include <mtxclient/http/client.hpp>
-class UIA : public QObject
+class UIA final : public QObject
{
Q_OBJECT
diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h
index 90e39b89..facae6ec 100644
--- a/src/ui/UserProfile.h
+++ b/src/ui/UserProfile.h
@@ -32,7 +32,7 @@ Q_ENUM_NS(Status)
class DeviceVerificationFlow;
class TimelineViewManager;
-class UserProfileFetchProxy : public QObject
+class UserProfileFetchProxy final : public QObject
{
Q_OBJECT
@@ -83,7 +83,7 @@ public:
qlonglong lastTs;
};
-class DeviceInfoModel : public QAbstractListModel
+class DeviceInfoModel final : public QAbstractListModel
{
Q_OBJECT
public:
@@ -120,7 +120,7 @@ private:
friend class UserProfile;
};
-class UserProfile : public QObject
+class UserProfile final : public QObject
{
Q_OBJECT
Q_PROPERTY(QString displayName READ displayName NOTIFY displayNameChanged)
diff --git a/src/voip/CallDevices.h b/src/voip/CallDevices.h
index 4b2c1e48..8cfcdd1c 100644
--- a/src/voip/CallDevices.h
+++ b/src/voip/CallDevices.h
@@ -13,7 +13,7 @@
typedef struct _GstDevice GstDevice;
-class CallDevices : public QObject
+class CallDevices final : public QObject
{
Q_OBJECT
diff --git a/src/voip/CallManager.h b/src/voip/CallManager.h
index 16bd9a37..8f1615f8 100644
--- a/src/voip/CallManager.h
+++ b/src/voip/CallManager.h
@@ -25,7 +25,7 @@ struct TurnServer;
class QUrl;
-class CallManager : public QObject
+class CallManager final : public QObject
{
Q_OBJECT
Q_PROPERTY(bool haveCallInvite READ haveCallInvite NOTIFY newInviteState)
diff --git a/src/voip/WebRTCSession.h b/src/voip/WebRTCSession.h
index 0c5ebcc7..a0ee9720 100644
--- a/src/voip/WebRTCSession.h
+++ b/src/voip/WebRTCSession.h
@@ -42,7 +42,7 @@ enum class State
Q_ENUM_NS(State)
}
-class WebRTCSession : public QObject
+class WebRTCSession final : public QObject
{
Q_OBJECT
|