Commit Graph

11654 Commits

Author SHA1 Message Date
sleepycatcoding e1f9b5e5df desktop: add UI for bookmarks 2024-04-03 22:20:55 +02:00
sleepycatcoding 0b7b9eb0a1 desktop: add `bookmarks.toml` file for storing bookmark data
This is in a separate file to not create clutter in the main preferences.toml file.
2024-04-03 22:20:55 +02:00
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
renovate[bot] fd5646d160 chore(deps): update dependency vite to v5.1.7 [security] 2024-04-03 20:24:54 +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
TÖRÖK Attila 6de12dd59c ci: Fix the name of the no-op `check-required` job in the `Test Web` workflow 2024-04-02 19:27:24 +02:00
Kamil Jarosz 501b42c63f tests: Add tab_ordering_movieclip_enabled_default test
This test verifies the logic behind the default value of
`MovieClip.tabEnabled` when it's undefined.
2024-04-02 00:31:34 +02:00
Kamil Jarosz d4b74db133 core: Default value logic for MovieClip.tabEnabled
The default value of `MovieClip.tabEnabled` is neither trivial
nor well-documented. This patch implements the logic behind
the default value of `MovieClip.tabEnabled` and covers it with tests.
2024-04-02 00:31:34 +02:00
Kamil Jarosz 6d08d2afb0 core: Make the default value lazy in get_avm1_boolean_property 2024-04-02 00:31:34 +02:00
Daniel Jacobs c7166c2eea ci: Don't notify Discord when the Wiki changes 2024-04-02 00:13:34 +02:00
Kamil Jarosz a150fb3e69 tests: Add focus_highlight/focus_highlight_render 2024-04-01 23:38:59 +02:00
Kamil Jarosz 04eedcd4b4 tests: Add focus_highlight/focus_highlight_basic 2024-04-01 23:38:59 +02:00
Kamil Jarosz 95983bf4f3 core: Render yellow highlight on keyboard focus
This patch implements rendering of the yellow rectangle around
a focused element after pressing Tab. Focus tracker which is responsible
for keeping track of the current focus is now also responsible
for keeping track of the highlight and rendering thereof.
2024-04-01 23:38:59 +02:00
Kamil Jarosz 068363a87c swf: Add Rectangle::grow method 2024-04-01 23:38:59 +02:00
Kamil Jarosz 1a250f0144 core: Move FocusTracker to Stage 2024-04-01 23:38:59 +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
Kamil Jarosz f30824bf06 tests: Add tab_ordering_automatic_order_same_position test
This test verifies the behavior of duplicate (x,y) positions of objects.
Turns out, FP actually ignores other objects with the same position,
retaining only the first one.
2024-04-01 22:48:59 +02:00
Kamil Jarosz 12ff34d536 tests: Add tab_ordering_automatic_order_grid test
This test tests a grid with randomized (x,y) positions,
depths, and SWF tag positions.
It proves that mainly the position on the screen
determines the automatic order.
2024-04-01 22:48:59 +02:00
Kamil Jarosz b12bf31c6e core: Improve order of automatic tab ordering
This patch improves the order of automatic tab ordering,
and makes it behave more like in FP.
The order after this patch is far from being exactly
the same as in FP, but is close enough.
2024-04-01 22:48:59 +02:00
TÖRÖK Attila 36413a70f2 chore: Remove or ignore any unused deps detected by cargo-machete 2024-04-01 22:29:38 +02:00
TÖRÖK Attila 7b633df39b ci: Add cargo-machete to dependency checking 2024-04-01 22:29:38 +02:00
TÖRÖK Attila 0af8e8ac3b ci: Split cargo-deny into its own job 2024-04-01 22:29:38 +02:00
Crowdin Bot 5677447576 chore: Update translations from Crowdin 2024-04-01 14:46:40 +02:00
Tom Schuster a8c917a788 tests: Add a test for DisplayObject.metaData 2024-04-01 12:31:59 +02:00
Tom Schuster 1552059c9f avm2: Stub DisplayObject.metaData 2024-04-01 12:31:59 +02:00
sleepycatcoding df7d95bf43 desktop: show translated string for currently selected language 2024-03-31 20:54:18 +02:00
Kamil Jarosz d0e2483bc7 tests: Add tab_ordering_children test
This test verifies the behavior of `tabChildren`: how it affects
automatic and custom tabbing, and how it behaves in a hierarchy.
2024-03-30 00:15:45 +01:00
Kamil Jarosz 1883daff22 avm1: Support `MovieClip.tabChildren`
The property `MovieClip.tabChildren` allows changing the behavior of
tab ordering hierarchically. When set to `false`, it excludes the whole
subtree represented by the movie clip from tab ordering.
2024-03-30 00:15:45 +01:00
Kamil Jarosz c3843d2bf9 tests: Add tab_ordering_reverse test 2024-03-29 23:20:15 +01:00
Kamil Jarosz 9ba7bb8629 core: Reverse tab order on Shift+Tab
When pressing Shift+Tab or Ctrl+Shift+Tab,
elements are tabbed in reverse.
2024-03-29 23:20:15 +01:00
Kamil Jarosz 208aae78ee core: Use either crate instead of a custom implementation 2024-03-29 23:20:15 +01:00
Kamil Jarosz bc9aa18d6f tests: Add AutomatedEvent::KeyUp 2024-03-29 23:20:15 +01:00
TÖRÖK Attila be5eaaec6e chore: Run `cargo update` 2024-03-29 14:46:25 +01:00
TÖRÖK Attila 1396d8de5b chore: Update `insta` to `v1.38.0` 2024-03-29 14:46:25 +01: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
David Wendt bb71b61c9a chore: Fix false positive clippy lint in rustc 1.78 betas 2024-03-27 00:16:36 -06:00
Kamil Jarosz 67a04dcc75 tests: Add tab_ordering_properties_tab_index_edge_case test
This test covers the edge case of MovieClip.tabIndex,
where setting it to a string at the start returns this string
instead of a numerical value.
2024-03-27 00:40:24 +01:00
Kamil Jarosz 14820e59bf tests: Add tab_ordering_properties test
This test verifies the behavior of properties related to tab ordering.
2024-03-27 00:40:24 +01:00
Kamil Jarosz cc800da878 tests: Add tab_ordering_custom_basic test
This test checks the basic support of tab ordering
and its custom mode.
2024-03-27 00:40:24 +01:00
Kamil Jarosz 7e872a1b00 tests: Add tab_ordering_automatic_basic test
This test checks the basic support of tab ordering
and its automatic mode.
2024-03-27 00:40:24 +01:00
Kamil Jarosz 9d18bcdd06 avm1: Add support for tabEnabled and tabIndex 2024-03-27 00:40:24 +01:00
Kamil Jarosz c7b16f4642 core: Add basic support for Tab key behavior
The Tab key is used to cycle through focusable elements in stage.
It supports two tab orderings: automatic and custom.
This patch adds basic support for this behavior.
2024-03-27 00:40:24 +01:00
Kamil Jarosz e6e23fc758 core: Simplify handling clip events in Player 2024-03-27 00:40:24 +01:00
Kamil Jarosz 589e7bfb31 desktop: Prevent egui from consuming the Tab key 2024-03-27 00:40:24 +01:00
Lord-McSweeney 1a9a36c1ed avm2: Properly push coerced value back to stack in optimizer for Coerce op 2024-03-26 10:43:13 -07: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