From 882481e518f786a92a77cd24e7f8669e63441108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Tue, 18 Nov 2025 13:29:56 +0100 Subject: [PATCH] fix(popover): match popup styling to designs --- src/widget/popover.rs | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/widget/popover.rs b/src/widget/popover.rs index ddc31455..26120b75 100644 --- a/src/widget/popover.rs +++ b/src/widget/popover.rs @@ -14,18 +14,20 @@ use iced_core::{ Clipboard, Element, Layout, Length, Point, Rectangle, Shell, Size, Vector, Widget, }; -pub use iced_widget::container::{Catalog, Style}; - pub fn popover<'a, Message, Renderer>( content: impl Into>, -) -> Popover<'a, Message, Renderer> { +) -> Popover<'a, Message, Renderer> +where + Renderer: iced_core::Renderer + 'a, + Message: 'a, +{ Popover::new(content) } #[derive(Clone, Copy, Debug, Default)] pub enum Position { - #[default] Center, + #[default] Bottom, Point(Point), } @@ -40,7 +42,11 @@ pub struct Popover<'a, Message, Renderer> { on_close: Option, } -impl<'a, Message, Renderer> Popover<'a, Message, Renderer> { +impl<'a, Message, Renderer> Popover<'a, Message, Renderer> +where + Renderer: iced_core::Renderer + 'a, + Message: 'a, +{ pub fn new(content: impl Into>) -> Self { Self { content: content.into(), @@ -67,7 +73,12 @@ impl<'a, Message, Renderer> Popover<'a, Message, Renderer> { #[inline] pub fn popup(mut self, popup: impl Into>) -> Self { - self.popup = Some(popup.into()); + self.popup = Some( + iced_widget::container(popup) + .padding(crate::theme::spacing().space_xxs) + .class(crate::style::Container::Dropdown) + .into(), + ); self }