Use slider toggles for boolean controls

This commit is contained in:
Georg Bauer
2026-07-28 18:38:30 +02:00
parent 9cf1c70a67
commit 00af0335ff
5 changed files with 28 additions and 23 deletions

View File

@@ -20,9 +20,9 @@ use crate::model::{
use crate::settings::{GIB, REASONING_MODES};
use iced::theme::{Palette, palette};
use iced::widget::{
Button, Space, Svg, Tooltip, button, checkbox, column, container, image, markdown, mouse_area,
opaque, pick_list, progress_bar, row, rule, scrollable, slider, stack, svg, text, text_editor,
text_input, tooltip,
Button, Space, Svg, Tooltip, button, column, container, image, markdown, mouse_area, opaque,
pick_list, progress_bar, row, rule, scrollable, slider, stack, svg, text, text_editor,
text_input, toggler, tooltip,
};
use iced::{Alignment, Background, Border, Color, Element, Length, Padding, Theme, window};
use std::collections::VecDeque;
@@ -984,6 +984,10 @@ fn danger_button<'a>(content: impl Into<Element<'a, Message>>) -> Button<'a, Mes
button(content).padding([8, 14]).style(danger_button_style)
}
fn toggle<'a>(checked: bool) -> iced::widget::Toggler<'a, Message> {
toggler(checked).size(18).spacing(8)
}
fn action_button_style(_: &Theme, status: button::Status) -> button::Style {
let (background, text_color) = match status {
button::Status::Active | button::Status::Pressed => {