Update libcosmic

This commit is contained in:
Lily Foster 2024-02-23 19:25:35 -05:00 committed by Jeremy Soller
parent f8da96e43e
commit 1bded07bfd
4 changed files with 569 additions and 253 deletions

770
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -999,7 +999,7 @@ impl cosmic::Application for App {
theme,
&cosmic::theme::Container::Background,
);
appearance.border_radius = 16.0.into();
appearance.border = iced::Border::with_radius(16.0);
appearance
},
)))

View file

@ -9,27 +9,27 @@ use cosmic::iced_core::mouse;
use cosmic::iced_core::overlay;
use cosmic::iced_core::renderer;
use cosmic::iced_core::widget::{Operation, Tree};
use cosmic::iced_core::{Clipboard, Element, Layout, Length, Rectangle, Shell, Widget};
use cosmic::iced_core::{Clipboard, Element, Layout, Length, Rectangle, Shell, Size, Widget};
use cosmic::iced_renderer::core::widget::OperationOutputWrapper;
pub use cosmic::iced_style::container::StyleSheet;
pub struct ImageContainer<'a, Message, Renderer>
pub struct ImageContainer<'a, Message, Theme, Renderer>
where
Renderer: cosmic::iced_core::Renderer + cosmic::iced_core::image::Renderer<Handle = Handle>,
Renderer::Theme: StyleSheet,
Theme: StyleSheet,
{
container: Container<'a, Message, Renderer>,
container: Container<'a, Message, Theme, Renderer>,
image_opt: Option<Handle>,
content_fit: ContentFit,
}
impl<'a, Message, Renderer> ImageContainer<'a, Message, Renderer>
impl<'a, Message, Renderer> ImageContainer<'a, Message, cosmic::Theme, Renderer>
where
Renderer: cosmic::iced_core::Renderer + cosmic::iced_core::image::Renderer<Handle = Handle>,
Renderer::Theme: StyleSheet,
cosmic::Theme: StyleSheet,
{
pub fn new(container: Container<'a, Message, Renderer>) -> Self {
pub fn new(container: Container<'a, Message, cosmic::Theme, Renderer>) -> Self {
Self {
container,
image_opt: None,
@ -48,10 +48,10 @@ where
}
}
impl<'a, Message, Renderer> Widget<Message, Renderer> for ImageContainer<'a, Message, Renderer>
impl<'a, Message, Renderer> Widget<Message, cosmic::Theme, Renderer>
for ImageContainer<'a, Message, cosmic::Theme, Renderer>
where
Renderer: cosmic::iced_core::Renderer + cosmic::iced_core::image::Renderer<Handle = Handle>,
Renderer::Theme: StyleSheet,
{
fn children(&self) -> Vec<Tree> {
self.container.children()
@ -61,12 +61,8 @@ where
self.container.diff(tree)
}
fn width(&self) -> Length {
Widget::width(&self.container)
}
fn height(&self) -> Length {
Widget::height(&self.container)
fn size(&self) -> Size<Length> {
self.container.size()
}
fn layout(
@ -120,7 +116,7 @@ where
&self,
tree: &Tree,
renderer: &mut Renderer,
theme: &Renderer::Theme,
theme: &cosmic::Theme,
renderer_style: &renderer::Style,
layout: Layout<'_>,
cursor: mouse::Cursor,
@ -154,20 +150,21 @@ where
tree: &'b mut Tree,
layout: Layout<'_>,
renderer: &Renderer,
) -> Option<overlay::Element<'b, Message, Renderer>> {
) -> Option<overlay::Element<'b, Message, cosmic::Theme, Renderer>> {
self.container.overlay(tree, layout, renderer)
}
}
impl<'a, Message, Renderer> From<ImageContainer<'a, Message, Renderer>>
for Element<'a, Message, Renderer>
impl<'a, Message, Renderer> From<ImageContainer<'a, Message, cosmic::Theme, Renderer>>
for Element<'a, Message, cosmic::Theme, Renderer>
where
Message: 'a,
Renderer:
'a + cosmic::iced_core::Renderer + cosmic::iced_core::image::Renderer<Handle = Handle>,
Renderer::Theme: StyleSheet,
{
fn from(container: ImageContainer<'a, Message, Renderer>) -> Element<'a, Message, Renderer> {
fn from(
container: ImageContainer<'a, Message, cosmic::Theme, Renderer>,
) -> Element<'a, Message, cosmic::Theme, Renderer> {
Element::new(container)
}
}

View file

@ -632,7 +632,7 @@ impl cosmic::Application for App {
theme,
&cosmic::theme::Container::Background,
);
appearance.border_radius = 16.0.into();
appearance.border = iced::Border::with_radius(16.0);
appearance
},
)))
@ -696,12 +696,11 @@ impl cosmic::Application for App {
cosmic_bg_config::NAME.into(),
cosmic_bg_config::state::State::version(),
)
.map(|(_, res)| match res {
Ok(background_state) => Message::BackgroundState(background_state),
Err((errs, background_state)) => {
log::info!("errors loading background state: {:?}", errs);
Message::BackgroundState(background_state)
.map(|res| {
if !res.errors.is_empty() {
log::info!("errors loading background state: {:?}", res.errors);
}
Message::BackgroundState(res.config)
}),
subscription::channel(
TypeId::of::<HeartbeatSubscription>(),