191 |
} /* load_toolbar */ |
} /* load_toolbar */ |
192 |
|
|
193 |
|
|
194 |
|
/* Center window @dlg. */ |
195 |
static void |
static void |
196 |
do_center_window (HWND dlg, struct km_info * kmi) |
do_center_window (HWND dlg, struct km_info * kmi) |
197 |
{ |
{ |
205 |
|
|
206 |
kmi->ypos_sep = rect.bottom; |
kmi->ypos_sep = rect.bottom; |
207 |
|
|
208 |
p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X" ); |
p = get_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X"); |
209 |
if( p && !strcmp( p, " " ) ) { |
if (p && !strcmp (p, " ")) { |
210 |
free_if_alloc( p ); |
free_if_alloc (p); |
211 |
center_window( dlg, NULL ); |
center_window (dlg, NULL); |
212 |
return; |
return; |
213 |
} |
} |
214 |
else if( p ) |
else if (p) |
215 |
pos_x = atol( p ); |
pos_x = atol (p); |
216 |
|
|
217 |
p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y" ); |
p = get_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y"); |
218 |
if( p && !strcmp( p, " " ) ) { |
if (p && !strcmp (p, " ")) { |
219 |
free_if_alloc( p ); |
free_if_alloc (p); |
220 |
center_window( dlg, NULL ); |
center_window(dlg, NULL); |
221 |
return; |
return; |
222 |
} |
} |
223 |
else if( p ) |
else if (p) |
224 |
pos_y = atol( p ); |
pos_y = atol (p); |
225 |
|
|
226 |
if( !pos_y && !pos_x ) { |
if (!pos_y && !pos_x) { |
227 |
center_window( dlg, NULL ); |
center_window (dlg, NULL); |
228 |
return; |
return; |
229 |
} |
} |
230 |
|
|
231 |
if( pos_x > GetSystemMetrics( SM_CXSCREEN ) |
if (pos_x < 0 || pos_y < 0) |
232 |
|| pos_y > GetSystemMetrics( SM_CYSCREEN ) ) { |
pos_x = pos_y = 0; |
233 |
|
if (pos_x > GetSystemMetrics (SM_CXSCREEN) |
234 |
|
|| pos_y > GetSystemMetrics (SM_CYSCREEN)) { |
235 |
pos_x = pos_y = 0; |
pos_x = pos_y = 0; |
236 |
} |
} |
237 |
GetClientRect( dlg, &rect ); |
GetClientRect (dlg, &rect); |
238 |
MoveWindow( dlg, pos_x, pos_y, rect.right, rect.bottom, TRUE ); |
MoveWindow (dlg, pos_x, pos_y, rect.right, rect.bottom, TRUE); |
239 |
} |
} |
240 |
|
|
241 |
|
|
344 |
if( !cache ) |
if( !cache ) |
345 |
BUG( dlg ); |
BUG( dlg ); |
346 |
keylist_reload( lv, cache, KEYLIST_LIST, KEY_SORT_USERID ); |
keylist_reload( lv, cache, KEYLIST_LIST, KEY_SORT_USERID ); |
347 |
km_complete_status_bar (sb, lv); |
km_update_status_bar (sb, lv); |
348 |
} |
} |
349 |
} /* do_check_cache */ |
} /* do_check_cache */ |
350 |
|
|
353 |
separator_wnd_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) |
separator_wnd_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) |
354 |
{ |
{ |
355 |
static POINT last_mouse_pos; |
static POINT last_mouse_pos; |
356 |
|
RECT rect; |
357 |
|
|
358 |
if (msg == WM_CREATE) |
if (msg == WM_CREATE) |
359 |
SetWindowLong (hwnd, GWL_USERDATA, (long)(((CREATESTRUCT*)lparam)->lpCreateParams)); |
SetWindowLong (hwnd, GWL_USERDATA, (long)(((CREATESTRUCT*)lparam)->lpCreateParams)); |
360 |
|
|
361 |
switch (msg) { |
switch (msg) { |
362 |
case WM_PAINT: |
case WM_PAINT: |
363 |
PAINTSTRUCT ps; |
PAINTSTRUCT ps; |
|
RECT rect; |
|
364 |
HPEN hpen; |
HPEN hpen; |
365 |
|
|
366 |
GetClientRect (hwnd, &rect); |
GetClientRect (hwnd, &rect); |
414 |
if (wparam == MK_LBUTTON) { |
if (wparam == MK_LBUTTON) { |
415 |
struct km_info *kmi; |
struct km_info *kmi; |
416 |
POINT p; |
POINT p; |
|
RECT rect; |
|
417 |
|
|
418 |
if ((kmi = (struct km_info *)GetWindowLong (hwnd, GWL_USERDATA)) == NULL) |
if ((kmi = (struct km_info *)GetWindowLong (hwnd, GWL_USERDATA)) == NULL) |
419 |
break; |
break; |
480 |
void |
void |
481 |
update_ui_items (HWND hwnd, listview_ctrl_t lv) |
update_ui_items (HWND hwnd, listview_ctrl_t lv) |
482 |
{ |
{ |
|
int key_selected = 0, key_has_sec = 0; |
|
|
int i, key_inv = 0; |
|
483 |
HWND hwnd_child; |
HWND hwnd_child; |
484 |
HMENU hmenu; |
HMENU hmenu; |
485 |
|
int key_selected = 0; |
486 |
|
int key_has_sec = 0; |
487 |
|
int key_inv = 0; |
488 |
|
int mult_resids[] = {ID_KEYMISC_PROPS, ID_KEYMISC_SIGN, ID_KEYMISC_EDITKEY, |
489 |
|
ID_KEYMISC_CHECKSIGS, ID_KEYMISC_REVCERT, 0}; |
490 |
|
int i; |
491 |
|
|
492 |
/* Get some states */ |
/* Get some states */ |
493 |
key_selected = SendMessage (GetDlgItem (hwnd, IDC_KEYMISC_KEYLIST), |
key_selected = SendMessage (GetDlgItem (hwnd, IDC_KEYMISC_KEYLIST), |
517 |
set_menu_state (hmenu, ID_KEYMISC_SIGN, key_selected && !key_inv ? MF_ENABLED : MF_GRAYED); |
set_menu_state (hmenu, ID_KEYMISC_SIGN, key_selected && !key_inv ? MF_ENABLED : MF_GRAYED); |
518 |
set_menu_state (hmenu, ID_KEYMISC_EDITKEY, key_selected? MF_ENABLED : MF_GRAYED); |
set_menu_state (hmenu, ID_KEYMISC_EDITKEY, key_selected? MF_ENABLED : MF_GRAYED); |
519 |
set_menu_state (hmenu, ID_KEYMISC_CHECKSIGS, key_selected? MF_ENABLED : MF_GRAYED); |
set_menu_state (hmenu, ID_KEYMISC_CHECKSIGS, key_selected? MF_ENABLED : MF_GRAYED); |
520 |
|
|
521 |
|
/* Disable some menu items when multiple keys are selected. */ |
522 |
|
if (listview_count_items (lv, 1) > 1) { |
523 |
|
for (i=0; mult_resids[i] != 0; i++) |
524 |
|
set_menu_state (hmenu, mult_resids[i], MF_GRAYED); |
525 |
|
} |
526 |
} |
} |
527 |
|
|
528 |
|
/* Disable some context menu items when multiple keys are selected. */ |
529 |
|
static void |
530 |
|
popup_multiple (HWND dlg, HMENU hm) |
531 |
|
{ |
532 |
|
int resids[] = { |
533 |
|
ID_KEYCTX_EDIT, |
534 |
|
ID_KEYCTX_SIGN, |
535 |
|
ID_KEYCTX_REV, |
536 |
|
ID_KEYCTX_ENABLE, |
537 |
|
ID_KEYCTX_DISABLE, |
538 |
|
ID_KEYCTX_ADDKEY, |
539 |
|
ID_KEYCTX_ADDPHOTO, |
540 |
|
ID_KEYCTX_ADDUID, |
541 |
|
ID_KEYCTX_ADDREV, |
542 |
|
ID_KEYCTX_LISTSIGS, |
543 |
|
ID_KEYCTX_MAXTRUST, |
544 |
|
ID_KEYCTX_PROPS, |
545 |
|
ID_KEYCTX_SENDMAIL, |
546 |
|
0 |
547 |
|
}; |
548 |
|
int i; |
549 |
|
for (i=0; i < resids[i] != 0; i++) |
550 |
|
set_menu_state (hm, resids[i], MF_GRAYED); |
551 |
|
} |
552 |
|
|
553 |
|
|
554 |
/* The items which are shown when GPG is in read-only mode. */ |
/* The items which are shown when GPG is in read-only mode. */ |
555 |
static void |
static void |
601 |
ID_KEYMISC_EDITKEY, |
ID_KEYMISC_EDITKEY, |
602 |
0 |
0 |
603 |
}; |
}; |
604 |
int * resids; |
int *resids; |
605 |
int i; |
int i; |
606 |
|
|
607 |
|
|
611 |
case 0: return; |
case 0: return; |
612 |
case 3: resids = key_resids; break; |
case 3: resids = key_resids; break; |
613 |
case 1: resids = edit_resids;break; |
case 1: resids = edit_resids;break; |
614 |
|
default: resids = edit_resids; return; |
615 |
} |
} |
616 |
|
|
617 |
for (i=0; resids[i] != 0; i++) |
for (i=0; resids[i] != 0; i++) |
678 |
SendMessage (statbar, SB_SETPARTS, (WPARAM)3, (LPARAM)partpos); |
SendMessage (statbar, SB_SETPARTS, (WPARAM)3, (LPARAM)partpos); |
679 |
|
|
680 |
km_update_default_key_str (statbar); |
km_update_default_key_str (statbar); |
681 |
km_complete_status_bar (statbar, lv); |
km_update_status_bar (statbar, lv); |
682 |
|
|
683 |
return statbar; |
return statbar; |
684 |
} |
} |
688 |
keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
689 |
{ |
{ |
690 |
struct km_info *kmi; |
struct km_info *kmi; |
691 |
static km_group_s *gc = NULL; |
/*static km_group_s *gc = NULL;*/ |
692 |
static HMENU menu = NULL; |
static HMENU menu = NULL; |
693 |
static int refresh_keys = 0; |
static int refresh_keys = 0; |
694 |
INITCOMMONCONTROLSEX icex; |
INITCOMMONCONTROLSEX icex; |
705 |
const char *t, * host; |
const char *t, * host; |
706 |
u16 port = 0; |
u16 port = 0; |
707 |
int idx = 0, i=0, rc; |
int idx = 0, i=0, rc; |
|
size_t size = 0; |
|
708 |
|
|
709 |
if ((msg != WM_INITDIALOG) |
if ((msg != WM_INITDIALOG) |
710 |
&& ((kmi = (struct km_info*)GetWindowLong (dlg, GWL_USERDATA)) == NULL)) |
&& ((kmi = (struct km_info*)GetWindowLong (dlg, GWL_USERDATA)) == NULL)) |
720 |
kmi->hwnd_sep = regist_sep_wnd (dlg, kmi); |
kmi->hwnd_sep = regist_sep_wnd (dlg, kmi); |
721 |
imagelist_load (dlg); |
imagelist_load (dlg); |
722 |
|
|
|
#ifndef LANG_DE |
|
723 |
SetWindowText( dlg, _("Key Manager") ); |
SetWindowText( dlg, _("Key Manager") ); |
|
#endif |
|
724 |
menu = LoadMenu( glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC ); |
menu = LoadMenu( glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC ); |
725 |
#ifndef LANG_DE |
set_menu_text_bypos (menu, 0, _("File")); |
726 |
|
set_menu_text_bypos (menu, 1, _("Edit")); |
727 |
|
set_menu_text_bypos (menu, 2, _("View")); |
728 |
|
set_menu_text_bypos (menu, 3, _("Key")); |
729 |
|
set_menu_text_bypos (menu, 4, _("Groups")); |
730 |
|
|
731 |
|
set_menu_text (menu, ID_KEYMISC_EDITKEY, _("Edit")); |
732 |
set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail...")); |
set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail...")); |
733 |
set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */ |
set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */ |
734 |
set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C")); |
set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C")); |
757 |
set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)")); |
set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)")); |
758 |
set_menu_text (menu, ID_KEYMISC_INFO, _("Info") ); |
set_menu_text (menu, ID_KEYMISC_INFO, _("Info") ); |
759 |
set_menu_text (menu, ID_KEYMISC_HELP, _("&Help")); |
set_menu_text (menu, ID_KEYMISC_HELP, _("&Help")); |
760 |
|
|
|
#endif |
|
761 |
SetMenu (dlg, menu); |
SetMenu (dlg, menu); |
762 |
if( keyring_check_last_access() ) |
if( keyring_check_last_access() ) |
763 |
keycache_set_reload( 1 ); |
keycache_set_reload( 1 ); |
787 |
km_groups_load( gc ); |
km_groups_load( gc ); |
788 |
#endif |
#endif |
789 |
SetClassLong (dlg, GCL_HICON, (LONG)LoadIcon (glob_hinst, (LPCTSTR)IDI_WINPT)); |
SetClassLong (dlg, GCL_HICON, (LONG)LoadIcon (glob_hinst, (LPCTSTR)IDI_WINPT)); |
|
SetForegroundWindow (dlg); |
|
790 |
|
|
791 |
kmi->statbar = setup_status_bar (dlg, kmi->lv); |
kmi->statbar = setup_status_bar (dlg, kmi->lv); |
|
|
|
792 |
SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi); |
SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi); |
793 |
kmi->toolbar = load_toolbar (dlg, kmi); |
kmi->toolbar = load_toolbar (dlg, kmi); |
794 |
|
|
795 |
do_center_window (dlg, kmi); |
do_center_window (dlg, kmi); |
796 |
do_resize_window (dlg, kmi); |
do_resize_window (dlg, kmi); |
797 |
update_ui_items (dlg, kmi->lv); |
update_ui_items (dlg, kmi->lv); |
798 |
|
|
799 |
|
SetDlgItemText (dlg, IDC_KEYMISC_GTEXT, _("Groups")); |
800 |
|
SetForegroundWindow (dlg); |
801 |
return TRUE; |
return TRUE; |
802 |
|
|
803 |
case WM_DESTROY: |
case WM_DESTROY: |
819 |
set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", buf); |
set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", buf); |
820 |
/* Remove runtime information. This should be the last action taken here. */ |
/* Remove runtime information. This should be the last action taken here. */ |
821 |
delete kmi; kmi = NULL; |
delete kmi; kmi = NULL; |
822 |
SetWindowLong (dlg, GWL_USERDATA, NULL); |
SetWindowLong (dlg, GWL_USERDATA, 0); |
823 |
keycache_set_reload (refresh_keys); |
keycache_set_reload (refresh_keys); |
824 |
return FALSE; |
return FALSE; |
825 |
|
|
936 |
GetCursorPos (&p); |
GetCursorPos (&p); |
937 |
hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYMISC_CTX)); |
hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYMISC_CTX)); |
938 |
popup = GetSubMenu (hm, 0); |
popup = GetSubMenu (hm, 0); |
939 |
#ifndef LANG_DE |
|
940 |
set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard")); |
set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard")); |
941 |
set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard")); |
set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard")); |
942 |
set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard")); |
set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard")); |
961 |
set_menu_text_bypos (popup, 0, _("Key Attributes")); |
set_menu_text_bypos (popup, 0, _("Key Attributes")); |
962 |
set_menu_text_bypos (popup, 6, _("Add")); |
set_menu_text_bypos (popup, 6, _("Add")); |
963 |
set_menu_text_bypos (popup, 19, _("Send to Keyserver")); |
set_menu_text_bypos (popup, 19, _("Send to Keyserver")); |
964 |
#endif |
|
965 |
|
set_menu_text (popup, ID_KEYCTX_ADDKEY, _("Key...")); |
966 |
|
set_menu_text (popup, ID_KEYCTX_ADDUID, _("User ID...")); |
967 |
|
set_menu_text (popup, ID_KEYCTX_ADDPHOTO, _("Photo ID...")); |
968 |
|
set_menu_text (popup, ID_KEYCTX_ADDREV, _("Revoker...")); |
969 |
|
|
970 |
idx = listview_get_curr_pos (kmi->lv); |
idx = listview_get_curr_pos (kmi->lv); |
971 |
if (km_check_for_seckey (kmi->lv, idx, &i)) |
if (km_check_for_seckey (kmi->lv, idx, &i)) |
972 |
set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED); |
set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED); |
1000 |
host = kserver_get_hostname (0, -1, &port); |
host = kserver_get_hostname (0, -1, &port); |
1001 |
set_menu_text (popup, ID_KEYCTX_KS_DEFAULT, host); |
set_menu_text (popup, ID_KEYCTX_KS_DEFAULT, host); |
1002 |
popup_gpg_readonly (dlg, popup); |
popup_gpg_readonly (dlg, popup); |
1003 |
|
if (listview_count_items (kmi->lv, 1) > 1) |
1004 |
|
popup_multiple (dlg, popup); |
1005 |
TrackPopupMenu (popup, TPM_RIGHTALIGN, p.x, p.y, 0, dlg, NULL); |
TrackPopupMenu (popup, TPM_RIGHTALIGN, p.x, p.y, 0, dlg, NULL); |
1006 |
DestroyMenu (popup); |
DestroyMenu (popup); |
1007 |
DestroyMenu (hm); |
DestroyMenu (hm); |
1029 |
|
|
1030 |
case LVN_COLUMNCLICK: |
case LVN_COLUMNCLICK: |
1031 |
if (notify->idFrom == IDC_KEYMISC_KEYLIST) { |
if (notify->idFrom == IDC_KEYMISC_KEYLIST) { |
1032 |
NMLISTVIEW * p = (LPNMLISTVIEW) lparam; |
NMLISTVIEW * nml = (LPNMLISTVIEW) lparam; |
1033 |
int sortby = 0; |
int sortby = 0; |
1034 |
switch (p->iSubItem) { |
switch (nml->iSubItem) { |
1035 |
case 0: sortby = KEY_SORT_USERID; break; |
case 0: sortby = KEY_SORT_USERID; break; |
1036 |
case 1: sortby = KEY_SORT_KEYID; break; |
case 1: sortby = KEY_SORT_KEYID; break; |
1037 |
case 2: sortby = KEY_SORT_IS_SECRET; break; |
case 2: sortby = KEY_SORT_IS_SECRET; break; |
1077 |
|
|
1078 |
case WM_INITMENUPOPUP: |
case WM_INITMENUPOPUP: |
1079 |
if ((UINT)LOWORD (lparam) == 3) { |
if ((UINT)LOWORD (lparam) == 3) { |
1080 |
HMENU hm = (HMENU)wparam; |
HMENU m = (HMENU)wparam; |
1081 |
set_menu_text_bypos (hm, 0, _("New")); |
set_menu_text_bypos (m, 0, _("New")); |
1082 |
} |
} |
1083 |
return FALSE; |
return FALSE; |
1084 |
|
|
1085 |
case WM_COMMAND: |
case WM_COMMAND: |
1086 |
if( gnupg_access_keyring( 1 ) ) { |
if (gnupg_access_keyring (1) && LOWORD (wparam) != ID_KEYMISC_QUIT) { |
1087 |
msg_box( dlg, _("Could not access public keyring"), _("Key Manager"), MB_ERR ); |
msg_box( dlg, _("Could not access public keyring"), _("Key Manager"), MB_ERR ); |
1088 |
return FALSE; |
return FALSE; |
1089 |
} |
} |
1141 |
} |
} |
1142 |
|
|
1143 |
{ |
{ |
1144 |
char t[128]; |
char rinf[128]; |
1145 |
listview_get_item_text( kmi->lv, idx, 5, t, sizeof t -1 ); |
listview_get_item_text (kmi->lv, idx, 5, rinf, sizeof (rinf) -1); |
1146 |
if( strchr( t, 'R' ) ) { |
if (strchr (rinf, 'R')) { |
1147 |
msg_box( dlg, _("Key already revoked!"), _("Key Manager"), MB_INFO ); |
msg_box (dlg, _("Key already revoked!"), |
1148 |
|
_("Key Manager"), MB_INFO); |
1149 |
return TRUE; |
return TRUE; |
1150 |
} |
} |
1151 |
} |
} |
1223 |
|
|
1224 |
case ID_KEYMISC_RECACHE: |
case ID_KEYMISC_RECACHE: |
1225 |
/* If there is already a reload request, don't bother the user with a message. */ |
/* If there is already a reload request, don't bother the user with a message. */ |
1226 |
if( keycache_get_reload() == 1 ) |
if (keycache_get_reload () == 1) |
1227 |
idx = IDYES; |
idx = IDYES; |
1228 |
else { |
else { |
1229 |
char t[256]; |
char inf[256]; |
1230 |
_snprintf( t, sizeof t -1, |
_snprintf (inf, sizeof (inf) -1, |
1231 |
_("This is only useful when the keyring has been " |
_("This is only useful when the keyring has been " |
1232 |
"modified (sign a key...).\n" |
"modified (sign a key...).\n" |
1233 |
"Do you really want to reload the keycache?") ); |
"Do you really want to reload the keycache?")); |
1234 |
idx = msg_box( dlg, t, _("Key Manager"), MB_YESNO ); |
idx = msg_box (dlg, inf, _("Key Manager"), MB_YESNO); |
1235 |
} |
} |
1236 |
if( idx == IDYES ) { |
if( idx == IDYES ) { |
1237 |
rcs.kr_reload = rcs.kr_update = 1; |
rcs.kr_reload = rcs.kr_update = 1; |
1261 |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYGEN, dlg, |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYGEN, dlg, |
1262 |
keygen_dlg_proc, (LPARAM)&genkey, _("Key Generation"), |
keygen_dlg_proc, (LPARAM)&genkey, _("Key Generation"), |
1263 |
IDS_WINPT_KEYGEN); |
IDS_WINPT_KEYGEN); |
1264 |
if (genkey.newkey != NULL) |
if (genkey.newkey != NULL) { |
1265 |
keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey); |
keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey); |
1266 |
|
keylist_sort (kmi->lv, KEY_SORT_USERID); |
1267 |
|
} |
1268 |
return TRUE; |
return TRUE; |
1269 |
|
|
1270 |
case ID_KEYMISC_CARDNEW: |
case ID_KEYMISC_CARDNEW: |
1273 |
return TRUE; |
return TRUE; |
1274 |
} |
} |
1275 |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_CARD_KEYGEN, dlg, |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_CARD_KEYGEN, dlg, |
1276 |
card_keygen_dlg_proc, NULL, _("Card Key Generation"), |
card_keygen_dlg_proc, 0, _("Card Key Generation"), |
1277 |
IDS_WINPT_CARD_KEYGEN ); |
IDS_WINPT_CARD_KEYGEN ); |
1278 |
/* XXX: use new code */ |
/* XXX: use new code */ |
1279 |
if( keycache_get_reload() ) |
if( keycache_get_reload() ) |
1285 |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYWIZARD, dlg, |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYWIZARD, dlg, |
1286 |
keygen_wizard_dlg_proc, (LPARAM)&genkey, _("Key Generation Wizard"), |
keygen_wizard_dlg_proc, (LPARAM)&genkey, _("Key Generation Wizard"), |
1287 |
IDS_WINPT_KEYWIZARD); |
IDS_WINPT_KEYWIZARD); |
1288 |
if (genkey.newkey != NULL) |
if (genkey.newkey != NULL) { |
1289 |
keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey); |
keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey); |
1290 |
|
keylist_sort (kmi->lv, KEY_SORT_USERID); |
1291 |
|
} |
1292 |
return TRUE; |
return TRUE; |
1293 |
|
|
1294 |
case ID_KEYMISC_SENDRECV: |
case ID_KEYMISC_SENDRECV: |
1295 |
|
memset (&genkey, 0, sizeof (genkey)); |
1296 |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYSERVER, dlg, |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYSERVER, dlg, |
1297 |
keyserver_dlg_proc, NULL, _("Keyserver Access"), |
keyserver_dlg_proc, (LPARAM)&genkey, |
1298 |
IDS_WINPT_KEYSERVER ); |
_("Keyserver Access"), IDS_WINPT_KEYSERVER); |
1299 |
|
if (genkey.newkey != NULL) { |
1300 |
|
keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey); |
1301 |
|
keylist_sort (kmi->lv, KEY_SORT_USERID); |
1302 |
|
} |
1303 |
return TRUE; |
return TRUE; |
1304 |
|
|
1305 |
case ID_KEYMISC_GPGPREFS: |
case ID_KEYMISC_GPGPREFS: |
1306 |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGPREFS, dlg, |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGPREFS, dlg, |
1307 |
gpgprefs_dlg_proc, NULL, _("GnuPG Preferences"), |
gpgprefs_dlg_proc, 0, _("GnuPG Preferences"), |
1308 |
IDS_WINPT_GPGPREFS ); |
IDS_WINPT_GPGPREFS ); |
1309 |
return TRUE; |
return TRUE; |
1310 |
|
|
1311 |
case ID_KEYMISC_GPGOPT: |
case ID_KEYMISC_GPGOPT: |
1312 |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGOPT, dlg, |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGOPT, dlg, |
1313 |
gpgopt_dlg_proc, NULL, _("GnuPG Options" ), |
gpgopt_dlg_proc, 0, _("GnuPG Options" ), |
1314 |
IDS_WINPT_GPGOPT ); |
IDS_WINPT_GPGOPT ); |
1315 |
return TRUE; |
return TRUE; |
1316 |
|
|
1317 |
case ID_KEYMISC_IMPORT: |
case ID_KEYMISC_IMPORT: |
1318 |
t = get_filename_dlg (dlg, FILE_OPEN, _("Choose Name of the Key File"), NULL, NULL); |
t = get_fileopen_dlg (dlg, _("Choose Name of the Key File"), NULL, NULL); |
1319 |
if (t) |
if (t) |
1320 |
km_file_import (dlg, t); |
km_file_import (dlg, t); |
1321 |
return TRUE; |
return TRUE; |
1339 |
listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1); |
listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1); |
1340 |
name = gen_export_filename (keyid, 0); |
name = gen_export_filename (keyid, 0); |
1341 |
} |
} |
1342 |
t = get_filename_dlg (dlg, FILE_SAVE, _("Choose Name for Key File"), NULL, name); |
t = get_filesave_dlg (dlg, _("Choose Name for Key File"), NULL, name); |
1343 |
free_if_alloc (name); |
free_if_alloc (name); |
1344 |
if (t == NULL) |
if (t == NULL) |
1345 |
return TRUE; |
return TRUE; |
1372 |
idx = listview_get_curr_pos( kmi->lv ); |
idx = listview_get_curr_pos( kmi->lv ); |
1373 |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof (keyid)-8 ); |
listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof (keyid)-8 ); |
1374 |
name = gen_export_filename (keyid, 1); |
name = gen_export_filename (keyid, 1); |
1375 |
t = get_filename_dlg (dlg, FILE_SAVE, _("Choose Name for Key File"), NULL, name); |
t = get_filesave_dlg (dlg, _("Choose Name for Key File"), NULL, name); |
1376 |
if (t != NULL) |
if (t != NULL) |
1377 |
km_privkey_export (dlg, kmi->lv, t); |
km_privkey_export (dlg, kmi->lv, t); |
1378 |
} |
} |
1379 |
break; |
return TRUE; |
1380 |
|
|
1381 |
case ID_KEYMISC_INFO: |
case ID_KEYMISC_INFO: |
1382 |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_ABOUT, glob_hwnd, |
dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_ABOUT, glob_hwnd, |
1383 |
about_winpt_dlg_proc, NULL, _("About WinPT"), |
about_winpt_dlg_proc, 0, _("About WinPT"), |
1384 |
IDS_WINPT_ABOUT ); |
IDS_WINPT_ABOUT ); |
1385 |
break; |
break; |
1386 |
|
|
1390 |
|
|
1391 |
case ID_KEYMISC_OT: |
case ID_KEYMISC_OT: |
1392 |
dialog_box_param( glob_hinst, (LPCTSTR)IDD_WINPT_OWNERTRUST, glob_hwnd, |
dialog_box_param( glob_hinst, (LPCTSTR)IDD_WINPT_OWNERTRUST, glob_hwnd, |
1393 |
ownertrust_dlg_proc, NULL, |
ownertrust_dlg_proc, 0, |
1394 |
_("Ownertrust"), IDS_WINPT_OWNERTRUST ); |
_("Ownertrust"), IDS_WINPT_OWNERTRUST ); |
1395 |
break; |
break; |
1396 |
|
|