From b26f35be55d285222bb68d1ea52cc83a859790d0 Mon Sep 17 00:00:00 2001
From: Johnny Jazeix <jazeix@gmail.com>
Date: Tue, 27 Jun 2023 21:33:46 +0200
Subject: [PATCH] add QT_NO_KEYWORDS, QT_NO_FOREACH,
 QT_NO_URL_CAST_FROM_STRING, QT_NO_CAST_TO_ASCII macros. In the future, some
 of these macros (like emit) become standard functions, so better not use them
 starting from now

---
 CMakeLists.txt                                |  7 +++++
 externals/qtcolorpicker/src/qtcolorpicker.cpp | 30 +++++++++----------
 plugins/CriticalPath/CriticalPath.hpp         |  4 +--
 plugins/Distribution/Distribution.cpp         |  2 +-
 plugins/MatrixVisualizer/MatrixVisualizer.hpp |  4 +--
 plugins/TraceInfos/TraceInfos.hpp             |  2 +-
 src/core/Core.cpp                             | 14 ++++-----
 src/core/Core.hpp                             |  2 +-
 src/interface/Interface_graphic.cpp           |  2 +-
 src/interface/Interface_graphic.hpp           |  2 +-
 src/interface/Interval_select.cpp             |  8 ++---
 src/interface/Interval_select.hpp             | 24 +++++++--------
 src/interface/Node_select.hpp                 |  2 +-
 src/interface/Settings_window.cpp             |  2 +-
 src/interface/Settings_window.hpp             | 10 +++----
 src/interface/qxtspanslider.cpp               | 12 ++++----
 src/interface/viteqtreewidget.cpp             | 10 +++----
 .../OTFParser/OTFTraceBuilderThread.hpp       |  2 +-
 src/parser/OTFParser/mt_ParserEventOTF.cpp    | 16 +++++-----
 src/parser/OTFParser/mt_ParserOTF.cpp         | 10 +++----
 src/parser/OTFParser/mt_ParserOTF.hpp         |  2 +-
 src/parser/PajeParser/BuilderThread.cpp       |  4 +--
 src/parser/PajeParser/BuilderThread.hpp       |  4 +--
 src/parser/PajeParser/mt_ParserEventPaje.hpp  |  2 +-
 src/parser/PajeParser/mt_ParserPaje.cpp       |  6 ++--
 src/parser/PajeParser/mt_ParserPaje.hpp       |  2 +-
 src/parser/ParserSplitted.hpp                 |  2 +-
 src/parser/ParsingThread.hpp                  |  2 +-
 src/plugin/Command_window.hpp                 |  2 +-
 src/plugin/Plugin_window.hpp                  |  2 +-
 src/render/opengl/Render_opengl.hpp           |  2 +-
 src/render/vbo/Render_alternate.hpp           |  2 +-
 src/statistics/ChartView.cpp                  |  2 +-
 src/statistics/ChartView.hpp                  |  4 +--
 src/statistics/Statistics_window.hpp          |  4 +--
 src/trace/Container.hpp                       |  2 +-
 src/trace/EntityValue.cpp                     |  4 +--
 src/trace/EntityValue.hpp                     |  2 +-
 src/trace/SerializerDispatcher.cpp            |  6 ++--
 src/trace/SerializerDispatcher.hpp            |  2 +-
 src/trace/SerializerWriter.hpp                |  2 +-
 src/trace/TraceBuilderThread.hpp              |  2 +-
 tests/generator/GeneratorWindow.hpp           |  2 +-
 tests/plugin/Plug1.cpp                        |  2 +-
 tests/plugin/Plug2.cpp                        |  2 +-
 tests/plugin/Plug3.hpp                        |  2 +-
 tests/plugin/PluginWindow.hpp                 |  2 +-
 47 files changed, 121 insertions(+), 116 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a84496e5..ea7a298c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -199,6 +199,13 @@ else()
   set( HAVE_QT5_15 OFF )
 endif()
 
+add_definitions(
+    -DQT_NO_CAST_TO_ASCII
+    -DQT_NO_URL_CAST_FROM_STRING
+    -DQT_NO_KEYWORDS
+    -DQT_NO_FOREACH
+)
+
 #
 # Find optional packages
 #
diff --git a/externals/qtcolorpicker/src/qtcolorpicker.cpp b/externals/qtcolorpicker/src/qtcolorpicker.cpp
index 6ea7167e..a45e78a2 100644
--- a/externals/qtcolorpicker/src/qtcolorpicker.cpp
+++ b/externals/qtcolorpicker/src/qtcolorpicker.cpp
@@ -145,7 +145,7 @@ class ColorPickerButton : public QFrame
 public:
     ColorPickerButton(QWidget *parent);
 
-signals:
+Q_SIGNALS:
     void clicked();
 
 protected:
@@ -176,11 +176,11 @@ public:
 
     void setSelected(bool);
     bool isSelected() const;
-signals:
+Q_SIGNALS:
     void clicked();
     void selected();
 
-public slots:
+public Q_SLOTS:
     void setColor(const QColor &color, const QString &text = QString());
 
 protected:
@@ -217,14 +217,14 @@ public:
     ColorPickerItem *find(const QColor &col) const;
     QColor color(int index) const;
 
-signals:
+Q_SIGNALS:
     void selected(const QColor &);
     void hid();
 
-public slots:
+public Q_SLOTS:
     void getColorFromDialog();
 
-protected slots:
+protected Q_SLOTS:
     void updateSelected();
 
 protected:
@@ -448,7 +448,7 @@ void QtColorPicker::setCurrentColor(const QColor &color)
     repaint();
 
     item->setSelected(true);
