fix: dock plugin calculated to an incorrect size

set minSize only for uosai

log: as title
issue: https://github.com/linuxdeepin/developer-center/issues/7127
This commit is contained in:
tsic404 2024-01-30 12:00:39 +08:00 committed by deepin-bot[bot]
parent 2b81011b7e
commit e6e8995e51

View File

@ -710,8 +710,11 @@ void QuickDockItem::setPosition(Dock::Position position)
QWidget *itemWidget = m_pluginItem->itemWidget(m_itemKey); QWidget *itemWidget = m_pluginItem->itemWidget(m_itemKey);
if (itemWidget && m_mainLayout->indexOf(itemWidget) < 0) { if (itemWidget && m_mainLayout->indexOf(itemWidget) < 0) {
auto size= suitableSize(); auto size= suitableSize();
auto minSize = std::min(size.height(), size.width()); if (pluginItem()->pluginName() == QStringLiteral("uosai")) {
itemWidget->setFixedSize(QSize(minSize, minSize)); auto minSize = std::min(size.height(), size.width());
size = QSize(minSize, minSize);
}
itemWidget->setFixedSize(size);
} }
} }
} }
@ -882,8 +885,12 @@ void QuickDockItem::showEvent(QShowEvent *event)
if (itemWidget && m_mainLayout->indexOf(itemWidget) < 0) { if (itemWidget && m_mainLayout->indexOf(itemWidget) < 0) {
itemWidget->show(); itemWidget->show();
auto size= suitableSize(); auto size= suitableSize();
auto minSize = std::min(size.height(), size.width()); if (pluginItem()->pluginName() == QStringLiteral("uosai")) {
itemWidget->setFixedSize(QSize(minSize, minSize)); auto minSize = std::min(size.height(), size.width());
size = QSize(minSize, minSize);
}
itemWidget->setFixedSize(size);
itemWidget->setFixedSize(size);
m_mainLayout->addWidget(itemWidget); m_mainLayout->addWidget(itemWidget);
} }
} }