qml: implement childAt
Added a namespace-level parentWidget() helper, so it works for both widgets and quick
This commit is contained in:
@@ -525,7 +525,7 @@ static DropArea* deepestDropAreaInTopLevel(QWidgetOrQuick *topLevel, QPoint glob
|
||||
if (DockRegistry::self()->affinitiesMatch(dt->affinities(), affinities))
|
||||
return dt;
|
||||
}
|
||||
w = w->parentWidget();
|
||||
w = KDDockWidgets::parentWidget(w);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
||||
@@ -229,6 +229,11 @@ void QWidgetAdapter::close()
|
||||
}
|
||||
}
|
||||
|
||||
QQuickItem *QWidgetAdapter::childAt(QPoint p) const
|
||||
{
|
||||
return QQuickItem::childAt(p.x(), p.y());
|
||||
}
|
||||
|
||||
void QWidgetAdapter::move(int x, int y)
|
||||
{
|
||||
setX(x);
|
||||
|
||||
@@ -36,6 +36,12 @@ QT_END_NAMESPACE
|
||||
|
||||
namespace KDDockWidgets {
|
||||
|
||||
/// @brief Helper since QQuickItem::parentItem() has a different name than QWidget::parentWidget()
|
||||
inline QQuickItem *parentWidget(QQuickItem *item)
|
||||
{
|
||||
return item ? item->parentItem() : nullptr;
|
||||
}
|
||||
|
||||
class FloatingWindow;
|
||||
class DOCKS_EXPORT QWidgetAdapter : public QQuickItem
|
||||
{
|
||||
@@ -96,7 +102,7 @@ public:
|
||||
void setWindowTitle(const QString &) {}
|
||||
void setWindowIcon(const QIcon &) {}
|
||||
void close();
|
||||
QWidgetAdapter* childAt(QPoint) { return nullptr; }
|
||||
QQuickItem *childAt(QPoint) const;
|
||||
void move(int x, int y);
|
||||
|
||||
void setParent(QQuickItem*);
|
||||
|
||||
@@ -27,6 +27,12 @@
|
||||
|
||||
namespace KDDockWidgets {
|
||||
|
||||
/// @brief Helper since QQuickItem::parentItem() has a different name than QWidget::parentWidget()
|
||||
inline QWidget *parentWidget(QWidget *widget)
|
||||
{
|
||||
return widget ? widget->parentWidget() : nullptr;
|
||||
}
|
||||
|
||||
class FloatingWindow;
|
||||
|
||||
class DOCKS_EXPORT QWidgetAdapter : public QWidget
|
||||
|
||||
Reference in New Issue
Block a user