diff --git a/src/plugins/qmlprofiler/qmlprofilereventview.cpp b/src/plugins/qmlprofiler/qmlprofilereventview.cpp
index da0137b9c3bb397e91536aec71b84bb1d071d7ee..5e213955523c0c62728b98b41151a4d4c7213dd4 100644
--- a/src/plugins/qmlprofiler/qmlprofilereventview.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilereventview.cpp
@@ -544,7 +544,7 @@ void QmlProfilerEventsMainView::parseModelProxy()
         }
 
         if (d->m_fieldShown[TotalTime]) {
-            newRow << new EventsViewItem(displayTime(event.duration));
+            newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event.duration));
             newRow.last()->setData(QVariant(event.duration));
         }
 
@@ -554,22 +554,22 @@ void QmlProfilerEventsMainView::parseModelProxy()
         }
 
         if (d->m_fieldShown[TimePerCall]) {
-            newRow << new EventsViewItem(displayTime(event.timePerCall));
+            newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event.timePerCall));
             newRow.last()->setData(QVariant(event.timePerCall));
         }
 
         if (d->m_fieldShown[MedianTime]) {
-            newRow << new EventsViewItem(displayTime(event.medianTime));
+            newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event.medianTime));
             newRow.last()->setData(QVariant(event.medianTime));
         }
 
         if (d->m_fieldShown[MaxTime]) {
-            newRow << new EventsViewItem(displayTime(event.maxTime));
+            newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event.maxTime));
             newRow.last()->setData(QVariant(event.maxTime));
         }
 
         if (d->m_fieldShown[MinTime]) {
-            newRow << new EventsViewItem(displayTime(event.minTime));
+            newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event.minTime));
             newRow.last()->setData(QVariant(event.minTime));
         }
 
@@ -604,16 +604,6 @@ void QmlProfilerEventsMainView::parseModelProxy()
     }
 }
 
-QString QmlProfilerEventsMainView::displayTime(double time)
-{
-    if (time < 1e6)
-        return QString::number(time/1e3,'f',3) + trUtf8(" \xc2\xb5s");
-    if (time < 1e9)
-        return QString::number(time/1e6,'f',3) + tr(" ms");
-
-    return QString::number(time/1e9,'f',3) + tr(" s");
-}
-
 QString QmlProfilerEventsMainView::nameForType(int typeNumber)
 {
     switch (typeNumber) {
@@ -828,13 +818,13 @@ void QmlProfilerEventRelativesView::rebuildTree(QmlProfilerEventRelativesModelPr
         // no indirections at this level of abstraction!
         newRow << new EventsViewItem(event.displayName);
         newRow << new EventsViewItem(QmlProfilerEventsMainView::nameForType(event.eventType));
-        newRow << new EventsViewItem(QmlProfilerEventsMainView::displayTime(event.duration));
+        newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event.duration));
         newRow << new EventsViewItem(QString::number(event.calls));
         newRow << new EventsViewItem(event.details);
 
 //        newRow << new EventsViewItem(event->reference->displayName);
 //        newRow << new EventsViewItem(QmlProfilerEventsMainView::nameForType(event->reference->eventType));
-//        newRow << new EventsViewItem(QmlProfilerEventsMainView::displayTime(event->duration));
+//        newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event->duration));
 //        newRow << new EventsViewItem(QString::number(event->calls));
 //        newRow << new EventsViewItem(event->reference->details);
         newRow.at(0)->setData(QVariant(key), EventHashStrRole);
diff --git a/src/plugins/qmlprofiler/qmlprofilereventview.h b/src/plugins/qmlprofiler/qmlprofilereventview.h
index 3ef413cec63cba577eaa6f8419cb77643a6a8524..0a3d2aea30bd1051a1716b9efe5ff0b327f403fa 100644
--- a/src/plugins/qmlprofiler/qmlprofilereventview.h
+++ b/src/plugins/qmlprofiler/qmlprofilereventview.h
@@ -115,7 +115,6 @@ public:
     void copyTableToClipboard() const;
     void copyRowToClipboard() const;
 
-    static QString displayTime(double time);
     static QString nameForType(int typeNumber);
 
     void getStatisticsInRange(qint64 rangeStart, qint64 rangeEnd);
diff --git a/src/plugins/qmlprofiler/qmlprofilerpainteventsmodelproxy.cpp b/src/plugins/qmlprofiler/qmlprofilerpainteventsmodelproxy.cpp
index cc92e9d5390c33bf5f02cf9f8dffdce78138ed6a..2c2a9c048b98e6cb4f35073f4aa8e215ad37bda6 100644
--- a/src/plugins/qmlprofiler/qmlprofilerpainteventsmodelproxy.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerpainteventsmodelproxy.cpp
@@ -56,7 +56,6 @@ public:
     PaintEventsModelProxyPrivate(PaintEventsModelProxy *qq) : q(qq) {}
     ~PaintEventsModelProxyPrivate() {}
 
-    QString displayTime(double time);
     void computeAnimationCountLimit();
 
     int minAnimationCount;
@@ -281,16 +280,6 @@ const QVariantList PaintEventsModelProxy::getLabelsForCategory(int category) con
     return result;
 }
 
