Add End Chat button
authorH.G. Muller <h.g.muller@hccnet.nl>
Wed, 5 Feb 2014 21:15:03 +0000 (22:15 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Sun, 2 Mar 2014 17:48:56 +0000 (18:48 +0100)
This button clears the current chat, so that it becomes free for
assignement to another partner.

dialogs.c

index a2cd3c5..6fa9065 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -1714,11 +1714,12 @@ int  ChatOK P((int n));
 
 #define CHAT_ICS     6
 #define CHAT_PARTNER 8
-#define CHAT_OUT    10
-#define CHAT_PANE   11
-#define CHAT_IN     12
+#define CHAT_OUT    11
+#define CHAT_PANE   12
+#define CHAT_IN     13
 
 void PaneSwitch P((void));
+void ClearChat P((void));
 
 WindowPlacement wpTextMenu;
 
@@ -1758,6 +1759,7 @@ Option chatOptions[] = {
 { 250, T_VSCRL | T_FILL | T_WRAP | T_TOP,    510, NULL, (void*) &memo, NULL, (void*) &ContextMenu, TextBox, "" },
 {  0,  0,   0, NULL, NULL, "", NULL, Break , "" },
 { 0,   T_TOP,    100, NULL, (void*) &partner, NULL, NULL, TextBox, N_("Chat partner:") },
+{  0, SAME_ROW, 0, NULL, (void*) &ClearChat,  NULL, NULL, Button, N_("End Chat") },
 {  0, SAME_ROW, 0, NULL, (void*) &PaneSwitch, NULL, NULL, Button, N_("Hide") },
 { 250, T_VSCRL | T_FILL | T_WRAP | T_TOP,    510, NULL, (void*) &chatMemo, NULL, (void*) &ContextMenu, TextBox, "" },
 {  0,  0,   0, NULL, NULL, "", NULL, Break , "" },
@@ -1930,6 +1932,19 @@ PaneSwitch ()
 //    SetInsertPos(&chatOptions[CHAT_IN], strlen(icsLine));
 }
 
+void
+ClearChat ()
+{   // clear the chat to make it free for other use
+    chatPartner[activePartner][0] = NULLCHAR;
+    ASSIGN(texts[activePartner], "");
+    ASSIGN(inputs[activePartner], "");
+    SetWidgetText(&chatOptions[CHAT_PARTNER], "", ChatDlg);
+    SetWidgetText(&chatOptions[CHAT_OUT], "", ChatDlg);
+    SetWidgetText(&chatOptions[CHAT_IN], "", ChatDlg);
+    SetWidgetLabel(&chatOptions[activePartner+1], _("New Chat"));
+    HardSetFocus(&chatOptions[CHAT_PARTNER], 0);
+}
+
 static void
 NewChat (char *name)
 {   // open a chat on program request. If no empty one available, use last