Add UX enhancements: carousel, filter chips, command palette, and more
This commit is contained in:
@@ -52,7 +52,7 @@ pub fn show_fuse_wizard(parent: &impl IsA<gtk::Widget>) {
|
||||
.build();
|
||||
|
||||
let title = gtk::Label::builder()
|
||||
.label(&i18n("FUSE is required"))
|
||||
.label(&i18n("Additional setup needed"))
|
||||
.xalign(0.0)
|
||||
.build();
|
||||
title.add_css_class("title-3");
|
||||
@@ -60,8 +60,9 @@ pub fn show_fuse_wizard(parent: &impl IsA<gtk::Widget>) {
|
||||
|
||||
let explanation = gtk::Label::builder()
|
||||
.label(&i18n(
|
||||
"Most AppImages require libfuse2 to mount and run. \
|
||||
Without it, apps will use a slower extract-and-run fallback or may not launch at all.",
|
||||
"Most apps need a small system component called FUSE to start quickly. \
|
||||
Without it, apps will still work but will take longer to start each time. \
|
||||
You can install it now (requires your password) or skip and use the slower method.",
|
||||
))
|
||||
.wrap(true)
|
||||
.xalign(0.0)
|
||||
@@ -101,18 +102,34 @@ pub fn show_fuse_wizard(parent: &impl IsA<gtk::Widget>) {
|
||||
.margin_top(12)
|
||||
.build();
|
||||
|
||||
let skip_btn = gtk::Button::builder()
|
||||
.label(&i18n("Skip and use slower method"))
|
||||
.tooltip_text(&i18n("Apps will still work, but they will take longer to start because they unpack themselves each time"))
|
||||
.build();
|
||||
skip_btn.add_css_class("flat");
|
||||
skip_btn.add_css_class("pill");
|
||||
|
||||
let install_btn = gtk::Button::builder()
|
||||
.label(&i18n("Install via pkexec"))
|
||||
.build();
|
||||
install_btn.add_css_class("suggested-action");
|
||||
install_btn.add_css_class("pill");
|
||||
|
||||
button_box.append(&skip_btn);
|
||||
button_box.append(&install_btn);
|
||||
content.append(&button_box);
|
||||
|
||||
toolbar.set_content(Some(&content));
|
||||
dialog.set_child(Some(&toolbar));
|
||||
|
||||
// Skip button just closes the dialog
|
||||
let dialog_weak = dialog.downgrade();
|
||||
skip_btn.connect_clicked(move |_| {
|
||||
if let Some(dlg) = dialog_weak.upgrade() {
|
||||
dlg.close();
|
||||
}
|
||||
});
|
||||
|
||||
let cmd = install_cmd.clone();
|
||||
let status_ref = status_label.clone();
|
||||
let btn_ref = install_btn.clone();
|
||||
|
||||
Reference in New Issue
Block a user