Commit Graph

352 Commits

Author SHA1 Message Date
Tomas Agustin Raies
7ec8d02c1f PowerLauncherSettings unit tests (#2276) 2020-04-26 13:15:40 -07:00
Arjun Balgovind
b5bd2df814 Update the KBM UI to use a Grid based layout rather than stack panels (#2299)
* Added grid to edit keyboard

* Fixed all issues for Edit keyboard window with grid

* Added step to delete row definition and move row indices

* Handled grid operations for Edit Shortcuts

* Added dynamic layout for edit shortcuts

* Fixed resize windows message behaviour and removed warnings
2020-04-23 09:14:16 -07:00
Arjun Balgovind
32ddf3246c Add support for Common Win key in KBM (#2308)
* Added common win key to layoutmap

* Added common win key support for edit shortcuts

* Adjusted key names
2020-04-23 08:37:52 -07:00
Arjun
ca3a436fe5 Merge latest master: 4/22/20 2020-04-22 10:02:17 -07:00
Arjun Balgovind
d079f0ca44 Changed output dir to modules and resolved conflicts (#2233) 2020-04-21 14:14:50 -07:00
Arjun Balgovind
5828508218 Fix colors in KBM UI and add support for light/dark theme (#2256)
* Fixed colors for Edit Keyboard

* Fixed colors for Edit Shortcuts
2020-04-21 13:42:06 -07:00
Arjun Balgovind
2f244bca85 Fix Ctrl/Alt/Shift single key remapping (#2217)
* Added preprocessing step for edit keyboard buffer

* Fixed Ctrl\Alt\Shift single key remapping
2020-04-21 13:40:31 -07:00
vldmr11080
5ac7eddd03 Compare window desktop id with currently active work area desktop id. (#2110)
* 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
Arjun Balgovind
b715a008c5 Fixed KBM interaction with Shortcut Guide (#2220) 2020-04-21 10:25:14 -07:00
Tomas Agustin Raies
93752fb6cb Display Unicode character for keys in HotkeySettingsControl (#2249)
* Fix HotkeyControl virtual key display

* A new interop project was setup to provide wrappers for C# projects
  that want to access functionality in the common project.

* Add assembly info

* Remove WIN32 configurations
2020-04-20 21:01:21 -07:00
Arjun
d45c4740ad Fixed a bug added in #2237 2020-04-20 11:03:32 -07:00
Arjun
62bae55fd1 Merge branch 'master' into dev/build-features 2020-04-20 09:15:32 -07:00
PrzemyslawTusinski
dcee505f6b Dpi unaware placement bug - multimontior with same DPI settings fix (#2156)
* 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
Arjun Balgovind
ddf800de10 Move KBM warnings at Apply to Flyouts (#2237)
* Moved warning to Flyout

* Fixed formatting
2020-04-20 08:59:35 -07:00
udit3333
325db535c0 [Kbm] Save the remaps to file[part-1] (#2184)
* Added Inital FileWatcher Implementation

* Added logic to read remap from file

* Added remap logic save to file

* Refactor code

* Moved the strings to constant file

* Added logic to handle Win key

* Updated filewatcher logic to avoid duplicate events

* Added comments

* Fix spacing

* Fix spacing

* Update logic to accomodate upstream merge

* Added global property name for os level shortcuts

* Added subkey for inprocess keys

* Remove non required file

* Added Changes required after merge

* Fix spacing in Helper.cpp
2020-04-20 08:22:36 -07:00
Ivan Stošić
af4678ff18 Added a mutex to ZoneWindow, ensured no data races occur (#2154)
* 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 (#2158) 2020-04-20 11:54:25 +03:00
Arjun Balgovind
0417b6266a Add drop down key selection support to Keyboard Manager UI (dev/build-features) (#2140)
* Added combobox

* Formatted and removed unused code

* Added drop down support for Edit Keyboard window

* Reordered the displayed key list

* Add shortcut stack panels and drop downs linked to detect shortcut

* Add more selected item logic

* Added complete dropdown support for edit shortcuts window

* Added Flyout warning for incorrect drop down input

* Tweaked warnings

* Removed MainWindow code

* Changed SelectedValue toSelectedIndex

* Removed unnecessary assignments

* Added a warning for two dropdowns and the first one is changed to an action key

* Added function comments in cpp file

* Fixed some comments

* Fixed all allocation and out of scope issues

* Fix most issues except reloading shortcuts

* Fixed issue while reloading shortcuts

* Fixed type cast warnings

* Changed delete to delete[]

* tweaked
2020-04-18 16:12:26 -07:00
Udit Singh
7e1f554c4e Merge Master Latest in dev/build-features 4/17/20 2020-04-17 10:54:27 -07:00
Arjun Balgovind
13a8ac3e50 Handle RAlt, RCtrl and other extended keys correctly (dev/build-features) (#2145)
* Fixed SendInput for RAlt and RCtrl

* Fixed shortcuts containing Del, Arrow keys, etc
2020-04-16 15:17:57 -07:00
Tomas Agustin Raies
c37884bdb7 Detect Shortcut: Hold Esc/Enter to Cancel/Accept (#2135)
* Detect Shortcut: Hold Esc/Enter to Discard/Apply changes

Bypass shorcut/single key remapping by holding the navigation keys
2020-04-16 09:16:48 -07:00
vldmr11080
aa6cb7d650 Migrate power rename MRU lists from registry to JSON (#2090)
* Handle most recently used search/replace strings within settings.

* Check for last modified time of json file and reload it if needed.

* Handle changes in MRU search / replace lists size.

* Improve handling of changes in MRU list size.

* Don't check for last modified time in every getter method. Load only when starting application.

* Add const identifier to getter methods.

* Address PR comments: Add const to reg and json file paths and set them in constructor initializer. Check pushIdx validity. Move implementation to cpp of PowerRenameUI constructor.

* Add error checking when getting values from registry.
2020-04-15 23:14:17 +02:00
Ben Randall
67e6688e69 Move markdown parsing logic outside control thread (#2099)
* Move markdown parsing logic outside control thread

* Update MarkdownPreviewHandlerControl.cs

* Remove trailing whitespace.

That'll teach me for trying to make an edit from the GitHub page.
2020-04-15 13:10:55 -07:00
Udit Singh
5d9b71b038 Merge Master Latest: 4/15/20 2020-04-15 07:55:17 -07:00
PrzemyslawTusinski
2077cd4864 Dpi unaware placement bug (#2121)
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
udit3333
a88d66b48b Integrate keyboard manager with settings v2[Part-2] (#2107)
* Added CustomAction Data Models

* Updated data model

* Updated Button command trigger for keyboard manager

* Integerated custom actions in Keyboard manager module backend

* Allow Runner to launch windows on foreground

* Refactor and moved the execution logic to background thread

* Removed non-required unlock calls

* Fixed typo

* Resolve PR comments
2020-04-14 09:24:11 -07:00
PrzemyslawTusinski
87fb6fc3d1 Added unit test for non-resizable window placement (#2017) 2020-04-14 10:40:30 +02:00
Tomas Raies
79fcd45d5f Change key mappings according to Keyboard Layout 2020-04-13 11:41:32 -07:00
Arjun Balgovind
e0ddaa74d0 Add unicode naming for keys (dev/keyboardManager) (#1978)
* Added key names

* Display names in detect keyboard UI

* Added keyboard layout for edit keyboard window

* Removed commented code

* removed unused code

* fixed argument modifiers

* Added newline at EOF

* Added unicode changes to edit shortcuts window
2020-04-13 11:41:32 -07:00
Andrey Nekrasov
86704efcec FancyZones: optimize elevation detection logic (#2103) 2020-04-13 18:22:37 +03:00
yuyoyuppe
77e4984468 chore: fix window walker warning 2020-04-11 11:24:33 +03:00
yuyoyuppe
4e18c67ec5 chore: fix linking warnings 2020-04-11 11:24:33 +03:00
Clint Rutkas
6fbed4ad5c Settingsv2 fix warnings (#2076)
* updating a ton of warnings.

* bunch of cleanup

* few smaller ones

* fixed naming

* reversing an oops

* adjusting json to use attribute

* more json properties
2020-04-10 15:22:07 -07:00
stefansjfw
f589dd2f26 Only clone layout from parent desktop when creating new virtual desktop (#1904)
* Fix issue #1343

* 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 (#1955)
* 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 #1938

* 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
Clint Rutkas
e896e1b3dd fixing a bunch of warnings from Window Walker (#2014)
* first set of warning fixes

* Since this is a Interop item, it should have a _

* Update Window.cs

* Update InteropAndHelpers.cs

looks like there was a space a the top

* Update Window.cs
2020-04-10 06:41:19 -07:00
Yevhenii Holovachov
b92a127200 Added icon for FZEditor (#1388)
* 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) 2020-04-09 16:47:25 +03:00
Tomas Agustin Raies
70495d9ce9 Display keys in Shorcut modal as buttons (#1996)
* Display keys in Shorcut modal as buttons

* Refactor: rename currentShortcutUI and currentSingleKeyUI

* Change GetKeyVector signature
2020-04-08 21:17:20 -07:00
Arjun Balgovind
52c12731cb Refactor Shortcut remaps to distinguish modifiers and action keys (#1927)
* Added unique lock mutexes for thread safety

* Fixed a bug in detect key logic

* Changed dword to word

* Added early unlock statements to fix issue with shortcut guide

* Fixed type conversion warnings

* Migrated detect shortcut window to use Shortcut class

* made changes in Apply button logic

* Revert thread safety changes

* refactored code works on the UI side

* Refactored remapping code to use new Shortcut class

* Refactored to SetKeyEvent function

* Moved function to cpp file and added more comments

* Refactored map variable and handled common Win key

* Remove debug code

* Change arguments to const references
2020-04-08 14:49:00 -07:00
Arjun Balgovind
ac26818005 Added unique lock mutexes to KeyboardManagerState (dev/keyboardManager) (#1789)
* Added unique lock mutexes for thread safety

* Fixed a bug in detect key logic

* Added early unlock statements to fix issue with shortcut guide

* Added comments for unlocks before SendInput and changed some unique_locks to lock_guards
2020-04-08 14:49:00 -07:00
Arjun Balgovind
467cf919be Removed ARM/x86 configs and minor refactors (dev/keyboardManager) (#1785)
* Removed ARM and x86 configs

* renamed files and references and localized strings
2020-04-08 14:49:00 -07:00
udit3333
f48040a4d7 Remap Keyboard UI (dev/keyboardManager) (#1698)
* Added initial UI implementation

* Added backend logic for remap key interaction

* Added single key remap control

* Updated Edit keyboardWindow UI

* Commented out ui logic

* Fixed issue with remap window UI and uncommented the code

* Updated customdialog window foreground color

* Updated buttons foreground color

* Added info header

* Added null check for detected key

* Removed fully qualified namespaces

* updated the background color as ligtht gray
2020-04-08 14:35:52 -07:00
Arjun Balgovind
90ddcb30bf Add support for shortcuts with >2 keys (dev/keyboardManager) (#1697)
* Added check keyboard state function

* Added keyboard state check to avoid n-key shortcuts being affected by 2 key shortcuts

* Added support for n key shortcuts in backend and UI

* Added a fix to ensure mouse buttons states are not checked

* reverted some debugging changes

* reverted some debugging changes
2020-04-08 14:35:52 -07:00
Arjun Balgovind
b713083574 Edit Shortcuts UI (dev/keyboardManager) (#1647)
* Added EditShortcuts Window and added Detecting shortcuts functionality

* Fixed build error

* Changed detection to take place only when window is in focus

* Added solution folder

* Added a common project and refactored shared variables to an object with wrapper functions

* Added dynamic addition of shortcuts

* Moved all shared variables in detection to state variable with wrapper functions

* Added code to re-load saved shortcuts in the UI

* Added comments

* Fixed argument modifiers in Helpers

* Updated arg modifiers in all functions

* Removed unused headers and added precompiled headers
2020-04-08 14:35:52 -07:00
Arjun Balgovind
fc7e7074ce Move keyboard manager POC code to dev branch (#1455)
* Created PowerKeys project

* Swapping tab with shift

* Added hash map and iterators for remapping code

* Added PowerKeys flag and added toggletomod function

* Added shortcut base code

* Fixed os level shortcut functionality

* Added 1 extra event

* Added check for same modifier and comments

* Added app-specific remapping for 4 apps including UWP apps

* Changed foreground window logic

* Added a separate hook for PowerKeys which can be re-hooked by enabling and disabling

* Added a separate hook for PowerKeys which can be re-hooked by enabling and disabling

* Fixed all priority issues and changed injection flags

* Added another msedge.exe shortcut

* Added a UI which is linked to the backend hook

* Cleaned code and added comments

* Added second button

* Renamed some files/variables and added an extra button
2020-04-08 14:28:39 -07:00
Tomas Raies
a85b84fd56 Stylecop compliance 2020-04-08 10:21:40 -07:00
vldmr11080
c355a2b61e Use JSON data file for storing PowerRename settings instead of registry (#1909)
* Use JSON data file for storing PowerRename settings instead of registry

* Address PR comments and made several improvements

* Remove WindowsApp.lib dependencies in test app and unit tests

* Revert changes in vcxproj for unit test

* Solve linker warnings generated while linking WindowsApp.lib

* Don't migrate enabled flag. Always read / write from registry.
2020-04-08 19:12:46 +02:00
PrzemyslawTusinski
17022d50d4 Fancy zones preserve size of non-resizable windows (#1974)
* 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 (#2009) 2020-04-08 18:01:51 +02:00