Commit Graph

12 Commits

Author SHA1 Message Date
Janek Bevendorff
9a7b20cbfd Add dynamic theme switching on Windows 10 2021-01-07 15:22:48 +01:00
Janek Bevendorff
80c1b9be6a Improve macOS platform integration.
- Allow switching between themes without restart (except classic)
- Rework icon loading and recolouring logic to react to theme changes
- Automatically react to light/dark theme change
- Remove explicit selection of monochrome tray icon variant (selected
  automatically now)
- Update theme background colours for Big Sur
- Update application icon to match Big Sur HIG

The tray icon doesn't respond perfectly to theme changes yet on Big Sur,
since we need different icons for dark and light theme and cannot simply
let the OS recolour the icon for us (we do that, too, but only as an
additional fallback). At the moment, there is no signal to listen to
that would allow this.

This patch adds a few generic methods to OSUtils for detecting and
communicating theme changes, which are only stubs for Windows and Linux at
the moment and need to be implemented in future commits.

Fixes #4933
Fixes #5349
2021-01-07 15:22:48 +01:00
Jonathan White
404fd941e8
Move global shortcut handling into OSUtils (#5566)
Move global shortcut handling into OSUtils
2020-12-13 23:23:25 -05:00
Janek Bevendorff
c6bd22aa12 Attach console in debug mode on Windows 2020-11-21 09:41:55 +01:00
louib
9bffe05020 Moving all OS utils to gui/osutils
The classes used for screen lock detection use QWidget and are only ever used by the GUI,
so moving them there so we can eventually build core/ without Qt5::Widgets.
2020-10-04 23:44:45 -04:00
Janek Bevendorff
a32147182a
Switch to classic if theme set to auto and high contast mode is on.
The light and dark theme don't respond to Windows's high contrast
accessibility mode, so when the theme is set to "auto", we
default to "classic" instead of "light".

Fixes #5044
2020-08-01 09:01:12 -04:00
Jonathan White
05a0df799e Fix auto-start settings on Windows 2020-06-28 16:25:26 -04:00
Janek Bevendorff
af6493b07b Hide window and dock icon on macOS when tray enabled.
Transforms application into a UIElement agent app when
minimize to tray is enabled and the window is hidden.
This hides the dock icon and removes the application
from the Cmd+Tab listing. The changes work well together
with macOS's inbuilt hide feature.

Also fixes the buggy tray icon context menu trigger behaviour.
macOS triggers the tray context menu also on normal left
click, which causes the window to toggle at the same time
as the menu. To fix this, window toggling has been disabled
altogether on macOS and users will be shown only the context
menu from now on.

Fixes #1334
2020-05-27 10:55:11 +02:00
Janek Bevendorff
4ba8ef30f2 Add option to launch KeePassXC at system startup
Fixes #1218
2020-05-06 10:44:53 +02:00
Janek Bevendorff
d9214db404 Implement Caps Lock warning 2020-05-03 09:59:36 +02:00
Janek Bevendorff
557736ea5e Add custom light and dark UI themes 2020-03-05 09:24:11 +01:00
Janek Bevendorff
6d2ca74878 Add OSUtils for platform-specific functionality.
Moves MacUtils into a separate sub folder and adds
WinUtils, NixUtils, and OSUtils for platform-native
code on Windows, Unix-like, and generic/all systems.
2020-03-05 09:24:11 +01:00