-    emit colorChanged(color);
+    Q_EMIT colorChanged(color);
 }
 
 /*!
@@ -669,7 +669,7 @@ void ColorPickerPopup::updateSelected()
     if (sender() && sender()->inherits("ColorPickerItem")) {
         ColorPickerItem *item = (ColorPickerItem *)sender();
         lastSel = item->color();
-        emit selected(item->color());
+        Q_EMIT selected(item->color());
     }
 
     hide();
@@ -754,7 +754,7 @@ void ColorPickerPopup::keyPressEvent(QKeyEvent *e)
                 }
 
                 lastSel = wi->color();
-                emit selected(wi->color());
+                Q_EMIT selected(wi->color());
                 hide();
             } else if (w && w->inherits("QPushButton")) {
                 ColorPickerItem *wi = reinterpret_cast<ColorPickerItem *>(w);
@@ -774,7 +774,7 @@ void ColorPickerPopup::keyPressEvent(QKeyEvent *e)
                 }
 
                 lastSel = wi->color();
-                emit selected(wi->color());
+                Q_EMIT selected(wi->color());
                 hide();
             }
         }
@@ -801,7 +801,7 @@ void ColorPickerPopup::hideEvent(QHideEvent *e)
 
     setFocus();
 
-    emit hid();
+    Q_EMIT hid();
     QFrame::hideEvent(e);
 }
 
@@ -893,7 +893,7 @@ void ColorPickerPopup::getColorFromDialog()
 
     insertColor(col, tr("Custom"), -1);
     lastSel = col;
-    emit selected(col);
+    Q_EMIT selected(col);
 }
 
 /*!
@@ -979,7 +979,7 @@ void ColorPickerItem::mouseMoveEvent(QMouseEvent *)
 void ColorPickerItem::mouseReleaseEvent(QMouseEvent *)
 {
     sel = true;
-    emit selected();
+    Q_EMIT selected();
 }
 
 /*!
@@ -1047,7 +1047,7 @@ void ColorPickerButton::mouseReleaseEvent(QMouseEvent *)
 {
     setFrameShadow(Raised);
     repaint();
-    emit clicked();
+    Q_EMIT clicked();
 }
 
 /*!
@@ -1081,7 +1081,7 @@ void ColorPickerButton::keyReleaseEvent(QKeyEvent *e)
     } else if (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Space || e->key() == Qt::Key_Return) {
         setFrameShadow(Raised);
         repaint();
-        emit clicked();
+        Q_EMIT clicked();
     } else {
         QFrame::keyReleaseEvent(e);
     }
diff --git a/plugins/CriticalPath/CriticalPath.hpp b/plugins/CriticalPath/CriticalPath.hpp
index 26786612..714ea2df 100644
--- a/plugins/CriticalPath/CriticalPath.hpp
+++ b/plugins/CriticalPath/CriticalPath.hpp
@@ -70,13 +70,13 @@ private:
      */
     void set_line_edit_defaults( QLineEdit *le, std::string name, std::string def_name );
 
-public slots:
+public Q_SLOTS:
     /*
      * \brief What to do when execute button is clicked
      */
     void execute();
 
-private slots:
+private Q_SLOTS:
     /*
      * \brief Button for openning Dag file, path is then put in correspondant QLineEdit in UI
      */
diff --git a/plugins/Distribution/Distribution.cpp b/plugins/Distribution/Distribution.cpp
index fc3535f4..7a8dc1f0 100644
--- a/plugins/Distribution/Distribution.cpp
+++ b/plugins/Distribution/Distribution.cpp
@@ -487,7 +487,7 @@ public:
         return "Distribution";
     }
 
-public slots:
+public Q_SLOTS:
     void execute() {
         _text_info->clear();
         QString text ("<center><h1> Distribution </h1></center>");
diff --git a/plugins/MatrixVisualizer/MatrixVisualizer.hpp b/plugins/MatrixVisualizer/MatrixVisualizer.hpp
index bc6dad89..1b7c8fd8 100644
--- a/plugins/MatrixVisualizer/MatrixVisualizer.hpp
+++ b/plugins/MatrixVisualizer/MatrixVisualizer.hpp
@@ -36,10 +36,10 @@ private:
     void connect_widgets();
     void set_line_edit_defaults( QLineEdit *le, std::string name, std::string def_name );
 
-public slots:
+public Q_SLOTS:
     void execute();
 
-private slots:
+private Q_SLOTS:
     static void on_tool_button_symbol_clicked();
     static void on_tool_button_order_clicked();
     static void on_tool_button_values_clicked();
diff --git a/plugins/TraceInfos/TraceInfos.hpp b/plugins/TraceInfos/TraceInfos.hpp
index 15bde710..172ad551 100644
--- a/plugins/TraceInfos/TraceInfos.hpp
+++ b/plugins/TraceInfos/TraceInfos.hpp
@@ -25,7 +25,7 @@ public:
     void set_arguments(std::map<std::string /*argname*/, QVariant */*argValue*/>);
     std::string get_name();
 
-public slots:
+public Q_SLOTS:
     void execute();
 
 };
