Commit Graph

942 Commits

Author SHA1 Message Date
sleepycatcoding f657208860 desktop: Refactor preferences system to make it easier to reuse
The goal of this refactor is to make it easier to load other TOML files similarly how preferences are loaded currently.
2024-04-03 22:20:55 +02:00
Crowdin Bot a8136c45e1 chore: Update translations from Crowdin 2024-04-03 09:19:19 +02:00
TÖRÖK Attila 9822e96b41 chore: Bump `egui` to `v0.27.2` 2024-04-03 08:01:53 +02:00
sleepycatcoding 6a74af5f6f desktop: pop keys off of `ParseContext` regardless if parse succeeded
previously the keys were not popped off on some code paths,
resulting in incorrect diagnostics later down the road.
2024-04-01 23:15:42 +02:00
sleepycatcoding fc4c2cb3a8 desktop: cleanup warning boilerplate from preferences reader
The current item path is now kept track of dynamically removing the need for a hardcoded warnings.
and the caller no longer has to call `result.add_warning` themselves (mostly).
2024-04-01 23:15:42 +02:00
Crowdin Bot 5677447576 chore: Update translations from Crowdin 2024-04-01 14:46:40 +02:00
sleepycatcoding df7d95bf43 desktop: show translated string for currently selected language 2024-03-31 20:54:18 +02:00
TÖRÖK Attila a59ec413ad chore: Update `egui` to `v0.27.1` 2024-03-29 14:46:25 +01:00
TÖRÖK Attila 5b4f808769 chore: Update `egui` to `v0.27.0` 2024-03-29 10:02:52 +01:00
Kamil Jarosz 589e7bfb31 desktop: Prevent egui from consuming the Tab key 2024-03-27 00:40:24 +01:00
renovate[bot] 9dfc6dc224 fix(deps): update rust dependencies 2024-03-26 13:56:59 +01:00
Crowdin Bot cea993b5ac chore: Update translations from Crowdin 2024-03-26 13:19:21 +01:00
sleepycatcoding d4e5e54dc0 desktop: Fix window title after closing the file
Previously the title showed the filename in the title even after the file
had been long closed.
2024-03-25 20:13:56 +01:00
Crowdin Bot 9793e3968d chore: Update translations from Crowdin 2024-03-24 22:55:51 +01:00
Nathan Adams ad34f04b7a desktop: Make sure all backends are tried in the Preferences dialog 2024-03-24 21:04:09 +01:00
Nathan Adams 38f7443605 desktop: Try each graphics backend one-by-one until we have a result 2024-03-24 21:04:09 +01:00
Adrian Wielgosik 08157a056e build: Fix redundant import warnings 2024-03-23 19:23:18 +01:00
renovate[bot] d70560cb82 fix(deps): update rust dependencies 2024-03-22 11:10:59 +01:00
Crowdin Bot 65129a08da chore: Update translations from Crowdin 2024-03-21 20:49:11 +01:00
TÖRÖK Attila d9f17dac44 chore: Bump `image` to `v0.25`, without the `dxt` feature 2024-03-19 00:14:48 +01:00
TÖRÖK Attila 7a269c054d fix(deps): update rust dependencies 2024-03-18 12:21:47 +01:00
Crowdin Bot 8345ace97e chore: Update translations from Crowdin 2024-03-18 11:49:48 +01:00
Adrian Wielgosik 27cd08deeb avm2: Provide an option to disable the optimizer 2024-03-16 22:40:15 +01:00
Crowdin Bot fc8f4ef4cf chore: Update translations from Crowdin 2024-03-15 20:30:28 +01:00
TÖRÖK Attila 3399662c76 desktop: Follow `Document` -> `DocumentMut` change in `toml_edit` 2024-03-14 16:45:29 +01:00
renovate[bot] 3f9f19b7ac fix(deps): update rust dependencies 2024-03-14 16:45:29 +01:00
Colin Kinloch f472bbc701 desktop: Use egui-winit clipboard
The `egui-winit` clipboard implementation provides a nice interface to
`smithay-clipboard` which correctly implements the core wayland
selection protocol. It uses `arboard` as a fallback for other platforms.
2024-03-13 23:30:15 +01:00
renovate[bot] 8d193f8944 fix(deps): update rust crate winit to 0.29.15 2024-03-13 23:07:24 +01:00
Crowdin Bot a60d781fb4 chore: Update translations from Crowdin 2024-03-13 22:44:32 +01:00
Crowdin Bot 1a66916c6c chore: Update translations from Crowdin 2024-03-13 08:06:34 +01:00
Colin Kinloch 787b6f5dfb desktop: Make clipboard support optional
On wayland ruffle only supports `wlr-data-control-unstable-v1` which is
not intended to be supported by all compositors.
2024-03-12 20:32:23 +01:00
TÖRÖK Attila aa834e6530 desktop: Turn off default features of `image` 2024-03-12 00:24:59 +01:00
Nathan Adams eaab481dcc desktop: Default RUST_LOG to warn,ruffle=info,avm_trace=info 2024-03-11 21:28:25 +01:00
Nathan Adams a5fe7e1c81 desktop: Add log filename pattern (e.g. with timestamp) to preferences 2024-03-11 21:28:25 +01:00
Nathan Adams 6585ffdd28 desktop: Log to ruffle.log in addition to stdout 2024-03-11 21:28:25 +01:00
Daniel Williams 4927baf290
desktop: URL-decode the window title (fix #15454) 2024-03-11 16:54:56 +00:00
Crowdin Bot 60d7b14c59 chore: Update translations from Crowdin 2024-03-08 22:19:45 +01:00
Nathan Adams 6971a1aa5e desktop: Persist volume to disk 2024-03-07 20:38:06 +01:00
Nathan Adams e18055d351 desktop: Don't translate opengl, metal etc 2024-03-07 20:38:06 +01:00
Crowdin Bot 6fc7a1beaf chore: Update translations from Crowdin 2024-03-07 11:39:50 +01:00
renovate[bot] a916369f21 fix(deps): update rust dependencies 2024-03-06 21:58:40 +01:00
renovate[bot] 7201efdec1 fix(deps): update rust crate winit to 0.29.14 2024-03-06 16:55:52 +01:00
Kamil Jarosz 3d04971ae4 desktop: Make WinitAsyncExecutor thread-safe and prevent deadlocks
Not thread-safe WinitAsyncExecutor was wrapped with a Mutex, making
any access to the instance exclusive. It was problematic, because
when a task was awoken from within another task, it resulted in
a deadlock, because the mutex was not reentrant.

This patch makes WinitAsyncExecutor thread-safe and changes how tasks
are locked. Specifically, instead of locking all tasks, only
the currently executed task is being locked. This allows waking any
other task from within it.
2024-03-05 23:14:08 +01:00
Crowdin Bot de8f63ec88 chore: Update translations from Crowdin 2024-03-05 22:56:34 +01:00
Tom Schuster 587fdff1ac chore: Update `cpal` to `0.15.3`
This reduces the number of duplicate `nix` versions by one.
2024-03-05 14:24:29 +01:00
Nathan Adams 571f60abff desktop: Document preferences a little 2024-03-05 00:02:27 +01:00
Nathan Adams c713f56ac0 desktop: Allow changing the audio output device 2024-03-05 00:02:27 +01:00
Nathan Adams 09dfa6427e desktop: Allow changing the language in Preferences 2024-03-05 00:02:27 +01:00
Nathan Adams baa0c5c7cd desktop: Use custom (de)serialization for preferences, not serde 2024-03-05 00:02:27 +01:00
Nathan Adams ed56c70b55 desktop: Only show possibly-available backends for the current system 2024-03-05 00:02:27 +01:00
Nathan Adams d62963c2d4 desktop: Rename config.rs to preferences.rs 2024-03-05 00:02:27 +01:00
Nathan Adams 8b589a9620 desktop: If the preferred graphics backend is unavailable, pick another one and warn 2024-03-05 00:02:27 +01:00
Nathan Adams b9c6db1cb9 desktop: Add preferences dialog, allow setting of graphics backend/power 2024-03-05 00:02:27 +01:00
Nathan Adams 8df7efb662 desktop: Load graphics preferences from disk 2024-03-05 00:02:27 +01:00
Nathan Adams acd01e2eb0 desktop: Add GlobalPreferences struct, prep for storing preferences to disk 2024-03-05 00:02:27 +01:00
Nathan Adams 6136d14179 desktop: Add --save-directory 2024-03-05 00:02:27 +01:00
Nathan Adams 145275af86 desktop: Remove backwards compatibility code from 3 years ago 2024-03-05 00:02:27 +01:00
renovate[bot] fae1c458ec fix(deps): update rust dependencies 2024-03-04 22:18:19 +01:00
TÖRÖK Attila 755fa6cded chore: Switch `fluent-templates` back from `master` to `v0.9.0` 2024-03-04 11:05:08 +01:00
TÖRÖK Attila 9e8c406cd9 desktop: Introduce a `TaskKey` type for the slotmap in `executor.rs` 2024-03-03 21:18:39 +01:00
TÖRÖK Attila 5b920b8447 chore: Deduplicate the `fluent-templates` dependency 2024-03-02 19:54:00 +01:00
TÖRÖK Attila 55773f0205 chore: Replace `generational-arena` with `slotmap` 2024-03-02 19:42:11 +01:00
renovate[bot] 90bf13ebd2 fix(deps): update rust crate winit to 0.29.13 2024-03-02 19:17:37 +01:00
Kamil Jarosz a0f2941a2e desktop: Update winit to 0.29.12
This fixes critical crashes on X11
2024-03-01 12:10:37 +01:00
Crowdin Bot 4e87d34068 chore: Update translations from Crowdin 2024-03-01 11:15:11 +01:00
Tom Schuster a03355458f desktop: Add gamepad support using gilrs 2024-02-28 21:21:09 +01:00
Kamil Jarosz 9bc6700531 desktop: Get rid of busy waiting in connect_socket
This patch makes connect_socket await on recv
instead of spin and wake the CPU each 10 milliseconds.
2024-02-28 19:42:54 +01:00
Kamil Jarosz f5d52272ca desktop: Flush pending data before socket closes
This patch makes sure that any pending data is sent before
the socket closes. Without this fix Ruffle ignored the data sent
right before calling socket.close.
2024-02-28 19:42:54 +01:00
Kamil Jarosz f6907a5c73 desktop: Add tests for connect_socket
Add tests for ExternalNavigatorBackend::connect_socket.
2024-02-28 19:42:54 +01:00
Kamil Jarosz 2535b926a7 desktop: Add WinitFutureSpawner
This improves testability, decouples ExternalNavigatorBackend
from the event loop, and improves readability.

Instead of passing a channel to send the future to and an event loop
to poll, a WinitFutureSpawner is created which performs the
action of spawning a future and polling the event loop.
2024-02-28 19:42:54 +01:00
Kamil Jarosz cc8b0aa5dd core: Use async channels in NavigatorBackend
This has several advantages:
1. it allows using async variants of send and recv,
2. it adds consistency as until now Receiver was async,
   and Sender was not.
2024-02-28 19:42:54 +01:00
TÖRÖK Attila e56a4597cc desktop: chore: Update winit to 0.29.11 2024-02-27 22:43:59 +01:00
renovate[bot] 9cdb2f31cc fix(deps): update rust dependencies 2024-02-26 08:14:26 +01:00
TÖRÖK Attila d2e854fb73 nit: desktop/navigator: Fix a typo in a comment: ownerhsip -> ownership 2024-02-22 21:14:41 +01:00
Kamil Jarosz 98c0dc4616 desktop: Prevent resource leak on reload
This patch makes TaskHandle reference the executor by a weak reference.
Prior to this change, there was a possibility of a resource leak, where
the executor, its tasks, and resources held by them were not properly
dropped due to existing references to the executor.

This manifested by e.g. unclosed sockets after reload, which required
the whole program to be restarted in order to be closed properly.
2024-02-21 21:45:01 -05:00
renovate[bot] 6b89737093 fix(deps): update rust dependencies 2024-02-19 11:32:22 +01:00
renovate[bot] 1651b7a5b0 desktop: chore: Update `egui` to 0.26.2 2024-02-16 01:52:41 +01:00
Crowdin Bot 45c5d8f10c chore: Update translations from Crowdin 2024-02-12 00:25:24 +01:00
Crowdin Bot 5c6930d72e chore: Update translations from Crowdin 2024-02-09 17:56:24 +01:00
TÖRÖK Attila 28c380cfac desktop: Update egui to 0.26.0 2024-02-05 19:05:10 +01:00
Kamil Jarosz 50b5f29c0a text: Make enter add a new line in multiline fields 2024-02-03 13:40:07 +01:00
Kamil Jarosz 0657d2daa2 text: Add advanced horizontal text control codes 2024-02-01 20:18:29 +01:00
Crowdin Bot f64688f138 chore: Update translations from Crowdin 2024-01-30 23:55:48 +01:00
renovate[bot] 3737725a21 fix(deps): update rust dependencies 2024-01-30 09:23:15 +01:00
Nathan Adams e778e5ed58 desktop: Fix context menu, use new approach rather than trying to hack activate egui's menu 2024-01-27 09:44:31 +01:00
Crowdin Bot 4769a45999 chore: Update translations from Crowdin 2024-01-26 22:54:04 +01:00
arthomnix 3e82ba9a63 desktop: Allow specifying WGPU instance flags from environment 2024-01-26 22:33:18 +01:00
David Wendt 006c3af4b8 core: Add backend method for getting the expected length of a response. 2024-01-25 23:24:09 -07:00
David Wendt 91dd9563bb core: Add method to read downloads in chunks instead of all-at-once. 2024-01-25 23:24:09 -07:00
David Wendt 06eb2e1ee8 core: `Request` is now a trait. Body download is deferred to a second async method. 2024-01-25 23:24:09 -07:00
Crowdin Bot 917c1c08f7 chore: Update translations from Crowdin 2024-01-25 00:49:31 +01:00
Crowdin Bot a916f6e7a2 chore: Update translations from Crowdin 2024-01-23 23:01:01 +01:00
Crowdin Bot 430463ecd3 chore: Update translations from Crowdin 2024-01-23 12:38:25 +01:00
Aaron Hill dbcefd060f debug_ui: Add 'Show Domains' menu to view domains and classes
This opens a searchable list (similar to what we have for display
objects), which shows a tree of Domains and their associated classes.

Currently, clicking on the domain/class buttons doesn't do anything.
In a follow-up, I'm planning to add additional windows to display
information about a class.
2024-01-23 11:34:14 +01:00
renovate[bot] 262dff83a4 fix(deps): update rust dependencies 2024-01-22 03:09:33 +01:00
Nathan Adams 4d16e24889 wgpu: Update wgpu and naga to 0.19 2024-01-21 19:36:08 +01:00
Isao Mishima d7df55fd7b
desktop: Change the default Japanese fonts (#14877) 2024-01-21 15:21:48 +01:00
Tom Schuster e0f5b8906d desktop: Support device font with a non-zero index 2024-01-19 19:21:48 +01:00
Kamil Jarosz d89ab3dc83 desktop: Fix doubling inputted characters
Fix a bug introduced by f65060e8.
The text input event was triggered two times: at key press and release.
This patch makes sure that text input is triggered only on key press.
2024-01-18 00:21:19 +01:00
TÖRÖK Attila d153290fd6 nits: Fix a whole bunch of typos all over the place 2024-01-17 23:59:19 +01:00