mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
app/menu: add done action when editing the menu
This commit is contained in:
@@ -344,12 +344,13 @@ pub async fn make(app: &App, content: SceneNodePtr, i18n_fish: &I18nBabelFish) {
|
||||
let (edit_slot, edit_recvr) = Slot::new("edit_activated");
|
||||
node.register("edit_active", edit_slot).unwrap();
|
||||
let renderer = app.renderer.clone();
|
||||
let editlayer_is_visible2 = editlayer_is_visible.clone();
|
||||
let edit_listen = app.ex.spawn(async move {
|
||||
while let Ok(_) = edit_recvr.recv().await {
|
||||
debug!(target: "app::menu", "menu edit active");
|
||||
let atom = &mut renderer.make_guard(gfxtag!("edit_active"));
|
||||
version_block_is_visible.set(atom, false);
|
||||
editlayer_is_visible.set(atom, true);
|
||||
editlayer_is_visible2.set(atom, true);
|
||||
}
|
||||
});
|
||||
app.tasks.lock().unwrap().push(edit_listen);
|
||||
@@ -370,9 +371,13 @@ pub async fn make(app: &App, content: SceneNodePtr, i18n_fish: &I18nBabelFish) {
|
||||
let (slot, recvr) = Slot::new("cancel_clicked");
|
||||
node.register("click", slot).unwrap();
|
||||
let menu_node2 = menu_node.clone();
|
||||
let renderer = app.renderer.clone();
|
||||
let editlayer_is_visible2 = editlayer_is_visible.clone();
|
||||
let listen_click = app.ex.spawn(async move {
|
||||
while let Ok(_) = recvr.recv().await {
|
||||
menu_node2.call_method("cancel_edit", vec![]).await.unwrap();
|
||||
let atom = &mut renderer.make_guard(gfxtag!("cancel_clicked"));
|
||||
editlayer_is_visible2.set(atom, false);
|
||||
}
|
||||
});
|
||||
app.tasks.lock().unwrap().push(listen_click);
|
||||
@@ -393,9 +398,13 @@ pub async fn make(app: &App, content: SceneNodePtr, i18n_fish: &I18nBabelFish) {
|
||||
let (slot, recvr) = Slot::new("done_clicked");
|
||||
node.register("click", slot).unwrap();
|
||||
let menu_node2 = menu_node.clone();
|
||||
let renderer = app.renderer.clone();
|
||||
let editlayer_is_visible2 = editlayer_is_visible.clone();
|
||||
let listen_click = app.ex.spawn(async move {
|
||||
while let Ok(_) = recvr.recv().await {
|
||||
menu_node2.call_method("done_edit", vec![]).await.unwrap();
|
||||
let atom = &mut renderer.make_guard(gfxtag!("done_clicked"));
|
||||
editlayer_is_visible2.set(atom, false);
|
||||
}
|
||||
});
|
||||
app.tasks.lock().unwrap().push(listen_click);
|
||||
|
||||
@@ -649,8 +649,9 @@ impl Menu {
|
||||
return true
|
||||
};
|
||||
|
||||
// TODO: Implement done logic - accept edit mode changes
|
||||
d!("done: stub - will accept edit mode changes");
|
||||
self_.is_edit_mode.store(false, Ordering::Release);
|
||||
let atom = &mut self_.renderer.make_guard(gfxtag!("Menu::done_edit"));
|
||||
self_.redraw(atom);
|
||||
|
||||
true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user