diff --git a/src/core/Core.cpp b/src/core/Core.cpp
index 1e744598..f86430c4 100644
--- a/src/core/Core.cpp
+++ b/src/core/Core.cpp
@@ -538,7 +538,7 @@ bool Core::draw_trace(const string & filename, const int format) {
         time_elapsed.start();
         buf_txt.str("");
         bool parsing_finished=false;
-        emit run_parsing();
+        Q_EMIT run_parsing();
 
         while( !parsing_finished && !killed) {
 
@@ -560,11 +560,11 @@ bool Core::draw_trace(const string & filename, const int format) {
 
                 QMutexLocker locker(_mutex);
                 if(format != _STATE_SPLITTING)   {
-                    emit build_finished(true);
+                    Q_EMIT build_finished(true);
                 }
                 else{
 #if defined(USE_ITC) && defined(BOOST_SERIALIZE)
-                    emit dump(Info::Splitter::path, Info::Splitter::filename);
+                    Q_EMIT dump(Info::Splitter::path, Info::Splitter::filename);
 
 #elif defined(USE_ITC)
                     *Message::get_instance() << QObject::tr("Splitting was asked but BOOST_SERIALIZE flag was not set ").toStdString() << Message::ende;
@@ -612,7 +612,7 @@ bool Core::draw_trace(const string & filename, const int format) {
                     *Message::get_instance() << QObject::tr("The trace opening was canceled by the user at ").toStdString() << loaded << "%" << Message::ende;
                     //locks the mutex and automatically unlocks it when going out of scope
 
-                    emit build_finished(true);
+                    Q_EMIT build_finished(true);
                     QMutexLocker locker(_mutex);
                     _closed->wait(_mutex);
                     break; // Quit the loop
@@ -709,7 +709,7 @@ bool Core::draw_trace(const string & filename, const int format) {
     }else{
         // *Message::get_instance() << "Parsing was not finished properly" << Message::ende;
         _is_window_displayed=false;
-        emit close_windows();
+        Q_EMIT close_windows();
         return false;
     }
 }
@@ -840,8 +840,8 @@ void Core::launch_action(int state, void* arg) {
          parser->set_canceled();
          //locks the mutex and automatically unlocks it when going out of scope
          QMutexLocker locker(_mutex);
-         emit build_finished(false);
-         emit close_windows();
+         Q_EMIT build_finished(false);
+         Q_EMIT close_windows();
          while(parser!=NULL)
          _closed->wait(_mutex,100);
          }*/
diff --git a/src/core/Core.hpp b/src/core/Core.hpp
index 3188990d..91e3fb7d 100644
--- a/src/core/Core.hpp
+++ b/src/core/Core.hpp
@@ -521,7 +521,7 @@ public:
     void reload_events();
 
     //Qt signals fo the Parsing Thread
-signals:
+Q_SIGNALS:
 
     /*!
      *\brief run_parsing()
diff --git a/src/interface/Interface_graphic.cpp b/src/interface/Interface_graphic.cpp
index 145795f1..95024f16 100644
--- a/src/interface/Interface_graphic.cpp
+++ b/src/interface/Interface_graphic.cpp
@@ -1081,7 +1081,7 @@ void Interface_graphic::dropEvent(QDropEvent *event) {
         return ;
     }
 
-    foreach (QUrl url, event->mimeData()->urls()) {
+    for (QUrl url: event->mimeData()->urls()) {
 #ifdef WIN32
         const QString filename = url.toString().right(url.toString().size()-8);
 #else
diff --git a/src/interface/Interface_graphic.hpp b/src/interface/Interface_graphic.hpp
index 80e6a996..5bc7eede 100644
--- a/src/interface/Interface_graphic.hpp
+++ b/src/interface/Interface_graphic.hpp
@@ -510,7 +510,7 @@ public:
 
 
 
-protected slots:
+protected Q_SLOTS:
 
 
 
diff --git a/src/interface/Interval_select.cpp b/src/interface/Interval_select.cpp
index 88828501..c80ab1ce 100644
--- a/src/interface/Interval_select.cpp
+++ b/src/interface/Interval_select.cpp
@@ -174,7 +174,7 @@ void Interval_select::minSpinBoxValueChanged( double value )
         interval_slider->setLowerValue( int(position) );
         interval_slider->blockSignals(v);
 
-        emit minValueChanged( minSpinBox->value() );
+        Q_EMIT minValueChanged( minSpinBox->value() );
 
         myPalette.setColor(QPalette::Active, QPalette::Text,            Qt::black);
         myPalette.setColor(QPalette::Active, QPalette::HighlightedText, Qt::white);
@@ -209,7 +209,7 @@ void Interval_select::maxSpinBoxValueChanged( double value )
         interval_slider->setLowerValue( int(position) );
         interval_slider->blockSignals(v);
 
-        emit maxValueChanged( maxSpinBox->value() );
+        Q_EMIT maxValueChanged( maxSpinBox->value() );
 
         myPalette.setColor(QPalette::Active, QPalette::Text,            Qt::black);
         myPalette.setColor(QPalette::Active, QPalette::HighlightedText, Qt::white);
@@ -237,7 +237,7 @@ void Interval_select::minSliderValueChanged( int _value )
         bool v = minSpinBox->blockSignals(true);
         minSpinBox->setValue( _value *(_trace->get_max_date() - minSpinBox->minimum())/(interval_slider->maximum() - interval_slider->minimum()));
         minSpinBox->blockSignals(v);
-        emit minValueChanged( minSpinBox->value() );
+        Q_EMIT minValueChanged( minSpinBox->value() );
         if(_auto_refresh)apply_settings();
     }
     _applied = false;
@@ -250,7 +250,7 @@ void Interval_select::maxSliderValueChanged( int _value )
         bool v = maxSpinBox->blockSignals(true);
         maxSpinBox->setValue( _value * (_trace->get_max_date() - maxSpinBox->minimum())/(interval_slider->maximum() - interval_slider->minimum()));
         maxSpinBox->blockSignals(v);
-        emit maxValueChanged( maxSpinBox->value() );
+        Q_EMIT maxValueChanged( maxSpinBox->value() );
         if(_auto_refresh)apply_settings();
     }
     _applied = false;
diff --git a/src/interface/Interval_select.hpp b/src/interface/Interval_select.hpp
index 5e40d3a9..75caba55 100644
--- a/src/interface/Interval_select.hpp
+++ b/src/interface/Interval_select.hpp
@@ -113,23 +113,21 @@ public:
     void update_values();
 
 
- private slots:
-      void minSpinBoxValueChanged( double value );
-      void minSliderValueChanged( int value );
-          void maxSpinBoxValueChanged( double value );
-      void maxSliderValueChanged( int value );
+ private Q_SLOTS:
+    void minSpinBoxValueChanged( double value );
+    void minSliderValueChanged( int value );
+    void maxSpinBoxValueChanged( double value );
+    void maxSliderValueChanged( int value );
 
     void on_ok_button_clicked();
     void on_cancel_button_clicked();
-        void on_reset_button_clicked();
-        void on_apply_button_clicked();
-        void on_auto_refresh_box_stateChanged();
-
-signals:
-      void minValueChanged( double value );
-          void maxValueChanged( double value );
-
+    void on_reset_button_clicked();
+    void on_apply_button_clicked();
+    void on_auto_refresh_box_stateChanged();
 
+Q_SIGNALS:
+    void minValueChanged( double value );
+    void maxValueChanged( double value );
 };
 
 #endif // INTERVAL_SELECT_HPP
diff --git a/src/interface/Node_select.hpp b/src/interface/Node_select.hpp
index 9220a8ea..cd283c01 100644
--- a/src/interface/Node_select.hpp
+++ b/src/interface/Node_select.hpp
@@ -183,7 +183,7 @@ private:
 
 
 
-private slots:
+private Q_SLOTS:
 
     void on_reset_button_clicked();
     void on_export_button_clicked();
diff --git a/src/interface/Settings_window.cpp b/src/interface/Settings_window.cpp
index d525f6b1..7f40360f 100644
--- a/src/interface/Settings_window.cpp
+++ b/src/interface/Settings_window.cpp
@@ -636,7 +636,7 @@ Settings_window::on_btn_ok_clicked()
 
     if( _changed ) {
         // Catch by at least the interface_graphic which will dispatch it to the classes which needs
-        emit settings_changed();
+        Q_EMIT settings_changed();
 
         _c->launch_action(Core::_STATE_RENDER_UPDATE);
     }
diff --git a/src/interface/Settings_window.hpp b/src/interface/Settings_window.hpp
index 57421d73..27056bf5 100644
--- a/src/interface/Settings_window.hpp
+++ b/src/interface/Settings_window.hpp
@@ -107,11 +107,11 @@ private:
     void fill_table( bool used=true );
     void update_table_from_palette(const std::string &);
 
-public slots:
+public Q_SLOTS:
     void on_btn_apply_clicked();
     void on_btn_cancel_clicked();
 
-private slots:
+private Q_SLOTS:
 
     /*!
      * \fn item_changed(int row = -1)
@@ -170,7 +170,7 @@ public:
     void show();
     void refresh();
 
-public slots:
+public Q_SLOTS:
     /*!
      * \fn on_tabWidget_currentChanged(int index)
      * \brief Called when the user changes the tab.
@@ -179,7 +179,7 @@ public slots:
      */
     void on_tabWidget_currentChanged(int index);
 
-private slots:
+private Q_SLOTS:
 
     /*!
      * \fn on_rm_dir_btn_clicked()
@@ -216,7 +216,7 @@ private slots:
     void on_cb_noevents_stateChanged(int state);
     void on_cb_tip_currentIndexChanged(int index);
 
-signals:
+Q_SIGNALS:
     void settings_changed();
 };
 
diff --git a/src/interface/qxtspanslider.cpp b/src/interface/qxtspanslider.cpp
index d1992805..c12b36a4 100644
--- a/src/interface/qxtspanslider.cpp
+++ b/src/interface/qxtspanslider.cpp
@@ -81,7 +81,7 @@ void QxtSpanSliderPrivate::handleMousePress(const QPoint& pos, QStyle::SubContro
         offset = pick(pos - sr.topLeft());
         lastPressed = handle;
         p->setSliderDown(true);
-        emit p->sliderPressed(handle);
+        Q_EMIT p->sliderPressed(handle);
     }
     if (control != oldControl)
         p->update(sr);
@@ -459,15 +459,15 @@ void QxtSpanSlider::setSpan(int lower, int upper)
         {
             qxt_d().lower = low;
             qxt_d().lowerPos = low;
-            emit lowerValueChanged(low);
+            Q_EMIT lowerValueChanged(low);
         }
         if (upp != qxt_d().upper)
         {
             qxt_d().upper = upp;
             qxt_d().upperPos = upp;
-            emit upperValueChanged(upp);
+            Q_EMIT upperValueChanged(upp);
         }
-        emit spanChanged(qxt_d().lower, qxt_d().upper);
+        Q_EMIT spanChanged(qxt_d().lower, qxt_d().upper);
         update();
     }
 }
@@ -489,7 +489,7 @@ void QxtSpanSlider::setLowerPosition(int lower)
         if (!hasTracking())
             update();
         if (isSliderDown())
-            emit lowerPositionChanged(lower);
+            Q_EMIT lowerPositionChanged(lower);
         if (hasTracking() && !qxt_d().blockTracking)
         {
             bool main = (qxt_d().mainControl == QxtSpanSlider::LowerHandle);
@@ -515,7 +515,7 @@ void QxtSpanSlider::setUpperPosition(int upper)
         if (!hasTracking())
             update();
         if (isSliderDown())
-            emit upperPositionChanged(upper);
+            Q_EMIT upperPositionChanged(upper);
         if (hasTracking() && !qxt_d().blockTracking)
         {
             bool main = (qxt_d().mainControl == QxtSpanSlider::UpperHandle);
diff --git a/src/interface/viteqtreewidget.cpp b/src/interface/viteqtreewidget.cpp
index e9758d18..538256a1 100644
--- a/src/interface/viteqtreewidget.cpp
+++ b/src/interface/viteqtreewidget.cpp
@@ -35,7 +35,7 @@ void viteQTreeWidget::dropEvent(QDropEvent *e){
 
             // this is used to determine if the target is itself a child
           
-                foreach(QTreeWidgetItem* item, selected_items)
+                for(QTreeWidgetItem* item: selected_items)
                 {
 
                     // if target and item don't share the same parent...
@@ -75,7 +75,7 @@ void viteQTreeWidget::dropEvent(QDropEvent *e){
                 initial_count=topLevelItemCount();
                 
                 //we want to insert below the pointed event
-                foreach(QTreeWidgetItem* item, selected_items)
+                for(QTreeWidgetItem* item: selected_items)
                 {
                     //remove all items from their parent
                     
@@ -99,7 +99,7 @@ void viteQTreeWidget::dropEvent(QDropEvent *e){
                 if(target->parent()){
                     if(index+modifier > target->parent()->childCount()){
                         max=target->parent()->childCount();
-                        foreach(QTreeWidgetItem* item, selected_items)
+                        for(QTreeWidgetItem* item: selected_items)
                         {
                             target->parent()->insertChild(max, item);
                             max++;
@@ -111,7 +111,7 @@ void viteQTreeWidget::dropEvent(QDropEvent *e){
                 }else{
                     if(index+modifier > topLevelItemCount()){
                         max=topLevelItemCount();
-                        foreach(QTreeWidgetItem* item, selected_items)
+                        for(QTreeWidgetItem* item: selected_items)
                         {
                             insertTopLevelItem(max, item);
                             max++;
@@ -132,7 +132,7 @@ void viteQTreeWidget::dropEvent(QDropEvent *e){
                 if (count!=initial_count){
                    //prevent loss of elements if insertions failed (can happen sometimes)
                    //try to reinsert all elements at the end
-                    foreach(QTreeWidgetItem* item, selected_items)
+                    for(QTreeWidgetItem* item: selected_items)
                     {
                         if(target->parent())
                             target->parent()->insertChild(target->parent()->childCount(), item);
diff --git a/src/parser/OTFParser/OTFTraceBuilderThread.hpp b/src/parser/OTFParser/OTFTraceBuilderThread.hpp
index c9a47a0f..49f080d2 100644
--- a/src/parser/OTFParser/OTFTraceBuilderThread.hpp
+++ b/src/parser/OTFParser/OTFTraceBuilderThread.hpp
@@ -162,7 +162,7 @@ private:
 
 
 
-public slots:
+public Q_SLOTS:
 
   void build_trace(int n, OTF_Trace_builder_struct* tb_struct); 
   void build_finished(); 
diff --git a/src/parser/OTFParser/mt_ParserEventOTF.cpp b/src/parser/OTFParser/mt_ParserEventOTF.cpp
index b8cd8a52..d39473e9 100644
--- a/src/parser/OTFParser/mt_ParserEventOTF.cpp
+++ b/src/parser/OTFParser/mt_ParserEventOTF.cpp
@@ -135,7 +135,7 @@ int mt_ParserEventOTF::handler_BeginProcess( void* trace,
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_begin_process;
     _n_read++;
 
-   //emit my_address->signal_handler_begin_process(trace,time,process);
+   //Q_EMIT my_address->signal_handler_begin_process(trace,time,process);
 
     return OTF_RETURN_OK;
 }
@@ -151,7 +151,7 @@ int mt_ParserEventOTF::handler_EndProcess( void* userData,
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_end_process;
     _n_read++;
 
-    //emit my_address->signal_handler_end_process (trace,time, proc_id);
+    //Q_EMIT my_address->signal_handler_end_process (trace,time, proc_id);
     return OTF_RETURN_OK;
 }
 
@@ -169,7 +169,7 @@ int mt_ParserEventOTF::handler_Enter( void* userData,
     _tb_struct[_n_read].process2=proc_id;
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_enter;
     _n_read++;
-  // emit my_address->signal_handler_enter(trace, time, func_id,proc_id,0);
+  // Q_EMIT my_address->signal_handler_enter(trace, time, func_id,proc_id,0);
     return OTF_RETURN_OK;
 }
 
@@ -197,7 +197,7 @@ int mt_ParserEventOTF::handler_Counter( void* userData,
     _tb_struct[_n_read].value=value;
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_counter;
     _n_read++;
-  // emit my_address->signal_handler_counter(trace, time, proc_id,counter_id,value);
+  // Q_EMIT my_address->signal_handler_counter(trace, time, proc_id,counter_id,value);
     return OTF_RETURN_OK;
 }
 
@@ -215,7 +215,7 @@ int mt_ParserEventOTF::handler_DefMarker(void *,
     _tb_struct[_n_read].type=type;
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_defmarker;
     _n_read++;
-   //emit my_address->signal_handler_defmarker(NULL, stream, id,name,type);
+   //Q_EMIT my_address->signal_handler_defmarker(NULL, stream, id,name,type);
     return OTF_RETURN_OK;
 }
 
@@ -234,7 +234,7 @@ int mt_ParserEventOTF::handler_Marker(void *userData,
     _tb_struct[_n_read].text=text;
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_marker;
     _n_read++;
-  // emit my_address->signal_handler_marker(trace, time, proc_id,id,text);
+  // Q_EMIT my_address->signal_handler_marker(trace, time, proc_id,id,text);
     return OTF_RETURN_OK;
 }
 
@@ -259,7 +259,7 @@ int mt_ParserEventOTF::handler_SendMsg( void* userData,
     _tb_struct[_n_read].source=source;
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_send_message;
     _n_read++;
-//emit my_address->signal_handler_send_message(trace, time, sender, receiver, group, type,length, source);
+//Q_EMIT my_address->signal_handler_send_message(trace, time, sender, receiver, group, type,length, source);
     return OTF_RETURN_OK;
 }
 
@@ -283,7 +283,7 @@ int mt_ParserEventOTF::handler_RecvMsg( void* userData,
     _tb_struct[_n_read].source=source;
     _tb_struct[_n_read].func=OTFTraceBuilderThread::handler_receive_message;
     _n_read++;
-//emit my_address->signal_handler_receive_message(trace, time, receiver, sender, group, type,length, source);
+//Q_EMIT my_address->signal_handler_receive_message(trace, time, receiver, sender, group, type,length, source);
     return OTF_RETURN_OK;
 }
 
diff --git a/src/parser/OTFParser/mt_ParserOTF.cpp b/src/parser/OTFParser/mt_ParserOTF.cpp
index 5a1dd8c3..956e3548 100644
--- a/src/parser/OTFParser/mt_ParserOTF.cpp
+++ b/src/parser/OTFParser/mt_ParserOTF.cpp
@@ -152,13 +152,13 @@ void mt_ParserOTF::parse(Trace &trace,
             break;
         }
         freeSlots.acquire(); //do not produce too fast (5 blocks max at a time)
-        emit(build_trace(n_read, tb_structs));
+        Q_EMIT build_trace(n_read, tb_structs);
         linesProduced.release();
         tb_structs = new OTF_Trace_builder_struct[n_events];
     }
 
     freeSlots.acquire(); //do not produce too fast (5 blocks max at a time)
-    emit(build_trace(n_read, tb_structs));
+    Q_EMIT build_trace(n_read, tb_structs);
     linesProduced.release();
     //tb_structs= NULL;
 
@@ -168,13 +168,13 @@ void mt_ParserOTF::parse(Trace &trace,
             && (!_is_canceled)) {
 
         freeSlots.acquire(); //do not produce too fast (5 blocks max at a time)
-        emit(build_trace(n_read, tb_structs));
+        Q_EMIT build_trace(n_read, tb_structs);
         linesProduced.release();
         tb_structs= new OTF_Trace_builder_struct[n_events];
     }
 
     freeSlots.acquire(); //do not produce too fast (5 blocks max at a time)
-    emit(build_trace(n_read, tb_structs));
+    Q_EMIT build_trace(n_read, tb_structs);
     linesProduced.release();
 
     finish();
@@ -184,7 +184,7 @@ void mt_ParserOTF::parse(Trace &trace,
     }
 
     QMutexLocker locker(&mutex);
-    emit build_finished();
+    Q_EMIT build_finished();
     ended.wait(&mutex);
     locker.unlock();
     traceThread.quit();
diff --git a/src/parser/OTFParser/mt_ParserOTF.hpp b/src/parser/OTFParser/mt_ParserOTF.hpp
index b38bff5a..2a452f4e 100644
--- a/src/parser/OTFParser/mt_ParserOTF.hpp
+++ b/src/parser/OTFParser/mt_ParserOTF.hpp
@@ -108,7 +108,7 @@ public:
      */
     float get_percent_loaded() const;
 
-    signals:
+    Q_SIGNALS:
 	void build_finished();
 	void build_trace(int, OTF_Trace_builder_struct*);
 
diff --git a/src/parser/PajeParser/BuilderThread.cpp b/src/parser/PajeParser/BuilderThread.cpp
index 5870fbe6..1b191fd8 100644
--- a/src/parser/PajeParser/BuilderThread.cpp
+++ b/src/parser/PajeParser/BuilderThread.cpp
@@ -87,7 +87,7 @@ void BuilderThread::run(int n, PajeLine* line) {
             n_without_errors++;
         free(line[j]._tokens); // release tokens allocated in the PajeFileManager
     }
-    emit(build_trace(n_without_errors, tb_structs));
+    Q_EMIT build_trace(n_without_errors, tb_structs);
     _linesProduced->release();
     free(line);
 }
@@ -98,7 +98,7 @@ void BuilderThread::finish_build() {
     //finish the TraceBuilderThread before closing this one
     //locks the mutex and automatically unlocks it when going out of scope
     QMutexLocker locker2(_mutex2);
-    emit build_finished();
+    Q_EMIT build_finished();
     _trace_cond->wait(_mutex2);
     locker2.unlock();
 
diff --git a/src/parser/PajeParser/BuilderThread.hpp b/src/parser/PajeParser/BuilderThread.hpp
index 782b3d9a..93d15269 100644
--- a/src/parser/PajeParser/BuilderThread.hpp
+++ b/src/parser/PajeParser/BuilderThread.hpp
@@ -90,7 +90,7 @@ public:
 
     bool is_finished();
 
-public slots:
+public Q_SLOTS:
     void finish_build();
 
     /*!
@@ -99,7 +99,7 @@ public slots:
      */
     void run(int n, PajeLine* line);
 
-signals:
+Q_SIGNALS:
         void build_finished();
         void build_trace(int, Trace_builder_struct*);
 };
diff --git a/src/parser/PajeParser/mt_ParserEventPaje.hpp b/src/parser/PajeParser/mt_ParserEventPaje.hpp
index e5664572..bde3e2a8 100644
--- a/src/parser/PajeParser/mt_ParserEventPaje.hpp
+++ b/src/parser/PajeParser/mt_ParserEventPaje.hpp
@@ -108,7 +108,7 @@ public:
     int store_event(const PajeLine_t *line, Trace &trace, Trace_builder_struct* tb_struct);
     
       
-signals:
+Q_SIGNALS:
     void build_trace(int n, Trace_builder_struct* tb_struct);  
   };  
     
diff --git a/src/parser/PajeParser/mt_ParserPaje.cpp b/src/parser/PajeParser/mt_ParserPaje.cpp
index 222ce633..2e4f24be 100644
--- a/src/parser/PajeParser/mt_ParserPaje.cpp
+++ b/src/parser/PajeParser/mt_ParserPaje.cpp
@@ -228,7 +228,7 @@ void mt_ParserPaje::parse(Trace &trace,
                 if(i==10000){//we finished to build a block, send it to the BuilderThread
 
                     linesProduced.acquire();
-                    emit produced(i, line);
+                    Q_EMIT produced(i, line);
                     i=0;
                     line=(PajeLine*)calloc(10000,sizeof(PajeLine));
 
@@ -245,14 +245,14 @@ void mt_ParserPaje::parse(Trace &trace,
             }
         }
         //send the last batch
-        emit produced(i, line);
+        Q_EMIT produced(i, line);
         line = NULL;
 
         //send the finish signal to the BuilderThread, which will do the same to the TraceBuilderThread
         //both threads will then be finished and ready to destroy
         //locks the mutex and automatically unlocks it when going out of scope
         QMutexLocker locker(&mutex);
-        emit build_finish();
+        Q_EMIT build_finish();
         ended.wait(&mutex);
         locker.unlock();
 
diff --git a/src/parser/PajeParser/mt_ParserPaje.hpp b/src/parser/PajeParser/mt_ParserPaje.hpp
index a5f3c70c..916ed05c 100644
--- a/src/parser/PajeParser/mt_ParserPaje.hpp
+++ b/src/parser/PajeParser/mt_ParserPaje.hpp
@@ -103,7 +103,7 @@ public:
     float get_percent_loaded() const override;
 
 
-	signals:
+	Q_SIGNALS:
     void produced(int i, PajeLine* line);
 	void build_finish();
 
diff --git a/src/parser/ParserSplitted.hpp b/src/parser/ParserSplitted.hpp
index 74c97a68..df67986c 100644
--- a/src/parser/ParserSplitted.hpp
+++ b/src/parser/ParserSplitted.hpp
@@ -104,7 +104,7 @@ public:
      */
     ParserDefinitionPaje *get_parser_def() const;
 
-signals:
+Q_SIGNALS:
     void produced(int i, PajeLine* line);
     void build_finish();
 };
diff --git a/src/parser/ParsingThread.hpp b/src/parser/ParsingThread.hpp
index 5e5bdf67..da10892f 100644
--- a/src/parser/ParsingThread.hpp
+++ b/src/parser/ParsingThread.hpp
@@ -90,7 +90,7 @@ public:
      */
     bool is_killed();
     
-protected slots:
+protected Q_SLOTS:
     /*!
      *  \fn run()
      *  \brief run the thread.
diff --git a/src/plugin/Command_window.hpp b/src/plugin/Command_window.hpp
index 56a67df7..61a0fa57 100644
--- a/src/plugin/Command_window.hpp
+++ b/src/plugin/Command_window.hpp
@@ -85,7 +85,7 @@ public :
     void init_window();
     void set_trace(Trace * t);
 
-private slots :
+private Q_SLOTS:
     void on_execute_button_clicked();
 };
 
diff --git a/src/plugin/Plugin_window.hpp b/src/plugin/Plugin_window.hpp
index 23823dcf..a3a4e87f 100644
--- a/src/plugin/Plugin_window.hpp
+++ b/src/plugin/Plugin_window.hpp
@@ -141,7 +141,7 @@ private:
      */
    void add_plugin(Plugin *plug);
 
-public slots:
+public Q_SLOTS:
     /*!
      * \fn reload_plugin(int index)
      * \brief Reload the trace of the index-th plugin
diff --git a/src/render/opengl/Render_opengl.hpp b/src/render/opengl/Render_opengl.hpp
index d824345a..08f854ce 100644
--- a/src/render/opengl/Render_opengl.hpp
+++ b/src/render/opengl/Render_opengl.hpp
@@ -427,7 +427,7 @@ public:
     //    void set_vertical_line(int l){}
     //  void draw_vertical_line();
 
-public slots:
+public Q_SLOTS:
     /*!
      * \brief slot connected to the simple click event
      */
diff --git a/src/render/vbo/Render_alternate.hpp b/src/render/vbo/Render_alternate.hpp
index 3142cb10..37a434ae 100644
--- a/src/render/vbo/Render_alternate.hpp
+++ b/src/render/vbo/Render_alternate.hpp
@@ -566,7 +566,7 @@ public:
     void update_ev_couple( EntityValue *ev,
                            std::map<EntityValue*, std::pair<Vbo*, Vbo*> > *evmap,
                            bool shaded );
-public slots:
+public Q_SLOTS:
     /*!
      * \brief slot connected to the simple click event
      */
diff --git a/src/statistics/ChartView.cpp b/src/statistics/ChartView.cpp
index 22ee2399..9277039e 100644
--- a/src/statistics/ChartView.cpp
+++ b/src/statistics/ChartView.cpp
@@ -138,5 +138,5 @@ void Chart_View::on_y_scroll_changed(int x) {
 }
 
 void Chart_View::focusInEvent(QFocusEvent* event) {
-	emit chart_focused();
+	Q_EMIT chart_focused();
 }
diff --git a/src/statistics/ChartView.hpp b/src/statistics/ChartView.hpp
index f70ecb6b..e641b63e 100644
--- a/src/statistics/ChartView.hpp
+++ b/src/statistics/ChartView.hpp
@@ -32,7 +32,7 @@ public:
 
     void reset_scroll_zoom();
 
-signals:
+Q_SIGNALS:
     void chart_focused();
 
 protected:
@@ -41,7 +41,7 @@ protected:
     void wheelEvent(QWheelEvent* event);
     void mousePressEvent(QMouseEvent *event);
     void mouseMoveEvent(QMouseEvent *event);
-public slots:
+public Q_SLOTS:
     void on_x_scroll_changed(int x);
     void on_y_scroll_changed(int x);
 };
\ No newline at end of file
diff --git a/src/statistics/Statistics_window.hpp b/src/statistics/Statistics_window.hpp
index 3c589589..7cae53c1 100644
--- a/src/statistics/Statistics_window.hpp
+++ b/src/statistics/Statistics_window.hpp
@@ -160,10 +160,10 @@ private:
     */
     void set_selected_nodes(const std::string &);
 
-public slots:
+public Q_SLOTS:
     void auto_update_stats();
 
-private slots:
+private Q_SLOTS:
     void on_auto_reload_box_stateChanged(int);
     void on_want_stacked_stateChanged(int);
 
diff --git a/src/trace/Container.hpp b/src/trace/Container.hpp
index 56c9cdbc..c0ef590c 100644
--- a/src/trace/Container.hpp
+++ b/src/trace/Container.hpp
@@ -432,7 +432,7 @@ public:
      */
     int get_depth();
     //#if defined(USE_ITC) && defined(BOOST_SERIALIZE)
-    //       signals:
+    //       Q_SIGNALS:
     //
     //     void dump_on_disk(IntervalOfContainer*,const  char*);
     //     void build_finish();
diff --git a/src/trace/EntityValue.cpp b/src/trace/EntityValue.cpp
index 45e741fd..0da6227c 100644
--- a/src/trace/EntityValue.cpp
+++ b/src/trace/EntityValue.cpp
@@ -182,7 +182,7 @@ EntityValue::set_used_color(Color *c)
     }
     _usedcolor = c;
 
