1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00
Commit graph

3001 commits

Author SHA1 Message Date
reuk
53a87c178c
AlertWindow: Update documentation 2023-05-31 15:15:26 +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
1c1cbdf18d
ComponentBoundsConstrainer: Add new decorator constrainer 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
attila
f7e04d1423 FileBrowserComponent: Respect FileFilters in TreeView mode
This fixes a regression introduced in
a400d3ebe0.
2023-05-31 11:16:51 +02: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
attila
909f6c43d2 Grid: Fix incorrect computation
One issue affected the situation where the provided bounds wouldn't
start at (0, 0). Such bounds are regularly acquired by calling
Rectangle::reduced().

The other issue affected the width calculation of fractional items.
The error wasn't correctly integrated during the computation, and as a
consequence the last fractional element would exhibit all the
accumulated error.
2023-05-04 17:01:02 +02:00
attila
a6761f9eb8 Grid: Ensure that items with absolute sizes will maintain correctly rounded dimensions
Prior to this commit all Grid calculations were carried out using
floating point numbers. The dimensions of all items would then be
rounded with the same function to calculate the integer dimensions used
for Component layout. This resulted in layout solutions where the width
or height of items with dimensions specified using the absolute Px
quantity could differ from the correctly rounded value of these values.

This commit ensures that the width and height of these items are always
correct and their cumulative error in size is distributed among items
with fractional dimensions.
2023-04-26 11:05:53 +02:00
attila
73459411ba Android: Fix accessibility on newer Android versions
This commit fixes a bug where a View would be registered as it's own
parent in the accessibility hierarchy leading to stack overflows in the
Android accessibility service. The issue affected up-to-date Android 13
systems and potentially older systems with updated accessibility
services.
2023-04-25 16:28:11 +02:00
reuk
1de392bbab
CGMetalLayerRenderer: Avoid creating resources for zero-size layers 2023-04-19 19:59:49 +01:00
attila
a400d3ebe0 FileTreeComponent: Use incremental updates after refresh to avoid losing UI state
Previously when using the FileBrowserComponent in TreeView mode, a
refresh would delete all items and rebuild the UI based on new
directory scan data, losing the openness state in the process. With
this commit only changes are applied to the current TreeView.
2023-04-19 08:54:50 +02:00
reuk
70d99d1cc4
NSViewComponentPeer: Fix occasional rendering artefacts
When clearing deferredRepaints in drawRect, dirty regions in the 'next'
frame could be incorrectly removed while drawing the 'current' frame.
Now, deferredRepaints is cleared in setNeedsDisplayRectangles, as it
was before 9d50ab6c59.
2023-04-18 16:28:52 +01:00
reuk
208be3dd5e
CGMetalLayerRenderer: Fix crash when attempting to render zero-sized components 2023-04-18 11:39:40 +01:00
reuk
68beb74820
NSViewComponentPeer: Fix deferredRepaints bookkeeping when metal rendering is disabled 2023-04-11 12:36:19 +01:00
reuk
ad094cd883
AlertWindow: Fix result codes when displaying native dialogs through the AlertWindow APIs 2023-04-04 19:55:12 +01:00
reuk
9d50ab6c59
CGMetalRenderer: Avoid glitching when resizing views 2023-04-04 19:55:12 +01:00
reuk
fe09902e83
NSViewComponentPeer: Tidying 2023-04-04 19:55:12 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
reuk
081b1ff216
PopupMenu: Avoid dismissing menu in response to mouse events over the menu
In cases where no JUCE component had keyboard focus, clicking a menu
item would cause the menu to be dismissed instead of triggering the
item's action.
2023-04-04 19:55:11 +01:00
reuk
a7563b5e91
NSViewComponentPeer: Ignore peer-level mouse enter/exit events when mouse button is pressed 2023-04-04 19:55:11 +01:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
Oliver James
d7f1e59422 AlertWindow: Add 'getButton' method 2023-04-04 10:06:40 +01:00
Oliver James
9d909fc3fe Slider: LookAndFeel outline style 2023-04-04 10:06:40 +01:00
Oli
d264d95595 StretchableLayoutManager: Prevent zero size layouts 2023-04-04 10:06:40 +01:00
Oli
fa0b607bf9 Win32 FileChooser: Enable native 'Save' directory 2023-04-03 09:54:30 +01:00
Oli
bc26d5cc87 Win32 FileChooser: Fix truncated initial file text 2023-04-03 09:54:30 +01:00
Anthony Nicholls
28c31b1f26 Slider: allow a sliders text-box to update when a colour changes in the slider 2023-03-31 13:15:27 +00:00
reuk
ee976f0f0d
NSViewComponentPeer: Avoid using metal renderer if view has changed size since repaints were requested
The main change is that the numFramesToSkipMetalRenderer member has been
removed. The old mechanism had some problems in AU plugins in Logic.
Specifically, when opening a temporary window, repaints would be ignored
until the numFramesToSkipMetalRenderer counter had been decremented to
zero. In practice, this meant that a PopupMenu might not repaint until
the highlighted item had changed five times or more.

