fix: 修复更改分辨率导致的任务栏隐藏后无法唤起问题

任务栏监听区域信息没有在分辨率切换时更新,导致分辨率修改后,监听的区域实际上已经是屏幕外部了,

Log: 设置任务栏状态为一直隐藏,调整分辨后,任务栏无法唤醒
Bug: https://pms.uniontech.com/zentao/bug-view-34444.html
This commit is contained in:
范朋程 2020-06-20 17:14:40 +08:00
parent cd6d6168ff
commit 8fe6e16957
3 changed files with 5 additions and 0 deletions

View File

@ -691,6 +691,8 @@ void DockSettings::monitorAdded(const QString &path)
connect(inter, &MonitorInter::YChanged, mon, &Monitor::setY);
connect(inter, &MonitorInter::WidthChanged, mon, &Monitor::setW);
connect(inter, &MonitorInter::HeightChanged, mon, &Monitor::setH);
connect(inter, &MonitorInter::WidthChanged, this, &DockSettings::requestUpdateRegionWatch);
connect(inter, &MonitorInter::HeightChanged, this, &DockSettings::requestUpdateRegionWatch);
connect(inter, &MonitorInter::MmWidthChanged, mon, &Monitor::setMmWidth);
connect(inter, &MonitorInter::MmHeightChanged, mon, &Monitor::setMmHeight);
connect(inter, &MonitorInter::RotationChanged, mon, &Monitor::setRotate);

View File

@ -93,6 +93,8 @@ signals:
void windowGeometryChanged() const;
void opacityChanged(const quint8 value) const;
void trayCountChanged() const;
// 分标率发生变化需要更新XEventMonitor的监视区域
void requestUpdateRegionWatch();
public slots:
void updateGeometry();

View File

@ -504,6 +504,7 @@ void MainWindow::initConnections()
connect(m_dragWidget, &DragWidget::dragFinished, this, &MainWindow::onDragFinished);
connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, &MainWindow::themeTypeChanged);
connect(m_eventInter, &XEventMonitor::CursorMove, this, &MainWindow::onRegionMonitorChanged);
connect(m_settings,&DockSettings::requestUpdateRegionWatch,this,&MainWindow::updateRegionMonitorWatch);
}
//const QPoint MainWindow::x11GetWindowPos()