-    emit changedColor( this );
+    Q_EMIT changedColor( this );
 }
 
 void
@@ -190,7 +190,7 @@ EntityValue::set_visible(bool b)
 {
     if ( _visible != b ) {
         _visible = b;
-        emit changedVisible( this );
+        Q_EMIT changedVisible( this );
     }
 }
 
diff --git a/src/trace/EntityValue.hpp b/src/trace/EntityValue.hpp
index 1fba366d..add711e3 100644
--- a/src/trace/EntityValue.hpp
+++ b/src/trace/EntityValue.hpp
@@ -111,7 +111,7 @@ public:
 
     void reload_file_color();
 
-signals:
+Q_SIGNALS:
     void changedColor( EntityValue * );
     void changedVisible( EntityValue * );
 };
diff --git a/src/trace/SerializerDispatcher.cpp b/src/trace/SerializerDispatcher.cpp
index 70cf178e..73aeecd5 100644
--- a/src/trace/SerializerDispatcher.cpp
+++ b/src/trace/SerializerDispatcher.cpp
@@ -80,7 +80,7 @@ void SerializerDispatcher::kill_all_threads(){
                         SLOT(finish_build()));
                 //locks the mutex and automatically unlocks it when going out of scope
                                 QMutexLocker locker(_mutex);
