diff --git a/CMakeLists.txt b/CMakeLists.txt index 467704852d00b1fd38034e02d6e3fa06544cbed7..8907175dd2670965b86bc2267b04aa1c15feac3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,21 +12,11 @@ IF(POLICY CMP0020) CMAKE_POLICY(SET CMP0020 NEW) ENDIF(POLICY CMP0020) -# First, check is the compiler is new enough, most version of Clang are fine -# until problems arise, checking for GCC is enough -IF (CMAKE_COMPILER_IS_GNUCC) - EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) - IF (GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8) - MESSAGE(STATUS "Found GCC version >= 4.8: " ${GCC_VERSION}) - ELSE() - MESSAGE(FATAL_ERROR "Your version of GCC is too old, please install GCC 4.8 or later") - ENDIF() -ENDIF() - INCLUDE(GNUInstallDirs) INCLUDE(CMakePackageConfigHelpers) INCLUDE(GenerateExportHeader) + ADD_DEFINITIONS("-std=c++1y") ADD_DEFINITIONS( @@ -37,6 +27,17 @@ ADD_DEFINITIONS( PROJECT(ringclient) +# First, check is the compiler is new enough, most version of Clang are fine +# until problems arise, checking for GCC is enough +IF (CMAKE_COMPILER_IS_GNUCC) + EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) + IF (GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8) + MESSAGE(STATUS "Found GCC version >= 4.8: " ${GCC_VERSION}) + ELSE() + MESSAGE(FATAL_ERROR "Your version of GCC is too old, please install GCC 4.8 or later") + ENDIF() +ENDIF() + SET(CMAKE_AUTOMOC TRUE) SET(LOCAL_CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/") @@ -47,6 +48,7 @@ SET(QT5_MODULE_PATH ${QT5_PATH}/lib/cmake) FIND_PACKAGE(Ring REQUIRED) + # Enable some useful warnings ADD_DEFINITIONS( -Wall @@ -92,7 +94,7 @@ IF (CMAKE_COMPILER_IS_GNUCC) ADD_DEFINITIONS( -Wunused-but-set-parameter -Wconditionally-supported - -Wsuggest-attribute=const + #-Wsuggest-attribute=const -Wno-cpp -Wdouble-promotion -Wdate-time @@ -101,11 +103,11 @@ IF (CMAKE_COMPILER_IS_GNUCC) ) ENDIF() - IF (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0) + if (GCC_VERSION VERSION_GREATER 5.1 OR GCC_VERSION VERSION_EQUAL 5.1) ADD_DEFINITIONS( - -Wsuggest-override - -Wsuggest-final-types - -Wsuggest-final-methods + #-Wsuggest-override + #-Wsuggest-final-types + #-Wsuggest-final-methods -Wbool-compare -Wformat-signedness -Wlogical-not-parentheses diff --git a/src/accountmodel.h b/src/accountmodel.h index c4f69ea0d7462488f03c5cde610ea06d815d7222..33d7303cbb544800a0a4c8e4ff82b7b640389cec 100644 --- a/src/accountmodel.h +++ b/src/accountmodel.h @@ -150,7 +150,7 @@ Q_SIGNALS: void accountStateChanged ( Account* account, const Account::RegistrationState state); ///Emitted when an account edit state change void accountEditStateChanged(Account* account, const Account::EditState state, const Account::EditState prev); - void editStateChanged(const EditState state, const EditState previous); + void editStateChanged(const EditState state, const EditState previous) const; }; Q_DECLARE_METATYPE(AccountModel*) diff --git a/src/audio/alsapluginmodel.cpp b/src/audio/alsapluginmodel.cpp index 77a9f092a6f6dd32e4779a0953041ee81494704b..988021ef785cc178244c9baaa26e5badd4f2c08d 100644 --- a/src/audio/alsapluginmodel.cpp +++ b/src/audio/alsapluginmodel.cpp @@ -23,7 +23,7 @@ //Ring #include "dbus/configurationmanager.h" -class AlsaPluginModelPrivate : public QObject +class AlsaPluginModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/audio/inputdevicemodel.cpp b/src/audio/inputdevicemodel.cpp index b40eb45d2b723cee91bfc70e67b30037bba63318..e99324da05ceda02163060fe32c7dee1cd51a251 100644 --- a/src/audio/inputdevicemodel.cpp +++ b/src/audio/inputdevicemodel.cpp @@ -24,7 +24,7 @@ #include "dbus/configurationmanager.h" #include "settings.h" -class InputDeviceModelPrivate : public QObject +class InputDeviceModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/audio/managermodel.cpp b/src/audio/managermodel.cpp index f77be8fdc97a3ea7f124d842a5b8c2926a6598fa..99c1ef2d71a3ef04f3c8b9ecaba915ccf90b611e 100644 --- a/src/audio/managermodel.cpp +++ b/src/audio/managermodel.cpp @@ -24,7 +24,7 @@ #include "dbus/configurationmanager.h" #include "settings.h" -class ManagerModelPrivate : public QObject +class ManagerModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/audio/outputdevicemodel.cpp b/src/audio/outputdevicemodel.cpp index bea13e69e0285e2b7995d8f7e9b4f7f8b4a986c3..da5869cc0647650a262da38070cf1fbab8a66852 100644 --- a/src/audio/outputdevicemodel.cpp +++ b/src/audio/outputdevicemodel.cpp @@ -25,7 +25,7 @@ #include "dbus/callmanager.h" #include "settings.h" -class OutputDeviceModelPrivate : public QObject +class OutputDeviceModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/audio/ringtonedevicemodel.cpp b/src/audio/ringtonedevicemodel.cpp index 1e9d9cb007a03c2fe41bade3a8fe65fc1122041f..37ca71aeaad9e23d0ff95909b99336b8ed0f301f 100644 --- a/src/audio/ringtonedevicemodel.cpp +++ b/src/audio/ringtonedevicemodel.cpp @@ -24,7 +24,7 @@ #include "dbus/configurationmanager.h" #include "settings.h" -class RingtoneDeviceModelPrivate : public QObject +class RingtoneDeviceModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/audio/settings.cpp b/src/audio/settings.cpp index 6bb1250235c6e61939d74aba66ec2f5c2e1b5e18..8142a7940e9897426907a1a56005d5edb747dbb6 100644 --- a/src/audio/settings.cpp +++ b/src/audio/settings.cpp @@ -30,7 +30,7 @@ #include "inputdevicemodel.h" namespace Audio { -class SettingsPrivate : public QObject +class SettingsPrivate final : public QObject { Q_OBJECT public: @@ -210,13 +210,13 @@ bool Audio::Settings::isCaptureMuted() const int Audio::Settings::playbackVolume() const { ConfigurationManagerInterface& configurationManager = DBus::ConfigurationManager::instance(); - return configurationManager.getVolume(DeviceKey::PLAYBACK)*100; + return static_cast<int>(configurationManager.getVolume(DeviceKey::PLAYBACK)*100); } int Audio::Settings::captureVolume() const { ConfigurationManagerInterface& configurationManager = DBus::ConfigurationManager::instance(); - return configurationManager.getVolume(DeviceKey::CAPTURE)*100; + return static_cast<int>(configurationManager.getVolume(DeviceKey::CAPTURE)*100); } void Audio::Settings::setPlaybackVolume(int volume) diff --git a/src/availableaccountmodel.cpp b/src/availableaccountmodel.cpp index be9595a944bc32bf51f493e988a5eb17b81fce6d..db78be058f6f4fefe4dfe5d3096a1ace165f9b56 100644 --- a/src/availableaccountmodel.cpp +++ b/src/availableaccountmodel.cpp @@ -29,7 +29,7 @@ #include "contactmethod.h" #include "uri.h" -class AvailableAccountModelPrivate : public QObject +class AvailableAccountModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/callmodel.cpp b/src/callmodel.cpp index cab7b34ba492c0de39e2d7413aadcedbd2e9ebb0..625de6247b33fc1c15ce68238adba4fb47500644 100644 --- a/src/callmodel.cpp +++ b/src/callmodel.cpp @@ -66,7 +66,7 @@ struct InternalStruct { //Static member CallModel* CallModel::m_spInstance = nullptr; -class CallModelPrivate : public QObject +class CallModelPrivate final : public QObject { Q_OBJECT public: @@ -153,7 +153,7 @@ void CallModelPrivate::init() if (!dbusInit) { CallManagerInterface& callManager = DBus::CallManager::instance(); #ifdef ENABLE_VIDEO - VideoManagerInterface& interface = DBus::VideoManager::instance(); + DBus::VideoManager::instance(); #endif //SLOTS diff --git a/src/categorizedbookmarkmodel.cpp b/src/categorizedbookmarkmodel.cpp index 737c075491a9eda8f234b0c702fa5f23e94bc06a..aadae46d45ac3c16c47c9485dc09d8f4a360528d 100644 --- a/src/categorizedbookmarkmodel.cpp +++ b/src/categorizedbookmarkmodel.cpp @@ -35,10 +35,10 @@ #include "collectioninterface.h" ///Top level bookmark item -class BookmarkTopLevelItem : public CategorizedCompositeNode { +class BookmarkTopLevelItem final : public CategorizedCompositeNode { friend class CategorizedBookmarkModel; public: - virtual QObject* getSelf() const; + virtual QObject* getSelf() const override; int m_Row; private: explicit BookmarkTopLevelItem(QString name); @@ -47,7 +47,7 @@ class BookmarkTopLevelItem : public CategorizedCompositeNode { bool m_MostPopular; }; -class CategorizedBookmarkModelPrivate : public QObject +class CategorizedBookmarkModelPrivate final : public QObject { Q_OBJECT public: @@ -82,13 +82,13 @@ class BookmarkItemNode; static bool test = false; //Model item/index -class NumberTreeBackend : public CategorizedCompositeNode +class NumberTreeBackend final : public CategorizedCompositeNode { friend class CategorizedBookmarkModel; public: NumberTreeBackend(ContactMethod* number); virtual ~NumberTreeBackend(); - virtual QObject* getSelf() const { return nullptr; } + virtual QObject* getSelf() const override { return nullptr; } ContactMethod* m_pNumber; BookmarkTopLevelItem* m_pParent; @@ -96,7 +96,7 @@ class NumberTreeBackend : public CategorizedCompositeNode BookmarkItemNode* m_pNode; }; -class BookmarkItemNode : public QObject //TODO remove this once Qt4 support is dropped +class BookmarkItemNode final : public QObject //TODO remove this once Qt4 support is dropped { Q_OBJECT public: diff --git a/src/categorizedcontactmodel.cpp b/src/categorizedcontactmodel.cpp index 09e5b55af354d8c7dd4de44faab6cd41c394c329..0da25cd17756addab1440d8c784afefa647d5349 100644 --- a/src/categorizedcontactmodel.cpp +++ b/src/categorizedcontactmodel.cpp @@ -37,7 +37,7 @@ class ContactTreeNode; -class ContactTreeNode : public CategorizedCompositeNode { +class ContactTreeNode final : public CategorizedCompositeNode { public: friend class CategorizedContactModel; friend class CategorizedContactModelPrivate; @@ -73,7 +73,7 @@ public: void slotContactMethodCountChanged (int,int ); void slotContactMethodCountAboutToChange(int,int ); }; -class CategorizedContactModelPrivate : public QObject +class CategorizedContactModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/categorizedhistorymodel.cpp b/src/categorizedhistorymodel.cpp index 791e64249273fbda43c28d8ef58dad0981eecd08..3dcb492123714ea0b74844d74348427b55535225 100644 --- a/src/categorizedhistorymodel.cpp +++ b/src/categorizedhistorymodel.cpp @@ -47,18 +47,18 @@ class HistoryTopLevelItem; -class CategorizedHistoryModelPrivate : public QObject +class CategorizedHistoryModelPrivate final : public QObject { Q_OBJECT public: CategorizedHistoryModelPrivate(CategorizedHistoryModel* parent); //Model - class HistoryItem : public CategorizedCompositeNode { + class HistoryItem final : public CategorizedCompositeNode { public: explicit HistoryItem(Call* call); virtual ~HistoryItem(); - virtual QObject* getSelf() const; + virtual QObject* getSelf() const override; Call* call() const; int m_Index; HistoryTopLevelItem* m_pParent; @@ -91,11 +91,12 @@ public Q_SLOTS: void slotChanged(const QModelIndex& idx); }; -class HistoryTopLevelItem : public CategorizedCompositeNode,public QObject { +class HistoryTopLevelItem final : public CategorizedCompositeNode, public QObject +{ friend class CategorizedHistoryModel; friend class CategorizedHistoryModelPrivate; public: - virtual QObject* getSelf() const; + virtual QObject* getSelf() const override final; virtual ~HistoryTopLevelItem(); int m_Index; int m_AbsoluteIndex; @@ -106,7 +107,7 @@ private: int modelRow; }; -class HistoryItemNode : public QObject //TODO remove this once Qt4 support is dropped +class HistoryItemNode final : public QObject //TODO remove this once Qt4 support is dropped, use lambdas { Q_OBJECT public: diff --git a/src/certificatemodel.cpp b/src/certificatemodel.cpp index 29da31f822d7c867a4efdce5386957cdae114d04..d9bbf11db26590152fe8a3591689e9ebeaf1029a 100644 --- a/src/certificatemodel.cpp +++ b/src/certificatemodel.cpp @@ -70,7 +70,7 @@ struct CertificateNode { QHash<Account*,CertificateNode*> m_hSiblings; }; -class CertificateProxyModel : public QAbstractProxyModel +class CertificateProxyModel final : public QAbstractProxyModel { Q_OBJECT public: diff --git a/src/codecmodel.cpp b/src/codecmodel.cpp index c270c67521fad8fc44b7bb6895dee343032eb1a4..930b4f6e7957d84a3cd205eadd57d808a9e5119f 100644 --- a/src/codecmodel.cpp +++ b/src/codecmodel.cpp @@ -33,7 +33,7 @@ #include "mime.h" #include "callmodel.h" -class CodecModelPrivate : public QObject +class CodecModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/collectioninterface.cpp b/src/collectioninterface.cpp index ff95a609a1b8fbdfa1a8c6a9e8c468f2f3ab9081..3b45aab72a59165a5c407defeaf0773dbf39ef4d 100644 --- a/src/collectioninterface.cpp +++ b/src/collectioninterface.cpp @@ -38,7 +38,7 @@ #include <QtCore/QIdentityProxyModel> #include <QtCore/QCoreApplication> -class EnabledExtensionsProxy : public QIdentityProxyModel +class EnabledExtensionsProxy final : public QIdentityProxyModel { Q_OBJECT diff --git a/src/collectionmanagerinterface.h b/src/collectionmanagerinterface.h index ad63b6d291b29bd553a46a3e9f63ab41d3c5c866..6edf63f0fbf9fcd4956758a0cc7a8314e4971264 100644 --- a/src/collectionmanagerinterface.h +++ b/src/collectionmanagerinterface.h @@ -142,15 +142,15 @@ public: /// Do this manager have active collections - virtual bool hasEnabledCollections (FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const final; - virtual bool hasCollections (FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const final; + bool hasEnabledCollections (FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const; + bool hasCollections (FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const; /// List all Collections - virtual const QVector< CollectionInterface* > collections (FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const final; - virtual const QVector< CollectionInterface* > enabledCollections(FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const final; + const QVector< CollectionInterface* > collections (FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const; + const QVector< CollectionInterface* > enabledCollections(FlagPack<CollectionInterface::SupportedFeatures> features = CollectionInterface::SupportedFeatures::NONE) const; ///Enable / disable a collection - virtual bool enableCollection( CollectionInterface* collection, bool enabled) final; + bool enableCollection( CollectionInterface* collection, bool enabled); virtual bool clearAllCollections() const; diff --git a/src/collectionmodel.cpp b/src/collectionmodel.cpp index d6083de4bf35288c524cea69dfb057aff1d28ad1..9e05d880a5cc19b54e3edb6a59c70068ed287dc8 100644 --- a/src/collectionmodel.cpp +++ b/src/collectionmodel.cpp @@ -29,7 +29,7 @@ CollectionModel* CollectionModelPrivate::m_spInstance = nullptr; -class ManageableCollectionProxy : public QSortFilterProxyModel +class ManageableCollectionProxy final : public QSortFilterProxyModel { public: ManageableCollectionProxy(QAbstractItemModel* parent) : QSortFilterProxyModel(parent) diff --git a/src/daemoncertificatecollection.cpp b/src/daemoncertificatecollection.cpp index f8fbe4d745b890985ee4a52e8ac28392a0fdb409..392dad021c6bad126bbcc045c4824e819dc04afc 100644 --- a/src/daemoncertificatecollection.cpp +++ b/src/daemoncertificatecollection.cpp @@ -25,7 +25,7 @@ //Dring #include "dbus/configurationmanager.h" -class DaemonCertificateEditor : public CollectionEditor<Certificate> +class DaemonCertificateEditor final : public CollectionEditor<Certificate> { public: DaemonCertificateEditor(CollectionMediator<Certificate>* m, const QString& path); diff --git a/src/delegates/shortcutdelegate.cpp b/src/delegates/shortcutdelegate.cpp index 9cca784e7679a6a410ceba8692cd82d903af0b0e..0dd58cb6b08420cab8c929b38303aea9786a424e 100644 --- a/src/delegates/shortcutdelegate.cpp +++ b/src/delegates/shortcutdelegate.cpp @@ -36,5 +36,6 @@ void ShortcutDelegate::setInstance(ShortcutDelegate* i) QVariant ShortcutDelegate::createAction(Macro* macro) { + Q_UNUSED(macro) return QVariant(); } diff --git a/src/fallbackpersoncollection.cpp b/src/fallbackpersoncollection.cpp index 1df40ac90bd7c55837bcd373cbd4d8be1ae12f6b..621dc25ec16134d2c286d296447165eb526f949f 100644 --- a/src/fallbackpersoncollection.cpp +++ b/src/fallbackpersoncollection.cpp @@ -37,7 +37,7 @@ #include "delegates/itemmodelstateserializationdelegate.h" -class FallbackPersonBackendEditor : public CollectionEditor<Person> +class FallbackPersonBackendEditor final : public CollectionEditor<Person> { public: FallbackPersonBackendEditor(CollectionMediator<Person>* m, const QString& path) : CollectionEditor<Person>(m),m_Path(path) {} @@ -55,7 +55,7 @@ private: virtual QVector<Person*> items() const override; }; -class FallbackPersonCollectionPrivate : public QObject +class FallbackPersonCollectionPrivate final : public QObject { Q_OBJECT public: diff --git a/src/foldercertificatecollection.cpp b/src/foldercertificatecollection.cpp index 2bae71698064777d0f8446b21d6e6e012cac803e..020b1f1fc45da968b00db22cc131d03a255e18b5 100644 --- a/src/foldercertificatecollection.cpp +++ b/src/foldercertificatecollection.cpp @@ -33,7 +33,7 @@ //Dring #include "dbus/configurationmanager.h" -class FallbackLocalCertificateEditor : public CollectionEditor<Certificate> +class FallbackLocalCertificateEditor final : public CollectionEditor<Certificate> { public: FallbackLocalCertificateEditor(CollectionMediator<Certificate>* m, const QString& path); @@ -51,7 +51,7 @@ private: virtual QVector<Certificate*> items() const override; }; -class BackgroundLoader : public QThread +class BackgroundLoader final : public QThread { Q_OBJECT public: diff --git a/src/keyexchangemodel.cpp b/src/keyexchangemodel.cpp index bffc2b872f9a623ac448d50e3aa21960a8a229cf..165fc83622d4fef5ea14db842f8ecd56cbd34932 100644 --- a/src/keyexchangemodel.cpp +++ b/src/keyexchangemodel.cpp @@ -29,7 +29,7 @@ #include "private/account_p.h" #include "private/matrixutils.h" -class KeyExchangeModelPrivate : public QObject +class KeyExchangeModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/localbookmarkcollection.cpp b/src/localbookmarkcollection.cpp index b89404ebb153ef662a16b7b7914262a3fae2ddfa..3a7c9ab84e0e52aa49759679d9d3cc90a9c06d38 100644 --- a/src/localbookmarkcollection.cpp +++ b/src/localbookmarkcollection.cpp @@ -49,7 +49,7 @@ namespace Serializable { }; } -class LocalBookmarkEditor : public CollectionEditor<ContactMethod> +class LocalBookmarkEditor final : public CollectionEditor<ContactMethod> { public: LocalBookmarkEditor(CollectionMediator<ContactMethod>* m) diff --git a/src/localmacrocollection.cpp b/src/localmacrocollection.cpp index 63afcddfdc26c8a30962ff358c2d30cd0308eeef..6a2fcc1a013d785071216682a699c75d809ee703 100644 --- a/src/localmacrocollection.cpp +++ b/src/localmacrocollection.cpp @@ -42,7 +42,7 @@ namespace Serializable { }; } -class LocalMacroEditor : public CollectionEditor<Macro> +class LocalMacroEditor final : public CollectionEditor<Macro> { public: LocalMacroEditor(CollectionMediator<Macro>* m) : CollectionEditor<Macro>(m),m_Tracked(false) {} diff --git a/src/localrecordingcollection.cpp b/src/localrecordingcollection.cpp index 45bf41adbd7bfea650097dd6be9790a37a326fd2..fb6d1b3c7eb3df68c30b6388ee9f06e85d7ccd8d 100644 --- a/src/localrecordingcollection.cpp +++ b/src/localrecordingcollection.cpp @@ -22,7 +22,7 @@ #include <media/recording.h> #include <media/avrecording.h> -class LocalRecordingEditor : public CollectionEditor<Media::Recording> +class LocalRecordingEditor final : public CollectionEditor<Media::Recording> { public: LocalRecordingEditor(CollectionMediator<Media::Recording>* m) : CollectionEditor<Media::Recording>(m) {} diff --git a/src/localringtonecollection.cpp b/src/localringtonecollection.cpp index 319a43adf594d46d55af13dff4edafb99e3374e9..60f36c6c53fed97bbf7ea339015dfef5779efa43 100644 --- a/src/localringtonecollection.cpp +++ b/src/localringtonecollection.cpp @@ -44,7 +44,7 @@ namespace Serializable { }; } -class LocalRingtoneEditor : public CollectionEditor<Ringtone> +class LocalRingtoneEditor final : public CollectionEditor<Ringtone> { public: LocalRingtoneEditor(CollectionMediator<Ringtone>* m) diff --git a/src/localtextrecordingcollection.cpp b/src/localtextrecordingcollection.cpp index 582b58c5cd319e5e9a23c3dd52ea4f37237500c0..586b569e5bf1dc4fa579aa7fd95b9746b5328b90 100644 --- a/src/localtextrecordingcollection.cpp +++ b/src/localtextrecordingcollection.cpp @@ -44,7 +44,7 @@ * concatenated then hashed in sha1 again. */ -class LocalTextRecordingEditor : public CollectionEditor<Media::Recording> +class LocalTextRecordingEditor final : public CollectionEditor<Media::Recording> { public: LocalTextRecordingEditor(CollectionMediator<Media::Recording>* m) : CollectionEditor<Media::Recording>(m) {} diff --git a/src/media/avrecording.cpp b/src/media/avrecording.cpp index cff4c3618dc24bebef3dc6e67dfa71bf6ebe0c05..e1476a7eda87213686e1050c2b98b9faa7672a5b 100644 --- a/src/media/avrecording.cpp +++ b/src/media/avrecording.cpp @@ -243,7 +243,7 @@ void Media::AVRecordingPrivate::notifySeek(int position, int size) //Update the metadata m_Duration = size/1000; m_Position = ((double)position)/((double)size); - m_Elapsed = m_Duration * m_Position; + m_Elapsed = m_Duration * static_cast<int>(m_Position); m_Left = m_Duration - m_Elapsed ; if (oldDuration != m_Duration) diff --git a/src/networkinterfacemodel.cpp b/src/networkinterfacemodel.cpp index 0c5477c350a3ff03e5363e4ccd38e6046daa2fd6..afa3edb12f5b6df03a40e9e46abfc7ee6195e77e 100644 --- a/src/networkinterfacemodel.cpp +++ b/src/networkinterfacemodel.cpp @@ -29,7 +29,7 @@ #include <account.h> #include <private/account_p.h> -class NetworkInterfaceModelPrivate : public QObject { +class NetworkInterfaceModelPrivate final : public QObject { Q_OBJECT public: NetworkInterfaceModelPrivate(NetworkInterfaceModel*); diff --git a/src/numbercompletionmodel.cpp b/src/numbercompletionmodel.cpp index 0133f90314f22ff05c0a0751094151d82a5c612c..36969a2639db7f8e38f744930730bd3521ffe554 100644 --- a/src/numbercompletionmodel.cpp +++ b/src/numbercompletionmodel.cpp @@ -42,7 +42,7 @@ //Private #include "private/phonedirectorymodel_p.h" -class NumberCompletionModelPrivate : public QObject +class NumberCompletionModelPrivate final : public QObject { Q_OBJECT public: @@ -442,7 +442,7 @@ void NumberCompletionModelPrivate::getRange(QMap<QString,NumberWrapper*> map, co endOk = (iEnd.key().left(prefixLen) == pref); - size = ::ceil(size/2.0f); + size = ::ceil((static_cast<float>(size))/2.0f); } while (iBeg.key().left(prefixLen) != pref && iBeg != map.end() && iBeg != iEnd) diff --git a/src/personmodel.cpp b/src/personmodel.cpp index 7448cd968d2a0c49443391e35375a0fe8135a3fa..bae49494ae40c87223e819f29f8fe4842cea89c6 100644 --- a/src/personmodel.cpp +++ b/src/personmodel.cpp @@ -57,7 +57,7 @@ public: }; -class PersonModelPrivate : public QObject +class PersonModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/account_p.h b/src/private/account_p.h index ea5b4252ce0bc0a5f680d6d449b737f721d29caf..0c9eb29c80d46a62d82ff8b6ccba33c381596054 100644 --- a/src/private/account_p.h +++ b/src/private/account_p.h @@ -37,7 +37,7 @@ class BootstrapModel; typedef void (AccountPrivate::*account_function)(); -class AccountPrivate : public QObject +class AccountPrivate final : public QObject { public: Q_OBJECT diff --git a/src/private/accountmodel_p.h b/src/private/accountmodel_p.h index b56e79fc8185b247957a3f2bbb050986e1c0ccdf..9bae7dc0601b44654d7f4a1037227c4bd62d1cb1 100644 --- a/src/private/accountmodel_p.h +++ b/src/private/accountmodel_p.h @@ -31,7 +31,7 @@ class AccountListColorDelegate; class ProtocolModel; class QItemSelectionModel; -class AccountModelPrivate : public QObject +class AccountModelPrivate final : public QObject { Q_OBJECT Q_DECLARE_PUBLIC(AccountModel) diff --git a/src/private/call_p.h b/src/private/call_p.h index 7dabbd5383e88226fed673d5e366faaeea06205e..19d5b73254260e4142e395523f1a0df434850da1 100644 --- a/src/private/call_p.h +++ b/src/private/call_p.h @@ -43,7 +43,7 @@ namespace Media { class Recording; } -class CallPrivate : public QObject +class CallPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/collectionmodel_p.h b/src/private/collectionmodel_p.h index 15ddcb118cd8f8b41c2d39e06f821d994aea79cd..f9d41bba7ba9c8317805066efe76fcab579a26aa 100644 --- a/src/private/collectionmodel_p.h +++ b/src/private/collectionmodel_p.h @@ -31,7 +31,7 @@ class CollectionExtensionInterface; class CollectionConfigurationInterface; class CollectionCreationInterface; -class CollectionModelPrivate : public QObject +class CollectionModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/directrenderer.h b/src/private/directrenderer.h index db6a2d99dfc528d24a4acb5dbfffa3b55d7d8904..2c1b8eab180de1c8c317225d4c71a60a3b21ded7 100644 --- a/src/private/directrenderer.h +++ b/src/private/directrenderer.h @@ -36,7 +36,7 @@ namespace Video { class DirectRendererPrivate; ///Manage shared memory and convert it to QByteArray -class LIB_EXPORT DirectRenderer : public Renderer { +class LIB_EXPORT DirectRenderer final : public Renderer { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" Q_OBJECT diff --git a/src/private/imconversationmanagerprivate.h b/src/private/imconversationmanagerprivate.h index 2ba5662b6e83413b621aa372fd39833feffe415f..a87e302582075202d6c2c64e7eec8291ef60e5e9 100644 --- a/src/private/imconversationmanagerprivate.h +++ b/src/private/imconversationmanagerprivate.h @@ -30,7 +30,7 @@ namespace Media { class TextRecording; } -class IMConversationManagerPrivate : public QObject +class IMConversationManagerPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/macromodel_p.h b/src/private/macromodel_p.h index 6e5bc04ac84d5daff19f99719eaa4133f7417607..647a93a4f05beff01128f11307c675f3c2e33330 100644 --- a/src/private/macromodel_p.h +++ b/src/private/macromodel_p.h @@ -20,7 +20,7 @@ #include <macromodel.h> -class MacroModelPrivate : public QObject +class MacroModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/phonedirectorymodel_p.h b/src/private/phonedirectorymodel_p.h index 0a66230a88a88c96b8cb4a8ab56c86687b9ebe90..62d676419c4e68106c4110af032e97d30e7f6549 100644 --- a/src/private/phonedirectorymodel_p.h +++ b/src/private/phonedirectorymodel_p.h @@ -29,7 +29,7 @@ struct NumberWrapper { QVector<ContactMethod*> numbers; }; -class PhoneDirectoryModelPrivate : public QObject +class PhoneDirectoryModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/securityevaluationmodel_p.h b/src/private/securityevaluationmodel_p.h index 0f83788fa45947ae9d55d2625ab6caf0334d6bff..bced20b688a62991b781ae043aeea489fbcc5147 100644 --- a/src/private/securityevaluationmodel_p.h +++ b/src/private/securityevaluationmodel_p.h @@ -26,7 +26,7 @@ class Certificate; #include "private/matrixutils.h" #include <securityevaluationmodel.h> -class SecurityEvaluationModelPrivate : public QObject +class SecurityEvaluationModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/securityflaw_p.h b/src/private/securityflaw_p.h index 38ff04a74d7a34885cb3fc18a8b2bd514fbf11af..710cc1d0e6833c7f2ff0da4c527bdc914c14f76f 100644 --- a/src/private/securityflaw_p.h +++ b/src/private/securityflaw_p.h @@ -23,7 +23,7 @@ #include "securityevaluationmodel.h" class SecurityFlaw; -class SecurityFlawPrivate : public QObject +class SecurityFlawPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/shmrenderer.cpp b/src/private/shmrenderer.cpp index 1b8e61ba8d3ea71a010103e255fb45bb26ef2b7b..bdc675abf374ecb6ec5ed1cb209c8e97a7a2808d 100644 --- a/src/private/shmrenderer.cpp +++ b/src/private/shmrenderer.cpp @@ -70,7 +70,7 @@ struct SHMHeader { namespace Video { -class ShmRendererPrivate : public QObject +class ShmRendererPrivate final : public QObject { Q_OBJECT diff --git a/src/private/shmrenderer.h b/src/private/shmrenderer.h index 63e042d209db3533dddd353ae8996752baaa376b..0eef717a0756b059a5598daff296960731e9a2ac 100644 --- a/src/private/shmrenderer.h +++ b/src/private/shmrenderer.h @@ -36,7 +36,7 @@ namespace Video { class ShmRendererPrivate; ///Manage shared memory and convert it to QByteArray -class LIB_EXPORT ShmRenderer : public Renderer { +class LIB_EXPORT ShmRenderer final : public Renderer { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" Q_OBJECT @@ -66,8 +66,8 @@ private: Q_DECLARE_PRIVATE(ShmRenderer) public Q_SLOTS: - void startRendering(); - void stopRendering (); + void startRendering() override; + void stopRendering () override; }; } diff --git a/src/private/textrecording_p.h b/src/private/textrecording_p.h index cb03f423c732559b37b818cbf384d8b877babb11..868c6d30a48bbbdf44c61c0c1b7e085292e4279b 100644 --- a/src/private/textrecording_p.h +++ b/src/private/textrecording_p.h @@ -162,7 +162,7 @@ struct TextMessageNode }; ///Model for the Instant Messaging (IM) features -class InstantMessagingModel : public QAbstractListModel +class InstantMessagingModel final : public QAbstractListModel { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" diff --git a/src/private/videodevice_p.h b/src/private/videodevice_p.h index 1fb46a00cb35a2cf9cccf5164a7e9b148a927cef..f003a855ce8faa1ae4f02038f1ca6e6a5cd8db41 100644 --- a/src/private/videodevice_p.h +++ b/src/private/videodevice_p.h @@ -26,7 +26,7 @@ namespace Video { class Device; } -class VideoDevicePrivate : public QObject +class VideoDevicePrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/videorenderer_p.h b/src/private/videorenderer_p.h index 27d574ee569cc5b4f885b76abc8207a76d7cf214..e78887066c43c64ea1a3da06b30b8ed8d74f127f 100644 --- a/src/private/videorenderer_p.h +++ b/src/private/videorenderer_p.h @@ -30,7 +30,7 @@ namespace Video { class Renderer; -class RendererPrivate : public QObject +class RendererPrivate final : public QObject { Q_OBJECT public: diff --git a/src/private/videorenderermanager.cpp b/src/private/videorenderermanager.cpp index 50d55938e6f225fff0787a3b64d96fe5482c669b..cf6d09b61126b72aea3a32a88dc14f1cb00d91bb 100644 --- a/src/private/videorenderermanager.cpp +++ b/src/private/videorenderermanager.cpp @@ -48,7 +48,7 @@ constexpr static const char PREVIEW_RENDERER_ID[] = "local"; //Static member VideoRendererManager* VideoRendererManager::m_spInstance = nullptr; -class VideoRendererManagerPrivate : public QObject +class VideoRendererManagerPrivate final : public QObject { Q_OBJECT diff --git a/src/private/videorenderermanager.h b/src/private/videorenderermanager.h index 2cf14aedb4ec1599aba3fa61ec0c913936f5bbb1..07133d4889ea2d661241cc30f17f7810c697243e 100644 --- a/src/private/videorenderermanager.h +++ b/src/private/videorenderermanager.h @@ -37,7 +37,7 @@ struct SHMHeader; class VideoRendererManagerPrivate; ///VideoModel: Video event dispatcher -class VideoRendererManager : public QObject +class VideoRendererManager final : public QObject { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" diff --git a/src/profilemodel.cpp b/src/profilemodel.cpp index 226e300466b196af9449dbe88641ccf9cf87b322..8987b58530b45db9b1db4a6692eee73a5fea4c5e 100644 --- a/src/profilemodel.cpp +++ b/src/profilemodel.cpp @@ -45,7 +45,7 @@ class Person; class Account; struct Node; -class ProfileEditor : public CollectionEditor<Person> +class ProfileEditor final : public CollectionEditor<Person> { public: ProfileEditor(CollectionMediator<Person>* m) : CollectionEditor<Person>(m) {} @@ -67,7 +67,7 @@ private: }; ///ProfileContentBackend: Implement a backend for Profiles -class ProfileContentBackend : public QObject, public CollectionInterface { +class ProfileContentBackend final : public QObject, public CollectionInterface { Q_OBJECT public: template<typename T> @@ -479,7 +479,7 @@ ProfileModel* ProfileModel::instance() return m_spInstance; } -class ProfileModelPrivate : public QObject { +class ProfileModelPrivate final : public QObject { Q_OBJECT public: ProfileModelPrivate(ProfileModel* parent); diff --git a/src/protocolmodel.cpp b/src/protocolmodel.cpp index 56b01d9875b0d7100c5ad5ee029e87fc9cc57f21..fea3a40a342aa89b6d2e01432402e659ad3e414b 100644 --- a/src/protocolmodel.cpp +++ b/src/protocolmodel.cpp @@ -28,7 +28,8 @@ #include <account.h> #include <private/account_p.h> -class ProtocolModelPrivate : public QObject { +class ProtocolModelPrivate final : public QObject +{ Q_OBJECT public: diff --git a/src/ringtonemodel.cpp b/src/ringtonemodel.cpp index 1befec561b8c6f0511040a7c26e84c67c20920f5..d8568aacf261ddf86f9bdeba93b3e6c80fbfee69 100644 --- a/src/ringtonemodel.cpp +++ b/src/ringtonemodel.cpp @@ -31,7 +31,7 @@ #include "ringtone.h" #include <localringtonecollection.h> -class RingtoneModelPrivate : public QObject +class RingtoneModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/tlsmethodmodel.cpp b/src/tlsmethodmodel.cpp index 028b08ec014658114e85abc8819d09770d4c3072..6d2aee2d427cf345229baa87ccd4be77cde74ee4 100644 --- a/src/tlsmethodmodel.cpp +++ b/src/tlsmethodmodel.cpp @@ -28,7 +28,7 @@ #include <account.h> #include <private/account_p.h> -class TlsMethodModelPrivate : public QObject { +class TlsMethodModelPrivate final : public QObject { Q_OBJECT public: diff --git a/src/transitionalpersonbackend.cpp b/src/transitionalpersonbackend.cpp index 9200b95e2633f8f7c96a6130ff6cae9fe3f00cd6..bac6cb9e8ae5e39eeab0df45964caaf190c6f904 100644 --- a/src/transitionalpersonbackend.cpp +++ b/src/transitionalpersonbackend.cpp @@ -27,7 +27,7 @@ class TransitionalPersonBackendPrivate }; -class TransitionalPersonEditor : public CollectionEditor<Person> +class TransitionalPersonEditor final : public CollectionEditor<Person> { public: TransitionalPersonEditor(CollectionMediator<Person>* m) : CollectionEditor<Person>(m) {} diff --git a/src/useractionmodel.cpp b/src/useractionmodel.cpp index 3d39accfec6f5e892bca580f6526e652fe0f9238..5ec9c2f7050fc078d2146b708c8550b14defee78 100644 --- a/src/useractionmodel.cpp +++ b/src/useractionmodel.cpp @@ -41,7 +41,7 @@ public: virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const override; }; -class UserActionModelPrivate : public QObject +class UserActionModelPrivate final : public QObject { Q_OBJECT public: