mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
fix: 修复网络插件弹出窗口的临界高度错误
修改网络插件弹出窗口高度设置算法,精简代码 Log: 修复网络插件弹出窗口的临界高度错误 Task: https://pms.uniontech.com/zentao/task-view-78147.html Change-Id: I362732a12274c2af20e0d13f00730b63184eb6dd
This commit is contained in:
parent
e759361e24
commit
4a8cbe24c6
@ -1104,49 +1104,22 @@ void NetworkItem::updateView()
|
||||
{
|
||||
// 固定显示高度即为固定示项目数
|
||||
const int constDisplayItemCnt = 10;
|
||||
int contentHeight = 0;
|
||||
int itemCount = 0;
|
||||
|
||||
auto wirelessCnt = m_wirelessItems.size();
|
||||
|
||||
if (m_switchWirelessBtnState) {
|
||||
for (auto wirelessItem : m_wirelessItems) {
|
||||
if (wirelessItem) {
|
||||
if (wirelessItem->device()->enabled())
|
||||
itemCount += wirelessItem->APcount();
|
||||
if (wirelessItem && wirelessItem->device()->enabled())
|
||||
// 单个设备开关控制项
|
||||
if (wirelessCnt == 1) {
|
||||
wirelessItem->setControlPanelVisible(false);
|
||||
continue;
|
||||
} else {
|
||||
wirelessItem->setControlPanelVisible(true);
|
||||
}
|
||||
itemCount++;
|
||||
}
|
||||
wirelessItem->setControlPanelVisible(wirelessCnt != 1);
|
||||
}
|
||||
}
|
||||
// 设备总控开关只与是否有设备相关
|
||||
auto wirelessDeviceCnt = m_wirelessItems.size();
|
||||
if (wirelessDeviceCnt)
|
||||
contentHeight += m_wirelessControlPanel->height();
|
||||
m_wirelessControlPanel->setVisible(wirelessDeviceCnt);
|
||||
|
||||
auto wiredDeviceCnt = m_wiredItems.size();
|
||||
if (wiredDeviceCnt)
|
||||
contentHeight += m_wiredControlPanel->height();
|
||||
m_wiredControlPanel->setVisible(wiredDeviceCnt);
|
||||
|
||||
if (m_switchWiredBtnState)
|
||||
itemCount += wiredDeviceCnt;
|
||||
m_wirelessControlPanel->setVisible(m_wirelessItems.size());
|
||||
m_wiredControlPanel->setVisible(m_wiredItems.size());
|
||||
|
||||
auto centralWidget = m_applet->widget();
|
||||
if (itemCount <= constDisplayItemCnt) {
|
||||
centralWidget->setFixedHeight(centralWidget->sizeHint().height());
|
||||
m_applet->setFixedHeight(centralWidget->sizeHint().height());
|
||||
} else {//最大大小
|
||||
contentHeight += itemCount * ITEM_HEIGHT;
|
||||
centralWidget->setFixedHeight(centralWidget->sizeHint().height());
|
||||
m_applet->setFixedHeight(qMin(centralWidget->sizeHint().height(), 360));
|
||||
}
|
||||
centralWidget->setFixedHeight(centralWidget->sizeHint().height());
|
||||
m_applet->setFixedHeight(qMin(centralWidget->sizeHint().height(), constDisplayItemCnt * ITEM_HEIGHT));
|
||||
|
||||
if (m_wirelessControlPanel->isVisible()) {
|
||||
if (!m_wirelessScanTimer->isActive())
|
||||
|
Loading…
x
Reference in New Issue
Block a user