-                emit build_finish();
+                Q_EMIT build_finish();
                 QWaitCondition* _cond=_evt_array[i].get_cond();
                 _cond->wait(_mutex);
                 locker.unlock();
@@ -120,7 +120,7 @@ void SerializerDispatcher::dump(IntervalOfContainer* itc, char* name){
 
     }
     itc->_loaded=false;
-    emit dump_on_disk(itc, name);
+    Q_EMIT dump_on_disk(itc, name);
     _evt_array[_previous_call].get_sem_free()->release();
 }
 
@@ -152,7 +152,7 @@ void SerializerDispatcher::load(IntervalOfContainer* itc, char* name){
 
     }
     itc->_loaded=true;
-    emit load_data(itc, name);
+    Q_EMIT load_data(itc, name);
     _evt_array[_previous_call].get_sem_free()->release();
 }
 
diff --git a/src/trace/SerializerDispatcher.hpp b/src/trace/SerializerDispatcher.hpp
index e4556b2c..c7d68a0c 100644
--- a/src/trace/SerializerDispatcher.hpp
+++ b/src/trace/SerializerDispatcher.hpp
@@ -78,7 +78,7 @@ public:
      //dump an itc, after choosing a free thread to use
      void dump(IntervalOfContainer* itc, char* );
      void load(IntervalOfContainer*, char*);
