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, theme,
&cosmic::theme::Container::Background, &cosmic::theme::Container::Background,
); );
appearance.border_radius = 16.0.into(); appearance.border = iced::Border::with_radius(16.0);
appearance appearance
}, },
))) )))

View file

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

View file

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