Commit graph

1483 commits

Author SHA1 Message Date
Simon Hausmann
10413c555e doc: remove BackendSelector::doc_internal from public API 2024-12-17 10:11:58 +01:00
Simon Hausmann
9ff1d88602 Implement Drop for BackendSelector to select the backend 2024-12-16 13:06:05 +01:00
Simon Hausmann
0d36f88152 Revamp BackendSelector API
Based on API review, PlatformBuilder becomes BackendSelector with
a slightly smaller API surface but more options, such as selecting
Metal or Vulkan rendering.
2024-12-16 13:06:05 +01:00
Benny Sjoestrand
5ef4aace4c Implement full-screen property for slint Window item
Make it possible to programatically to switch to full-screen mode
via a new property in the Windows item.
The SLINT_FULLSCREEN environment variable will default set this
property to true. However settings this property in the slint code
will override the SLINT_FULLSCREEN.

Fixes #6665
2024-12-16 09:52:40 +01:00
Simon Hausmann
bfdf0e275f Clean up Apple cfg's
Use target_vendor = "apple" where to cover all Apple OS, and exclude ios for event pumping.
2024-12-13 11:03:44 +01:00
Olivier Goffart
c0f346fdf7 Rust docs: have a macro to make link to the Slint doc 2024-12-12 16:44:31 +01:00
Olivier Goffart
a3dad45f0b Accessibility: rename a few properties after API review:
- Rename `accessible-selectable` and `accessible-selected` to `accessible-item-{selectable,selected}`.
   Because the property is for items in list rather than eg Text
 - Rename `accessible-position-in-set` to `accessible-item-index`.
 - Rename `accessible-size-of-set` to `accessible-item-count` and move
   the property to the container element rather than the item itself