-     signals:
+     Q_SIGNALS:
      void load_data(IntervalOfContainer*, char*);
      void dump_on_disk(IntervalOfContainer*, char*);
      void build_finish();
diff --git a/src/trace/SerializerWriter.hpp b/src/trace/SerializerWriter.hpp
index 5b3292a3..607e9b23 100644
--- a/src/trace/SerializerWriter.hpp
+++ b/src/trace/SerializerWriter.hpp
@@ -84,7 +84,7 @@ public:
 
         QThread* get_thread();
 
-public slots:
+public Q_SLOTS:
 
         void dump_on_disk(IntervalOfContainer* itc, char* filename);
 
diff --git a/src/trace/TraceBuilderThread.hpp b/src/trace/TraceBuilderThread.hpp
index 4b24844a..6c72c408 100644
--- a/src/trace/TraceBuilderThread.hpp
+++ b/src/trace/TraceBuilderThread.hpp
@@ -90,7 +90,7 @@ public:
     static void end_link(Trace_builder_struct* tb_struct);
 
 
-  public slots:
+  public Q_SLOTS:
   void build_trace(int n, Trace_builder_struct* tb_struct);
   void build_finished();
   bool is_finished();
diff --git a/tests/generator/GeneratorWindow.hpp b/tests/generator/GeneratorWindow.hpp
index 540193c8..21c5df23 100644
--- a/tests/generator/GeneratorWindow.hpp
+++ b/tests/generator/GeneratorWindow.hpp
@@ -102,7 +102,7 @@ public :
     void cleanParam ();
     int run ();
 
