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

1003 commits

Author SHA1 Message Date
reuk
20c23700e5 MinGW: Fix some build issues for 32-bit platforms 2021-07-28 19:28:34 +01:00
ed
8f03215a9e Accessibility: Add Android support 2021-07-28 11:44:29 +01:00
ed
30654fb8ec Accessibility: Add iOS support 2021-07-28 11:44:29 +01:00
ed
da57f65f3f Accessibility: Add juce_AccessibilityTextHelpers.h 2021-07-28 11:44:29 +01:00
ed
588e776bb6 Accessibility: Remove redundant method declaration and general fixups 2021-07-28 11:44:29 +01:00
ed
d6a5156dd5 Objective-C++: Make getIvar() a free function so it can be used without a class instance 2021-07-28 11:44:28 +01:00
ed
c5bcfd5c3f macOS: Use the NSOpenPanel message property to display the FileChooser title correctly 2021-07-27 14:34:30 +01:00
reuk
3c68581567
Use jassertquiet where possible 2021-07-23 10:58:44 +01:00
ed
551d7b9c5b Add MessageBoxOptions class for specifying a set of AlertWindow and NativeMessageBox options
- Add AlertWindow::show() and showAsync() methods that take a MessageBoxOptions argument
  - Add NativeMessageBox::show() and showAsync() methods that take a MessageBoxOptions argument
  - Update the DialogsDemo to demonstrate the new methods
  - Deprecate AlertWindow::showNativeDialogBox() in favour of the NativeMessageBox methods
  - Pass button strings specified in MesssageBoxOptions to native dialog boxes correctly
  - Use modern TaskDialog on Windows for the native dialog box where available
2021-07-21 16:34:12 +01:00
ed
d3556dfd7f macOS Accessibility: Fixed a memory leak when checking for active accessibility clients 2021-07-16 14:21:30 +01:00
reuk
1d29091133
FileChooser: Always set initial directory if the initialFileOrDirectory argument is not empty 2021-07-14 15:40:58 +01:00
reuk
85226c33d4
Mac MainMenu: Allow commands without modifiers to be passed to peer
Ideally, we want to pass shortcut keys to the component to handle, and
only fall back to invoking a menu item if the component was unable to
handle the keyboard event, or if the action was triggered by
clicking/selecting an item in the menu itself. The old implementation
tried to work out whether the action was triggered by a shortcut by
checking the event's characters and modifiers. This method was
inaccurate, because some shortcuts (such as arrow keys) may add
unexpected numpad/function modifier flags.

We now try handling shortcut keys directly in the peer, and pass events
up to the superclass (which will forward them to the main menu) if the
event could not be handled.

This commit also adjusts some Objective-C method signatures to use the
correct string encoding for the BOOL type.
2021-07-14 14:49:05 +01:00
ed
a5c3b81f82 Use C++14 lambda capture initialisers for initialising deletion checkers 2021-07-12 11:58:29 +01:00
Tom Poole
d53388097b AudioProcessorGraph: Improve performance when building large graphs 2021-07-08 10:47:36 +01:00
ed
09c06fb946 macOS Accessibility: Fixed an incorrect deployment target check 2021-07-06 16:02:19 +01:00
attila
e867d1dbb4 Linux: Fix maximise when not using native titlebar
X11 cannot maximise windows that have their maximum size set. When not
using the native titlebar we now revert to setting the window bounds
without involving the X11 maximise function.
2021-07-06 10:26:14 +02:00
reuk
630afbda54 NSViewComponentPeer: Avoid processing mouse events from tracking areas
Some plugins (Izotope Relay, some older DPF plugins) use NSTrackingAreas
to handle mouse events, but unprocessed events seemingly get passed up
to outer views. Processing these events was causing unexpected
behaviour. For example, if the cursor entered a plugin view while
dragging a JUCE window border, a mouseEnter event was be generated,
interrupting the drag.

