image icon

This commit is contained in:
Ashley Wulber 2022-11-17 18:07:57 -05:00
parent 6f17328eb1
commit 3850def414
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
2 changed files with 12 additions and 6 deletions

View file

@ -1,4 +1,4 @@
use cosmic::widget::{expander, nav_bar, nav_bar_page, nav_bar_section};
use cosmic::widget::{expander, nav_bar, nav_bar_page, nav_bar_section, image_icon};
use cosmic::{
iced::widget::{
checkbox, column, container, horizontal_space, pick_list, progress_bar, radio, row, slider,
@ -314,6 +314,7 @@ impl Application for Window {
])
.render()
),
list_view_section!("image", image_icon("firefox", 64).unwrap())
)
.into();
@ -356,8 +357,4 @@ impl Application for Window {
fn theme(&self) -> Theme {
self.theme
}
fn subscription(&self) -> iced_sctk::Subscription<Self::Message> {
Subscription::none()
}
}

View file

@ -1,4 +1,4 @@
use iced::{widget::svg, Length};
use iced::{widget::{svg, Image}, Length};
pub fn icon<Renderer>(name: &str, size: u16) -> svg::Svg<Renderer>
where
@ -22,3 +22,12 @@ where
.width(Length::Units(size))
.height(Length::Units(size))
}
pub fn image_icon(name: &str, size: u16) -> Option<Image>
{
freedesktop_icons::lookup(name)
.with_size(size)
.with_cache()
.find().map(|path| Image::new(path).width(Length::Units(size))
.height(Length::Units(size)))
}