feat(dock): add Fixed area adaptive size

This commit is contained in:
wangxuwen 2019-08-23 10:30:40 +08:00
parent dc3e3e0b6a
commit 3f4425c051
2 changed files with 14 additions and 2 deletions

View File

@ -67,12 +67,13 @@ DockItem::DockItem(QWidget *parent)
grabGesture(Qt::TapAndHoldGesture);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
setMaximumSize(50, 50);
}
QSize DockItem::sizeHint() const
{
return maximumSize();
int size = qMin(maximumWidth(), maximumHeight());
return QSize(size, size);
}
DockItem::~DockItem()

View File

@ -167,6 +167,17 @@ void MainPanelControl::updateAppAreaSonWidgetSize()
{
for (int i = 0; i < m_appAreaSonLayout->count(); ++i) {
QWidget *w = m_appAreaSonLayout->itemAt(i)->widget();
if (w) {
if ((m_position == Qt::TopEdge) || (m_position == Qt::BottomEdge)) {
w->setFixedSize(height(), height());
} else {
w->setMaximumSize(width(), width());
}
}
}
for (int i = 0; i < m_fixedAreaLayout->count(); ++i) {
QWidget *w = m_fixedAreaLayout->itemAt(i)->widget();
if (w) {
if ((m_position == Qt::TopEdge) || (m_position == Qt::BottomEdge)) {
w->setMaximumSize(height(), height());