We now check whether mouse events were generated by an NSTrackingArea
which does not belong to the JUCE view, and ignore the event in this
case.
2021-07-05 12:21:36 +01:00
ed
a9d17d860c macOS Accessibility: Fixed crash due to availability of NSAccessibilityLayoutChangedNotification on < 10.9 2021-07-05 12:07:30 +01:00
ed
d1b669e6ae Accessibility: Added InternalAccessibilityEvent::elementMovedOrResized 2021-06-16 17:22:35 +01:00
ed
cdf3b619d8 Accessibility: Check if any accessibility clients are active before posting notifications and announcements 2021-06-16 17:22:00 +01:00
ed
3195db14a4 macOS: Check subview position in ComponentPeer::toFront() and toBehind() before re-ordering subviews for shared windows
This commit also removes the subview from its superview's subview array before re-ordering as the macOS docs don't make any guarantees about what happens when adding a subview that is already contained in the array.
2021-06-15 10:14:56 +01:00
ed
cae59fa8b2 macOS Accessibility: Return window title for accessibilityTitle property in JuceNSWindowClass 2021-06-14 14:29:53 +01:00
ed
8f3483d532 Whitespace 2021-06-14 14:01:43 +01:00
ed
f69095746a Windows Accessibility: Only support ExpandCollapsePattern for expandable elements 2021-06-11 13:50:47 +01:00
ed
d16657ab53 macOS Accessibility: Fixed crashes on macOS < 10.10 when posting notifications 2021-06-11 13:48:18 +01:00
ed
005d45e0fe macOS Accessibility: Removed some unused text methods and return caret position for accessibilitySelectedTextRange when no text is selected 2021-06-11 13:47:00 +01:00
ed
d5175b6e23 Windows: Use ScopedThreadDPIAwarenessSetter in keyboard hooks to set correct thread DPI awareness 2021-06-10 18:14:50 +01:00
reuk
a70488e38e MacOS: Fix API deprecations in macOS 12.0 and iOS 15.0 2021-06-10 15:20:39 +01:00
reuk
1ee106d730
PopupMenu: Avoid dismissing PopupMenus in bridged plugin editors
When bridging 32-bit/64-bit plugins on Windows, the plugin is hosted in
an auxilliary process, and the plugin's editor is embedded into an HWND
owned by a different process (the plugin host).

Previously, the `isForegroundProcess` check would fail for bridged
plugins, because the foreground window may belong to the DAW, rather
than to the auxilliary hosting process.

This patch adds an additional check, to find whether the same process
owns both the foreground window, and the window which embeds the
PopupMenu's target component. In this case, we avoid immediately
dismissing the PopupMenu.
2021-06-08 14:57:42 +01:00
ed
521faf2dc6 macOS Accessibility: Send NSArray for NSAccessibilityLayoutChangedNotification 2021-06-07 19:38:29 +01:00
ed
9ed55a7639 Accessibility: Added AccessibilityEvent::titleChanged 2021-06-07 19:38:29 +01:00
ed
e4f9e7f79b macOS Accessibility: Use @available keyword where possible to check if accessibility support is available at runtime 2021-06-07 19:38:29 +01:00
ed
8b2f3088d7 Accessibility: Added AccessibilityTextInterface::isReadOnly() method and AccessibilityRole::label to distinguish between navigable and selectable read-only text elements and simple labels 2021-06-07 19:38:29 +01:00
reuk
7ac6911ccc
Windows: Fix clang/gnu compiler warnings 2021-06-03 17:30:44 +01:00
ed
963fd79e6a Windows Accessibility: Improved support for read-only text interfaces and fixed issue causing text past 1000 characters to not be read out by Narrator 2021-05-28 14:50:57 +01:00
ed
05f987d893 macOS Accessibility: Use value interface for accessible read-only text 2021-05-28 14:48:59 +01:00
ed
1634d9f428 macOS: Fixed a build error when building against SDKs < 10.13 for deployment targets < 10.10 2021-05-27 18:52:02 +01:00
reuk
35260b342c
NSViewComponentPeer: Adjust bounds before constraining when resizing 2021-05-26 15:37:42 +01:00
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00
ed
8a6a520026 iOS: Check if text entry caused TextInputTarget deletion before calling updateHiddenTextContent() 2021-05-26 09:21:30 +01:00
ed
a192e27961 macOS: Set NSWindow accessibilityElement property to prevent VoiceOver reading out notifications for inaccessible windows 2021-05-26 09:20:59 +01:00
ed
02c5ad29db macOS: Disable accessibility on deployment targets < 10.10 2021-05-26 09:20:59 +01:00
reuk
3b93d5d7eb FileChooser: Allow multiple directory selection on Linux/Zenity 2021-05-24 19:41:11 +01:00
reuk
bad031aa03 iOS: Enable support for layered/async drawing 2021-05-24 15:55:29 +01:00
reuk
73523cd6a5
UIViewComponentPeer: Add support for hover and scroll events from external mice and trackpads 2021-05-21 17:00:10 +01:00
ed
b34e798f39 Accessibility: Fixed some bugs in Windows text navigation and readouts, improved selection and focus navigation 2021-05-20 18:24:59 +01:00
ed
c359f99fb5 Accessibility: Improved macOS support for offscreen rows/cells 2021-05-20 18:24:58 +01:00
reuk
c19cd73306
HWNDComponentPeer: Avoid dismissing modals from peer-initiated messages 2021-05-14 17:41:32 +01:00
ed
8b74ec2fb7 MinGW: Exclude native accessibility code 2021-05-12 08:02:20 +01:00
ed
70d0657f00 Windows: Only load UIA functions when accessibility is active 2021-05-11 15:57:54 +01:00