From df0e16797c623499d7fcee2a8faab9000b5897c8 Mon Sep 17 00:00:00 2001 From: bel Date: Wed, 22 Mar 2023 22:46:22 -0600 Subject: [PATCH] IMPL EXISTS U DOG --- src/.gui.rs.swp | Bin 16384 -> 20480 bytes src/gui.rs | 21 +++++++++++++++++---- src/main.rs | 5 ++++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/.gui.rs.swp b/src/.gui.rs.swp index 846497acc445092a3be9159df54ac4047e37da63..0526f43161cc6fbc755e210b2c83f4c9811141af 100644 GIT binary patch delta 1742 zcmb`{TWl0n7{Ku}yIXsq?QRKDp*0-rLwDP{YO9e>Yn38|5>O&iO%>?2JFOd+Y1y4s zOsTWR6qE-Ar`Bj{74H``HrwzZHKJCdQt*<-OTZ8@C}^udjQT?3f2Pxky?3Y|6R#Bk% z8sE$h(dL$yyQSimUbhUp<%5~pz^nczq_3c;K!~Sde~4JJ%$zC|;wy~eDLjT4+OZaE z(1bcvAQyiT;S_$tNqm7rup_6j4}0Bugt8H3@ZnUx5T9TSALTQ+5i0#iU_GuxB`Po< zUi>gmh;MKNV|W)McpIKM!taG)CG7IV_y_QmbX{MokTq)>?M>>=9*mMYTliJ}r2&))7g?jnF0`dIhoE zZaD3#><2NOkJ8^J>&5ULW>PbZnBJKT*{^!*>^oODyup30s`bua8&owq6FKNKrBSaF z&S`&9kLUJ(w$a>v&|m%**9^I0_WSY%Is3^T(Vc1|6>@7NrU&Q7nn}{dxv)yEI%5v9 z4!T)0_C5?dGbO}?pM{NW*of;Ok&6j--G_JsgV=*KZh;5(j{F^8;xInPlh}xP_?t~M zh12*YU)(C*r}8@1;x~51Zj@u34X_OhagYVyiY!df+0T%{Zfr*a_8_`)GKy~~+j^$D z)XJ+V&AfE&o!Mq2D#WKO!Z-`p9%Y+5%4tS(0aG}R_b>z#tyqpLV2^wW0yxVEk77R_ z#V+iGjxDG~HA0YBSjf2&pppk4rb)p+IFGaV0|zjGept94cVi{O$U!y^lc58697(j` zMg(wzjM-<<4s1muiZN-QD<6=;0o;o%SdB132qG6hlG@`qhUd_SIxNL^q;?d8*abV) zHTada^DNdw!6A+f6Aie)u`!CCrQ9}QHI6X_?_dZ!u^n;W@bFQOb-wnp|K)gi#q%#` C>rf{E delta 1508 zcmdtiT}V@59LMqJ%=t23+N`FeW=Cha8EOT=5K=>fRZ5Cl24(pg)?AA7CNvFFi{6+= z%Zwlc6NCsGXcC3=YLwzlAYrH_n2Hf;b|cdFkY04teI59m?fIXFvFCrD-&1!-s;iSi z3bq~Gn=V`9b_gzm5RV2!i=r;Pkh-+pAz$=*ji{xrQ6F+0RRRscfgZmHV)x2twfnH4 zQ}61Rn`CXkO-~^#-aO&Am@b=Y^?D)Z)(A0+8I0mBx^M$6XvTR|A{#pqgr5OIjGzy_ z=s_nMQH&JG2**ZvV$olSVZ1@VKmWg%FZa=jcHBY>uHhmY(SUTsVk=^>2J?PGj9~zG z(T+0YVmpjj@)cqN4{;6|2!|e%I{MeA6XGfgVMPEWO!)}$2@`mRHngA_xk$tUz5D?rjpSUoGAa~PaKEXE1A3mMR3i11!P8vHOv{zh;L$%sP`e6U3BhS38xkC{;O7zR%a z`x5-81n?eOaT(Rvhh?(&9W!``*LVdNGU1JRvNw%Me8yvRz=kQZ)c_L)h*cTZqL(-w zfrMdgst_+({R1?>2?x}U)Z#c2;e{bObsc%wg0Ez(2W^_}?rcdZw}!#`7m*tNjH|bTPF6 diff --git a/src/gui.rs b/src/gui.rs index 3062e39..177caf0 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -5,14 +5,26 @@ use iced::event; use iced::subscription; use iced::{Alignment, Element, Application, Settings, Subscription, Theme, Command}; -pub fn main() -> iced::Result { - Main::run(Settings::default()) +pub fn main(outputEngine: dyn FnMut(Vec)) -> iced::Result { + let settings = Settings{ + flags: Flags { + outputEngine: outputEngine, + }, + ..Settings::::default() + }; + Main::run(settings) } struct Main { ntfy: String, configuring: Option, inputs: Inputs, + flags: Flags, +} + +#[derive(Default)] +struct Flags { + outputEngine: dyn FnMut(Vec), } struct Inputs { @@ -53,11 +65,11 @@ fn controller_button_to_string(msg: Message) -> String { impl Application for Main { type Message = Message; - type Flags = (); + type Flags = Flags; type Theme = Theme; type Executor = executor::Default; - fn new(_flags: ()) -> (Self, Command) { + fn new(flags: Self::Flags) -> (Self, Command) { return (Self { ntfy: String::from(":wave:"), configuring: None, @@ -75,6 +87,7 @@ impl Application for Main { l: iced::keyboard::KeyCode::Q, r: iced::keyboard::KeyCode::E, }, + flags: flags, }, Command::none()) } diff --git a/src/main.rs b/src/main.rs index 0ef5e9e..820ff31 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,10 @@ mod gui; fn main() { let cfg = config::build_config().unwrap(); if cfg.streams.input.engine.name == "gui" { - gui::main().unwrap(); + let output_engine = engine::build_output_engine(&cfg.streams.output.engine); + let mut output_engine = output_engine.unwrap(); + let cb = |v: Vec| output_engine.put(v); + gui::main(cb).unwrap(); } else { main_cli(cfg); }