-protected slots :
+protected Q_SLOTS:
     void generateButton_clicked ();
     void resetButton_clicked    ();
 
diff --git a/tests/plugin/Plug1.cpp b/tests/plugin/Plug1.cpp
index e9cefe79..509f983c 100644
--- a/tests/plugin/Plug1.cpp
+++ b/tests/plugin/Plug1.cpp
@@ -6,7 +6,7 @@ public:
     void set_arguments(std::map<std::string /*argname*/, QVariant */*argValue*/>) {}
     std::string get_name() { return "Plug1"; }
 
-public slots:
+public Q_SLOTS:
     void execute() { printf("Plug1 : exec\n"); }
 };
 
diff --git a/tests/plugin/Plug2.cpp b/tests/plugin/Plug2.cpp
index afef0888..3a5600ab 100644
--- a/tests/plugin/Plug2.cpp
+++ b/tests/plugin/Plug2.cpp
@@ -7,7 +7,7 @@ public:
 
     std::string get_name() { return "Plug2"; }
 
-public slots:
+public Q_SLOTS:
     void execute() { printf("Plug2 : exec\n"); }
 };
 
diff --git a/tests/plugin/Plug3.hpp b/tests/plugin/Plug3.hpp
index b39b359b..7ac3d41b 100644
--- a/tests/plugin/Plug3.hpp
+++ b/tests/plugin/Plug3.hpp
@@ -10,7 +10,7 @@ public:
 
     std::string get_name() { return "Plug3"; }
 
-public slots:
+public Q_SLOTS:
     void execute() { printf("Plug3 : exec\n"); }
 };
 
diff --git a/tests/plugin/PluginWindow.hpp b/tests/plugin/PluginWindow.hpp
index 20f783f3..c757a583 100644
--- a/tests/plugin/PluginWindow.hpp
+++ b/tests/plugin/PluginWindow.hpp
@@ -28,7 +28,7 @@ private:
     void load_shared_plugins();
     void add_plugin(Plugin *plug);
 
-public slots:
+public Q_SLOTS:
     void init_plugin(int index);
     void execute_plugin();
 };
-- 
GitLab