2024-12-07 08:25:42 +01:00
teknalb
0f72791977
winit: Auto disable maximize button when window resize is disabled (#6997)
Fix #5565

ChangeLog: winit: Auto disable maximize button when window resize is disabled
2024-12-07 07:41:03 +01:00
Simon Hausmann
e074d05847
Fix panic in accesskit when focus change occurs before initial tree u… (#6952)
This is a prospective fix to avoid sending `tree: None` as the first tree update.

Fixes #6015
2024-12-06 10:53:28 +01:00
Olivier Goffart
6b5fc7c250 Janitor: Remove dead code 2024-12-05 15:17:04 +01:00
Nigel Breslaw
92534a8a27
1.9 Organise docs folder. (#7005)
Move astro files to docs/astro
2024-12-05 15:40:04 +02:00
asuper0
387220227d
Add step property to Slider (#6981)
Closes #4549

ChangedLog: Slider: added `step` property
2024-12-05 11:50:08 +01:00
Nigel Breslaw
4c1ececc67
1.9 docs: Flesh out docs guide 2024-12-05 00:19:37 +02:00
FloVanGH
0d1412afc5
removed skip-taskbar property from window (#6982) 2024-12-03 10:07:36 +00:00
FloVanGH
901afde11f
api review: callback parameters and properties name adjustements 2024-12-02 16:22:39 +00:00
Simon Hausmann
37f66789c5 macOS: Replace use of old apple creates with modern objc2 replacements 2024-11-28 10:00:24 +01:00
Simon Hausmann
0d7f4ecc1d Fix borrow_mut() panic in accesskit code when accesskit requests setting focus to an item
... which in turn requires a tree update with the new focus node, which requires &mut self.

Fixes #6922
2024-11-27 13:12:10 +01:00
FloVanGH
712f930897
windows: added skip_taskbar (#6911)
* Update internal/backends/winit/winitwindowadapter.rs

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update internal/backends/winit/winitwindowadapter.rs

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update docs/src/content/docs/reference/window/window.mdx

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>
2024-11-27 09:55:11 +00:00
Arnold Loubriat
12e7b8019d Update accesskit to 0.17 and accesskit_winit to 0.23 2024-11-24 13:36:06 +01:00
Simon Hausmann
1888e58735 Add API to set the XDG app id
ChangeLog: Added function to set the XDG app id on Wayland/X11. This needs to be added with respective function names in the language sections.

Fixes #1332
2024-11-22 11:24:06 +01:00
Simon Hausmann
05a309c86c Clean up winit window creation on startup
Create the window adapter first without a window, and then resume. This deduplicates code and means that there's now only one single place where we resume/create the renderer and
accesskit adapters.
2024-11-21 13:27:30 +01:00
Simon Hausmann
ea6e5b2841 Fix accesskit adapter lifecycle
Let the adapter live as long as we have a winit window.
2024-11-21 13:27:30 +01:00
Simon Hausmann
3f8084cdc0 When using Skia with softbuffer and partial rendering, report damages to softbuffer
Co-Authored-By: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-19 21:31:04 +01:00
Simon Hausmann
9b7de3f806 Pass the buffer age to the Skia software renderer 2024-11-19 21:31:04 +01:00
FloVanGH
5ea05e18af
std-widgets: added horizontal-alignment to SpinBox (#6778) 2024-11-15 08:05:57 +00:00
Olivier Goffart
14adc2af2f Silence a warning in Qt headers 2024-11-04 20:45:04 +01:00
Brandon Fowler
6da0f55b05
Associate PopupWindows with an ID for their active popup (#6693)
Popups are stored in a HashMap and are assigned an ID so popup.close(); closes the correct popup and so a single PopupWindow cannot be opened multiple times
2024-11-04 09:17:55 +01:00
Olivier Goffart
2d944b242c Support multiple PopupWindow
Fixes #4356

Still not perfect:
 - Calling several times `popup.show()` on the same popup, will open
   that popup multiple times (instead of being a noop once opened)
 - Calling `some-popup.close()` will always close the top of the stack,
   without considering if it is the `some-popup` or another popup.

Both problems are because we don't remember whether a particular popup
is open and we don't associate `close()` with a particular popup
2024-10-31 22:27:56 +01:00
Olivier Goffart
3ce0e49003 Qt: Fix PopupClosePolicy::CloseOnClickOutside 2024-10-31 22:27:56 +01:00
Arnold Loubriat
97219c21bf Add the accessible-size-of-set property 2024-10-30 15:54:01 +08:00
Arnold Loubriat
67166fcc2d Add the accessible-position-in-set property 2024-10-30 15:54:01 +08:00
DataTriny
2de3b9d455 Add the accessible-enabled property 2024-10-25 10:20:09 +02:00
FloVanGH
14c7910d49
PopupWindow: added close-policy property (#6614)
* Update api/cpp/include/slint_window.h

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update docs/reference/src/language/builtins/elements.md

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

* Update internal/core/window.rs

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update internal/interpreter/eval.rs

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

* Update internal/backends/qt/qt_window.rs

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update internal/interpreter/dynamic_item_tree.rs

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update internal/compiler/passes/materialize_fake_properties.rs

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>
2024-10-24 09:27:39 +00:00
Simon Hausmann
7e3747041f Fix simulator build
Amends ac9b85049a
2024-10-23 19:18:57 +02:00
Olivier Goffart
cbc28b1f1b Android: handle properly the Destroy event
Destroy means we need to exit the event loop.
And android_main will be called again from another thread, so we need to
support reseting the proxy

There is also a bug in the timer when exiting the app that this worked
around

Fix #6626
2024-10-23 14:30:55 +02:00
Simon Hausmann
a2eacd77f4 Minor cleanup: femtovg -> FemtoVG 2024-10-23 13:25:05 +02:00
Ian Hattendorf
687e4ce95b PlatformBuilder::build() impl requires winit feature 2024-10-23 11:13:49 +02:00
Ian Hattendorf
3cc44dc670 Add version to OpenGLAPI 2024-10-23 11:13:49 +02:00
Ian Hattendorf
97927ccee9 Don't allow fallback in PlatformBuilder
If we're explicitly requesting a platform with specific properties, we
should fail to allow the caller to react accordingly.
2024-10-23 11:13:49 +02:00
Ian Hattendorf
dedd396093 Allow choosing renderer via PlatformBuilder 2024-10-23 11:13:49 +02:00
Ian Hattendorf
ac9b85049a Add PlatformBuilder API to allow selecting OpenGL API
Right now this just allows selecting between OpenGL and OpenGL ES.
2024-10-23 11:13:49 +02:00
wu bobo
a590883a48
Fixes for older Android versions (6.0 to 9.0) (#6622)
Fixes #4936

ChangeLog: Support older android
2024-10-22 22:26:35 +02:00
DataTriny
28b5a67583 Implement accessible-delegate-focus for the AccessKit backend 2024-10-22 12:54:00 +02:00
DataTriny
be62567293 Tell AccessKit that ListItems can be focused 2024-10-21 07:13:07 +02:00
Simon Hausmann
a4eb794e43 Fix missing redraws when embedding Slint into QWidget hierarchy
Commit 5718b15899 regressed this by
issuing the update on the window, which breaks when the widget is
embedded in a hierarchy (like a QGraphicsView). We really need to mark
the widget as dirty, even if that means we don't get frame throttling
then.
2024-10-17 16:45:16 +02:00
Arnold Loubriat
4621739cba Implement selectable and selected properties in the AccessKit accessibility backend 2024-10-16 15:38:46 +02:00
Arnold Loubriat
19f09950c2 Changelog: Add accessible-selectable and accessible-selected properties 2024-10-16 15:38:46 +02:00
Tobias Hunger
df4f9b38ee femtovg: Fix warning about deprecated web_sys::set_fill_style
Use set_fill_style_str insterad, it avoids constructing a JSValue
from a str.
2024-10-16 13:25:00 +02:00
Renato Araujo Oliveira Filho
1e4de3fe0c
Implement ScrollBarPolicy property for ScrollView (#6442)
ChangeLog: ScrollView: added  vertical-bar-policy and horizontal-bar-policy

Fixes: #3552
Fixes: #5578
2024-10-08 17:02:17 +02:00
Simon Hausmann
bd99648021 LinuxKMS: Fix rendering with Mali drivers that use linear drm modifiers
Passing empty for FbCmd2Flags triggers a failing assertion that requires MODIFIERS to be set if the buffer in question has a modifier.
2024-10-07 17:17:30 +02:00