libcosmic/examples/cosmic/src/window/bluetooth.rs

44 lines
1.1 KiB
Rust
Raw Normal View History

2023-01-03 21:35:35 +01:00
use super::{Page, Window};
2022-12-21 13:11:32 -07:00
use cosmic::{
2022-12-21 13:14:42 -07:00
iced::widget::{column, text},
widget::{list_column, settings, toggler},
2023-01-03 21:35:35 +01:00
Element,
2022-12-21 13:11:32 -07:00
};
#[derive(Clone, Copy, Debug)]
pub enum Message {
2023-01-03 21:35:35 +01:00
Enable(bool),
}
#[derive(Default)]
pub struct State {
2023-01-03 21:35:35 +01:00
enabled: bool,
}
impl State {
pub(super) fn update(&mut self, message: Message) {
match message {
Message::Enable(value) => self.enabled = value,
}
}
pub(super) fn view<'a>(&'a self, window: &'a Window) -> Element<'a, Message> {
2022-12-21 13:11:32 -07:00
settings::view_column(vec![
window.page_title(Page::Bluetooth),
2022-12-21 13:11:32 -07:00
column!(
2023-01-03 21:35:35 +01:00
list_column().add(settings::item(
"Bluetooth",
toggler(None, self.enabled, Message::Enable)
)),
2022-12-21 13:11:32 -07:00
text("Now visible as \"TODO\", just kidding")
2023-01-03 21:35:35 +01:00
)
.spacing(8)
.into(),
2022-12-21 13:11:32 -07:00
settings::view_section("Devices")
.add(settings::item("No devices found", text("")))
2023-01-03 21:35:35 +01:00
.into(),
])
.into()
2022-12-21 13:11:32 -07:00
}
}