Commit Graph

208 Commits

Author SHA1 Message Date
stefansjfw
8908bd9889
Remove unused ZoneSetPersistedDataOLD struct () 2020-05-01 12:35:37 +02:00
Seraphima Zykova
7903fe52b4
FancyZones decomposition ()
* FancyZones refactoring
Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
2020-04-30 13:16:08 +03:00
Ivan Stošić
313b1b39a7
FancyZones now does its own event processing ()
* FancyZones now does its own event processing

* Removed temporary variable
2020-04-30 11:40:13 +02:00
vldmr11080
648f3abcbd
Handle scenario with only primary desktop and no desktop switch in current session. ()
* Handle scenario with only primary desktop and no desktop swithc in current session.

* Add scoped lock when changing current desktop id. Address PR comments.

* Explain purpose of UpdatePrimaryDesktopData method.

* Fix typo in documentation.
2020-04-30 11:16:25 +02:00
vldmr11080
2d23952181
Don't poll for changes in HKEY_CURRENT_USER, but only for VirtualDesktops reg key. () 2020-04-30 00:10:53 +02:00
Rafael Rivera
d16ebba9e0
Move from sdk-provided cppwinrt-1.x to cppwinrt-2.x nuget package () 2020-04-29 22:02:18 +02:00
Enrico Giordani
ac6a013bf5
FZ Readme and backlog update () 2020-04-29 10:14:35 -07:00
yuyoyuppe
bb82a9bcf4 FZ: remove RestoreOrginalTransparency() from ZoneWindow::~ZoneWindow() and from ZoneWindow::MoveSizeEnter() 2020-04-28 15:17:20 +03:00
yuyoyuppe
df61ea0a62 Revert "Added a mutex to ZoneWindow, ensured no data races occur ()"
This reverts commit af4678ff18.
2020-04-28 15:17:20 +03:00
vldmr11080
5ac7eddd03
Compare window desktop id with currently active work area desktop id. ()
* Compare window desktop id with currently active work area desktop id.

* Improve error handling and conform to coding guidelines.

* Move virtual desktop helper functions to ZoneWindowUtils namespace.

* Ensure thread safety when creating instance of VirtualDesktopManager.

* Remove static qualifier from ServiceProvider.

* Return instead of break, as there is no need to check for other monitors, virtual desktop is the same for all.

* Move virtual desktop related helper functions to separate files.

* Skip comparing desktop ids if zone window has empty GUID for desktop id.

* Add comment describion scenario for which we need this fix.
2020-04-21 19:57:21 +02:00
PrzemyslawTusinski
dcee505f6b
Dpi unaware placement bug - multimontior with same DPI settings fix ()
* Dpi unaware placement bug - multimontior with same DPI settings fix

* Using different enumerating method

* Changed AllMonitorHaveSameDpiScaling method

* Removed accidental file

* small rename

* Changed some methods to CamelCase

* Review comments fixes
2020-04-20 18:09:10 +02:00
Ivan Stošić
af4678ff18
Added a mutex to ZoneWindow, ensured no data races occur ()
* Added a mutex to ZoneWindow, ensured no data races occur

* Protected draggedWindow* members with a mutex

* Ensured that critical reads happen in a single transaction
2020-04-20 16:32:49 +02:00
Seraphima Zykova
cab5a97117
FZ editor: Splitted zones positioning () 2020-04-20 11:54:25 +03:00
PrzemyslawTusinski
2077cd4864
Dpi unaware placement bug ()
Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right.
This fixes only single-monitor scenario
It skips correction for dpi unaware window that leaves a gap
2020-04-15 12:34:11 +02:00
PrzemyslawTusinski
87fb6fc3d1
Added unit test for non-resizable window placement () 2020-04-14 10:40:30 +02:00
Andrey Nekrasov
86704efcec
FancyZones: optimize elevation detection logic () 2020-04-13 18:22:37 +03:00
stefansjfw
f589dd2f26
Only clone layout from parent desktop when creating new virtual desktop ()
* Fix issue 

* Add Unit Tests

* Revert non intended rename

* Address PR comments
2020-04-10 16:29:18 +02:00
Ivan Stošić
629ba763d7
Basic support for snapping to multiple zones ()
* Refactor a method which resizes windows