With this change applied, repaints that were requested for a particular
window size will use the metal renderer as long as the window hasn't
changed size in the meantime.
2023-03-27 16:46:32 +01:00
reuk
5eadaf75be
UIViewComponentPeer: Avoid accessing text input target after it has been destroyed
In some cases, processing key inputs may cause the currently-focused
text input target to be destroyed. If this happens, we shouldn't attempt
to reset the underlining on the target. We now reset the underlining
before processing key presses.
2023-03-27 16:46:32 +01:00
Anthony Nicholls
e637073228 BubbleComponent: allow customisable effects
Rename look-and-feel method and update docs
2023-03-27 13:47:36 +00:00
reuk
9d1a6a3b28
ContentSharer: Update interface to return safer ScopedMessageBox instances 2023-03-27 11:54:37 +01:00
attila
557d690ff4 MouseInputSource: Fix stuck hover state on touch screens 2023-03-23 19:48:36 +01:00
Anthony Nicholls
c7689793f2 Widgets: call repaint() in colourChanged() callbacks 2023-03-22 14:59:37 +00:00
Anthony Nicholls
5fb78e30ac Component: update docs to reflect what happens when the look-and-feel changes 2023-03-22 14:59:15 +00:00
Anthony Nicholls
ba50a35364 Widgets: stop calling repaint in lookAndFeelChanged()
- A repaint will always occur from a lookAndFeelChanged
2023-03-22 14:59:15 +00:00
Anthony Nicholls
cff722a4af GUI Basics: Refactor juce_gui_basics file structure
- Created a new detail namespace
- Moved shared module implementation details into the detail namespace
- Split dependencies so source files only rely on details in the detail namespace
- Removed all code from the juce_gui_basics.cpp file
2023-03-16 08:53:12 +00:00
reuk
8942f22a9b
FileChooser: Avoid setting default extension to filename
Fixes a bug on Windows when opening a FileChooser with the following
arguments.

    FileChooser ("",
                 "C:\path\to\file", // filename 'file' doesn't contain '.'
                 "",                // all extensions are allowed
                 true);

The expected behaviour is that the initially-displayed filename is
"file".

The actual behaviour was that the initially-displayed filename was
"file.file".
2023-03-14 20:27:42 +00:00
reuk
33ef4a86f4
Plugin Client: Remove unnecessary wrapper files 2023-03-14 19:13:03 +00:00
reuk
10bd8235e7
Plugin Client: Move all private helper functions into detail namespace 2023-03-13 13:09:30 +00:00
reuk
628edb1e15
TableListBox: Refactor mouse handling to reuse ListBox mouse handling 2023-03-08 18:19:20 +00:00
Anthony Nicholls
c23eab7126 iOS: Refactor get primary display 2023-03-07 18:21:38 +00:00
reuk
7da615a7a3
Objective-C: Tidy up block usages, and document block helpers 2023-03-02 13:25:49 +00:00
reuk
28ad953a3a
Xcode: Fix nullability warnings in Xcode 14.3 2023-03-02 12:03:32 +00:00