adding icons to menu options
Some checks are pending
/ test (push) Waiting to run

This commit is contained in:
Chris Cochrun 2025-09-23 13:13:40 -05:00
parent e2b72c4ef6
commit 8e7e6df35c

View file

@ -22,8 +22,8 @@ use cosmic::widget::menu::{ItemWidth, KeyBind};
use cosmic::widget::nav_bar::nav_bar_style; use cosmic::widget::nav_bar::nav_bar_style;
use cosmic::widget::tooltip::Position as TPosition; use cosmic::widget::tooltip::Position as TPosition;
use cosmic::widget::{ use cosmic::widget::{
button, horizontal_space, mouse_area, nav_bar, responsive, button, horizontal_space, mouse_area, nav_bar, nav_bar_toggle,
search_input, tooltip, vertical_space, Space, responsive, search_input, tooltip, vertical_space, Space,
}; };
use cosmic::widget::{container, text}; use cosmic::widget::{container, text};
use cosmic::widget::{icon, slider}; use cosmic::widget::{icon, slider};
@ -348,32 +348,58 @@ impl cosmic::Application for App {
menu::items( menu::items(
&self.menu_keys, &self.menu_keys,
vec![ vec![
menu::Item::Button("New", None, MenuAction::New), menu::Item::Button(
"New",
Some(
icon::from_name("document-new")
.symbolic(true)
.into(),
),
MenuAction::New,
),
menu::Item::Button( menu::Item::Button(
"Open", "Open",
None, Some(
icon::from_name("document-open")
.symbolic(true)
.into(),
),
MenuAction::Open, MenuAction::Open,
), ),
menu::Item::Button( menu::Item::Button(
"Save", "Save",
None, Some(
icon::from_name("document-save")
.symbolic(true)
.into(),
),
MenuAction::Save, MenuAction::Save,
), ),
menu::Item::Button( menu::Item::Button(
"Save As", "Save As",
None, Some(
icon::from_name("document-save-as")
.symbolic(true)
.into(),
),
MenuAction::SaveAs, MenuAction::SaveAs,
), ),
], ],
), ),
); );
let settings_menu = menu::Tree::with_children( let settings_menu = menu::Tree::with_children(
Into::<Element<Message>>::into(menu::root("Settings")), Into::<Element<Message>>::into(
menu::root("Settings").on_press(Message::None),
),
menu::items( menu::items(
&self.menu_keys, &self.menu_keys,
vec![menu::Item::Button( vec![menu::Item::Button(
"Open Settings", "Open Settings",
None, Some(
icon::from_name("settings")
.symbolic(true)
.into(),
),
MenuAction::OpenSettings, MenuAction::OpenSettings,
)], )],
), ),
@ -382,7 +408,17 @@ impl cosmic::Application for App {
menu::bar::<Message>(vec![file_menu, settings_menu]) menu::bar::<Message>(vec![file_menu, settings_menu])
.item_width(ItemWidth::Static(250)) .item_width(ItemWidth::Static(250))
.main_offset(10); .main_offset(10);
vec![menu_bar.into()] let library_button = tooltip(
nav_bar_toggle().on_toggle(Message::LibraryToggle),
if self.library_open {
"Hide library"
} else {
"Show library"
},
TPosition::Bottom,
)
.gap(cosmic::theme::spacing().space_xs);
vec![library_button.into(), menu_bar.into()]
} }
fn header_center(&self) -> Vec<Element<Self::Message>> { fn header_center(&self) -> Vec<Element<Self::Message>> {
@ -421,7 +457,8 @@ impl cosmic::Application for App {
.on_press(Message::SearchFocus), .on_press(Message::SearchFocus),
"Search Library", "Search Library",
TPosition::Bottom, TPosition::Bottom,
), )
.gap(cosmic::theme::spacing().space_xs),
tooltip( tooltip(
button::custom( button::custom(
row!( row!(
@ -444,7 +481,8 @@ impl cosmic::Application for App {
)), )),
"Enter Edit Mode", "Enter Edit Mode",
TPosition::Bottom, TPosition::Bottom,
), )
.gap(cosmic::theme::spacing().space_xs),
tooltip( tooltip(
button::custom( button::custom(
row!( row!(
@ -475,7 +513,8 @@ impl cosmic::Application for App {
}), }),
"Start Presentation", "Start Presentation",
TPosition::Bottom, TPosition::Bottom,
), )
.gap(cosmic::theme::spacing().space_xs),
tooltip( tooltip(
button::custom( button::custom(
row!( row!(
@ -497,6 +536,7 @@ impl cosmic::Application for App {
"Open Library", "Open Library",
TPosition::Bottom, TPosition::Bottom,
) )
.gap(cosmic::theme::spacing().space_xs),
] ]
.spacing(HEADER_SPACE) .spacing(HEADER_SPACE)
.into(); .into();