From 5e959e28b60ccdd0a98f5c720cc89bbf2c54952d Mon Sep 17 00:00:00 2001
From: echicken <>
Date: Fri, 24 Aug 2012 19:08:36 +0000
Subject: [PATCH] On second thought, prompt for confirmation re: deletion.

---
 xtrn/ecreader/ecReader.js | 40 +++++++++++++++++++++++++++++----------
 1 file changed, 30 insertions(+), 10 deletions(-)

diff --git a/xtrn/ecreader/ecReader.js b/xtrn/ecreader/ecReader.js
index ccc5e0b342..f43334ee25 100644
--- a/xtrn/ecreader/ecReader.js
+++ b/xtrn/ecreader/ecReader.js
@@ -43,10 +43,13 @@ var messageFrame = new Frame(1, 3, 80, 21, BG_BLACK|WHITE, frame);
 var headerFrame = new Frame(1, 3, 80, 4, fbg|WHITE, messageFrame);
 var bodyFrame = new Frame(1, 7, 80, 17, BG_BLACK|WHITE, messageFrame);
 var messageBar = new Frame(1, 24, 80, 1, fbg|WHITE, messageFrame);
+var promptFrame = new Frame(20, 8, 40, 6, fbg|WHITE, frame);
+var promptSubFrame = new Frame(22, 9, 36, 4, BG_BLACK|WHITE, promptFrame);
 
 frame.open();
 messageFrame.bottom();
 headerFrame.bottom();
+promptFrame.bottom();
 
 columnFrame.putmsg(
 	format("%-9s", "Msg #")
@@ -294,9 +297,12 @@ function showMessage(header) {
 					bodyFrame.scroll(0, bodyFrame.height);
 				break;
 			case KEY_DEL:
-				deleteMessage(header);
-				userInput = "Q";
-				retval = "REFRESH";
+				if(deleteMessage(header)) {
+					userInput = "Q";
+					retval = "REFRESH";
+				} else {
+					frame.cycle();
+				}
 				break;
 			default:
 				break;
@@ -313,21 +319,24 @@ function showMessage(header) {
 }
 
 function deleteMessage(header) {
+	var ret = false;
 	if(!mail && user.number == 1) {
-		msgBase.open();
-		msgBase.remove_msg(header.number);
-		msgBase.close();
-	} else if(mail) {
+		if(prompt("Delete message #" + header.number)) {
+			msgBase.open();
+			msgBase.remove_msg(header.number);
+			msgBase.close();
+			ret = true;
+		}
+	} else if(mail && prompt("Delete this message")) {
 		/*	Could verify again that mail is addressed to this user, but
 			they shouldn't have been able to select it otherwise. */
 		var mailBase = new MsgBase("mail");
 		mailBase.open();
 		mailBase.remove_msg(header.number);
 		mailBase.close();
-	} else {
-		return false;
+		ret = true;
 	}
-	return true;
+	return ret;
 }
 
 function sendEmail() {
@@ -349,6 +358,17 @@ function sendEmail() {
 	}
 }
 
+function prompt(str) {
+	promptFrame.top();
+	promptSubFrame.clear();
+	frame.cycle();
+	console.gotoxy(promptSubFrame.x, promptSubFrame.y + 1);
+	var ret = console.yesno(str);
+	promptFrame.bottom();
+	frame.invalidate();
+	return ret;
+}
+
 getList();
 var userInput = "";
 var r = "";
-- 
GitLab