refactor!: improve surface action handling and adjust libcosmic API

This commit is contained in:
Michael Aaron Murphy 2025-03-05 16:01:23 +01:00 • committed by Ashley Wulber
parent 2c10e4362a
commit adb08f9daf
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
23 changed files with 755 additions and 799 deletions

View file

@ -11,7 +11,6 @@ use cosmic::iced::alignment::{Horizontal, Vertical};
use cosmic::iced::widget::column;
use cosmic::iced::Length;
use cosmic::iced_core::Size;
use cosmic::surface_message::{MessageWrapper, SurfaceMessage};
use cosmic::widget::icon::{from_name, Handle};
use cosmic::widget::menu::KeyBind;
use cosmic::widget::{button, text};
@ -85,25 +84,10 @@ pub enum Message {
Input2(String),
Ignore,
ToggleHide,
Surface(SurfaceMessage),
Surface(cosmic::surface::Action),
Hi,
}
impl From<Message> for MessageWrapper<Message> {
fn from(value: Message) -> Self {
match value {
Message::Surface(s) => MessageWrapper::Surface(s),
m => MessageWrapper::Message(m),
}
}
}
impl From<SurfaceMessage> for Message {
fn from(value: SurfaceMessage) -> Self {
Message::Surface(value)
}
}
/// The [`App`] stores application-specific state.
pub struct App {
core: Core,
@ -185,7 +169,7 @@ impl cosmic::Application for App {
self.hidden = !self.hidden;
}
Message::Surface(_) => {
unimplemented!()
// unimplemented!()
}
Message::Hi => {
dbg!("hi");
@ -295,9 +279,11 @@ impl cosmic::Application for App {
}
#[cfg(feature = "wayland")]
{
vec![self.core.responsive_menu_bar(
vec![cosmic::widget::responsive_menu_bar(
self.core(),
&self.keybinds,
MENU_ID.clone(),
Message::Surface,
vec![
(
"hiiiiiiiiiiiiiiiiiii 1".into(),