This commit is contained in:
Ashley Wulber 2025-05-29 10:32:13 -04:00
parent a372ce800f
commit 89700a2ed5
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
2 changed files with 26 additions and 29 deletions

View file

@ -237,7 +237,7 @@ impl cosmic::Application for App {
fn header_start(&self) -> Vec<Element<Self::Message>> {
use cosmic::widget::menu::Tree;
vec![cosmic::widget::responsive_menu_bar(
vec![cosmic::widget::responsive_menu_bar().into_element(
self.core(),
&self.keybinds,
MENU_ID.clone(),
@ -246,42 +246,42 @@ impl cosmic::Application for App {
(
"hi 1".into(),
vec![
menu::Item::Button("hi 12".into(), None, Action::Hi),
menu::Item::Button("hi 13".into(), None, Action::Hi2),
menu::Item::Button("hi 12", None, Action::Hi),
menu::Item::Button("hi 13", None, Action::Hi2),
],
),
(
"hi 2".into(),
vec![
menu::Item::Button("hi 21".into(), None, Action::Hi),
menu::Item::Button("hi 22".into(), None, Action::Hi2),
menu::Item::Button("hi 21", None, Action::Hi),
menu::Item::Button("hi 22", None, Action::Hi2),
],
),
(
"hi 3".into(),
vec![
menu::Item::Button("hi 33".into(), None, Action::Hi),
menu::Item::Button("hi 333".into(), None, Action::Hi2),
menu::Item::Button("hi 3333".into(), None, Action::Hi3),
menu::Item::Button("hi 33", None, Action::Hi),
menu::Item::Button("hi 333", None, Action::Hi2),
menu::Item::Button("hi 3333", None, Action::Hi3),
],
),
(
"hiiiiiiiiiiiiiiiiiii 4".into(),
vec![
menu::Item::Button("hi 4".into(), None, Action::Hi),
menu::Item::Button("hi 44".into(), None, Action::Hi2),
menu::Item::Button("hi 444".into(), None, Action::Hi3),
menu::Item::Button("hi 4", None, Action::Hi),
menu::Item::Button("hi 44", None, Action::Hi2),
menu::Item::Button("hi 444", None, Action::Hi3),
menu::Item::Folder(
"nest 4".into(),
vec![
menu::Item::Button("hi 41".into(), None, Action::Hi),
menu::Item::Button("hi 442".into(), None, Action::Hi2),
menu::Item::Button("hi 4443".into(), None, Action::Hi3),
menu::Item::Button("hi 41", None, Action::Hi),
menu::Item::Button("hi 442", None, Action::Hi2),
menu::Item::Button("hi 4443", None, Action::Hi3),
menu::Item::Folder(
"nest 2 4".into(),
vec![
menu::Item::Button("hi 443".into(), None, Action::Hi2),
menu::Item::Button("hi 4444".into(), None, Action::Hi),
menu::Item::Button("hi 443", None, Action::Hi2),
menu::Item::Button("hi 4444", None, Action::Hi),
],
),
],

View file

@ -56,15 +56,15 @@ impl ResponsiveMenuBar {
/// Will panic if the menu bar collapses without tracking the size
pub fn into_element<
'a,
Message: Clone + 'static,
A: menu::Action<Message = Message>,
Message: std::fmt::Debug + Clone + 'static,
A: menu::Action<Message = Message> + Clone,
S: Into<std::borrow::Cow<'static, str>> + 'static,
>(
self,
core: &Core,
key_binds: &HashMap<menu::KeyBind, A>,
id: crate::widget::Id,
action_message: impl Fn(crate::surface::Action) -> Message + 'static,
action_message: impl Fn(crate::surface::Action) -> Message + Clone + 'static,
trees: Vec<(S, Vec<menu::Item<A, S>>)>,
) -> Element<'a, Message> {
use crate::widget::id_container;
@ -81,17 +81,14 @@ impl ResponsiveMenuBar {
menu::bar(
trees
.into_iter()
.map(
|mt: (
std::borrow::Cow<'_, str>,
Vec<menu::Item<A, std::borrow::Cow<'_, str>>>,
)| {
menu::Tree::<_>::with_children(
.map(|mt: (S, Vec<menu::Item<A, S>>)| {
menu::Tree::<_>::with_children(
crate::widget::RcElementWrapper::new(Element::from(
menu::root(mt.0),
menu::items(key_binds, mt.1.into()),
)
},
)
)),
menu::items(key_binds, mt.1.into()),
)
})
.collect(),
)
.item_width(self.item_width)