Move more code to GuestWidget
This commit is contained in:
@@ -25,15 +25,7 @@ using namespace Layouting;
|
||||
|
||||
QSize GuestWidget::minSize() const
|
||||
{
|
||||
const QWidget *w = asWidget();
|
||||
|
||||
const int minW = w->minimumWidth() > 0 ? w->minimumWidth()
|
||||
: w->minimumSizeHint().width();
|
||||
|
||||
const int minH = w->minimumHeight() > 0 ? w->minimumHeight()
|
||||
: w->minimumSizeHint().height();
|
||||
|
||||
return QSize(minW, minH).expandedTo(Item::hardcodedMinimumSize);
|
||||
return widgetMinSize(asWidget());
|
||||
}
|
||||
|
||||
QSize GuestWidget::maxSize() const
|
||||
@@ -45,3 +37,14 @@ QSize GuestWidget::size() const
|
||||
{
|
||||
return asWidget()->size();
|
||||
}
|
||||
|
||||
QSize GuestWidget::widgetMinSize(const QWidget *w)
|
||||
{
|
||||
const int minW = w->minimumWidth() > 0 ? w->minimumWidth()
|
||||
: w->minimumSizeHint().width();
|
||||
|
||||
const int minH = w->minimumHeight() > 0 ? w->minimumHeight()
|
||||
: w->minimumSizeHint().height();
|
||||
|
||||
return QSize(minW, minH).expandedTo(Item::hardcodedMinimumSize);
|
||||
}
|
||||
|
||||
@@ -42,9 +42,17 @@ public:
|
||||
QSize maxSize() const override;
|
||||
QSize size() const override;
|
||||
|
||||
static QSize widgetMinSize(const QWidget *w);
|
||||
|
||||
private:
|
||||
QWidget *const m_thisWidget;
|
||||
Q_DISABLE_COPY(GuestWidget)
|
||||
};
|
||||
|
||||
inline int widgetMinLength(const QWidget *w, Qt::Orientation o)
|
||||
{
|
||||
const QSize sz = GuestWidget::widgetMinSize(w);
|
||||
return o == Qt::Vertical ? sz.height() : sz.width();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -514,22 +514,4 @@ private:
|
||||
Private *const d;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the widget's min size
|
||||
*/
|
||||
inline QSize widgetMinSize(const QWidget *w)
|
||||
{
|
||||
const int minW = w->minimumWidth() > 0 ? w->minimumWidth()
|
||||
: w->minimumSizeHint().width();
|
||||
|
||||
const int minH = w->minimumHeight() > 0 ? w->minimumHeight()
|
||||
: w->minimumSizeHint().height();
|
||||
|
||||
return QSize(minW, minH).expandedTo(Item::hardcodedMinimumSize);
|
||||
}
|
||||
|
||||
inline int widgetMinLength(const QWidget *w, Qt::Orientation o) {
|
||||
return length(widgetMinSize(w), o);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "Config.h"
|
||||
#include "FrameworkWidgetFactory.h"
|
||||
#include "LayoutSaver.h"
|
||||
#include "multisplitter/GuestWidget.h"
|
||||
|
||||
using namespace KDDockWidgets;
|
||||
|
||||
@@ -379,7 +380,7 @@ QRect MultiSplitterLayout::rectForDrop(const QWidgetOrQuick *widget, Location lo
|
||||
{
|
||||
Layouting::Item item(nullptr);
|
||||
item.setSize(widget->size());
|
||||
item.setMinSize(Layouting::widgetMinSize(widget));
|
||||
item.setMinSize(Layouting::GuestWidget::widgetMinSize(widget));
|
||||
item.setMaxSize(widget->maximumSize());
|
||||
|
||||
Layouting::ItemContainer *container = relativeTo ? relativeTo->parentContainer()
|
||||
|
||||
Reference in New Issue
Block a user