/[winpt]/trunk/Src/wptKeyManagerDlg.cpp
ViewVC logotype

Diff of /trunk/Src/wptKeyManagerDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 16 by twoaday, Mon May 9 08:54:21 2005 UTC revision 20 by twoaday, Wed Jul 27 11:17:22 2005 UTC
# Line 495  popup_gpg_readonly (HWND dlg, HMENU hm) Line 495  popup_gpg_readonly (HWND dlg, HMENU hm)
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,
# Line 509  menu_gpg_readonly (HWND dlg, HMENU hm, i Line 508  menu_gpg_readonly (HWND dlg, HMENU hm, i
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,
# Line 522  menu_gpg_readonly (HWND dlg, HMENU hm, i Line 520  menu_gpg_readonly (HWND dlg, HMENU hm, i
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;
# Line 546  keymanager_dlg_proc (HWND dlg, UINT msg, Line 543  keymanager_dlg_proc (HWND dlg, UINT msg,
543      HMENU hm;      HMENU hm;
544      gpgme_keycache_t c;      gpgme_keycache_t c;
545      gpgme_key_t pk;      gpgme_key_t pk;
546      km_group_cb_s gcb;          km_group_cb_s gcb;
547        struct genkey_s genkey;
548      struct winpt_key_s k = {0};      struct winpt_key_s k = {0};
549      struct http_file_s * http;      struct URL_ctx_s *url;
550      refresh_cache_s rcs = {0};      refresh_cache_s rcs = {0};
551      char keyid[48], uid[128], type[32], * q;      char keyid[48], uid[128], type[32], * q;
552      const char *t, * host;      const char *t, * host;
# Line 778  keymanager_dlg_proc (HWND dlg, UINT msg, Line 776  keymanager_dlg_proc (HWND dlg, UINT msg,
776                  set_menu_text( popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver") );                  set_menu_text( popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver") );
777              #endif              #endif
778                  idx = listview_get_curr_pos (kmi->lv);                  idx = listview_get_curr_pos (kmi->lv);
779                  if (km_check_for_seckey (kmi->lv, idx, &i) && i == 0)                  if (km_check_for_seckey (kmi->lv, idx, &i) && i == 0) {
                 {  
780                      set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED);                      set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED);
781                      set_menu_state (popup, ID_KEYCTX_MAXTRUST, MF_ENABLED);                      set_menu_state (popup, ID_KEYCTX_MAXTRUST, MF_ENABLED);
782                  }                  }
783                  if( !km_check_for_seckey( kmi->lv, idx, NULL ) ) {                  if (!km_check_for_seckey (kmi->lv, idx, NULL)) {
784                      set_menu_state( popup, ID_KEYCTX_REV, MF_DISABLED|MF_GRAYED );                      set_menu_state( popup, ID_KEYCTX_REV, MF_DISABLED|MF_GRAYED );
785                      set_menu_state( popup, ID_KEYCTX_ADDKEY, MF_DISABLED|MF_GRAYED );                      set_menu_state( popup, ID_KEYCTX_ADDKEY, MF_DISABLED|MF_GRAYED );
786                      set_menu_state( popup, ID_KEYCTX_ADDUID, MF_DISABLED|MF_GRAYED );                      set_menu_state( popup, ID_KEYCTX_ADDUID, MF_DISABLED|MF_GRAYED );
# Line 796  keymanager_dlg_proc (HWND dlg, UINT msg, Line 793  keymanager_dlg_proc (HWND dlg, UINT msg,
793                  {                  {
794                      /* PGP 2 keys, version 3 have no no support for photo-id's,                      /* PGP 2 keys, version 3 have no no support for photo-id's,
795                         designated revokers and secondary keys. */                         designated revokers and secondary keys. */
796                      set_menu_state( popup, ID_KEYCTX_ADDKEY, MF_DISABLED|MF_GRAYED );                      set_menu_state (popup, ID_KEYCTX_ADDKEY, MF_DISABLED|MF_GRAYED);
797                      set_menu_state( popup, ID_KEYCTX_ADDREV, MF_DISABLED|MF_GRAYED );                      set_menu_state (popup, ID_KEYCTX_ADDREV, MF_DISABLED|MF_GRAYED);
798                      set_menu_state( popup, ID_KEYCTX_ADDPHOTO, MF_DISABLED|MF_GRAYED );                      set_menu_state (popup, ID_KEYCTX_ADDPHOTO, MF_DISABLED|MF_GRAYED);
799                  }                  }
800                  if( km_get_key_status( kmi->lv, idx ) & KM_FLAG_DISABLED )                  if( km_get_key_status( kmi->lv, idx ) & KM_FLAG_DISABLED )
801                      set_menu_state( popup, ID_KEYCTX_DISABLE, MF_DISABLED|MF_GRAYED );                      set_menu_state( popup, ID_KEYCTX_DISABLE, MF_DISABLED|MF_GRAYED );
# Line 946  keymanager_dlg_proc (HWND dlg, UINT msg, Line 943  keymanager_dlg_proc (HWND dlg, UINT msg,
943              }              }
944                            
945              q = km_quote_uid (uid);              q = km_quote_uid (uid);
946                memset (&k, 0, sizeof (k));
947              k.key_pair = 1;              k.key_pair = 1;
948              k.keyid = keyid;              k.keyid = keyid;
949              k.uid = q;              k.uid = q;
# Line 968  keymanager_dlg_proc (HWND dlg, UINT msg, Line 966  keymanager_dlg_proc (HWND dlg, UINT msg,
966                  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 );
967                  return FALSE;                  return FALSE;
968              }              }
969                memset (&k, 0, sizeof (k));
970              k.keyid = keyid;              k.keyid = keyid;
971              k.uid = uid;              k.uid = uid;
972              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYTRUST, dlg,              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYTRUST, dlg,
# Line 981  keymanager_dlg_proc (HWND dlg, UINT msg, Line 980  keymanager_dlg_proc (HWND dlg, UINT msg,
980                  msg_box( dlg, _("Please select a key."), _("Key Manager"), MB_ERR );                  msg_box( dlg, _("Please select a key."), _("Key Manager"), MB_ERR );
981                  return FALSE;                  return FALSE;
982              }              }
983              listview_get_item_text( kmi->lv, idx, 0, uid, sizeof uid-1 );              listview_get_item_text (kmi->lv, idx, 0, uid, DIM (uid)-1);
984              listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 );              listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1);
985                memset (&k, 0, sizeof (k));
986              k.keyid = keyid;              k.keyid = keyid;
987              k.uid = uid;              k.uid = uid;
988              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYSIG, dlg,              dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSIG, dlg,
989                                keysig_dlg_proc, (LPARAM)&k,                                keysig_dlg_proc, (LPARAM)&k,
990                                _("Key Signature List" ), IDS_WINPT_KEYSIG );                                _("Key Signature List" ), IDS_WINPT_KEYSIG);
991              return TRUE;              return TRUE;
992                            
993          case ID_KEYMISC_PROPS:          case ID_KEYMISC_PROPS:
# Line 998  keymanager_dlg_proc (HWND dlg, UINT msg, Line 998  keymanager_dlg_proc (HWND dlg, UINT msg,
998              }              }
999              listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid -1 );              listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid -1 );
1000              listview_get_item_text( kmi->lv, idx, 2, type, sizeof type -1 );              listview_get_item_text( kmi->lv, idx, 2, type, sizeof type -1 );
1001                memset (&k, 0, sizeof (k));
1002              k.key_pair = 0;              k.key_pair = 0;
1003              k.keyid = keyid;              k.keyid = keyid;
1004              if( !strcmp( type, "pub/sec" ) || !strcmp( type, "pub/crd" ) )              if( !strcmp( type, "pub/sec" ) || !strcmp( type, "pub/crd" ) )
# Line 1051  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1052  keymanager_dlg_proc (HWND dlg, UINT msg,
1052              return TRUE;              return TRUE;
1053                            
1054          case ID_KEYMISC_NEWKEY:          case ID_KEYMISC_NEWKEY:
1055              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYGEN, dlg,              memset (&genkey, 0, sizeof (genkey));
1056                                keygen_dlg_proc, NULL, _("Key Generation"),              dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYGEN, dlg,
1057                                IDS_WINPT_KEYGEN );                                keygen_dlg_proc, (LPARAM)&genkey, _("Key Generation"),
1058              if( keycache_get_reload( ) )                                IDS_WINPT_KEYGEN);
1059                  send_cmd_id( dlg, ID_KEYMISC_RECACHE );              if (genkey.newkey)
1060                    keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey);
1061              return TRUE;              return TRUE;
1062    
1063          case ID_KEYMISC_CARDNEW:          case ID_KEYMISC_CARDNEW:
# Line 1071  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1073  keymanager_dlg_proc (HWND dlg, UINT msg,
1073              return TRUE;              return TRUE;
1074    
1075          case ID_KEYMISC_KEYWIZARD:          case ID_KEYMISC_KEYWIZARD:
1076              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYWIZARD, dlg,              memset (&genkey, 0, sizeof (genkey));
1077                                keygen_wizard_dlg_proc, NULL, _("Key Generation Wizard"),              dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYWIZARD, dlg,
1078                                IDS_WINPT_KEYWIZARD );                                keygen_wizard_dlg_proc, (LPARAM)&genkey, _("Key Generation Wizard"),
1079              if( keycache_get_reload() )                                IDS_WINPT_KEYWIZARD);
1080                  send_cmd_id( dlg, ID_KEYMISC_RECACHE );              if (genkey.newkey)
1081                    keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey);
1082              return TRUE;              return TRUE;
1083                            
1084          case ID_KEYMISC_SENDRECV:          case ID_KEYMISC_SENDRECV:
# Line 1103  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1106  keymanager_dlg_proc (HWND dlg, UINT msg,
1106              return TRUE;              return TRUE;
1107    
1108          case ID_KEYMISC_IMPORT_HTTP:          case ID_KEYMISC_IMPORT_HTTP:
1109              http = (struct http_file_s *)get_http_file_dlg (dlg);              url = (struct URL_ctx_s*)get_http_file_dlg (dlg);
1110              if (http->cancel == 0)              if (url->cancel == 0)
1111                  km_http_import (dlg, http->url);                  km_http_import (dlg, url->url);
1112              delete http;              delete url; url=NULL;
1113              break;              break;
1114                            
1115          case ID_KEYMISC_EXPORT:          case ID_KEYMISC_EXPORT:
# Line 1187  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1190  keymanager_dlg_proc (HWND dlg, UINT msg,
1190                  break;                  break;
1191              listview_get_item_text (kmi->lv, idx, 1, keyid, sizeof (keyid)-1);              listview_get_item_text (kmi->lv, idx, 1, keyid, sizeof (keyid)-1);
1192              /* XXX: pub/crd = secret key does not work */              /* XXX: pub/crd = secret key does not work */
1193                memset (&k, 0, sizeof (k));
1194              k.is_protected = km_check_if_protected (kmi->lv, idx);              k.is_protected = km_check_if_protected (kmi->lv, idx);
1195              k.key_pair = km_check_for_seckey (kmi->lv, idx, NULL);              k.key_pair = km_check_for_seckey (kmi->lv, idx, NULL);
1196              k.keyid = keyid;              k.keyid = keyid;
1197                k.is_v3 = km_key_is_v3 (kmi->lv, idx);
1198              k.flags = km_get_key_status (kmi->lv, idx);              k.flags = km_get_key_status (kmi->lv, idx);
1199              dialog_box_param (glob_hinst, (LPCTSTR)IDD_WINPT_KEYEDIT, dlg,              dialog_box_param (glob_hinst, (LPCTSTR)IDD_WINPT_KEYEDIT, dlg,
1200                                keyedit_main_dlg_proc, (LPARAM)&k,                                keyedit_main_dlg_proc, (LPARAM)&k,
# Line 1221  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1226  keymanager_dlg_proc (HWND dlg, UINT msg,
1226              break;              break;
1227                            
1228          case ID_KEYCTX_SETPREFKS:          case ID_KEYCTX_SETPREFKS:
1229              /* XXX: todo */              listview_get_item_text (kmi->lv, idx, 1, keyid, DIM(keyid)-1);
1230                memset (&k, 0, sizeof (k));
1231                k.keyid = keyid;
1232                keyedit_set_pref_keyserver (&k, dlg);
1233              break;              break;
1234    
1235          case ID_KEYMISC_REFRESH_KEYS:          case ID_KEYMISC_REFRESH_KEYS:
1236              if (listview_count_items (kmi->lv, 1) == 0)              if (listview_count_items (kmi->lv, 1) == 0) {
             {  
1237                  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);
1238                  listview_select_all (kmi->lv);                  listview_select_all (kmi->lv);
1239              }              }
# Line 1269  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1276  keymanager_dlg_proc (HWND dlg, UINT msg,
1276    
1277          case ID_KEYCTX_ADDKEY:          case ID_KEYCTX_ADDKEY:
1278              idx = listview_get_curr_pos( kmi->lv );              idx = listview_get_curr_pos( kmi->lv );
1279              listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid - 1 );              listview_get_item_text( kmi->lv, idx, 1, keyid, DIM (keyid)-1);
1280                memset (&k, 0, sizeof (k));
1281              k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL );              k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL );
1282              k.is_protected = km_check_if_protected( kmi->lv, idx );              k.is_protected = km_check_if_protected( kmi->lv, idx );
1283              k.keyid = keyid;              k.keyid = keyid;
# Line 1278  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1286  keymanager_dlg_proc (HWND dlg, UINT msg,
1286    
1287          case ID_KEYCTX_ADDUID:          case ID_KEYCTX_ADDUID:
1288              idx = listview_get_curr_pos( kmi->lv );              idx = listview_get_curr_pos( kmi->lv );
1289              listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 );              listview_get_item_text( kmi->lv, idx, 1, keyid, DIM (keyid)-1);
1290                memset (&k, 0, sizeof (k));
1291              k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL );              k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL );
1292              k.is_protected = km_check_if_protected( kmi->lv, idx );              k.is_protected = km_check_if_protected( kmi->lv, idx );
1293              k.keyid = keyid;              k.keyid = keyid;
# Line 1286  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1295  keymanager_dlg_proc (HWND dlg, UINT msg,
1295              break;              break;
1296    
1297          case ID_KEYCTX_ADDREV:          case ID_KEYCTX_ADDREV:
1298              idx = listview_get_curr_pos( kmi->lv );              idx = listview_get_curr_pos (kmi->lv);
1299              listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 );                    listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1);
1300                memset (&k, 0, sizeof (k));
1301              k.keyid = keyid;              k.keyid = keyid;
1302              k.is_protected = km_check_if_protected( kmi->lv, idx );              k.is_protected = km_check_if_protected( kmi->lv, idx );
1303              k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL );              k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL );
# Line 1295  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1305  keymanager_dlg_proc (HWND dlg, UINT msg,
1305              break;              break;
1306    
1307          case ID_KEYCTX_ADDPHOTO:          case ID_KEYCTX_ADDPHOTO:
1308              idx = listview_get_curr_pos( kmi->lv );              idx = listview_get_curr_pos (kmi->lv);
1309              listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof keyid-1 );              listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1);
1310                memset (&k, 0, sizeof (k));
1311              k.keyid = keyid;              k.keyid = keyid;
1312              k.is_protected = km_check_if_protected( kmi->lv, idx );              k.is_protected = km_check_if_protected (kmi->lv, idx);
1313              k.key_pair = km_check_for_seckey( kmi->lv, idx, NULL );              k.key_pair = km_check_for_seckey (kmi->lv, idx, NULL);
1314              keyedit_add_photo( &k, dlg );              keyedit_add_photo (&k, dlg);
1315              break;              break;
1316    
1317          case ID_KEYCTX_KS_NL:          case ID_KEYCTX_KS_NL:

Legend:
Removed from v.16  
changed lines
  Added in v.20

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26