diff --git a/CMakeLists.txt b/CMakeLists.txt
index f1ccd5302c5525ad6dbe1b0a055968c012036b28..c5543b4926d12ce770baf748257515d13d0e88c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,9 @@ set(QML_LIBS
     Qt5::DBus
     Qt5::Core)
 
+# library compatibility (boost, libnotify, etc.)
+add_definitions(-DQT_NO_KEYWORDS)
+
 set(COMMON_SOURCES
     ${SRC_DIR}/bannedlistmodel.cpp
     ${SRC_DIR}/accountlistmodel.cpp
diff --git a/jami-qt.pro b/jami-qt.pro
index 6ed6cdf96f6c0ce58f50a8fdafd146557ee98386..09a93f90c2b11ed3b005e244dcef90440bcda097 100644
--- a/jami-qt.pro
+++ b/jami-qt.pro
@@ -6,6 +6,9 @@ win32-msvc {
 
     CONFIG += suppress_vcproj_warnings c++17 qtquickcompiler
 
+    # library compatibility (boost, libnotify, etc.)
+    CONFIG += no_keywords
+
     QTQUICK_COMPILER_SKIPPED_RESOURCES += resources.qrc
 
     # compiler options
diff --git a/src/abstractitemmodelbase.h b/src/abstractitemmodelbase.h
index f073ef9b3c672ee9b9cc1d7472e26752263bdb78..92b055ce039c05e13a23e77a2bbf9c9fd15393c4 100644
--- a/src/abstractitemmodelbase.h
+++ b/src/abstractitemmodelbase.h
@@ -32,7 +32,7 @@ public:
         : QAbstractListModel(parent) {};
     ~AbstractListModelBase() = default;
 
-signals:
+Q_SIGNALS:
     void lrcInstanceChanged();
 
 protected:
diff --git a/src/accountadapter.cpp b/src/accountadapter.cpp
index eef1d08877f33c3ecf7670ac163a4817a4900c1a..de7b6758d5f0a05191d545f1f54f043b803a42a5 100644
--- a/src/accountadapter.cpp
+++ b/src/accountadapter.cpp
@@ -79,13 +79,13 @@ AccountAdapter::connectFailure()
                           &lrc::api::NewAccountModel::accountRemoved,
                           [this](const QString& accountId) {
                               Q_UNUSED(accountId);
-                              emit reportFailure();
+                              Q_EMIT reportFailure();
                           });
     Utils::oneShotConnect(&lrcInstance_->accountModel(),
                           &lrc::api::NewAccountModel::invalidAccountDetected,
                           [this](const QString& accountId) {
                               Q_UNUSED(accountId);
-                              emit reportFailure();
+                              Q_EMIT reportFailure();
                           });
 }
 
@@ -113,8 +113,8 @@ AccountAdapter::createJamiAccount(QString registeredName,
                     &lrc::api::NewAccountModel::profileUpdated,
                     [this, showBackup, addedAccountId = accountId](const QString& accountId) {
                         if (addedAccountId == accountId) {
-                            emit lrcInstance_->accountListChanged();
-                            emit accountAdded(accountId,
+                            Q_EMIT lrcInstance_->accountListChanged();
+                            Q_EMIT accountAdded(accountId,
                                               showBackup,
                                               lrcInstance_->accountModel().getAccountList().indexOf(
                                                   accountId));
@@ -126,8 +126,8 @@ AccountAdapter::createJamiAccount(QString registeredName,
                                                           settings["password"].toString(),
                                                           registeredName);
             } else {
-                emit lrcInstance_->accountListChanged();
-                emit accountAdded(accountId,
+                Q_EMIT lrcInstance_->accountListChanged();
+                Q_EMIT accountAdded(accountId,
                                   showBackup,
                                   lrcInstance_->accountModel().getAccountList().indexOf(accountId));
             }
@@ -161,8 +161,8 @@ AccountAdapter::createSIPAccount(const QVariantMap& settings)
                               confProps.Ringtone.ringtonePath = Utils::GetRingtonePath();
                               lrcInstance_->accountModel().setAccountConfig(accountId, confProps);
 
-                              emit lrcInstance_->accountListChanged();
-                              emit accountAdded(accountId,
+                              Q_EMIT lrcInstance_->accountListChanged();
+                              Q_EMIT accountAdded(accountId,
                                                 false,
                                                 lrcInstance_->accountModel().getAccountList().indexOf(
                                                     accountId));
@@ -195,11 +195,11 @@ AccountAdapter::createJAMSAccount(const QVariantMap& settings)
                               confProps.Ringtone.ringtonePath = Utils::GetRingtonePath();
                               lrcInstance_->accountModel().setAccountConfig(accountId, confProps);
 
-                              emit accountAdded(accountId,
+                              Q_EMIT accountAdded(accountId,
                                                 false,
                                                 lrcInstance_->accountModel().getAccountList().indexOf(
                                                     accountId));
-                              emit lrcInstance_->accountListChanged();
+                              Q_EMIT lrcInstance_->accountListChanged();
                           });
 
     connectFailure();
@@ -215,7 +215,7 @@ void
 AccountAdapter::deleteCurrentAccount()
 {
     lrcInstance_->accountModel().removeAccount(lrcInstance_->getCurrAccId());
-    emit lrcInstance_->accountListChanged();
+    Q_EMIT lrcInstance_->accountListChanged();
 }
 
 bool
@@ -368,14 +368,14 @@ AccountAdapter::connectAccount(const QString& accountId)
             = QObject::connect(accInfo.accountModel,
                                &lrc::api::NewAccountModel::accountStatusChanged,
                                [this](const QString& accountId) {
-                                   emit accountStatusChanged(accountId);
+                                   Q_EMIT accountStatusChanged(accountId);
                                });
 
         accountProfileUpdatedConnection_
             = QObject::connect(accInfo.accountModel,
                                &lrc::api::NewAccountModel::profileUpdated,
                                [this](const QString& accountId) {
-                                   emit accountStatusChanged(accountId);
+                                   Q_EMIT accountStatusChanged(accountId);
                                });
 
         contactAddedConnection_
@@ -396,7 +396,7 @@ AccountAdapter::connectAccount(const QString& accountId)
                                        /*
                                         * Update conversation.
                                         */
-                                       emit updateConversationForAddedContact();
+                                       Q_EMIT updateConversationForAddedContact();
                                    }
                                });
 
@@ -413,7 +413,7 @@ AccountAdapter::connectAccount(const QString& accountId)
                                                       [this](const QString& contactUri,
                                                              bool banned) {
                                                           if (!banned)
-                                                              emit contactUnbanned();
+                                                              Q_EMIT contactUnbanned();
                                                       });
     } catch (...) {
         qWarning() << "Couldn't get account: " << accountId;
@@ -426,5 +426,5 @@ AccountAdapter::setProperties(const QString& accountId)
     setProperty("currentAccountId", accountId);
     auto accountType = lrcInstance_->getAccountInfo(accountId).profileInfo.type;
     setProperty("currentAccountType", lrc::api::profile::to_string(accountType));
-    emit deviceModelChanged();
+    Q_EMIT deviceModelChanged();
 }
diff --git a/src/accountadapter.h b/src/accountadapter.h
index 3739b369aedc6be712c2b76556ff1f559d9138c2..72042f878b312d157a585dbe7cf566c111540e34 100644
--- a/src/accountadapter.h
+++ b/src/accountadapter.h
@@ -44,7 +44,7 @@ public:
     lrc::api::NewAccountModel* getModel();
     lrc::api::NewDeviceModel* getDeviceModel();
 
-signals:
+Q_SIGNALS:
     void modelChanged();
     void deviceModelChanged();
     void currentAccountIdChanged();
@@ -100,7 +100,7 @@ public:
 
     Q_INVOKABLE void setCurrAccAvatar(bool fromFile, const QString& source);
 
-signals:
+Q_SIGNALS:
     // Trigger other components to reconnect account related signals.
     void accountStatusChanged(QString accountId = {});
 
@@ -111,7 +111,7 @@ signals:
     void accountAdded(QString accountId, bool showBackUp, int index);
     void contactUnbanned();
 
-private slots:
+private Q_SLOTS:
     void onCurrentAccountChanged();
 
 private:
diff --git a/src/audiodevicemodel.h b/src/audiodevicemodel.h
index 497cc63d0bf4232dbea5891255c0a3e66c8272bc..eb8b7e14d643ab4fb1b6ae06f5b96a864ed102b7 100644
--- a/src/audiodevicemodel.h
+++ b/src/audiodevicemodel.h
@@ -31,7 +31,7 @@ public:
     enum Role { DeviceName = Qt::UserRole + 1, RawDeviceName };
     Q_ENUM(Role)
 
-signals:
+Q_SIGNALS:
     void typeChanged();
 
 public:
diff --git a/src/avadapter.cpp b/src/avadapter.cpp
index 1b3b6f26159f9d4733d1dc651fc465ac3ae5bcb3..1a984138ee495653cb4c3ace818cc604c40ba0a6 100644
--- a/src/avadapter.cpp
+++ b/src/avadapter.cpp
@@ -127,7 +127,7 @@ AvAdapter::captureScreen(int screenNumber)
         buffer.open(QIODevice::WriteOnly);
         pixmap.save(&buffer, "PNG");
 
-        emit screenCaptured(screenNumber, Utils::byteArrayToBase64String(buffer.data()));
+        Q_EMIT screenCaptured(screenNumber, Utils::byteArrayToBase64String(buffer.data()));
     });
 }
 
@@ -140,7 +140,7 @@ AvAdapter::captureAllScreens()
         QList<QPixmap> scrs;
         int width = 0, height = 0, currentPoint = 0;
 
-        foreach (auto scr, screens) {
+        for(auto scr : screens) {
             QPixmap pix = scr->grabWindow(0);
             width += pix.width();
             if (height < pix.height())
@@ -152,7 +152,7 @@ AvAdapter::captureAllScreens()
         QPainter painter(&final);
         final.fill(Qt::black);
 
-        foreach (auto scr, scrs) {
+        for(auto scr : scrs) {
             painter.drawPixmap(QPoint(currentPoint, 0), scr);
             currentPoint += scr.width();
         }
@@ -160,7 +160,7 @@ AvAdapter::captureAllScreens()
         QBuffer buffer;
         buffer.open(QIODevice::WriteOnly);
         final.save(&buffer, "PNG");
-        emit screenCaptured(-1, Utils::byteArrayToBase64String(buffer.data()));
+        Q_EMIT screenCaptured(-1, Utils::byteArrayToBase64String(buffer.data()));
     });
 }
 
@@ -276,7 +276,7 @@ AvAdapter::slotDeviceEvent()
         }
     }
 
-    emit videoDeviceListChanged(currentDeviceListSize == 0);
+    Q_EMIT videoDeviceListChanged(currentDeviceListSize == 0);
 
     deviceListSize_ = currentDeviceListSize;
 }
diff --git a/src/avadapter.h b/src/avadapter.h
index 58e246b46ea6b749c1d247fe6eb59107d8f1c4d2..953eb14f3e36e35298b798081d50138b4c66da5a 100644
--- a/src/avadapter.h
+++ b/src/avadapter.h
@@ -32,7 +32,7 @@ public:
     explicit AvAdapter(LRCInstance* instance, QObject* parent = nullptr);
     ~AvAdapter() = default;
 
-signals:
+Q_SIGNALS:
 
     // Emitted when the size of the video capture device list changes.
     void videoDeviceListChanged(bool listIsEmpty);
diff --git a/src/calladapter.cpp b/src/calladapter.cpp
index 67236bc54d0d56982242f34909b217a3430c2963..02a399c79d850fd386f7201d56c5023e99581731 100644
--- a/src/calladapter.cpp
+++ b/src/calladapter.cpp
@@ -145,8 +145,8 @@ CallAdapter::onShowIncomingCallView(const QString& accountId, const QString& con
                 return;
             }
         }
-        emit callSetupMainViewRequired(accountId, convInfo.uid);
-        emit lrcInstance_->updateSmartList();
+        Q_EMIT callSetupMainViewRequired(accountId, convInfo.uid);
+        Q_EMIT lrcInstance_->updateSmartList();
         return;
     }
 
@@ -155,7 +155,7 @@ CallAdapter::onShowIncomingCallView(const QString& accountId, const QString& con
 
     if (call.isOutgoing) {
         if (isCallSelected) {
-            emit callSetupMainViewRequired(accountId, convInfo.uid);
+            Q_EMIT callSetupMainViewRequired(accountId, convInfo.uid);
         }
     } else {
         auto accountProperties = lrcInstance_->accountModel().getAccountConfig(selectedAccountId);
@@ -180,10 +180,10 @@ CallAdapter::onShowIncomingCallView(const QString& accountId, const QString& con
                         showNotification(accountId, convInfo.uid);
                         return;
                     } else {
-                        emit callSetupMainViewRequired(accountId, convInfo.uid);
+                        Q_EMIT callSetupMainViewRequired(accountId, convInfo.uid);
                     }
                 } else {
-                    emit callSetupMainViewRequired(accountId, convInfo.uid);
+                    Q_EMIT callSetupMainViewRequired(accountId, convInfo.uid);
                 }
             } else { // Not current conversation
                 if (currentConvHasCall) {
@@ -195,12 +195,12 @@ CallAdapter::onShowIncomingCallView(const QString& accountId, const QString& con
                         return;
                     }
                 }
-                emit callSetupMainViewRequired(accountId, convInfo.uid);
+                Q_EMIT callSetupMainViewRequired(accountId, convInfo.uid);
             }
         }
     }
-    emit callStatusChanged(static_cast<int>(call.status), accountId, convInfo.uid);
-    emit lrcInstance_->updateSmartList();
+    Q_EMIT callStatusChanged(static_cast<int>(call.status), accountId, convInfo.uid);
+    Q_EMIT lrcInstance_->updateSmartList();
 }
 
 void
@@ -212,7 +212,7 @@ CallAdapter::onShowCallView(const QString& accountId, const QString& convUid)
     }
 
     updateCall(convInfo.uid, accountId);
-    emit callSetupMainViewRequired(accountId, convInfo.uid);
+    Q_EMIT callSetupMainViewRequired(accountId, convInfo.uid);
 }
 
 void
@@ -232,7 +232,7 @@ CallAdapter::updateCall(const QString& convUid, const QString& accountId, bool f
     }
 
     updateCallOverlay(convInfo);
-    emit previewVisibilityNeedToChange(shouldShowPreview(forceCallOnly));
+    Q_EMIT previewVisibilityNeedToChange(shouldShowPreview(forceCallOnly));
 
     if (call->status == lrc::api::call::Status::IN_PROGRESS) {
         lrcInstance_->renderer()->addDistantRenderer(call->id);
@@ -334,10 +334,10 @@ CallAdapter::showNotification(const QString& accountId, const QString& convUid)
         if (convInfo.uid.isEmpty()) {
             return;
         }
-        emit lrcInstance_->notificationClicked();
-        emit callSetupMainViewRequired(convInfo.accountId, convInfo.uid);
+        Q_EMIT lrcInstance_->notificationClicked();
+        Q_EMIT callSetupMainViewRequired(convInfo.accountId, convInfo.uid);
     };
-    emit lrcInstance_->updateSmartList();
+    Q_EMIT lrcInstance_->updateSmartList();
     systemTray_->showNotification(tr("is calling you"), from, onClicked);
 }
 
@@ -366,7 +366,7 @@ CallAdapter::connectCallModel(const QString& accountId)
                                        map.push_back(QVariant(data));
                                        updateCallOverlay(convInfo);
                                    }
-                                   emit updateParticipantsInfos(map, accountId, confId);
+                                   Q_EMIT updateParticipantsInfos(map, accountId, confId);
                                }
                            });
 
@@ -383,7 +383,7 @@ CallAdapter::connectCallModel(const QString& accountId)
              */
             const auto& convInfo = lrcInstance_->getConversationFromCallId(callId);
             if (!convInfo.uid.isEmpty()) {
-                emit callStatusChanged(static_cast<int>(call.status), accountId, convInfo.uid);
+                Q_EMIT callStatusChanged(static_cast<int>(call.status), accountId, convInfo.uid);
                 updateCallOverlay(convInfo);
             }
 
@@ -395,7 +395,7 @@ CallAdapter::connectCallModel(const QString& accountId)
             case lrc::api::call::Status::TIMEOUT:
             case lrc::api::call::Status::TERMINATING: {
                 lrcInstance_->renderer()->removeDistantRenderer(callId);
-                emit callSetupMainViewRequired(accountId, convInfo.uid);
+                Q_EMIT callSetupMainViewRequired(accountId, convInfo.uid);
                 if (convInfo.uid.isEmpty()) {
                     break;
                 }
@@ -472,9 +472,9 @@ CallAdapter::connectCallModel(const QString& accountId)
                     }
                 }
                 if (!peers.isEmpty()) {
-                    emit remoteRecordingChanged(peers, true);
+                    Q_EMIT remoteRecordingChanged(peers, true);
                 } else if (!state) {
-                    emit remoteRecordingChanged(peers, false);
+                    Q_EMIT remoteRecordingChanged(peers, false);
                 }
             }
         });
@@ -517,7 +517,7 @@ CallAdapter::updateCallOverlay(const lrc::api::conversation::Info& convInfo)
                         ? QString()
                         : accInfo.contactModel->bestNameForContact(convInfo.participants[0]);
 
-    emit updateOverlay(isPaused,
+    Q_EMIT updateOverlay(isPaused,
                        isAudioOnly,
                        isAudioMuted,
                        isVideoMuted,
@@ -812,7 +812,7 @@ CallAdapter::holdThisCallToggle()
     if (callModel->hasCall(callId)) {
         callModel->togglePause(callId);
     }
-    emit showOnHoldLabel(true);
+    Q_EMIT showOnHoldLabel(true);
 }
 
 void
@@ -852,7 +852,7 @@ CallAdapter::videoPauseThisCallToggle()
     if (callModel->hasCall(callId)) {
         callModel->toggleMedia(callId, lrc::api::NewCallModel::Media::VIDEO);
     }
-    emit previewVisibilityNeedToChange(shouldShowPreview(false));
+    Q_EMIT previewVisibilityNeedToChange(shouldShowPreview(false));
 }
 
 void
@@ -866,7 +866,7 @@ CallAdapter::setTime(const QString& accountId, const QString& convUid)
     if (callInfo.status == lrc::api::call::Status::IN_PROGRESS
         || callInfo.status == lrc::api::call::Status::PAUSED) {
         auto timeString = lrcInstance_->getCurrentCallModel()->getFormattedCallDuration(callId);
-        emit updateTimeText(timeString);
+        Q_EMIT updateTimeText(timeString);
     }
 }
 
diff --git a/src/calladapter.h b/src/calladapter.h
index 0a3ada3605dcda274780eb10b2e6943d9d4c7ee7..0ddd9c2cbfefa3e4827cc172eb52c953eaa7e408 100644
--- a/src/calladapter.h
+++ b/src/calladapter.h
@@ -77,7 +77,7 @@ public:
                                 const QString& accountId = {},
                                 bool forceCallOnly = false);
 
-signals:
+Q_SIGNALS:
     void callStatusChanged(int index, const QString& accountId, const QString& convUid);
     void updateConversationSmartList();
     void updateParticipantsInfos(const QVariantList& infos,
@@ -99,7 +99,7 @@ signals:
                        const QString& bestName);
     void remoteRecordingChanged(const QStringList& peers, bool state);
 
-public slots:
+public Q_SLOTS:
     void onShowIncomingCallView(const QString& accountId, const QString& convUid);
     void onShowCallView(const QString& accountId, const QString& convUid);
     void onAccountChanged();
diff --git a/src/connectivitymonitor.cpp b/src/connectivitymonitor.cpp
index 0fffff947dfa3abdaf8d17bb31d19baa04efb878..ec31fca0dff4b3e96b44f777895dd4b9775a65e5 100644
--- a/src/connectivitymonitor.cpp
+++ b/src/connectivitymonitor.cpp
@@ -119,7 +119,7 @@ ConnectivityMonitor::ConnectivityMonitor(QObject* parent)
     if (SUCCEEDED(hr)) {
         cookie_ = NULL;
         netEventHandler_ = new NetworkEventHandler;
-        netEventHandler_->setOnConnectivityChangedCallBack([this] { emit connectivityChanged(); });
+        netEventHandler_->setOnConnectivityChangedCallBack([this] { Q_EMIT connectivityChanged(); });
         hr = pConnectPoint_->Advise((IUnknown*) netEventHandler_, &cookie_);
     } else {
         destroy();
diff --git a/src/connectivitymonitor.h b/src/connectivitymonitor.h
index 2735d826f0fed9b1f50876ac64c2ef7556226205..b091949b10fc2bb4f967c44757f621b0e69efe4f 100644
--- a/src/connectivitymonitor.h
+++ b/src/connectivitymonitor.h
@@ -30,7 +30,7 @@ public:
 
     bool isOnline();
 
-signals:
+Q_SIGNALS:
     void connectivityChanged();
 
 private:
@@ -55,7 +55,7 @@ public:
 
     bool isOnline();
 
-signals:
+Q_SIGNALS:
     void connectivityChanged();
 };
 #endif // Q_OS_WIN
diff --git a/src/contactadapter.cpp b/src/contactadapter.cpp
index 1d8f712ce9c3fd8a17a36678487153f0f66577f2..67880a2f4d8699d6055254b8d21869e417bd09d1 100644
--- a/src/contactadapter.cpp
+++ b/src/contactadapter.cpp
@@ -178,7 +178,7 @@ ContactAdapter::contactSelected(int index)
             lrcInstance_->accountModel().setDefaultModerator(lrcInstance_->getCurrAccId(),
                                                              contactUri,
                                                              true);
-            emit defaultModeratorsUpdated();
+            Q_EMIT defaultModeratorsUpdated();
 
         } break;
         default:
diff --git a/src/contactadapter.h b/src/contactadapter.h
index 5b56697ad892af80d42eb5572215aa3741981aaf..f5f30ea657c1b162154ebcf4c27efa8e19d2c1f8 100644
--- a/src/contactadapter.h
+++ b/src/contactadapter.h
@@ -88,6 +88,6 @@ private:
 
     QStringList defaultModerators_;
 
-signals:
+Q_SIGNALS:
     void defaultModeratorsUpdated();
 };
diff --git a/src/conversationsadapter.cpp b/src/conversationsadapter.cpp
index 7e1b5a950621a68980d371da33c7265daab3d170..6f1c46ea14ff36642469151eace7e03f50d1b8e0 100644
--- a/src/conversationsadapter.cpp
+++ b/src/conversationsadapter.cpp
@@ -47,12 +47,12 @@ ConversationsAdapter::safeInit()
                                                      SmartListModel::Type::CONVERSATION,
                                                      lrcInstance_);
 
-    emit modelChanged(QVariant::fromValue(conversationSmartListModel_));
+    Q_EMIT modelChanged(QVariant::fromValue(conversationSmartListModel_));
 
     connect(&lrcInstance_->behaviorController(),
             &BehaviorController::showChatView,
             [this](const QString& accountId, const QString& convId) {
-                emit showConversation(accountId, convId);
+                Q_EMIT showConversation(accountId, convId);
             });
 
     connect(&lrcInstance_->behaviorController(),
@@ -75,7 +75,7 @@ void
 ConversationsAdapter::backToWelcomePage()
 {
     deselectConversation();
-    emit navigateToWelcomePageRequested();
+    Q_EMIT navigateToWelcomePageRequested();
 }
 
 void
@@ -115,7 +115,7 @@ ConversationsAdapter::selectConversation(const QString& accountId, const QString
     }
 
     if (!convInfo.uid.isEmpty()) {
-        emit showConversation(lrcInstance_->getCurrAccId(), convInfo.uid);
+        Q_EMIT showConversation(lrcInstance_->getCurrAccId(), convInfo.uid);
     }
 }
 
@@ -158,12 +158,12 @@ ConversationsAdapter::onNewUnreadInteraction(const QString& accountId,
         auto& accInfo = lrcInstance_->getAccountInfo(accountId);
         auto from = accInfo.contactModel->bestNameForContact(interaction.authorUri);
         auto onClicked = [this, accountId, convUid, uri = interaction.authorUri] {
-            emit lrcInstance_->notificationClicked();
+            Q_EMIT lrcInstance_->notificationClicked();
             const auto& convInfo = lrcInstance_->getConversationFromConvUid(convUid, accountId);
             if (!convInfo.uid.isEmpty()) {
                 selectConversation(accountId, convInfo.uid);
-                emit lrcInstance_->updateSmartList();
-                emit modelSorted(convInfo.uid);
+                Q_EMIT lrcInstance_->updateSmartList();
+                Q_EMIT modelSorted(convInfo.uid);
             }
         };
 
@@ -214,7 +214,7 @@ ConversationsAdapter::connectConversationModel(bool updateFilter)
                        == lrc::api::profile::Type::TEMPORARY) {
                 return;
             }
-            emit modelSorted(QVariant::fromValue(convInfo.uid));
+            Q_EMIT modelSorted(QVariant::fromValue(convInfo.uid));
         });
 
     contactProfileUpdatedConnection_
@@ -222,14 +222,14 @@ ConversationsAdapter::connectConversationModel(bool updateFilter)
                            &lrc::api::ContactModel::profileUpdated,
                            [this](const QString& contactUri) {
                                conversationSmartListModel_->updateContactAvatarUid(contactUri);
-                               emit updateListViewRequested();
+                               Q_EMIT updateListViewRequested();
                            });
 
     modelUpdatedConnection_ = QObject::connect(currentConversationModel,
                                                &lrc::api::ConversationModel::conversationUpdated,
                                                [this](const QString&) {
                                                    updateConversationsFilterWidget();
-                                                   emit updateListViewRequested();
+                                                   Q_EMIT updateListViewRequested();
                                                });
 
     filterChangedConnection_
@@ -239,8 +239,8 @@ ConversationsAdapter::connectConversationModel(bool updateFilter)
                                conversationSmartListModel_->fillConversationsList();
                                updateConversationsFilterWidget();
                                if (!lrcInstance_->getCurrentConvUid().isEmpty())
-                                   emit indexRepositionRequested();
-                               emit updateListViewRequested();
+                                   Q_EMIT indexRepositionRequested();
+                               Q_EMIT updateListViewRequested();
                            });
 
     newConversationConnection_ = QObject::connect(currentConversationModel,
@@ -271,7 +271,7 @@ ConversationsAdapter::connectConversationModel(bool updateFilter)
     searchStatusChangedConnection_
         = QObject::connect(currentConversationModel,
                            &lrc::api::ConversationModel::searchStatusChanged,
-                           [this](const QString& status) { emit showSearchStatus(status); });
+                           [this](const QString& status) { Q_EMIT showSearchStatus(status); });
 
     // This connection is ideal when separated search results list.
     // This signal is guaranteed to fire just after filterChanged during a search if results are
@@ -283,7 +283,7 @@ ConversationsAdapter::connectConversationModel(bool updateFilter)
                            &lrc::api::ConversationModel::searchResultUpdated,
                            [this]() {
                                conversationSmartListModel_->fillConversationsList();
-                               emit updateListViewRequested();
+                               Q_EMIT updateListViewRequested();
                            });
 
     if (updateFilter) {
diff --git a/src/conversationsadapter.h b/src/conversationsadapter.h
index fc3a17f8a810107c77beef4d17da3c7a4fa2f929..cb63cd06b19ba725d0852e472f5d7a84116d675c 100644
--- a/src/conversationsadapter.h
+++ b/src/conversationsadapter.h
@@ -50,7 +50,7 @@ public:
     Q_INVOKABLE void refill();
     Q_INVOKABLE void updateConversationsFilterWidget();
 
-signals:
+Q_SIGNALS:
     void showConversation(const QString& accountId, const QString& convUid);
     void showConversationTabs(bool visible);
     void showSearchStatus(const QString& status);
@@ -62,7 +62,7 @@ signals:
     void currentTypeFilterChanged();
     void indexRepositionRequested();
 
-private slots:
+private Q_SLOTS:
     void onCurrentAccountIdChanged();
     void onNewUnreadInteraction(const QString& accountId,
                                 const QString& convUid,
diff --git a/src/dbuserrorhandler.cpp b/src/dbuserrorhandler.cpp
index 33d6bf33177ea59f6c739123e8ec3981a2945254..3146f1fbfd410cc371cfcc1e875a0ada9449e442 100644
--- a/src/dbuserrorhandler.cpp
+++ b/src/dbuserrorhandler.cpp
@@ -31,12 +31,12 @@ DBusErrorHandler::errorCallback()
     qDebug() << "Dring has possibly crashed, "
                 "or has been killed... will wait 2.5 seconds and try to reconnect";
 
-    emit showDaemonReconnectPopup(true);
+    Q_EMIT showDaemonReconnectPopup(true);
 
     QTimer::singleShot(2500, [this]() {
         if ((!lrc::api::Lrc::isConnected()) || (!lrc::api::Lrc::dbusIsValid())) {
             qDebug() << "Could not reconnect to the daemon";
-            emit daemonReconnectFailed();
+            Q_EMIT daemonReconnectFailed();
         } else {
             static_cast<DBusErrorHandler&>(GlobalInstances::dBusErrorHandler())
                 .finishedHandlingError();
@@ -87,7 +87,7 @@ void
 DBusErrorHandler::finishedHandlingError()
 {
     handlingError = false;
-    emit showDaemonReconnectPopup(false);
+    Q_EMIT showDaemonReconnectPopup(false);
 }
 
 } // namespace Interfaces
diff --git a/src/dbuserrorhandler.h b/src/dbuserrorhandler.h
index 15231bc97020a38236a738779febd3c303b0dafe..02e5e18d406fbecdb5f15367aa43c3975b1463ce 100644
--- a/src/dbuserrorhandler.h
+++ b/src/dbuserrorhandler.h
@@ -37,7 +37,7 @@ public:
 
     void finishedHandlingError();
 
-signals:
+Q_SIGNALS:
     void showDaemonReconnectPopup(bool visible);
     void daemonReconnectFailed();
 
diff --git a/src/distantrenderer.cpp b/src/distantrenderer.cpp
index ca156971f7a385124e5882b54f4c4e68fc1e68dc..7969b36ca85c500eaa4e5fa2d5653e8787276b95 100644
--- a/src/distantrenderer.cpp
+++ b/src/distantrenderer.cpp
@@ -91,7 +91,7 @@ DistantRenderer::paint(QPainter* painter)
             if (tempXOffset != xOffset_ or tempYOffset != yOffset_
                 or static_cast<int>(scaledWidth_ * 1000) != tempScaledWidth
                 or static_cast<int>(scaledHeight_ * 1000) != tempScaledHeight) {
-                emit offsetChanged();
+                Q_EMIT offsetChanged();
             }
             painter->drawImage(QRect(xOffset_,
                                      yOffset_,
diff --git a/src/distantrenderer.h b/src/distantrenderer.h
index 4614c788bee82bfb32647f19d6d5d40ffc81f09d..8ff159a6118aa62685fba79380ca452ed87545a1 100644
--- a/src/distantrenderer.h
+++ b/src/distantrenderer.h
@@ -42,7 +42,7 @@ public:
     Q_INVOKABLE double getScaledWidth() const;
     Q_INVOKABLE double getScaledHeight() const;
 
-signals:
+Q_SIGNALS:
     void offsetChanged();
     void lrcInstanceChanged();
 
diff --git a/src/lrcinstance.h b/src/lrcinstance.h
index 339e7e15b6835ade3c5214b6d554005211c36cd0..a89cd77e10255b674ab3cc9e3714b9e4079aec52 100644
--- a/src/lrcinstance.h
+++ b/src/lrcinstance.h
@@ -255,7 +255,7 @@ public:
         // Last selected account should be set as preferred.
         accountModel().setTopAccount(accountId);
 
-        emit currentAccountChanged();
+        Q_EMIT currentAccountChanged();
     }
 
     const QString& getCurrentConvUid()
@@ -393,7 +393,7 @@ public:
         return callId;
     }
 
-signals:
+Q_SIGNALS:
     void accountListChanged();
     void currentAccountChanged();
     void restoreAppRequested();
diff --git a/src/mainapplication.cpp b/src/mainapplication.cpp
index 33408c8de2128f15bfc8fc9c38f58c31ff21df4e..812e6a0d91e66af006fc02e0152bac87771b562e 100644
--- a/src/mainapplication.cpp
+++ b/src/mainapplication.cpp
@@ -257,7 +257,7 @@ MainApplication::init()
 void
 MainApplication::restoreApp()
 {
-    emit lrcInstance_->restoreAppRequested();
+    Q_EMIT lrcInstance_->restoreAppRequested();
 }
 
 void
diff --git a/src/mainapplication.h b/src/mainapplication.h
index 775b364b7e04c8f0031aed2c8679d2b569539ae8..881155d5c05fc05863e00b4a883cecbf03e8ec45 100644
--- a/src/mainapplication.h
+++ b/src/mainapplication.h
@@ -47,11 +47,11 @@ public:
         if (ratio != devicePixelRatio_) {
             devicePixelRatio_ = ratio;
 
-            emit devicePixelRatioChanged();
+            Q_EMIT devicePixelRatioChanged();
         }
     }
 
-signals:
+Q_SIGNALS:
     void devicePixelRatioChanged();
 
 private:
diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp
index ec37d94aca61bed5c027292fa69c7aa8c8dc5cf8..1cdf09ee5aceb301366f75b2322d36d066c0a003 100644
--- a/src/messagesadapter.cpp
+++ b/src/messagesadapter.cpp
@@ -198,7 +198,7 @@ MessagesAdapter::slotSendMessageContentSaved(const QString& content)
     auto restoredContent = lrcInstance_->getContentDraft(lrcInstance_->getCurrentConvUid(),
                                                          lrcInstance_->getCurrAccId());
     setSendMessageContent(restoredContent);
-    emit needToUpdateSmartList();
+    Q_EMIT needToUpdateSmartList();
 }
 
 void
@@ -207,7 +207,7 @@ MessagesAdapter::slotUpdateDraft(const QString& content)
     if (!LastConvUid_.isEmpty()) {
         lrcInstance_->setContentDraft(LastConvUid_, lrcInstance_->getCurrAccId(), content);
     }
-    emit needToUpdateSmartList();
+    Q_EMIT needToUpdateSmartList();
 }
 
 void
@@ -668,7 +668,7 @@ MessagesAdapter::acceptInvitation(const QString& convUid)
     lrcInstance_->getCurrentConversationModel()->makePermanent(currentConvUid);
     if (convUid == currentConvUid_)
         currentConvUid_.clear();
-    emit invitationAccepted();
+    Q_EMIT invitationAccepted();
 }
 
 void
@@ -679,7 +679,7 @@ MessagesAdapter::refuseInvitation(const QString& convUid)
     setInvitation(false);
     if (convUid == currentConvUid_)
         currentConvUid_.clear();
-    emit navigateToWelcomePageRequested();
+    Q_EMIT navigateToWelcomePageRequested();
 }
 
 void
@@ -690,8 +690,8 @@ MessagesAdapter::blockConversation(const QString& convUid)
     setInvitation(false);
     if (convUid == currentConvUid_)
         currentConvUid_.clear();
-    emit contactBanned();
-    emit navigateToWelcomePageRequested();
+    Q_EMIT contactBanned();
+    Q_EMIT navigateToWelcomePageRequested();
 }
 
 void
diff --git a/src/messagesadapter.h b/src/messagesadapter.h
index 3d12d6c063f5938e8cdefd366449c0d629ef96ca..2757151e8fe2b104b8c4d2303ec69ec70c4e2fc9 100644
--- a/src/messagesadapter.h
+++ b/src/messagesadapter.h
@@ -91,13 +91,13 @@ protected:
     void setSendMessageContent(const QString& content);
     void contactIsComposing(const QString& uid, const QString& contactUri, bool isComposing);
 
-signals:
+Q_SIGNALS:
     void needToUpdateSmartList();
     void contactBanned();
     void navigateToWelcomePageRequested();
     void invitationAccepted();
 
-public slots:
+public Q_SLOTS:
     void slotSendMessageContentSaved(const QString& content);
     void slotUpdateDraft(const QString& content);
     void slotMessagesCleared();
diff --git a/src/networkmanager.cpp b/src/networkmanager.cpp
index 1fbbe2520d787946fedd1b7a3f178b69f84c0a27..34567802b1e61b684135e56004997e7b5054da96 100644
--- a/src/networkmanager.cpp
+++ b/src/networkmanager.cpp
@@ -32,7 +32,7 @@ NetWorkManager::NetWorkManager(ConnectivityMonitor* cm, QObject* parent)
     , connectivityMonitor_(cm)
     , lastConnectionState_(cm->isOnline())
 {
-    emit statusChanged(GetStatus::IDLE);
+    Q_EMIT statusChanged(GetStatus::IDLE);
 
     connect(connectivityMonitor_, &ConnectivityMonitor::connectivityChanged, [this] {
         cancelRequest();
@@ -51,7 +51,7 @@ void
 NetWorkManager::get(const QUrl& url, const DoneCallBack& doneCb, const QString& path)
 {
     if (!connectivityMonitor_->isOnline()) {
-        emit errorOccured(GetError::DISCONNECTED);
+        Q_EMIT errorOccured(GetError::DISCONNECTED);
         return;
     }
 
@@ -69,7 +69,7 @@ NetWorkManager::get(const QUrl& url, const DoneCallBack& doneCb, const QString&
 
         file_.reset(new QFile(path + "/" + fileName));
         if (!file_->open(QIODevice::WriteOnly)) {
-            emit errorOccured(GetError::ACCESS_DENIED);
+            Q_EMIT errorOccured(GetError::ACCESS_DENIED);
             file_.reset(nullptr);
             return;
         }
@@ -78,7 +78,7 @@ NetWorkManager::get(const QUrl& url, const DoneCallBack& doneCb, const QString&
     QNetworkRequest request(url);
     reply_ = manager_->get(request);
 
-    emit statusChanged(GetStatus::STARTED);
+    Q_EMIT statusChanged(GetStatus::STARTED);
 
     connect(reply_,
 #if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
@@ -91,7 +91,7 @@ NetWorkManager::get(const QUrl& url, const DoneCallBack& doneCb, const QString&
                 reset(true);
                 qWarning() << Q_FUNC_INFO << "NetworkError: "
                            << QMetaEnum::fromType<QNetworkReply::NetworkError>().valueToKey(error);
-                emit errorOccured(GetError::NETWORK_ERROR);
+                Q_EMIT errorOccured(GetError::NETWORK_ERROR);
             });
 
     connect(reply_, &QNetworkReply::finished, [this, doneCb, path]() {
@@ -100,7 +100,7 @@ NetWorkManager::get(const QUrl& url, const DoneCallBack& doneCb, const QString&
         if (path.isEmpty())
             response = QString(reply_->readAll());
         reset(!path.isEmpty());
-        emit statusChanged(GetStatus::FINISHED);
+        Q_EMIT statusChanged(GetStatus::FINISHED);
         if (doneCb)
             doneCb(response);
     });
@@ -147,7 +147,7 @@ NetWorkManager::onSslErrors(const QList<QSslError>& sslErrors)
         }
         errorsString += error.errorString();
     }
-    emit errorOccured(GetError::SSL_ERROR, errorsString);
+    Q_EMIT errorOccured(GetError::SSL_ERROR, errorsString);
     return;
 #else
     Q_UNUSED(sslErrors);
@@ -172,6 +172,6 @@ NetWorkManager::cancelRequest()
 {
     if (reply_) {
         reply_->abort();
-        emit errorOccured(GetError::CANCELED);
+        Q_EMIT errorOccured(GetError::CANCELED);
     }
 }
diff --git a/src/networkmanager.h b/src/networkmanager.h
index b5ddab5f18626a0a1d0d4e2528fe6c9957aaa01c..20295f58d05b8d443816785fa8b6d8b508b303f0 100644
--- a/src/networkmanager.h
+++ b/src/networkmanager.h
@@ -55,12 +55,12 @@ public:
      */
     Q_INVOKABLE void cancelRequest();
 
-signals:
+Q_SIGNALS:
     void statusChanged(GetStatus error);
     void downloadProgressChanged(qint64 bytesRead, qint64 totalBytes);
     void errorOccured(GetError error, const QString& msg = {});
 
-private slots:
+private Q_SLOTS:
     void onSslErrors(const QList<QSslError>& sslErrors);
     void onHttpReadyRead();
 
diff --git a/src/pluginadapter.h b/src/pluginadapter.h
index 48cb83c21cf3339068d904f2fb69ea8836021d59..7571ffd44bfa782f2f0725fd8ac481e91e59851e 100644
--- a/src/pluginadapter.h
+++ b/src/pluginadapter.h
@@ -49,7 +49,7 @@ protected:
     Q_INVOKABLE QVariant getPluginPreferencesCategories(const QString& pluginId,
                                                         bool removeLast = false);
 
-signals:
+Q_SIGNALS:
     void pluginHandlersUpdateStatus();
     void preferenceChanged(QString pluginId);
     void pluginUninstalled();
diff --git a/src/previewrenderer.cpp b/src/previewrenderer.cpp
index e6ad1f8279671c91565902fc10a65575e63bdf25..cdd7a75e810e3ab675be6e5630f6d32dc447209f 100644
--- a/src/previewrenderer.cpp
+++ b/src/previewrenderer.cpp
@@ -118,7 +118,7 @@ PhotoboothPreviewRender::PhotoboothPreviewRender(QQuickItem* parent)
     connect(this, &PreviewRenderer::lrcInstanceChanged, [this] {
         if (lrcInstance_)
             connect(lrcInstance_->renderer(), &RenderManager::previewRenderingStopped, [this]() {
-                emit hideBooth();
+                Q_EMIT hideBooth();
             });
     });
 }
diff --git a/src/previewrenderer.h b/src/previewrenderer.h
index 239471e6260f12a32376ed0859fbac412acd5d7f..a30904d9c7295f3a09304a5828440b662dd49dc7 100644
--- a/src/previewrenderer.h
+++ b/src/previewrenderer.h
@@ -36,7 +36,7 @@ public:
     explicit PreviewRenderer(QQuickItem* parent = nullptr);
     ~PreviewRenderer();
 
-signals:
+Q_SIGNALS:
     void lrcInstanceChanged();
 
 protected:
@@ -59,7 +59,7 @@ public:
     explicit VideoCallPreviewRenderer(QQuickItem* parent = nullptr);
     virtual ~VideoCallPreviewRenderer();
 
-signals:
+Q_SIGNALS:
     void previewImageScalingFactorChanged();
 
 private:
@@ -77,7 +77,7 @@ public:
 
     Q_INVOKABLE QString takePhoto(int size);
 
-signals:
+Q_SIGNALS:
     void hideBooth();
 
 private:
diff --git a/src/qtutils.h b/src/qtutils.h
index ba970047c791c326b0b120e40396e98f6ad25572..c496cd24dd27b62d498ac4e5a1e6d12601d34e7e 100644
--- a/src/qtutils.h
+++ b/src/qtutils.h
@@ -85,7 +85,7 @@ public:
     }
     ~OneShotConnection() = default;
 
-public slots:
+public Q_SLOTS:
     void onTriggered()
     {
         if (connection_) {
diff --git a/src/rendermanager.cpp b/src/rendermanager.cpp
index 2565e317738151126bc9c0a04e9ca81e7fa2492c..84646d32a446599628c6e4d0fa231f7e2148672a 100644
--- a/src/rendermanager.cpp
+++ b/src/rendermanager.cpp
@@ -163,7 +163,7 @@ FrameWrapper::slotFrameUpdated(const QString& id)
             image_.reset(new QImage((uchar*) buffer_.data(), width, height, imageFormat));
         }
     }
-    emit frameUpdated(id);
+    Q_EMIT frameUpdated(id);
 }
 
 void
@@ -183,7 +183,7 @@ FrameWrapper::slotRenderingStopped(const QString& id)
         image_.reset();
     }
 
-    emit renderingStopped(id);
+    Q_EMIT renderingStopped(id);
 }
 
 RenderManager::RenderManager(AVModel& avModel)
@@ -195,13 +195,13 @@ RenderManager::RenderManager(AVModel& avModel)
                      &FrameWrapper::frameUpdated,
                      [this](const QString& id) {
                          Q_UNUSED(id);
-                         emit previewFrameUpdated();
+                         Q_EMIT previewFrameUpdated();
                      });
     QObject::connect(previewFrameWrapper_.get(),
                      &FrameWrapper::renderingStopped,
                      [this](const QString& id) {
                          Q_UNUSED(id);
-                         emit previewRenderingStopped();
+                         Q_EMIT previewRenderingStopped();
                      });
 
     previewFrameWrapper_->connectStartRendering();
@@ -266,7 +266,7 @@ RenderManager::addDistantRenderer(const QString& id)
         distantConnectionMap_[id].updated = QObject::connect(dfw.get(),
                                                              &FrameWrapper::frameUpdated,
                                                              [this](const QString& id) {
-                                                                 emit distantFrameUpdated(id);
+                                                                 Q_EMIT distantFrameUpdated(id);
                                                              });
 
         /*
diff --git a/src/rendermanager.h b/src/rendermanager.h
index 98380b38c32ad815bca0fd308efdac14694ddbb0..89105ce8d81d61c035d296dda797bb46d7339460 100644
--- a/src/rendermanager.h
+++ b/src/rendermanager.h
@@ -81,7 +81,7 @@ public:
 
     void frameMutexUnlock();
 
-signals:
+Q_SIGNALS:
     /*
      * Emitted each time a frame is ready to be displayed.
      * @param id of the renderer
@@ -93,7 +93,7 @@ signals:
      */
     void renderingStopped(const QString& id);
 
-public slots:
+public Q_SLOTS:
     /*
      * Used to listen to AVModel::rendererStarted.
      * @param id of the renderer
@@ -212,7 +212,7 @@ public:
      */
     QImage* getPreviewFrame();
 
-signals:
+Q_SIGNALS:
 
     /*
      * Emitted when the preview has a new frame ready.
diff --git a/src/runguard.h b/src/runguard.h
index 093c6e082ed665ef836a4dd67d0a290719486338..c9757d07f48b119ca6e45be182df3086847815db 100644
--- a/src/runguard.h
+++ b/src/runguard.h
@@ -39,7 +39,7 @@ public:
     bool tryToRun();
     void release();
 
-private slots:
+private Q_SLOTS:
     void tryRestorePrimaryInstance();
 
 private:
diff --git a/src/updatemanager.cpp b/src/updatemanager.cpp
index a57488e3d1284050631af9097869c9bfcfe6c46d..68f98a6abd86174f760b698a239f75be6cc0f402 100644
--- a/src/updatemanager.cpp
+++ b/src/updatemanager.cpp
@@ -83,7 +83,7 @@ UpdateManager::checkForUpdates(bool quiet)
         if (latestVersionString.isEmpty()) {
             qWarning() << "Error checking version";
             if (!quiet)
-                emit updateCheckReplyReceived(false);
+                Q_EMIT updateCheckReplyReceived(false);
             return;
         }
         auto currentVersion = QString(VERSION_STRING).toULongLong();
@@ -91,11 +91,11 @@ UpdateManager::checkForUpdates(bool quiet)
         qDebug() << "latest: " << latestVersion << " current: " << currentVersion;
         if (latestVersion > currentVersion) {
             qDebug() << "New version found";
-            emit updateCheckReplyReceived(true, true);
+            Q_EMIT updateCheckReplyReceived(true, true);
         } else {
             qDebug() << "No new version found";
             if (!quiet)
-                emit updateCheckReplyReceived(true, false);
+                Q_EMIT updateCheckReplyReceived(true, false);
         }
     });
 }
@@ -112,10 +112,10 @@ UpdateManager::applyUpdates(bool beta)
                     &NetWorkManager::downloadProgressChanged,
                     this,
                     &UpdateManager::updateDownloadProgressChanged);
-            emit updateDownloadStarted();
+            Q_EMIT updateDownloadStarted();
             break;
         case GetStatus::FINISHED:
-            emit updateDownloadFinished();
+            Q_EMIT updateDownloadFinished();
             break;
         default:
             break;
@@ -129,7 +129,7 @@ UpdateManager::applyUpdates(bool beta)
         downloadUrl,
         [this, downloadUrl](const QString&) {
             lrcInstance_->reset();
-            emit lrcInstance_->quitEngineRequested();
+            Q_EMIT lrcInstance_->quitEngineRequested();
             auto args = QString(" /passive /norestart WIXNONUILAUNCH=1");
             QProcess process;
             process.start("powershell ",
diff --git a/src/updatemanager.h b/src/updatemanager.h
index 42e619e91c0eb034e1a96bfcabdc3414566ebac2..23edead43e3f0f7d9c75bcfdf133bd10ec872dc4 100644
--- a/src/updatemanager.h
+++ b/src/updatemanager.h
@@ -40,7 +40,7 @@ public:
     Q_INVOKABLE void setAutoUpdateCheck(bool state);
     Q_INVOKABLE bool isCurrentVersionBeta();
 
-signals:
+Q_SIGNALS:
     void updateCheckReplyReceived(bool ok, bool found = false);
     void updateCheckErrorOccurred(GetError error);
     void updateDownloadStarted();
diff --git a/src/videoformatfpsmodel.cpp b/src/videoformatfpsmodel.cpp
index 6e1307c664608fc0db1e8dd684678bca135255aa..cb5fc9a0a83e1c3dac05668d282bab4651eea1fa 100644
--- a/src/videoformatfpsmodel.cpp
+++ b/src/videoformatfpsmodel.cpp
@@ -221,6 +221,6 @@ VideoFormatFpsModel::setCurrentResolution(QString resNew)
     if (currentResolution_ != resNew) {
         currentResolution_ = resNew;
         reset();
-        emit currentResolutionChanged(resNew);
+        Q_EMIT currentResolutionChanged(resNew);
     }
 }
diff --git a/src/videoformatfpsmodel.h b/src/videoformatfpsmodel.h
index 28206448ec242f2a77673ffd403f4f6e814bb1f4..a8324553fe96519879e68a49c83a0af462e6f9b9 100644
--- a/src/videoformatfpsmodel.h
+++ b/src/videoformatfpsmodel.h
@@ -62,7 +62,7 @@ public:
     QString getCurrentResolution();
     void setCurrentResolution(QString resNew);
 
-signals:
+Q_SIGNALS:
     void currentResolutionChanged(QString resNew);
 
 private:
diff --git a/tests/qml/main.cpp b/tests/qml/main.cpp
index bc90fc6e7dbae1c883c2b67d1941c67d03d3b95f..64e872b7c3debc41f885d11828ab68ddb0da8d24 100644
--- a/tests/qml/main.cpp
+++ b/tests/qml/main.cpp
@@ -9,7 +9,7 @@ class Setup : public QObject
 public:
     Setup() {}
 
-public slots:
+public Q_SLOTS:
 
     void qmlEngineAvailable(QQmlEngine *engine)
     {