mirror of https://github.com/cy384/ssheven.git
add password/key radio buttons to connect dialog
This commit is contained in:
parent
25550db076
commit
bd24c67224
36
ssheven.c
36
ssheven.c
|
@ -573,6 +573,13 @@ int password_dialog(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int key_dialog(void)
|
||||||
|
{
|
||||||
|
// TODO: keys
|
||||||
|
printf_i("key authentication not implemented yet\r\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int intro_dialog(char* hostname, char* username, char* password)
|
int intro_dialog(char* hostname, char* username, char* password)
|
||||||
{
|
{
|
||||||
// modal dialog setup
|
// modal dialog setup
|
||||||
|
@ -605,11 +612,31 @@ int intro_dialog(char* hostname, char* username, char* password)
|
||||||
GetDialogItem(dlg, 7, &type, &itemH, &box);
|
GetDialogItem(dlg, 7, &type, &itemH, &box);
|
||||||
username_text_box = (ControlHandle)itemH;
|
username_text_box = (ControlHandle)itemH;
|
||||||
|
|
||||||
|
ControlHandle password_radio;
|
||||||
|
GetDialogItem(dlg, 9, &type, &itemH, &box);
|
||||||
|
password_radio = (ControlHandle)itemH;
|
||||||
|
SetControlValue(password_radio, 1);
|
||||||
|
|
||||||
|
ControlHandle key_radio;
|
||||||
|
GetDialogItem(dlg, 10, &type, &itemH, &box);
|
||||||
|
key_radio = (ControlHandle)itemH;
|
||||||
|
SetControlValue(key_radio, 0);
|
||||||
|
|
||||||
// let the modalmanager do everything
|
// let the modalmanager do everything
|
||||||
// stop when the connect button is hit
|
// stop when the connect button is hit
|
||||||
short item;
|
short item;
|
||||||
do {
|
do {
|
||||||
ModalDialog(NULL, &item);
|
ModalDialog(NULL, &item);
|
||||||
|
if (item == 9)
|
||||||
|
{
|
||||||
|
SetControlValue(key_radio, 0);
|
||||||
|
SetControlValue(password_radio, 1);
|
||||||
|
}
|
||||||
|
else if (item == 10)
|
||||||
|
{
|
||||||
|
SetControlValue(key_radio, 1);
|
||||||
|
SetControlValue(password_radio, 0);
|
||||||
|
}
|
||||||
} while(item != 1 && item != 8);
|
} while(item != 1 && item != 8);
|
||||||
|
|
||||||
// copy the text out of the boxes
|
// copy the text out of the boxes
|
||||||
|
@ -627,7 +654,14 @@ int intro_dialog(char* hostname, char* username, char* password)
|
||||||
// if we hit cancel, 0
|
// if we hit cancel, 0
|
||||||
if (item == 8) return 0;
|
if (item == 8) return 0;
|
||||||
|
|
||||||
return password_dialog();
|
if (GetControlValue(password_radio) == 1)
|
||||||
|
{
|
||||||
|
return password_dialog();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return key_dialog();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void* read_thread(void* arg)
|
void* read_thread(void* arg)
|
||||||
|
|
|
@ -60,11 +60,17 @@ resource 'DITL' (DITL_CONNECT) {
|
||||||
{ 60, 10, 80, 310 },
|
{ 60, 10, 80, 310 },
|
||||||
StaticText { enabled, "Username" };
|
StaticText { enabled, "Username" };
|
||||||
|
|
||||||
{ 85, 15, 101, 305 },
|
{ 85, 15, 101, 150 },
|
||||||
EditText { enabled, "" };
|
EditText { enabled, "" };
|
||||||
|
|
||||||
{ 115, 10, 135, 90 },
|
{ 115, 10, 135, 90 },
|
||||||
Button { enabled, "Cancel" };
|
Button { enabled, "Cancel" };
|
||||||
|
|
||||||
|
{ 85, 160, 101, 245 },
|
||||||
|
RadioButton { enabled, "Password" };
|
||||||
|
|
||||||
|
{ 85, 250, 101, 310 },
|
||||||
|
RadioButton { enabled, "Key" };
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue