From 497a66ea38a6782e8fb20b299383c129ac008553 Mon Sep 17 00:00:00 2001
From: Arjun Balgovind <32061677+arjunbalgovind@users.noreply.github.com>
Date: Tue, 12 May 2020 10:17:27 -0700
Subject: [PATCH] Fixed KBM default window size not being DPI Aware (#2873)
* Fixed KBM default window size not being DPI Aware
* Fixed missing lib file on Release
* Changed to be only DPI dependent
---
.../keyboardmanager/common/KeyboardManagerConstants.h | 8 ++++----
src/modules/keyboardmanager/dll/KeyboardManager.vcxproj | 4 ++--
src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp | 8 +++++---
src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp | 8 +++++---
4 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/src/modules/keyboardmanager/common/KeyboardManagerConstants.h b/src/modules/keyboardmanager/common/KeyboardManagerConstants.h
index 5b623ab0b3..0d65519111 100644
--- a/src/modules/keyboardmanager/common/KeyboardManagerConstants.h
+++ b/src/modules/keyboardmanager/common/KeyboardManagerConstants.h
@@ -44,10 +44,10 @@ namespace KeyboardManagerConstants
inline const long MaxShortcutSize = 3;
// Default window sizes
- inline const double DefaultEditKeyboardWindowWidth = 0.4;
- inline const double DefaultEditKeyboardWindowHeight = 0.55;
- inline const double DefaultEditShortcutsWindowWidth = 0.52;
- inline const double DefaultEditShortcutsWindowHeight = 0.55;
+ inline const int DefaultEditKeyboardWindowWidth = 800;
+ inline const int DefaultEditKeyboardWindowHeight = 600;
+ inline const int DefaultEditShortcutsWindowWidth = 1000;
+ inline const int DefaultEditShortcutsWindowHeight = 600;
// Key Remap table constants
inline const long RemapTableColCount = 4;
diff --git a/src/modules/keyboardmanager/dll/KeyboardManager.vcxproj b/src/modules/keyboardmanager/dll/KeyboardManager.vcxproj
index 2983cf7199..dcc0fa607f 100644
--- a/src/modules/keyboardmanager/dll/KeyboardManager.vcxproj
+++ b/src/modules/keyboardmanager/dll/KeyboardManager.vcxproj
@@ -99,10 +99,10 @@
$(SolutionDir)src\;$(SolutionDir)src\modules;$(SolutionDir)src\common\Telemetry;%(AdditionalIncludeDirectories)
- shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ shcore.lib;shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
- shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ shcore.lib;shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
diff --git a/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp b/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp
index ca9a573e3e..9c86cf35d8 100644
--- a/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp
+++ b/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp
@@ -7,6 +7,7 @@
#include
#include
#include
+#include
#include "Styles.h"
#include "Dialog.h"
#include
@@ -165,9 +166,10 @@ void createEditKeyboardWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMan
// Find center screen coordinates
RECT desktopRect;
GetClientRect(GetDesktopWindow(), &desktopRect);
- // Calculate resolution dependent window size
- int windowWidth = KeyboardManagerConstants::DefaultEditKeyboardWindowWidth * desktopRect.right;
- int windowHeight = KeyboardManagerConstants::DefaultEditKeyboardWindowHeight * desktopRect.bottom;
+ // Calculate DPI dependent window size
+ int windowWidth = KeyboardManagerConstants::DefaultEditKeyboardWindowWidth;
+ int windowHeight = KeyboardManagerConstants::DefaultEditKeyboardWindowHeight;
+ DPIAware::Convert(nullptr, windowWidth, windowHeight);
// Window Creation
HWND _hWndEditKeyboardWindow = CreateWindow(
diff --git a/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp b/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp
index 7afa56617d..5e0b4f3ce6 100644
--- a/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp
+++ b/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp
@@ -6,6 +6,7 @@
#include
#include
#include
+#include
#include "Styles.h"
#include "Dialog.h"
#include
@@ -77,9 +78,10 @@ void createEditShortcutsWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMa
// Find center screen coordinates
RECT desktopRect;
GetClientRect(GetDesktopWindow(), &desktopRect);
- // Calculate resolution dependent window size
- int windowWidth = KeyboardManagerConstants::DefaultEditShortcutsWindowWidth * desktopRect.right;
- int windowHeight = KeyboardManagerConstants::DefaultEditShortcutsWindowHeight * desktopRect.bottom;
+ // Calculate DPI dependent window size
+ int windowWidth = KeyboardManagerConstants::DefaultEditShortcutsWindowWidth;
+ int windowHeight = KeyboardManagerConstants::DefaultEditShortcutsWindowHeight;
+ DPIAware::Convert(nullptr, windowWidth, windowHeight);
// Window Creation
HWND _hWndEditShortcutsWindow = CreateWindow(