mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 10:16:24 +02:00
[FancyZones Editor] New UX for the FZ editor. (#9325)
* Removed MetroWindow, added theming support and modernWPF * Rmoved MahApps refs * Removed MahApps * Updated canvas zones * Updated GridEditor * Fixes * UI updates * New layout type selection dialog * New editor UI * Updates * Fix * UI enhancements * Updated UI * Added styles to layoutpreview * Accesibility improvements * Accesibility and styling improvements * Fix * Cleaned up brushes * Updated UX * Updated UI * Added no layouts description * Fix * UI fixes * [FZ Editor] Serialize/deserialize settings (#8615) * conflicts fix * [FZ Editor] Parse json file instead of command line args (#8649) * [FZ Editor] Serialize/deserialize settings fix (#8707) * [FZ Editor] Hide unsupported settings in custom layouts flyouts (#8716) * [FZ Editor] Duplicate custom layouts (#8718) * [FZ Editor] Duplicate layout behavior (#8720) * New UX proposal * Updated spacing * Switching to toggleswitches * Revert toggleswitch * Updated colorbrush * Updated string for saving label * Updated UI * Dark theme color fixes * Removed space * [FZ Editor] Bind dialog properties (#9199) * Resize editor window to fit the content in single-monitor mode (#9203) * Editor opening fix (#9207) * Disable "Create" button if the Name textbox is empty (#9212) * [FZ Editor] Changed edit dialog for template layouts. (#9233) * [FZ Editor] Small fixes and refactoring. (#9236) * new layout creation refactoring * "Save and apply" applies the layout * number of zones header hide * [FZ Editor] Empty layout template. (#9237) * [FZ Editor] Move "Duplicate" and "Delete" buttons to the Edit dialog. (#9272) * [FZ Editor] Preview the applied layout after editing another layout. (#9278) * Fixed "Save and apply" button behavior (#9286) * [FZ Editor] Save template layouts in the settings. (#9283) * Added default custom layout name (#9291) * close dialog before opening zones editor (#9302) * Pressing Esc closes dialogs (#9301) * [FZ Editor] Reset applied layout to "No layout" if it was deleted. (#9315) * [FZ Editor] Dark theme colors (#9317) * "Number of zones" buttons colors. (#9321) * rebase fix * added ModernWpf.dll * address PR comments: updated colors * added comments, replaced magic numbers * refactoring * merge zones crash fix * removed redundant using directive Co-authored-by: Niels Laute <niels9001@hotmail.com> Co-authored-by: Niels Laute <niels.laute@live.nl>
This commit is contained in:
@@ -1047,34 +1047,16 @@ namespace FancyZonesUnitTests
|
||||
TEST_METHOD (CustomZoneFromValidCanvasLayoutInfo)
|
||||
{
|
||||
//prepare device data
|
||||
{
|
||||
const std::wstring zoneUuid = L"default_device_id";
|
||||
|
||||
JSONHelpers::TDeviceInfoMap deviceInfoMap;
|
||||
deviceInfoMap.insert(std::make_pair(zoneUuid, DeviceInfoData{ ZoneSetData{ L"uuid", ZoneSetLayoutType::Custom }, true, 16, 3 }));
|
||||
|
||||
GUID virtualDesktopId{};
|
||||
Assert::IsTrue(VirtualDesktopUtils::GetCurrentVirtualDesktopId(&virtualDesktopId), L"Cannot create virtual desktop id");
|
||||
const std::wstring deviceInfoPath = FancyZonesDataInstance().zonesSettingsFileName + L".device_info_tmp";
|
||||
JSONHelpers::SerializeDeviceInfoToTmpFile(deviceInfoMap, virtualDesktopId, deviceInfoPath);
|
||||
|
||||
FancyZonesDataInstance().ParseDeviceInfoFromTmpFile(deviceInfoPath);
|
||||
std::filesystem::remove(deviceInfoPath);
|
||||
}
|
||||
const std::wstring zoneUuid = L"default_device_id";
|
||||
FancyZonesDataInstance().SetDeviceInfo(zoneUuid, DeviceInfoData{ ZoneSetData{ L"uuid", ZoneSetLayoutType::Custom }, true, 16, 3 });
|
||||
|
||||
//prepare expected data
|
||||
wil::unique_cotaskmem_string uuid;
|
||||
Assert::AreEqual(S_OK, StringFromCLSID(m_id, &uuid));
|
||||
const CanvasLayoutInfo info{ 123, 321, { CanvasLayoutInfo::Rect{ 0, 0, 100, 100 }, CanvasLayoutInfo::Rect{ 50, 50, 150, 150 } } };
|
||||
CustomZoneSetData zoneSetData{ L"name", CustomLayoutType::Canvas, info };
|
||||
JSONHelpers::CustomZoneSetJSON expected{ uuid.get(), zoneSetData };
|
||||
JSONHelpers::TCustomZoneSetsMap customZoneSets;
|
||||
customZoneSets.insert(std::make_pair(uuid.get(), zoneSetData));
|
||||
JSONHelpers::SerializeCustomZoneSetsToTmpFile(customZoneSets, m_path);
|
||||
|
||||
Assert::IsTrue(std::filesystem::exists(m_path));
|
||||
FancyZonesDataInstance().ParseCustomZoneSetsFromTmpFile(m_path);
|
||||
|
||||
FancyZonesDataInstance().SetCustomZonesets(uuid.get(), zoneSetData);
|
||||
|
||||
//test
|
||||
const int spacing = 10;
|
||||
const int zoneCount = static_cast<int>(info.zones.size());
|
||||
@@ -1091,20 +1073,8 @@ namespace FancyZonesUnitTests
|
||||
TEST_METHOD (CustomZoneFromValidGridFullLayoutInfo)
|
||||
{
|
||||
//prepare device data
|
||||
{
|
||||
const std::wstring zoneUuid = L"default_device_id";
|
||||
|
||||
JSONHelpers::TDeviceInfoMap deviceInfoMap;
|
||||
deviceInfoMap.insert(std::make_pair(zoneUuid, DeviceInfoData{ ZoneSetData{ L"uuid", ZoneSetLayoutType::Custom }, true, 16, 3 }));
|
||||
|
||||
GUID virtualDesktopId{};
|
||||
Assert::IsTrue(VirtualDesktopUtils::GetCurrentVirtualDesktopId(&virtualDesktopId), L"Cannot create virtual desktop id");
|
||||
const std::wstring deviceInfoPath = FancyZonesDataInstance().zonesSettingsFileName + L".device_info_tmp";
|
||||
JSONHelpers::SerializeDeviceInfoToTmpFile(deviceInfoMap, virtualDesktopId, deviceInfoPath);
|
||||
|
||||
FancyZonesDataInstance().ParseDeviceInfoFromTmpFile(deviceInfoPath);
|
||||
std::filesystem::remove(deviceInfoPath);
|
||||
}
|
||||
const std::wstring zoneUuid = L"default_device_id";
|
||||
FancyZonesDataInstance().SetDeviceInfo(zoneUuid, DeviceInfoData{ ZoneSetData{ L"uuid", ZoneSetLayoutType::Custom }, true, 16, 3 });
|
||||
|
||||
//prepare expected data
|
||||
wil::unique_cotaskmem_string uuid;
|
||||
@@ -1116,13 +1086,7 @@ namespace FancyZonesUnitTests
|
||||
.columnsPercents = { 2500, 5000, 2500 },
|
||||
.cellChildMap = { { 0, 1, 2 } } }));
|
||||
CustomZoneSetData zoneSetData{ L"name", CustomLayoutType::Grid, grid };
|
||||
JSONHelpers::CustomZoneSetJSON expected{ uuid.get(), zoneSetData };
|
||||
JSONHelpers::TCustomZoneSetsMap customZoneSets;
|
||||
customZoneSets.insert(std::make_pair(uuid.get(), zoneSetData));
|
||||
JSONHelpers::SerializeCustomZoneSetsToTmpFile(customZoneSets, m_path);
|
||||
|
||||
Assert::IsTrue(std::filesystem::exists(m_path));
|
||||
FancyZonesDataInstance().ParseCustomZoneSetsFromTmpFile(m_path);
|
||||
FancyZonesDataInstance().SetCustomZonesets(uuid.get(), zoneSetData);
|
||||
|
||||
const int spacing = 10;
|
||||
const int zoneCount = grid.rows() * grid.columns();
|
||||
|
||||
Reference in New Issue
Block a user