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

211 commits

Author SHA1 Message Date
reuk
2f05ebe8d2
FileTreeComponent: Fix typo in docs 2025-10-20 17:34:47 +01:00
attila
b95ede49ff Fix calling FileListComponent::setSelectedFile after DirectoryContentsList::setDirectory
Prior to this fix calling setDirectory and then setSelectedFile from the
same call stack could cause setSelectedFile to have no effect. This was
because the directory change is asynchronously propagated from the
DirectoryContentsList. This was picked up by the FileListComponent as a
directory change after setSelectedFile, even though the directory change
happened before.
2025-08-13 12:45:41 +01:00
Anthony Nicholls
36d07a6ce3 Docs: Replace doxygen preprocessor conditionals with @cond and @endconds 2025-07-21 18:11:43 +02:00
Anthony Nicholls
6c2d149ef3 Versioning: Add the JUCE version number to any internally created threads 2024-09-26 08:10:56 +00:00
reuk
4533077b75
LookAndFeel: Allow specifying a default typeface metrics kind to use 2024-04-18 14:16:00 +01:00
reuk
4f2c287f9b
Font: Deprecate old Font constructors 2024-04-18 14:16:00 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01: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
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
reuk
9705ef660e
FileListComponent: Allow getTooltipForRow to function as expected when overridden 2023-06-08 15:05:43 +01:00
attila
c79ca4e815 FileTreeComponent: Order items according to OS specific rules
This makes the ordering consistent with other view modes of the
FileBrowserComponent and restores the behaviour prior to a400d3ebe0.
2023-06-06 21:49:58 +02:00
attila
f7e04d1423 FileBrowserComponent: Respect FileFilters in TreeView mode
This fixes a regression introduced in
a400d3ebe0.
2023-05-31 11:16:51 +02:00
reuk
53bfd5b16d
WindowUtils: Make areThereAnyAlwaysOnTopWindows() public 2023-05-04 18:42:41 +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
9d1a6a3b28
ContentSharer: Update interface to return safer ScopedMessageBox instances 2023-03-27 11:54:37 +01: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
39a731de46
ScopedMessageBox: Replace old AlertWindow uses with new API 2023-02-22 21:00:17 +00:00
reuk
9cfbccca8e
Accessibility: Make createAccessibilityHandler public to allow calls from derived classes 2023-02-09 17:54:18 +00:00
reuk
543b001e9c FileSearchPath: Allow working with paths that are not necessarily absolute
This allows paths that are prefixed with environment variables to behave
as expected. This is useful when scanning the default LV2 locations in
the AudioPluginHost on Windows.
2023-02-01 23:05:51 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]] 2022-12-01 11:41:50 +00:00
hogliux
4054e25052 Android: Added the ability to associate a particular file-extension to a mime-type at runtime 2022-11-02 20:27:20 +01:00
chroma
d3cff375be Thread: Introduce a new Thread backend
This is a breaking change - see BREAKING-CHANGES.txt
2022-10-18 11:49:47 +01:00
reuk
d621d46ca8
FileListComponent: Update content before selecting row to ensure totalItems is up-to-date 2022-10-06 17:33:59 +01:00
reuk
00b1bf3f5b
DirectoryContentsList: Ensure change notification is sent after search completes
This fixes an issue where the FileListComponent might fail to select a
file, because the file list reported that it was still loading during
the final ChangeListener callback.
2022-09-29 12:05:43 +01:00
reuk
5d1c580b15
FileListComponent: Fix incorrect selection when calling setSelectedFile while the directory contents are still loading 2022-09-27 15:18:22 +01:00
reuk
86ad2a77a0
FileTreeComponent: Avoid blocking the main thread when selecting items while scanning is in progress 2022-09-01 15:44:27 +01:00
reuk
21c214aec8
DirectoryContentsList: Start thread before attempting to scan files
This fixes an issue where opening a FileTreeComponent could cause the UI
to hang. The call to subcontentsList->isStillLoading() in
FileListTreeItem::selectFile() would always return true because the
file-scanner TimeSliceThread wasn't started until the selectFile() call
finished.
2022-09-01 15:44:27 +01:00
reuk
ef4b5957ec FileChooserDialogBox: Fix documentation bug 2022-08-23 19:20:06 +01:00
Tom Poole
c52a049698 Fixed a documentation typo 2022-07-11 13:18:59 +01:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
Tom Poole
68ad0ef3d8 DirectoryContentsList: Fix a bug in isStillLoading 2022-04-26 15:37:52 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
Oli
15bdae16b2 DirectoryContentsList: Fix a data race
Fix improper use of non-atomic pointer validity to report state of background search thread state
2022-03-28 20:47:30 +01:00
reuk
793f1bf2ee FileChooser: Avoid crash when destroying an open non-native filechooser 2022-02-07 14:24:11 +00:00
ed
fc0f6b1f2f Tidy up 2021-12-02 09:24:55 +00:00
reuk
7504fa065b
FileChooser: In Linux FileChoosers, prefer to open files rather than directories if both are requested
Zenity and Kdialog only support opening either files or directories
during a single invocation.
2021-09-27 12:48:59 +01:00
ed
90eb878d16 Accessibility: Make createAccessibilityHandler() private in Component subclasses 2021-09-07 11:23:17 +01:00
ed
c66e8baf7e Whitespace 2021-07-28 16:03:22 +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
Tom Poole
61c638106f Clarify some FileChooser example code 2021-07-06 08:06:17 +01:00
Tom Poole
fe4ba9071b Set the default value of JUCE_MODAL_LOOPS_PERMITTED to 0
See BREAKING-CHANGES.txt for more details.
2021-06-30 13:01:14 +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
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
ec990202b1 Accessibility: Added VoiceOver (macOS) and Narrator (Windows) accessibility screen reader support to juce_gui_basics 2021-05-10 10:53:14 +01:00
Tom Poole
79fbde7099 Added preliminary support for FreeBSD 2021-03-29 14:16:46 +01:00
reuk
fd2f866dd1 FileChooser: Avoid throwing bad_weak_ptr
It seems like shared_from_this may not be enabled when a unique_ptr is
assigned to a shared_ptr (although it *should* be enabled when
constructing a new shared_ptr from a unique_ptr). Functions that return
objects that may need to use shared_from_this now return shared_ptr,
just to be safe.

Additionally, in some cases, shared_from_this was being called from
Thread::run after the last reference to the shared object had been
released. We now call shared_from_this during 'open', which will always
run on the message thread while at least once reference to the shared
object is alive.
2021-03-03 19:21:43 +00:00
reuk
45409bb4e6
FileChooser: Hide chooser when it leaves scope on Windows 2021-03-02 10:49:39 +00:00
ed
ad38182530 Added checks for DOXYGEN #define when excluding modal methods in headers 2021-02-05 14:17:19 +00:00