* Completed initial work for MultiZones

Without changing any test, they all pass!

* Implemented a basic version of Multizones, updated some tests

* Reduced the sensitivity radius

* Added a few must-have unit tests for Multizones

* Some fixups

* Took care of the conflict between this and 

* Improved how zones are detected, reverted a change in one unit test

* Resolved another merge conflict

* Fixed bugs related to stamping
2020-04-10 16:09:08 +02:00
Yevhenii Holovachov
b92a127200
Added icon for FZEditor ()
* Added icon for FZEditor
2020-04-10 12:15:59 +03:00
Seraphima Zykova
1f9d9c619e
FZ editor: splitter thickness set to 1px when space around zones is zero () 2020-04-09 16:47:25 +03:00
PrzemyslawTusinski
17022d50d4
Fancy zones preserve size of non-resizable windows ()
* fancy zones preserve size of non-resizable windows

* Changed the method of determining if window is resizable

* minor merge fix
2020-04-08 18:22:43 +02:00
PrzemyslawTusinski
fa515604dc
MoveWindowIntoZoneByIndexWithInvalidIndex failing TC fix () 2020-04-08 18:01:51 +02:00
Seraphima Zykova
efb86f453c
Draw border inside zone () 2020-04-08 16:59:17 +03:00
stefansjfw
569c18c9f1
Remove uneeded TmpMigrateAppliedZoneSets() ()
This was needed while we were migratin device-info so
active layout could be migrated as well. At some point
we dropped migration of device-info. Therefore, this has no
puprose anymore.
2020-04-08 15:43:19 +02:00
PrzemyslawTusinski
d95e49b535
Dragging by upper part of application bar doesn't trigger fancy zones display - fix ()
* Dragging by upper part of application bar doesn't trigger fancy zones - fix

* reversed if logic
2020-04-08 15:12:04 +02:00
Niels Laute
4cb89b3fc2
FZ - Styling updates to GridZone and CanvasZone controls so they look more Fluent ()
* Improved styling so it looks more Fluent and native to W10

* CanvasZone border is now using the active accent color

* Updated GridZone to a similiar Fluent styling as the CanvasZone. Added a mouseover state to the GridResizer.
2020-04-08 14:46:05 +02:00
Seraphima Zykova
5ff146bc69
KeePass window showing from tray () 2020-04-07 19:30:12 +03:00
Seraphima Zykova
f5ed9f1c33
Editor: fixed zone offset scaling () 2020-04-07 12:03:57 +03:00
JordanAnthonyKing
01ec472314
Issue : Fix for windows in the last zone being placed in the first zone when decreasing the zone count. () 2020-04-07 10:23:59 +02:00
PrzemyslawTusinski
2806c386d3
fancyzones unity3d crash fix ()
* fancyzones unity3d crash fix

* intelisence warning fix, and review issue fix

* Fix for review comment
2020-04-03 11:17:12 -07:00
Geert van Horrik
96fbc968ef
Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId ()
*  Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId

* Make support for '#' in device names optional

* Add more unit tests for isValidDeviceId
2020-04-02 18:51:36 +02:00
Seraphima Zykova
a6b7ba41ee
removed tests with unused scenario that slowdown CI () 2020-04-01 13:12:29 +03:00
stefansjfw
ead47b2aa2
Remove unneded assignments ()
* Remove uneeded assignments

* Use const iterators
2020-03-27 23:12:41 +01:00
PrzemyslawTusinski
f2744493b9
Dragging to another monitor doesn't activate fancy zone placement fix () 2020-03-27 16:09:37 +01:00
Ivan Stošić
a6793588c6
Fixed some recent compiler warnings () 2020-03-27 16:01:24 +01:00
Seraphima Zykova
f124cd9c7e
Disabled FancyZones unit tests related to disabled features () 2020-03-27 15:40:41 +03:00
PrzemyslawTusinski
f9a756d1ff
FancyZones editor display zone numbers & PowerRename fix ()
* Fix for issue 

Design Change: Default Enter Action

* Fix for issue 

* change zone's number color and font
remove the light blue background

