Make MultiSplitter inherit from Layouting::Widget too

Since it's the host widget.
Fixes the Widget wrapper leaking. And no need for so much boiler-plate
This commit is contained in:
Sergio Martins
2020-05-24 18:21:36 +01:00
parent 7c9ee4f497
commit 16aac70510
6 changed files with 18 additions and 18 deletions

View File

@@ -40,6 +40,7 @@ using namespace KDDockWidgets;
MultiSplitter::MultiSplitter(QWidgetOrQuick *parent)
: QWidgetAdapter(parent)
, Layouting::Widget_qwidget(this)
, m_layout(new MultiSplitterLayout(this))
{
connect(m_layout, &MultiSplitterLayout::minimumSizeChanged, this, [this] (QSize sz) {
@@ -85,7 +86,7 @@ bool MultiSplitter::isInMainWindow() const
MainWindowBase *MultiSplitter::mainWindow() const
{
if (auto pw = parentWidget()) {
if (auto pw = QWidget::parentWidget()) {
// Note that if pw is a FloatingWindow then pw->parentWidget() can be a MainWindow too, as it's parented
if (pw->objectName() == QLatin1String("MyCentralWidget"))
return qobject_cast<MainWindowBase*>(pw->parentWidget());
@@ -96,5 +97,5 @@ MainWindowBase *MultiSplitter::mainWindow() const
FloatingWindow *MultiSplitter::floatingWindow() const
{
return qobject_cast<FloatingWindow*>(parentWidget());
return qobject_cast<FloatingWindow*>(QWidget::parentWidget());
}