forked from qt-creator/qt-creator
QmlDesignerPlugin: Use QWidget::isAncestorOf()
Change-Id: I7896fe5907e3af932ad29e6577207ac803164330 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -759,31 +759,18 @@ void QmlDesignerPlugin::registerPreviewImageProvider(QQmlEngine *engine)
|
|||||||
m_instance->d->projectManager.registerPreviewImageProvider(engine);
|
m_instance->d->projectManager.registerPreviewImageProvider(engine);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isParent(QWidget *parent, QWidget *widget)
|
|
||||||
{
|
|
||||||
if (!widget)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (widget == parent)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return isParent(parent, widget->parentWidget());
|
|
||||||
}
|
|
||||||
|
|
||||||
void QmlDesignerPlugin::trackWidgetFocusTime(QWidget *widget, const QString &identifier)
|
void QmlDesignerPlugin::trackWidgetFocusTime(QWidget *widget, const QString &identifier)
|
||||||
{
|
{
|
||||||
connect(qApp,
|
connect(qApp, &QApplication::focusChanged,
|
||||||
&QApplication::focusChanged,
|
widget, [widget, identifier](QWidget *from, QWidget *to) {
|
||||||
widget,
|
|
||||||
[widget, identifier](QWidget *from, QWidget *to) {
|
|
||||||
static QElapsedTimer widgetUsageTimer;
|
static QElapsedTimer widgetUsageTimer;
|
||||||
static QString lastIdentifier;
|
static QString lastIdentifier;
|
||||||
if (isParent(widget, to)) {
|
if (widget->isAncestorOf(to)) {
|
||||||
if (!lastIdentifier.isEmpty())
|
if (!lastIdentifier.isEmpty())
|
||||||
emitUsageStatisticsTime(lastIdentifier, widgetUsageTimer.elapsed());
|
emitUsageStatisticsTime(lastIdentifier, widgetUsageTimer.elapsed());
|
||||||
widgetUsageTimer.restart();
|
widgetUsageTimer.restart();
|
||||||
lastIdentifier = identifier;
|
lastIdentifier = identifier;
|
||||||
} else if (isParent(widget, from) && lastIdentifier == identifier) {
|
} else if (widget->isAncestorOf(from) && lastIdentifier == identifier) {
|
||||||
emitUsageStatisticsTime(identifier, widgetUsageTimer.elapsed());
|
emitUsageStatisticsTime(identifier, widgetUsageTimer.elapsed());
|
||||||
lastIdentifier.clear();
|
lastIdentifier.clear();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user