add port number box to connection dialog

This commit is contained in:
cy384 2020-09-06 15:35:13 -04:00
parent 24f487f83d
commit adfd19ee3e
2 changed files with 19 additions and 8 deletions

View File

@ -22,7 +22,7 @@ struct ssheven_ssh_connection ssh_con = { NULL, NULL, kOTInvalidEndpointRef, NUL
enum { WAIT, READ, EXIT } read_thread_command = WAIT; enum { WAIT, READ, EXIT } read_thread_command = WAIT;
enum { UNINTIALIZED, OPEN, CLEANUP, DONE } read_thread_state = UNINTIALIZED; enum { UNINTIALIZED, OPEN, CLEANUP, DONE } read_thread_state = UNINTIALIZED;
char hostname[256] = {0}; char hostname[512] = {0};
char username[256] = {0}; char username[256] = {0};
char password[256] = {0}; char password[256] = {0};
@ -600,7 +600,7 @@ int intro_dialog(char* hostname, char* username, char* password)
DialogPtr dlg = GetNewDialog(DLOG_CONNECT, 0, (WindowPtr)-1); DialogPtr dlg = GetNewDialog(DLOG_CONNECT, 0, (WindowPtr)-1);
InitCursor(); InitCursor();
// select all text in dialog item 4 (the hostname+port one) // select all text in dialog item 4 (the hostname one)
SelectDialogItemText(dlg, 4, 0, 32767); SelectDialogItemText(dlg, 4, 0, 32767);
DialogItemType type; DialogItemType type;
@ -616,8 +616,12 @@ int intro_dialog(char* hostname, char* username, char* password)
GetDialogItem(dlg, 4, &type, &itemH, &box); GetDialogItem(dlg, 4, &type, &itemH, &box);
address_text_box = (ControlHandle)itemH; address_text_box = (ControlHandle)itemH;
ControlHandle port_text_box;
GetDialogItem(dlg, 5, &type, &itemH, &box);
port_text_box = (ControlHandle)itemH;
ControlHandle username_text_box; ControlHandle username_text_box;
GetDialogItem(dlg, 6, &type, &itemH, &box); GetDialogItem(dlg, 7, &type, &itemH, &box);
username_text_box = (ControlHandle)itemH; username_text_box = (ControlHandle)itemH;
// let the modalmanager do everything // let the modalmanager do everything
@ -625,12 +629,16 @@ int intro_dialog(char* hostname, char* username, char* password)
short item; short item;
do { do {
ModalDialog(NULL, &item); ModalDialog(NULL, &item);
} while(item != 1 && item != 7); } while(item != 1 && item != 8);
// copy the text out of the boxes // copy the text out of the boxes
GetDialogItemText((Handle)address_text_box, hostname); GetDialogItemText((Handle)address_text_box, hostname);
GetDialogItemText((Handle)username_text_box, username); GetDialogItemText((Handle)username_text_box, username);
// splice the port number onto the hostname (n.b. they're pascal strings)
GetDialogItemText((Handle)port_text_box, hostname+hostname[0]+1);
hostname[hostname[0]+1] = ':';
// clean it up // clean it up
DisposeDialog(dlg); DisposeDialog(dlg);
FlushEvents(everyEvent, -1); FlushEvents(everyEvent, -1);

View File

@ -48,11 +48,14 @@ resource 'DITL' (DITL_CONNECT) {
{ 190-10-20-5, 320-10-80-5, 190-10+5, 320-10+5 }, { 190-10-20-5, 320-10-80-5, 190-10+5, 320-10+5 },
UserItem { enabled }; UserItem { enabled };
{ 10, 10, 30, 310 }, { 10, 10, 30, 270 },
StaticText { enabled, "Address with port" }; StaticText { enabled, "Address and port" };
{ 35, 15, 51, 305 }, { 35, 15, 51, 260 },
EditText { enabled, "10.0.2.2:22" }; EditText { enabled, "10.0.2.2" };
{ 35, 270, 51, 305 },
EditText { enabled, "22" };
{ 60, 10, 80, 310 }, { 60, 10, 80, 310 },
StaticText { enabled, "Username" }; StaticText { enabled, "Username" };