diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 8fd7015a363b879718a8fa2223b1513a5b525ae8..08ef34b93cc5698af77d4e8f75edf3f7cbc87041 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -170,12 +170,10 @@ public:
 signals:
     void updateRequest(int position, QPointF lastPos, QRectF rect);
 
-
-private slots:
+private:
     void step(qreal v);
 
-private:
-    QTimeLine *m_timeline;
+    QTimeLine m_timeline;
     qreal m_value;
     int m_position;
     QPointF m_lastDrawPos;
@@ -5447,17 +5445,15 @@ void BaseTextEditorWidgetPrivate::_q_animateUpdate(int position, QPointF lastPos
 
 
 BaseTextEditorAnimator::BaseTextEditorAnimator(QObject *parent)
-        :QObject(parent)
+    : QObject(parent), m_timeline(256)
 {
     m_value = 0;
-    m_timeline = new QTimeLine(256, this);
-    m_timeline->setCurveShape(QTimeLine::SineCurve);
-    connect(m_timeline, SIGNAL(valueChanged(qreal)), this, SLOT(step(qreal)));
-    connect(m_timeline, SIGNAL(finished()), this, SLOT(deleteLater()));
-    m_timeline->start();
+    m_timeline.setCurveShape(QTimeLine::SineCurve);
+    connect(&m_timeline, &QTimeLine::valueChanged, this, &BaseTextEditorAnimator::step);
+    connect(&m_timeline, &QTimeLine::finished, this, &QObject::deleteLater);
+    m_timeline.start();
 }
 
-
 void BaseTextEditorAnimator::setData(const QFont &f, const QPalette &pal, const QString &text)
 {
     m_font = f;
@@ -5484,7 +5480,7 @@ void BaseTextEditorAnimator::draw(QPainter *p, const QPointF &pos)
 
 bool BaseTextEditorAnimator::isRunning() const
 {
-    return m_timeline->state() == QTimeLine::Running;
+    return m_timeline.state() == QTimeLine::Running;
 }
 
 QRectF BaseTextEditorAnimator::rect() const
@@ -5506,7 +5502,7 @@ void BaseTextEditorAnimator::step(qreal v)
 
 void BaseTextEditorAnimator::finish()
 {
-    m_timeline->stop();
+    m_timeline.stop();
     step(0);
     deleteLater();
 }