From 9639115f4891d532fdc8d5ccacb691ff33f7611b Mon Sep 17 00:00:00 2001 From: Henrik Friedrichsen Date: Sun, 3 Jan 2021 23:12:38 +0100 Subject: [PATCH] show confirmation dialog before deleting queue fixes #227 --- src/commands.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/commands.rs b/src/commands.rs index fa8d2ff..1a10d95 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -10,6 +10,7 @@ use crate::traits::ViewExt; use crate::ui::contextmenu::ContextMenu; use crate::ui::help::HelpView; use crate::ui::layout::Layout; +use crate::ui::modal::Modal; use crate::UserData; use crate::{ command::{ @@ -20,6 +21,7 @@ use crate::{ }; use cursive::event::{Event, Key}; use cursive::traits::View; +use cursive::views::Dialog; use cursive::Cursive; use std::cell::RefCell; @@ -119,7 +121,14 @@ impl CommandManager { Ok(None) } Command::Clear => { - self.queue.clear(); + let queue = self.queue.clone(); + let confirmation = Dialog::text("Clear queue?") + .button("Yes", move |s| { + s.pop_layer(); + queue.clear() + }) + .dismiss_button("No"); + s.add_layer(Modal::new(confirmation)); Ok(None) } Command::UpdateLibrary => {