feat(widget): add dropdown widget as pick_list replacement

The Dropdown widget is based on the PickList widget from iced.
This commit is contained in:
Michael Aaron Murphy 2023-10-23 16:57:37 +02:00 committed by Michael Murphy
parent dbd6c978ba
commit ca7c17ce21
9 changed files with 1121 additions and 15 deletions

View file

@ -0,0 +1,28 @@
// Copyright 2023 System76 <info@system76.com>
// SPDX-License-Identifier: MPL-2.0
use crate::widget::dropdown;
use crate::Theme;
use iced::{Background, Color};
impl dropdown::menu::StyleSheet for Theme {
type Style = ();
fn appearance(&self, _style: &Self::Style) -> dropdown::menu::Appearance {
let cosmic = self.cosmic();
dropdown::menu::Appearance {
text_color: cosmic.on_bg_color().into(),
background: Background::Color(cosmic.background.component.base.into()),
border_width: 0.0,
border_radius: 16.0.into(),
border_color: Color::TRANSPARENT,
hovered_text_color: cosmic.on_bg_color().into(),
hovered_background: Background::Color(cosmic.primary.component.hover.into()),
selected_text_color: cosmic.accent.base.into(),
selected_background: Background::Color(cosmic.primary.component.hover.into()),
}
}
}