* Fix for disappearing zone number in editor

* Grid layout reversed order fix

Co-authored-by: sqrlmn <sqrlmn@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2020-03-27 13:07:19 +01:00
Andrey Nekrasov
d2a60c7287
FZ: disable flash zones option for 0.16 ()
* FZ: disable flash zones option for 0.16

* fixup! review comments
2020-03-27 13:24:27 +03:00
yuyoyuppe
60fa6071b9 FZ: warn w/ a toast if an elevated window cannot be dragged and offer learning more 2020-03-27 13:23:37 +03:00
PrzemyslawTusinski
c247e49c2a
Fancy zones on all monitors - when dragging window to another monitor sometimes zone stays marked as active on previous FIX () 2020-03-26 17:48:01 +01:00
Seraphima Zykova
f72dd7fdb6
added telemetry for editor launch event () 2020-03-26 13:54:12 +03:00
vldmr11080
e85427f1da
Disable Win+Ctrl+Number feature for 0.16 release () 2020-03-25 18:32:33 +01:00
PrzemyslawTusinski
f8f7fe4f33
Fancy zones ui update( zone numbering as numbers, dragged window transaprency option, zone coloring customization) ()
* Fancy zones ui update ()

* Draft of numeric fancyzones with numbers

* Added support for zone color configuration, improved zone number display

* Changed order of settings to more logical

* Added option to edit zone border color

* Trancparency of dragged window, transparency of displayed zones, changed font of zone numbers

* Fix for compilation

* Some refactor

* Introduced gdiplus to draw zone and zone index

* Fix for dissappering windows

* Some fixes

* another merge fix

* another merge fix

* Unit test merge fix

* Transparency with show zones on all fix

* indentation fix

* Fix for failing test

* Changed order of color pickers

* "Zone Opacity"

* Zone opacity (%)

* Added option to turn off dragged window transparency, changed default zones color values
2020-03-25 15:38:44 +01:00
stefansjfw
8156279025
Use JsonSerializer instead of Utf8Writer ()
* Use JsonSerializer instead of Utf8Writer

* Rename method
2020-03-25 11:11:18 +01:00
vldmr11080
9e8facaa6f
Windows snap hotkeys to move windows between screens ()
* When moving window into zones using arrow keys, support multi-monitor scenario

* Minor coding style adjustments

* Split implementation into separate functions because of readability

* Rename certain arguments

* Modify unit tests after API changes

* Address PR comments and add unit tests

* Return true from MoveWindowIntoZoneByDirection only if window is successfully added to new zone

* Improved monitor ordering ()

* Implemented improved monitor ordering v1

* Fixed some embarrassing bugs, added some tests

* Added one more test

* Extracted a value to a variable

* ASCII art in unit test comments describing monitor layouts

* Removed empty line for consistency

* Update comment to match the code

* Refactored tests, added tests for X,Y offsets

Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-03-24 18:50:26 +01:00
Andrey Nekrasov
e52c5d38d3
Cleanup project output/intermediate dirs ()
* sln: set output dir prefix to "modules\" for all modules

* sln: CopyToOutputDirectory only when necessary

* sln: intermediate dir for csprojs

* sln: intermediate dir for vcxprojs

* sln: add PT as runner project deps + remove nonexisting project confs

* sln: remove AnyCPU for win-app-driver project
2020-03-20 21:41:48 +03:00
vldmr11080
49868d8f7c
Fix migration of rows and columns percents from registry () 2020-03-20 13:48:24 +01:00
Ivan Stošić
1c90107571
Implement canceling edits in FZE, fix crashes related to canceling. ()
* Implemented proper canceling for CanvasEditor

* Implemented proper canceling for GridEditor

* Possible fix for a crash in my implementation of canceling

* Fixed a crash in FZE/Grid editor
2020-03-18 14:13:25 +01:00
stefansjfw
98ed178d7b
Double-qoute the paths when passing them as cmd args () 2020-03-17 18:12:32 +01:00
Seraphima Zykova
f49727e0b6
Invalid json test cases + strings validation ()
* added tests for invalid json types
* guid strings validation
* device id validation
2020-03-17 00:29:13 +03:00