[FancyZones] Keep the same layouts on the new virtual desktops. (#23927)

This commit is contained in:
Seraphima Zykova
2023-02-07 13:02:22 +01:00
committed by GitHub
parent a6e0396290
commit c180150d54
3 changed files with 33 additions and 8 deletions

View File

@@ -61,6 +61,28 @@ void MonitorWorkAreaMap::AddWorkArea(HMONITOR monitor, std::unique_ptr<WorkArea>
m_workAreaMap.insert({ monitor, std::move(workArea) });
}
FancyZonesDataTypes::WorkAreaId MonitorWorkAreaMap::GetParent(HMONITOR monitor) const
{
if (m_workAreaParents.contains(monitor))
{
return m_workAreaParents.at(monitor);
}
return FancyZonesDataTypes::WorkAreaId{};
}
void MonitorWorkAreaMap::SaveParentIds()
{
m_workAreaParents.clear();
for (const auto& [monitor, workArea] : m_workAreaMap)
{
if (workArea)
{
m_workAreaParents.insert({ monitor, workArea->UniqueId() });
}
}
}
void MonitorWorkAreaMap::Clear() noexcept
{
m_workAreaMap.clear();