aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2022-05-18 18:37:33 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2022-05-19 10:00:21 +0000
commit72b6673069bb5fd9a761ad738524462600de53ba (patch)
tree381da91905c1e146a43c4465812352e7eb0e9334
parent816a9d62282ca58d0373e88bb066fb8fc8c3efd8 (diff)
QmlDesigner: Collect usage time for more views
This collects the time for: property editor states editor item library asset library text editor Change-Id: I07cb5a75f1e007555f0d03d2518246a27e60f305 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp13
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h12
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp17
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h12
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.cpp15
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.h6
-rw-r--r--src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp15
-rw-r--r--src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h6
-rw-r--r--src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp14
-rw-r--r--src/plugins/qmldesigner/components/texteditor/texteditorwidget.h4
-rw-r--r--src/plugins/qmldesigner/qmldesignerconstants.h6
11 files changed, 109 insertions, 11 deletions
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
index 85f7cfc854..992096b438 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
@@ -110,6 +110,19 @@ bool AssetsLibraryWidget::eventFilter(QObject *obj, QEvent *event)
return QObject::eventFilter(obj, event);
}
+void AssetsLibraryWidget::focusOutEvent(QFocusEvent *focusEvent)
+{
+ QmlDesignerPlugin::emitUsageStatisticsTime(Constants::EVENT_ASSETSLIBRARY_TIME,
+ m_usageTimer.elapsed());
+ QFrame::focusOutEvent(focusEvent);
+}
+
+void AssetsLibraryWidget::focusInEvent(QFocusEvent *focusEvent)
+{
+ m_usageTimer.restart();
+ QFrame::focusInEvent(focusEvent);
+}
+
AssetsLibraryWidget::AssetsLibraryWidget(AsynchronousImageCache &asynchronousFontImageCache,
SynchronousImageCache &synchronousFontImageCache)
: m_itemIconSize(24, 24)
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h
index 125755409e..c651bc26ce 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h
@@ -28,13 +28,14 @@
#include <previewtooltip/previewtooltipbackend.h>
#include "assetslibrarymodel.h"
-#include <QFrame>
-#include <QToolButton>
+#include <QElapsedTimer>
#include <QFileIconProvider>
-#include <QQuickWidget>
+#include <QFrame>
+#include <QPointF>
#include <QQmlPropertyMap>
+#include <QQuickWidget>
#include <QTimer>
-#include <QPointF>
+#include <QToolButton>
#include <memory>
@@ -89,6 +90,8 @@ signals:
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
+ void focusOutEvent(QFocusEvent *focusEvent) override;
+ void focusInEvent(QFocusEvent *focusEvent) override;
private:
void reloadQmlSource();
@@ -114,6 +117,7 @@ private:
bool m_updateRetry = false;
QString m_filterText;
QPoint m_dragStartPoint;
+ QElapsedTimer m_usageTimer;
};
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
index 9f6d33e934..5382d74ba7 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
@@ -30,14 +30,14 @@
#include <theme.h>
+#include "modelnodeoperations.h"
#include <designeractionmanager.h>
#include <designermcumanager.h>
#include <documentmanager.h>
+#include <itemlibraryaddimportmodel.h>
#include <itemlibraryimageprovider.h>
#include <itemlibraryinfo.h>
#include <itemlibrarymodel.h>
-#include <itemlibraryaddimportmodel.h>
-#include "modelnodeoperations.h"
#include <metainfo.h>
#include <model.h>
#include <rewritingexception.h>
@@ -140,6 +140,19 @@ void ItemLibraryWidget::resizeEvent(QResizeEvent *event)
isHorizontalLayout = event->size().width() >= HORIZONTAL_LAYOUT_WIDTH_LIMIT;
}
+void ItemLibraryWidget::focusOutEvent(QFocusEvent *focusEvent)
+{
+ QmlDesignerPlugin::emitUsageStatisticsTime(Constants::EVENT_ITEMLIBRARY_TIME,
+ m_usageTimer.elapsed());
+ QFrame::focusOutEvent(focusEvent);
+}
+
+void ItemLibraryWidget::focusInEvent(QFocusEvent *focusEvent)
+{
+ m_usageTimer.restart();
+ QFrame::focusInEvent(focusEvent);
+}
+
ItemLibraryWidget::ItemLibraryWidget(AsynchronousImageCache &imageCache,
AsynchronousImageCache &asynchronousFontImageCache,
SynchronousImageCache &synchronousFontImageCache)
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h
index 500b3f7197..5137cd5fcc 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h
@@ -32,13 +32,14 @@
#include <utils/dropsupport.h>
#include <previewtooltip/previewtooltipbackend.h>
-#include <QFrame>
-#include <QToolButton>
+#include <QElapsedTimer>
#include <QFileIconProvider>
-#include <QQuickWidget>
+#include <QFrame>
+#include <QPointF>
#include <QQmlPropertyMap>
+#include <QQuickWidget>
#include <QTimer>
-#include <QPointF>
+#include <QToolButton>
#include <memory>
@@ -104,6 +105,8 @@ signals:
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
+ void focusOutEvent(QFocusEvent *focusEvent) override;
+ void focusInEvent(QFocusEvent *focusEvent) override;
private:
void reloadQmlSource();
@@ -132,6 +135,7 @@ private:
QString m_filterText;
QPoint m_dragStartPoint;
bool m_subCompEditMode = false;
+ QElapsedTimer m_usageTimer;
inline static int HORIZONTAL_LAYOUT_WIDTH_LIMIT = 600;
};
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.cpp
index 3d9478e7be..bc0bf03077 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.cpp
@@ -25,6 +25,8 @@
#include "propertyeditorwidget.h"
+#include <qmldesignerconstants.h>
+#include <qmldesignerplugin.h>
namespace QmlDesigner {
@@ -32,6 +34,19 @@ PropertyEditorWidget::PropertyEditorWidget(QWidget *parent) : QStackedWidget(par
{
}
+void PropertyEditorWidget::focusOutEvent(QFocusEvent *focusEvent)
+{
+ QmlDesignerPlugin::emitUsageStatisticsTime(Constants::EVENT_PROPERTYEDITOR_TIME,
+ m_usageTimer.elapsed());
+ QStackedWidget::focusOutEvent(focusEvent);
+}
+
+void PropertyEditorWidget::focusInEvent(QFocusEvent *focusEvent)
+{
+ m_usageTimer.restart();
+ QStackedWidget::focusInEvent(focusEvent);
+}
+
void PropertyEditorWidget::resizeEvent(QResizeEvent * event)
{
QStackedWidget::resizeEvent(event);
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.h
index 035363433f..54ae81fd33 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorwidget.h
@@ -25,6 +25,7 @@
#pragma once
+#include <QElapsedTimer>
#include <QStackedWidget>
namespace QmlDesigner {
@@ -41,7 +42,12 @@ signals:
void resized();
protected:
+ void focusOutEvent(QFocusEvent *focusEvent) override;
+ void focusInEvent(QFocusEvent *focusEvent) override;
void resizeEvent(QResizeEvent * event) override;
+
+private:
+ QElapsedTimer m_usageTimer;
};
} //QmlDesigner
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
index b7b391944a..b77fbf2a51 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
@@ -30,6 +30,8 @@
#include <designersettings.h>
#include <theme.h>
+#include <qmldesignerconstants.h>
+#include <qmldesignerplugin.h>
#include <invalidqmlsourceexception.h>
@@ -139,6 +141,19 @@ void StatesEditorWidget::showEvent(QShowEvent *event)
update();
}
+void StatesEditorWidget::focusOutEvent(QFocusEvent *focusEvent)
+{
+ QmlDesignerPlugin::emitUsageStatisticsTime(Constants::EVENT_STATESEDITOR_TIME,
+ m_usageTimer.elapsed());
+ QQuickWidget::focusOutEvent(focusEvent);
+}
+
+void StatesEditorWidget::focusInEvent(QFocusEvent *focusEvent)
+{
+ m_usageTimer.restart();
+ QQuickWidget::focusInEvent(focusEvent);
+}
+
void StatesEditorWidget::reloadQmlSource()
{
QString statesListQmlFilePath = qmlSourcesPath() + QStringLiteral("/StatesList.qml");
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h
index b613e600c4..1193dd5e3b 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h
@@ -25,9 +25,10 @@
#pragma once
-#include <QQuickWidget>
+#include <QElapsedTimer>
#include <QPointer>
#include <QQmlPropertyMap>
+#include <QQuickWidget>
QT_BEGIN_NAMESPACE
class QShortcut;
@@ -59,6 +60,8 @@ public:
protected:
void showEvent(QShowEvent *) override;
+ void focusOutEvent(QFocusEvent *focusEvent) override;
+ void focusInEvent(QFocusEvent *focusEvent) override;
private:
void reloadQmlSource();
@@ -67,6 +70,7 @@ private:
QPointer<StatesEditorView> m_statesEditorView;
Internal::StatesEditorImageProvider *m_imageProvider;
QShortcut *m_qmlSourceUpdateShortcut;
+ QElapsedTimer m_usageTimer;
};
}
diff --git a/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp b/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp
index 1d9902a129..2b19429f93 100644
--- a/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp
@@ -30,6 +30,7 @@
#include <coreplugin/findplaceholder.h>
#include <rewriterview.h>
+#include <qmldesignerconstants.h>
#include <qmldesignerplugin.h>
#include <theme.h>
@@ -240,4 +241,17 @@ void TextEditorWidget::dropEvent(QDropEvent *dropEvent)
actionManager.handleExternalAssetsDrop(dropEvent->mimeData());
}
+void TextEditorWidget::focusOutEvent(QFocusEvent *focusEvent)
+{
+ QmlDesignerPlugin::emitUsageStatisticsTime(Constants::EVENT_TEXTEDITOR_TIME,
+ m_usageTimer.elapsed());
+ QWidget::focusOutEvent(focusEvent);
+}
+
+void TextEditorWidget::focusInEvent(QFocusEvent *focusEvent)
+{
+ m_usageTimer.restart();
+ QWidget::focusInEvent(focusEvent);
+}
+
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/components/texteditor/texteditorwidget.h b/src/plugins/qmldesigner/components/texteditor/texteditorwidget.h
index efd51d8afc..e247a7f715 100644
--- a/src/plugins/qmldesigner/components/texteditor/texteditorwidget.h
+++ b/src/plugins/qmldesigner/components/texteditor/texteditorwidget.h
@@ -26,6 +26,7 @@
#include <texteditor/texteditor.h>
+#include <QElapsedTimer>
#include <QTimer>
#include <QVBoxLayout>
#include <QWidget>
@@ -69,6 +70,8 @@ protected:
bool eventFilter(QObject *object, QEvent *event) override;
void dragEnterEvent(QDragEnterEvent *dragEnterEvent) override;
void dropEvent(QDropEvent *dropEvent) override;
+ void focusOutEvent(QFocusEvent *focusEvent) override;
+ void focusInEvent(QFocusEvent *focusEvent) override;
private:
void updateSelectionByCursorPosition();
@@ -81,6 +84,7 @@ private:
QVBoxLayout *m_layout = nullptr;
bool m_blockCursorSelectionSynchronisation = false;
bool m_blockRoundTrip = false;
+ QElapsedTimer m_usageTimer;
};
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/qmldesignerconstants.h b/src/plugins/qmldesigner/qmldesignerconstants.h
index a5c7bbf33d..5be345b1c7 100644
--- a/src/plugins/qmldesigner/qmldesignerconstants.h
+++ b/src/plugins/qmldesigner/qmldesignerconstants.h
@@ -117,6 +117,12 @@ const char EVENT_3DEDITOR_TIME[] = "3DEditor";
const char EVENT_TIMELINE_TIME[] = "timeline";
const char EVENT_TRANSITIONEDITOR_TIME[] = "transitionEditor";
const char EVENT_CURVEDITOR_TIME[] = "curveEditor";
+const char EVENT_STATESEDITOR_TIME[] = "statesEditor";
+const char EVENT_TEXTEDITOR_TIME[] = "textEditor";
+const char EVENT_PROPERTYEDITOR_TIME[] = "propertyEditor";
+const char EVENT_ASSETSLIBRARY_TIME[] = "assetsLibrary";
+const char EVENT_ITEMLIBRARY_TIME[] = "itemLibrary";
+const char EVENT_TRANSLATIONVIEW_TIME[] = "translationView";
const char PROPERTY_EDITOR_CLASSNAME_PROPERTY[] = "__classNamePrivateInternal";