495 |
static void |
static void |
496 |
menu_gpg_readonly (HWND dlg, HMENU hm, int id) |
menu_gpg_readonly (HWND dlg, HMENU hm, int id) |
497 |
{ |
{ |
498 |
int key_resids[] = |
int key_resids[] = { |
|
{ |
|
499 |
ID_KEYMISC_SIGN, |
ID_KEYMISC_SIGN, |
500 |
ID_KEYMISC_DELETE, |
ID_KEYMISC_DELETE, |
501 |
ID_KEYMISC_REVCERT, |
ID_KEYMISC_REVCERT, |
508 |
ID_KEYMISC_NEWKEY, |
ID_KEYMISC_NEWKEY, |
509 |
0, |
0, |
510 |
}; |
}; |
511 |
int edit_resids[] = |
int edit_resids[] = { |
|
{ |
|
512 |
ID_KEYMISC_PASTE, |
ID_KEYMISC_PASTE, |
513 |
ID_KEYMISC_OT, |
ID_KEYMISC_OT, |
514 |
ID_KEYMISC_EDITKEY, |
ID_KEYMISC_EDITKEY, |
520 |
|
|
521 |
if (gpg_read_only == 0) |
if (gpg_read_only == 0) |
522 |
return; |
return; |
523 |
switch (id) |
switch (id) { |
|
{ |
|
524 |
case 0: return; |
case 0: return; |
525 |
case 3: resids = key_resids; break; |
case 3: resids = key_resids; break; |
526 |
case 1: resids = edit_resids;break; |
case 1: resids = edit_resids;break; |
545 |
gpgme_key_t pk; |
gpgme_key_t pk; |
546 |
km_group_cb_s gcb; |
km_group_cb_s gcb; |
547 |
struct winpt_key_s k = {0}; |
struct winpt_key_s k = {0}; |
548 |
struct http_file_s * http; |
struct URL_ctx_s *url; |
549 |
refresh_cache_s rcs = {0}; |
refresh_cache_s rcs = {0}; |
550 |
char keyid[48], uid[128], type[32], * q; |
char keyid[48], uid[128], type[32], * q; |
551 |
const char *t, * host; |
const char *t, * host; |
775 |
set_menu_text( popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver") ); |
set_menu_text( popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver") ); |
776 |
#endif |
#endif |
777 |
idx = listview_get_curr_pos (kmi->lv); |
idx = listview_get_curr_pos (kmi->lv); |
778 |
if (km_check_for_seckey (kmi->lv, idx, &i) && i == 0) |
if (km_check_for_seckey (kmi->lv, idx, &i) && i == 0) { |
|
{ |
|
779 |
set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED); |
set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED); |
780 |
set_menu_state (popup, ID_KEYCTX_MAXTRUST, MF_ENABLED); |
set_menu_state (popup, ID_KEYCTX_MAXTRUST, MF_ENABLED); |
781 |
} |
} |
782 |
if( !km_check_for_seckey( kmi->lv, idx, NULL ) ) { |
if (!km_check_for_seckey (kmi->lv, idx, NULL)) { |
783 |
set_menu_state( popup, ID_KEYCTX_REV, MF_DISABLED|MF_GRAYED ); |
set_menu_state( popup, ID_KEYCTX_REV, MF_DISABLED|MF_GRAYED ); |
784 |
set_menu_state( popup, ID_KEYCTX_ADDKEY, MF_DISABLED|MF_GRAYED ); |
set_menu_state( popup, ID_KEYCTX_ADDKEY, MF_DISABLED|MF_GRAYED ); |
785 |
set_menu_state( popup, ID_KEYCTX_ADDUID, MF_DISABLED|MF_GRAYED ); |
set_menu_state( popup, ID_KEYCTX_ADDUID, MF_DISABLED|MF_GRAYED ); |
942 |
} |
} |
943 |
|
|
944 |
q = km_quote_uid (uid); |
q = km_quote_uid (uid); |
945 |
|
memset (&k, 0, sizeof (k)); |
946 |
k.key_pair = 1; |
k.key_pair = 1; |
947 |
k.keyid = keyid; |
k.keyid = keyid; |
948 |
k.uid = q; |
k.uid = q; |
965 |
msg_box( dlg, _("It does not make any sense with a key pair!"), _("Key Manager"), MB_OK ); |
msg_box( dlg, _("It does not make any sense with a key pair!"), _("Key Manager"), MB_OK ); |
966 |
return FALSE; |
return FALSE; |
967 |
} |
} |
968 |
|
memset (&k, 0, sizeof (k)); |
969 |
k.keyid = keyid; |
k.keyid = keyid; |
970 |
k.uid = uid; |
k.uid = uid; |
971 |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYTRUST, dlg, |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYTRUST, dlg, |
979 |
msg_box( dlg, _("Please select a key."), _("Key Manager"), MB_ERR ); |
msg_box( dlg, _("Please select a key."), _("Key Manager"), MB_ERR ); |
980 |
return FALSE; |
return FALSE; |
981 |
} |
} |
982 |
listview_get_item_text( kmi->lv, idx, 0, uid, sizeof uid-1 ); |
listview_get_item_text (kmi->lv, idx, 0, uid, DIM (uid)-1); |
983 |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 ); |
listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1); |
984 |
|
memset (&k, 0, sizeof (k)); |
985 |
k.keyid = keyid; |
k.keyid = keyid; |
986 |
k.uid = uid; |
k.uid = uid; |
987 |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYSIG, dlg, |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSIG, dlg, |
988 |
keysig_dlg_proc, (LPARAM)&k, |
keysig_dlg_proc, (LPARAM)&k, |
989 |
_("Key Signature List" ), IDS_WINPT_KEYSIG ); |
_("Key Signature List" ), IDS_WINPT_KEYSIG); |
990 |
return TRUE; |
return TRUE; |
991 |
|
|
992 |
case ID_KEYMISC_PROPS: |
case ID_KEYMISC_PROPS: |
997 |
} |
} |
998 |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid -1 ); |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid -1 ); |
999 |
listview_get_item_text( kmi->lv, idx, 2, type, sizeof type -1 ); |
listview_get_item_text( kmi->lv, idx, 2, type, sizeof type -1 ); |
1000 |
|
memset (&k, 0, sizeof (k)); |
1001 |
k.key_pair = 0; |
k.key_pair = 0; |
1002 |
k.keyid = keyid; |
k.keyid = keyid; |
1003 |
if( !strcmp( type, "pub/sec" ) || !strcmp( type, "pub/crd" ) ) |
if( !strcmp( type, "pub/sec" ) || !strcmp( type, "pub/crd" ) ) |
1103 |
return TRUE; |
return TRUE; |
1104 |
|
|
1105 |
case ID_KEYMISC_IMPORT_HTTP: |
case ID_KEYMISC_IMPORT_HTTP: |
1106 |
http = (struct http_file_s *)get_http_file_dlg (dlg); |
url = (struct URL_ctx_s*)get_http_file_dlg (dlg); |
1107 |
if (http->cancel == 0) |
if (url->cancel == 0) |
1108 |
km_http_import (dlg, http->url); |
km_http_import (dlg, url->url); |
1109 |
delete http; |
delete url; url=NULL; |
1110 |
break; |
break; |
1111 |
|
|
1112 |
case ID_KEYMISC_EXPORT: |
case ID_KEYMISC_EXPORT: |
1187 |
break; |
break; |
1188 |
listview_get_item_text (kmi->lv, idx, 1, keyid, sizeof (keyid)-1); |
listview_get_item_text (kmi->lv, idx, 1, keyid, sizeof (keyid)-1); |
1189 |
/* XXX: pub/crd = secret key does not work */ |
/* XXX: pub/crd = secret key does not work */ |
1190 |
|
memset (&k, 0, sizeof (k)); |
1191 |
k.is_protected = km_check_if_protected (kmi->lv, idx); |
k.is_protected = km_check_if_protected (kmi->lv, idx); |
1192 |
k.key_pair = km_check_for_seckey (kmi->lv, idx, NULL); |
k.key_pair = km_check_for_seckey (kmi->lv, idx, NULL); |
1193 |
k.keyid = keyid; |
k.keyid = keyid; |
1222 |
break; |
break; |
1223 |
|
|
1224 |
case ID_KEYCTX_SETPREFKS: |
case ID_KEYCTX_SETPREFKS: |
1225 |
/* XXX: todo */ |
listview_get_item_text (kmi->lv, idx, 1, keyid, DIM(keyid)-1); |
1226 |
|
memset (&k, 0, sizeof (k)); |
1227 |
|
k.keyid = keyid; |
1228 |
|
keyedit_set_pref_keyserver (&k, dlg); |
1229 |
break; |
break; |
1230 |
|
|
1231 |
case ID_KEYMISC_REFRESH_KEYS: |
case ID_KEYMISC_REFRESH_KEYS: |
1232 |
if (listview_count_items (kmi->lv, 1) == 0) |
if (listview_count_items (kmi->lv, 1) == 0) { |
|
{ |
|
1233 |
msg_box (dlg, _("No key was selected, select all by default."), _("Key Manager"), MB_INFO); |
msg_box (dlg, _("No key was selected, select all by default."), _("Key Manager"), MB_INFO); |
1234 |
listview_select_all (kmi->lv); |
listview_select_all (kmi->lv); |
1235 |
} |
} |
1272 |
|
|
1273 |
case ID_KEYCTX_ADDKEY: |
case ID_KEYCTX_ADDKEY: |
1274 |
idx = listview_get_curr_pos( kmi->lv ); |
idx = listview_get_curr_pos( kmi->lv ); |
1275 |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid - 1 ); |
listview_get_item_text( kmi->lv, idx, 1, keyid, DIM (keyid)-1); |
1276 |
|
memset (&k, 0, sizeof (k)); |
1277 |
k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL ); |
k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL ); |
1278 |
k.is_protected = km_check_if_protected( kmi->lv, idx ); |
k.is_protected = km_check_if_protected( kmi->lv, idx ); |
1279 |
k.keyid = keyid; |
k.keyid = keyid; |
1282 |
|
|
1283 |
case ID_KEYCTX_ADDUID: |
case ID_KEYCTX_ADDUID: |
1284 |
idx = listview_get_curr_pos( kmi->lv ); |
idx = listview_get_curr_pos( kmi->lv ); |
1285 |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 ); |
listview_get_item_text( kmi->lv, idx, 1, keyid, DIM (keyid)-1); |
1286 |
|
memset (&k, 0, sizeof (k)); |
1287 |
k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL ); |
k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL ); |
1288 |
k.is_protected = km_check_if_protected( kmi->lv, idx ); |
k.is_protected = km_check_if_protected( kmi->lv, idx ); |
1289 |
k.keyid = keyid; |
k.keyid = keyid; |
1291 |
break; |
break; |
1292 |
|
|
1293 |
case ID_KEYCTX_ADDREV: |
case ID_KEYCTX_ADDREV: |
1294 |
idx = listview_get_curr_pos( kmi->lv ); |
idx = listview_get_curr_pos (kmi->lv); |
1295 |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 ); |
listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1); |
1296 |
|
memset (&k, 0, sizeof (k)); |
1297 |
k.keyid = keyid; |
k.keyid = keyid; |
1298 |
k.is_protected = km_check_if_protected( kmi->lv, idx ); |
k.is_protected = km_check_if_protected( kmi->lv, idx ); |
1299 |
k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL ); |
k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL ); |
1301 |
break; |
break; |
1302 |
|
|
1303 |
case ID_KEYCTX_ADDPHOTO: |
case ID_KEYCTX_ADDPHOTO: |
1304 |
idx = listview_get_curr_pos( kmi->lv ); |
idx = listview_get_curr_pos (kmi->lv); |
1305 |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 ); |
listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1); |
1306 |
|
memset (&k, 0, sizeof (k)); |
1307 |
k.keyid = keyid; |
k.keyid = keyid; |
1308 |
k.is_protected = km_check_if_protected( kmi->lv, idx ); |
k.is_protected = km_check_if_protected (kmi->lv, idx); |
1309 |
k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL ); |
k.key_pair = km_check_for_seckey (kmi->lv, idx, NULL); |
1310 |
keyedit_add_photo( &k, dlg ); |
keyedit_add_photo (&k, dlg); |
1311 |
break; |
break; |
1312 |
|
|
1313 |
case ID_KEYCTX_KS_NL: |
case ID_KEYCTX_KS_NL: |