-QString PaintEventsModelProxy::PaintEventsModelProxyPrivate::displayTime(double time)
-{
-    if (time < 1e6)
-        return QString::number(time/1e3,'f',3) + trUtf8(" \xc2\xb5s");
-    if (time < 1e9)
-        return QString::number(time/1e6,'f',3) + tr(" ms");
-
-    return QString::number(time/1e9,'f',3) + tr(" s");
-}
-
 void PaintEventsModelProxy::PaintEventsModelProxyPrivate::computeAnimationCountLimit()
 {
     minAnimationCount = 1;
@@ -321,7 +310,8 @@ const QVariantList PaintEventsModelProxy::getEventDetails(int index) const
     // duration
     {
         QVariantMap valuePair;
-        valuePair.insert(QCoreApplication::translate(trContext, "Duration:"), QVariant(d->displayTime(d->range(index).duration)));
+        valuePair.insert(QCoreApplication::translate(trContext, "Duration:"),
+                         QVariant(QmlProfilerSimpleModel::formatTime(d->range(index).duration)));
         result << valuePair;
     }
 
diff --git a/src/plugins/qmlprofiler/qmlprofilersimplemodel.cpp b/src/plugins/qmlprofiler/qmlprofilersimplemodel.cpp
index 231c062fc77d20e4c195715f5eef32eeb03a3396..5d13ad9622c886aec00e4a690829e512f7db8020 100644
--- a/src/plugins/qmlprofiler/qmlprofilersimplemodel.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilersimplemodel.cpp
@@ -105,4 +105,14 @@ QString QmlProfilerSimpleModel::getHashString(const QmlProfilerSimpleModel::QmlE
                 QString::number(event.bindingType));
 }
 
+QString QmlProfilerSimpleModel::formatTime(qint64 timestamp)
+{
+    if (timestamp < 1e6)
+        return QString::number(timestamp/1e3f,'f',3) + trUtf8(" \xc2\xb5s");
+    if (timestamp < 1e9)
+        return QString::number(timestamp/1e6f,'f',3) + tr(" ms");
+
+    return QString::number(timestamp/1e9f,'f',3) + tr(" s");
+}
+
 }
diff --git a/src/plugins/qmlprofiler/qmlprofilersimplemodel.h b/src/plugins/qmlprofiler/qmlprofilersimplemodel.h
index afdc6bc50568bcc15da4417eb514471a139d5211..28c11ad0c4100a7a272d024d4ee27687d7a32cd5 100644
--- a/src/plugins/qmlprofiler/qmlprofilersimplemodel.h
+++ b/src/plugins/qmlprofiler/qmlprofilersimplemodel.h
@@ -75,6 +75,7 @@ public:
     qint64 lastTimeMark() const;
 
     static QString getHashString(const QmlProfilerSimpleModel::QmlEventData &event);
+    static QString formatTime(qint64 timestamp);
 
 protected:
     QVector<QmlEventData> eventList;
diff --git a/src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp b/src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
index 5096a58749e0c665cb95bb86155ebfce88f9a82c..f9c52cfdd91f4ffa6682135ef2e8529a27652fd7 100644
--- a/src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
@@ -64,8 +64,6 @@ public:
     void findBindingLoops();
     void computeRowStarts();
 
-    QString displayTime(double time);
-
     QVector <BasicTimelineModel::QmlRangeEventData> eventDict;
     QVector <QString> eventHashes;
     QVector <CategorySpan> categorySpan;
@@ -443,16 +441,6 @@ const QVariantList BasicTimelineModel::getLabelsForCategory(int category) const
     return result;
 }
 
