mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-08-03 06:38:52 +00:00
feat: use withclones macro
This commit is contained in:
parent
d41ce0d1e2
commit
2272f02fa3
2 changed files with 21 additions and 17 deletions
|
@ -36,6 +36,7 @@ use crate::ui::build_window::BuildWindowMsg;
|
||||||
use crate::ui::debug_view::DebugViewInit;
|
use crate::ui::debug_view::DebugViewInit;
|
||||||
use crate::ui::libsurvive_setup_window::LibsurviveSetupMsg;
|
use crate::ui::libsurvive_setup_window::LibsurviveSetupMsg;
|
||||||
use crate::ui::main_view::{MainView, MainViewInit, MainViewOutMsg};
|
use crate::ui::main_view::{MainView, MainViewInit, MainViewOutMsg};
|
||||||
|
use crate::withclones;
|
||||||
use crate::xr_devices::XRDevices;
|
use crate::xr_devices::XRDevices;
|
||||||
use gtk::prelude::*;
|
use gtk::prelude::*;
|
||||||
use relm4::actions::{AccelsPlus, ActionGroupName, RelmAction, RelmActionGroup};
|
use relm4::actions::{AccelsPlus, ActionGroupName, RelmAction, RelmActionGroup};
|
||||||
|
@ -596,16 +597,16 @@ impl SimpleComponent for App {
|
||||||
let mut actions = RelmActionGroup::<AppActionGroup>::new();
|
let mut actions = RelmActionGroup::<AppActionGroup>::new();
|
||||||
|
|
||||||
let buildprofile_action = {
|
let buildprofile_action = {
|
||||||
let this_sender = sender.clone();
|
withclones![sender];
|
||||||
RelmAction::<BuildProfileAction>::new_stateless(move |_| {
|
RelmAction::<BuildProfileAction>::new_stateless(move |_| {
|
||||||
this_sender.input_sender().emit(Msg::BuildProfile(false));
|
sender.input_sender().emit(Msg::BuildProfile(false));
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
let buildprofileclean_action = {
|
let buildprofileclean_action = {
|
||||||
let this_sender = sender.clone();
|
withclones![sender];
|
||||||
RelmAction::<BuildProfileCleanAction>::new_stateless(move |_| {
|
RelmAction::<BuildProfileCleanAction>::new_stateless(move |_| {
|
||||||
this_sender.input_sender().emit(Msg::BuildProfile(true));
|
sender.input_sender().emit(Msg::BuildProfile(true));
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -617,27 +618,27 @@ impl SimpleComponent for App {
|
||||||
};
|
};
|
||||||
|
|
||||||
let libsurvive_setup_action = {
|
let libsurvive_setup_action = {
|
||||||
let lss_sender = sender.clone();
|
withclones![sender];
|
||||||
RelmAction::<LibsurviveSetupAction>::new_stateless(move |_| {
|
RelmAction::<LibsurviveSetupAction>::new_stateless(move |_| {
|
||||||
lss_sender.input(Msg::OpenLibsurviveSetup);
|
sender.input(Msg::OpenLibsurviveSetup);
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
let quit_action = {
|
let quit_action = {
|
||||||
let quit_sender = sender.clone();
|
withclones![sender];
|
||||||
RelmAction::<QuitAction>::new_stateless(move |_| {
|
RelmAction::<QuitAction>::new_stateless(move |_| {
|
||||||
quit_sender.input(Msg::Quit);
|
sender.input(Msg::Quit);
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
let debug_view_toggle_action: RelmAction<DebugViewToggleAction> = {
|
let debug_view_toggle_action: RelmAction<DebugViewToggleAction> = {
|
||||||
let debugtoggle_sender = sender.clone();
|
withclones![sender];
|
||||||
RelmAction::<DebugViewToggleAction>::new_stateful(
|
RelmAction::<DebugViewToggleAction>::new_stateful(
|
||||||
&model.enable_debug_view,
|
&model.enable_debug_view,
|
||||||
move |_, state| {
|
move |_, state| {
|
||||||
let s = *state;
|
let s = *state;
|
||||||
*state = !s;
|
*state = !s;
|
||||||
debugtoggle_sender.input(Msg::EnableDebugViewChanged(*state));
|
sender.input(Msg::EnableDebugViewChanged(*state));
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
@ -666,11 +667,13 @@ impl SimpleComponent for App {
|
||||||
model.config.clone(),
|
model.config.clone(),
|
||||||
));
|
));
|
||||||
|
|
||||||
let timer_sender = sender.clone();
|
{
|
||||||
glib::timeout_add_local(Duration::from_millis(1000), move || {
|
withclones![sender];
|
||||||
timer_sender.input(Msg::ClockTicking);
|
glib::timeout_add_local(Duration::from_millis(1000), move || {
|
||||||
return glib::Continue(true);
|
sender.input(Msg::ClockTicking);
|
||||||
});
|
return glib::Continue(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
ComponentParts { model, widgets }
|
ComponentParts { model, widgets }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
use crate::log_level::LogLevel;
|
use crate::log_level::LogLevel;
|
||||||
use crate::log_parser::MonadoLog;
|
use crate::log_parser::MonadoLog;
|
||||||
|
use crate::withclones;
|
||||||
use gtk::prelude::*;
|
use gtk::prelude::*;
|
||||||
use relm4::prelude::*;
|
use relm4::prelude::*;
|
||||||
use relm4::{ComponentSender, SimpleComponent};
|
use relm4::{ComponentSender, SimpleComponent};
|
||||||
|
@ -278,11 +279,11 @@ impl SimpleComponent for DebugView {
|
||||||
model.scrolledwin = Some(widgets.scrolledwin.clone());
|
model.scrolledwin = Some(widgets.scrolledwin.clone());
|
||||||
|
|
||||||
{
|
{
|
||||||
let dd_sender = sender.clone();
|
withclones![sender];
|
||||||
widgets
|
widgets
|
||||||
.log_level_dropdown
|
.log_level_dropdown
|
||||||
.connect_selected_notify(move |dd| {
|
.connect_selected_notify(move |dd| {
|
||||||
dd_sender.input(Self::Input::LogLevelChanged(
|
sender.input(Self::Input::LogLevelChanged(
|
||||||
LogLevel::iter()
|
LogLevel::iter()
|
||||||
.as_slice()
|
.as_slice()
|
||||||
.get(dd.selected() as usize)
|
.get(dd.selected() as usize)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue