1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-21 01:24:21 +00:00
Commit graph

1322 commits

Author SHA1 Message Date
attila
fb14118771 MacOS: Disable window controls for windows created by JUCE when a Component is modal
The change does not affect plugin windows, which are created by the
host.
2024-01-17 18:54:37 +01:00
attila
d810a168eb Use the new TimedCallback in the codebase 2024-01-17 15:03:48 +01:00
reuk
5ee9d24e36
WindowsHooks: Use appropriate dpi awareness when forwarding mouse wheel messages 2024-01-08 12:10:32 +00:00
reuk
810e348ff7
XWindowSystem: Specify mouse coordinates for resize in terms of the root window rather than the application window 2024-01-08 12:10:31 +00:00
reuk
1e7b91b4d2
FileChooser: Avoid potential issue when viewDidDismiss and file selection callbacks are interleaved
viewDidDisappear may be called when a file is successfully selected.
presentationControllerDidDismiss is only called when the controller is
dismissed manually by the user, e.g. by tapping outside the sheet, or by
dragging it away.

Checking for sheet dismissal is necessary in iOS 15, but not in iOS 17.
In iOS 17, tapping outside the file chooser causes a callback to
documentPickerWasCancelled instead.
2024-01-03 17:42:01 +00:00
attila
a8c114b570 Android: Widen ContentSharer permissions to work with Google Drive
While Google Drive seemingly isn't trying to access URI's that aren't an
exact match, without the presence of FLAG_GRANT_PREFIX_URI_PERMISSION,
sharing files with Google Drive will silently fail.
2023-12-10 18:41:24 +01:00
reuk
8aa9b01264
KeyPress: Allow isKeyDown to handle dual-symbol keys like =/+, ;/: on Windows 2023-12-07 15:43:22 +00:00
attila
387eea5f51 MacOS: Accessibility: Fix returning ignored native element in accessibilityChildren
This fixes a bug, where VoiceOver would interact with the InnerNSView in
the AudioPluginHost. Instead the focus now jumps from the minimise
button directly to the plugin's first accessible element.

On MacOS the rule is: when returning accessibilityChildren an ignored
child must be replaced with its own children. When returning the
accessibilityParent, an ignored element must be replaced with its own
parent.
2023-11-08 16:42:59 +01:00
attila
b800890ec6 Android: Fix ContentSharer crash on Android 14 2023-11-03 09:43:07 +00:00
Anthony Nicholls
3f91c8782b macOS: Move set dock icon to juce_core 2023-10-25 13:53:35 +01:00
Tom Poole
c474cb2469 Docs: Fix some missing Doxygen tags 2023-10-20 11:22:47 +01:00
reuk
384ddee376
macOS: Correctly populate display safeAreaInsets on macOS 2023-10-19 11:32:31 +01:00
attila
8f2a2ddeea MacOS: Accessibility: Fix ToggleButton state reporting
The accessibilityValue method of the AccessibilityCheckBox and
AccessibilityRadioButton protocols is required to return a
boolean valued NSNumber.
2023-10-13 15:47:39 +02:00
Tom Poole
dd90e18468 Fix a compiler warning 2023-10-13 09:40:50 +01:00
reuk
86d496d424
WindowsHooks: Attempt to fix keyboard issues for plugin clients
This patch should resolve an issue introduced in
0ab30555fc where arrow keys and other
directional keys (home, end, page up, page down) stopped working as
expected.

With this patch in place,
- IME input in plugins should work correctly, including for languages
  with a selection palette (Japanese) and languages where multiple
  keypresses combine to a single character (Korean).
- Keyboard shortcuts should work (cut, copy, paste)
- Directional keys should work
2023-10-11 15:57:46 +01:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Anthony Nicholls
158220ddfa Formatting: Use nested namespace definitions 2023-10-09 14:49:18 +01:00
Anthony Nicholls
90c458d92e Includes: Move some miscellaneous includes into module header and source files 2023-10-09 14:49:18 +01:00
reuk
0ab30555fc
WindowsHooks: Avoid double-pasting issue in FL studio 2023-10-03 11:08:16 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
Tom Poole
ff0cb4ad5b Use NullCheckedInvocation in more places 2023-10-02 13:40:10 +01:00
reuk
160f4a88b1
NSViewComponentPeer: Explicitly set clipsToBounds
The default value of this property changed in Sonoma, but we still want
to use the old default.
2023-09-27 11:13:19 +01:00
Tom Poole
2fb19ffd8f Fix some LLVM 17 compiler warnings 2023-09-25 11:21:11 +01:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
Tom Poole
82f1fd57a4 Fix some compiler warnings 2023-08-29 12:59:09 +01:00
reuk
f0aacca62c
macOS: Fix deprecations in macOS 14.0 2023-08-09 16:48:01 +01:00
reuk
a4aa7392d8
UIViewComponentPeer: Fix stalled rendering when JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS is enabled 2023-08-05 17:02:40 +01:00
luzpaz
3c9645fa60 Docs: Fix typos 2023-08-02 11:20:44 +01:00
reuk
a8fa44e05c
X11: Ask the host to manage client-initiated resizes 2023-07-24 14:20:16 +01:00
reuk
f8d38edcd4
X11: Use the _NET_WM_STATE_HIDDEN property to determine whether peers are visible on-screen
Running under Gnome, calling ComponentPeer::forceSetBounds immediately
after creating a new peer causes the peer to emit a visibility-changed
event because the window manager sometimes reports that the new window
is in IconicState.

_NET_WM_STATE_HIDDEN seems to more accurately reflect whether the window
is really minimised or off-screen.
2023-07-24 14:20:16 +01:00
reuk
13f0e75ab0
NSViewComponentPeer: Fix rendering issue changing size of AUv2 window when JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS is enabled 2023-06-27 11:52:06 +01:00
Anthony Nicholls
b3da4ae946 ThreadPool: Add support for a user specified thread name 2023-06-19 12:24:45 +00:00
attila
cd17f96eb7 Fix MinGW build 2023-06-12 16:05:13 +02:00
attila
f16a430f08 Windows: Fix potential accessibility related leaks 2023-06-08 16:07:11 +00:00
attila
18489bb7d7 WebBrowserComponent: iOS: Add accessibility integration 2023-06-08 16:07:11 +00:00
attila
f519af3b62 WebBrowserComponent: Android: Add accessibility integration 2023-06-08 16:07:11 +00:00
attila
d8c282e293 WebBrowserComponent: MacOS: Add accessibility integration 2023-06-08 16:07:11 +00:00
attila
7657efd227 WebBrowserComponent: Windows: Add accessibility integration 2023-06-08 16:07:11 +00:00
Tom Poole
1fbfeb6039 iOS: Fix a constant redrawing bug 2023-06-08 11:12:58 +01:00
reuk
11f84c977f MinGW: Fix redundant redeclaration warning 2023-06-05 11:33:34 +01:00
reuk
c13276a4d6
Windows: Allow IME input in plugins 2023-05-31 15:15:26 +01:00
reuk
dae9567dca
WindowsHooks: Split declarations and definitions into seaprate files 2023-05-31 15:15:25 +01:00
reuk
7ed89e4896
WindowsHooks: Move into juce_gui_basics 2023-05-31 15:15:25 +01:00
reuk
4ba81fda59
FileChooser: Fix bug where native FileChooser could not be closed when hosted in Cantabile
Previously, the top-level modal dismiss broadcaster would attempt to
dismiss all modals when the native file chooser was brought to the front
or clicked. This would end up calling Component::inputAttemptWhenModal,
which would bring the FileChooser's Component to the front, interrupting
the mouse click.

The fix is to avoid bringing the plugin window to the front when the
FileChooser is in a modal state. As the chooser is a native window, the
system should take care of enforcing the expected modal behaviour.

It's not clear why this issue only affects Cantabile. It seems that in
Cantabile, events from the native FileChooser get sent to the plugin
editor's parent HWND, whereas this doesn't happen in other hosts.
Perhaps Cantabile is hooking/intercepting window messages in some way.
2023-05-31 15:15:25 +01:00
reuk
910c60b84a
FileChooser: Avoid passing deprecated --confirm-overwrite option to zenity 2023-05-31 15:15:25 +01:00
reuk
fa6f5a889a
NSViewComponentPeer: Avoid calling makeKeyWindow on windows that cannot become key 2023-05-31 15:15:24 +01:00
reuk
cf7c865432
NSViewComponentPeer: Ensure inner views that receive key equivalents reset keyDown state correctly 2023-05-31 15:15:24 +01:00
Anthony Nicholls
f5cd9547dd Tidy divider comments 2023-05-26 09:04:21 +01:00
reuk
53bfd5b16d
WindowUtils: Make areThereAnyAlwaysOnTopWindows() public 2023-05-04 18:42:41 +01:00
reuk
ad59f71b99
Android: Fix version checks around setImeConsumesInput() 2023-05-04 18:41:04 +01:00