-QString BasicTimelineModel::BasicTimelineModelPrivate::displayTime(double time)
-{
-    if (time < 1e6)
-        return QString::number(time/1e3,'f',3) + trUtf8(" \xc2\xb5s");
-    if (time < 1e9)
-        return QString::number(time/1e6,'f',3) + tr(" ms");
-
-    return QString::number(time/1e9,'f',3) + tr(" s");
-}
-
 const QVariantList BasicTimelineModel::getEventDetails(int index) const
 {
     QVariantList result;
@@ -468,7 +456,8 @@ const QVariantList BasicTimelineModel::getEventDetails(int index) const
     // duration
     {
         QVariantMap valuePair;
-        valuePair.insert(QCoreApplication::translate(trContext, "Duration:"), QVariant(d->displayTime(d->range(index).duration)));
+        valuePair.insert(QCoreApplication::translate(trContext, "Duration:"),
+                         QVariant(QmlProfilerSimpleModel::formatTime(d->range(index).duration)));
         result << valuePair;
     }
 
diff --git a/src/plugins/qmlprofiler/qv8profilereventview.cpp b/src/plugins/qmlprofiler/qv8profilereventview.cpp
index 90616f378948cc261f049ed3890000d91db0f8dd..71166cb4b9aa8f53c77f678dd8c91c5a70655d05 100644
--- a/src/plugins/qmlprofiler/qv8profilereventview.cpp
+++ b/src/plugins/qmlprofiler/qv8profilereventview.cpp
@@ -443,7 +443,7 @@ void QV8ProfilerEventsMainView::QV8ProfilerEventsMainViewPrivate::buildV8ModelFr
         }
 
         if (m_fieldShown[TotalTime]) {
-            newRow << new EventsViewItem(displayTime(v8event->totalTime));
+            newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(v8event->totalTime));
             newRow.last()->setData(QVariant(v8event->totalTime));
         }
 
@@ -453,7 +453,7 @@ void QV8ProfilerEventsMainView::QV8ProfilerEventsMainViewPrivate::buildV8ModelFr
         }
 
         if (m_fieldShown[SelfTime]) {
-            newRow << new EventsViewItem(displayTime(v8event->selfTime));
+            newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(v8event->selfTime));
             newRow.last()->setData(QVariant(v8event->selfTime));
         }
 
@@ -480,28 +480,6 @@ void QV8ProfilerEventsMainView::QV8ProfilerEventsMainViewPrivate::buildV8ModelFr
     }
 }
 
-QString QV8ProfilerEventsMainView::displayTime(double time)
-{
-    if (time < 1e6)
-        return QString::number(time/1e3,'f',3) + trUtf8(" \xc2\xb5s");
-    if (time < 1e9)
-        return QString::number(time/1e6,'f',3) + tr(" ms");
-
-    return QString::number(time/1e9,'f',3) + tr(" s");
-}
-
-QString QV8ProfilerEventsMainView::nameForType(int typeNumber)
-{
-    switch (typeNumber) {
-    case 0: return QV8ProfilerEventsMainView::tr("Paint");
-    case 1: return QV8ProfilerEventsMainView::tr("Compile");
-    case 2: return QV8ProfilerEventsMainView::tr("Create");
-    case 3: return QV8ProfilerEventsMainView::tr("Binding");
-    case 4: return QV8ProfilerEventsMainView::tr("Signal");
-    }
-    return QString();
-}
-
 int QV8ProfilerEventsMainView::selectedEventId() const
 {
     QModelIndex index = selectedItem();
@@ -687,7 +665,7 @@ void QV8ProfilerEventRelativesView::rebuildTree(QList<QV8EventSub*> events)
     foreach (QV8EventSub *event, events) {
         QList<QStandardItem *> newRow;
         newRow << new EventsViewItem(event->reference->displayName);
-        newRow << new EventsViewItem(QV8ProfilerEventsMainView::displayTime(event->totalTime));
+        newRow << new EventsViewItem(QmlProfilerSimpleModel::formatTime(event->totalTime));
         newRow << new EventsViewItem(event->reference->functionName);
         newRow.at(0)->setData(QVariant(event->reference->eventId), EventIdRole);
         newRow.at(1)->setData(QVariant(event->totalTime));
diff --git a/src/plugins/qmlprofiler/qv8profilereventview.h b/src/plugins/qmlprofiler/qv8profilereventview.h
index 5efa471c6c1c6ee5641734f82545785fb81a52fb..54dda6821335135cfb9fca106fbb56f5b0bc574b 100644
--- a/src/plugins/qmlprofiler/qv8profilereventview.h
+++ b/src/plugins/qmlprofiler/qv8profilereventview.h
@@ -101,9 +101,6 @@ public:
     void copyTableToClipboard() const;
     void copyRowToClipboard() const;
 
-    static QString displayTime(double time);
-    static QString nameForType(int typeNumber);
-
     int selectedEventId() const;
 
     void setShowExtendedStatistics(bool);