-
Notifications
You must be signed in to change notification settings - Fork 15.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: use //ui/shell_dialogs
on Linux
#42045
Conversation
@codebytere also noticed https://issues.chromium.org/issues/41469294#comment10, which says that upstream likely wants to support GtkFileChooserNative on GTK4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great idea, I love it. Especially with upstream indicating they will support the native dialogs in GTK4.
I have some implementation suggestions here
patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch
Outdated
Show resolved
Hide resolved
patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch
Outdated
Show resolved
Hide resolved
patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch
Outdated
Show resolved
Hide resolved
Co-authored-by: Charles Kerr <charles@charleskerr.com>
a5020e0
to
09f223d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
255f3bf
to
a07bf52
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👏
No Release Notes |
I was unable to backport this PR to "29-x-y" cleanly; |
I have automatically backported this PR to "31-x-y", please check out #42109 |
I have automatically backported this PR to "30-x-y", please check out #42110 |
@codebytere has manually backported this PR to "29-x-y", please check out #42144 |
* refactor: use //ui/shell_dialogs on Linux * fix: add proper filtering * fix: add support for missing dialog features to //shell_dialogs * fix: parent_window could be null * chore: cleanup patch * fix: use a OnceCallback in the sync implementation * chore: remove stray debuglog * Apply suggestions from code review Co-authored-by: Charles Kerr <charles@charleskerr.com> * refactor: use settings struct * fix: show hidden file property checking * chore: changes from review * fix: multi selection for dialogs --------- Co-authored-by: Charles Kerr <charles@charleskerr.com>
Description of Change
Closes #32857
Closes #41903
Refs #19159
This PR replaces our dialog implementation on Linux with upstream
//shell_dialogs
. This both streamlines and simplifies our dialog logic, and is ideally a first step towards using//shell_dialogs
cross-platform. Per #32857 (comment), this is the easiest to port over as it overlaps most completely with what's available upstream. By using Chromium's implementation, we also gain access to kde and portal-specific implementations of dialogs on Linux.Notes:
showOverwriteConfirmation
as @aiddya noted in the chart comment, but that should be done in a discrete PR (it's the default on GTK 4+)cc @bpasero
Checklist
npm test
passesRelease Notes
Notes: none