X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=e93e736edb49985e7553d7ac6b604b541a691d54;hb=ea23332c1d3b1a588b67a961378a30965d16064b;hp=16d4d19b3a3043013866deb12255bda30f57a45e;hpb=51e9503489f2cee28a076bf52c56185a5283b069;p=xboard.git diff --git a/dialogs.c b/dialogs.c index 16d4d19..e93e736 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1325,7 +1325,7 @@ PopUpMoveDialog (char firstchar) void BoxAutoPopUp (char *buf) -{ +{ // only used in Xaw. GTK calls ConsoleAutoPopUp in stead (when we type to board) if(!appData.autoBox) return; if(appData.icsActive) { // text typed to board in ICS mode: divert to ICS input box if(DialogExists(InputBoxDlg)) { // box already exists: append to current contents @@ -1914,6 +1914,23 @@ ChatProc () AddHandler(&chatOptions[CHAT_PARTNER], ChatDlg, 2), AddHandler(&chatOptions[CHAT_IN], ChatDlg, 2); // treats return as OK PaneSwitch(); HardSetFocus(&chatOptions[CHAT_IN]); MarkMenu("View.OpenChatWindow", ChatDlg); + CursorAtEnd(&chatOptions[CHAT_IN]); +} + +void +ConsoleAutoPopUp (char *buf) +{ + if(!appData.autoBox) return; + if(appData.icsActive) { // text typed to board in ICS mode: divert to ICS input box + if(DialogExists(ChatDlg)) { // box already exists: append to current contents + char *p, newText[MSG_SIZ]; + GetWidgetText(&chatOptions[CHAT_IN], &p); + snprintf(newText, MSG_SIZ, "%s%c", p, *buf); + SetWidgetText(&chatOptions[CHAT_IN], newText, ChatDlg); + if(shellUp[ChatDlg]) HardSetFocus (&boxOptions[CHAT_IN]); //why??? + } else { ASSIGN(line, buf); } // box did not exist: make sure it pops up with char in it + ChatProc(); + } else PopUpMoveDialog(*buf); } //--------------------------------- Game-List options dialog ------------------------------------------