/[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 127 by twoaday, Wed Dec 14 09:01:45 2005 UTC revision 128 by twoaday, Mon Dec 19 13:05:59 2005 UTC
# Line 190  load_toolbar (HWND dlg, struct km_info * Line 190  load_toolbar (HWND dlg, struct km_info *
190  }  }
191    
192    
193    /* Restore the width of the columns from the registry.
194       If no bitstring was found, the default size is used. */
195    int
196    restore_column_size (listview_ctrl_t hd)
197    {
198        WORD *buf;
199        HKEY root;
200        DWORD type;
201        DWORD size = hd->cols*sizeof (WORD), i;
202        LONG ec;
203    
204        ec = RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\WinPT", 0,
205                           KEY_ALL_ACCESS, &root);
206        if (ec != ERROR_SUCCESS)
207            return -1;
208    
209        buf = new WORD[size/2];
210        if (!buf)
211            BUG (NULL);
212        ec = RegQueryValueEx (root, "KMColumnSize", NULL, &type,
213                              (BYTE*)buf, &size);
214        RegCloseKey (root);
215        if (ec != ERROR_SUCCESS) {
216            free_if_alloc (buf);
217            return -1;
218        }
219    
220        /* check for garbled values. */
221        for (i=0; i < size/2; i++) {
222            if (buf[i] > 512) {
223                free_if_alloc (buf);
224                return -1;
225            }
226        }
227        for (i=0; i < size/2; i++) {
228            LVCOLUMN lvc;
229    
230            memset (&lvc, 0, sizeof (lvc));
231            lvc.mask = LVCF_WIDTH;
232            lvc.cx = buf[i];
233            ListView_SetColumn (hd->ctrl, i, &lvc);
234        }
235        free_if_alloc (buf);
236        return 0;
237    }
238    
239    
240    /* Save the current column width to the registry. */
241    int
242    save_column_size (listview_ctrl_t hd)
243    {
244        WORD *buf;
245        HKEY root;
246        LONG ec;
247        int i;
248    
249        buf = new WORD[hd->cols];
250        if (!buf)
251            BUG (NULL);
252        for (i=0; i < hd->cols; i++) {
253            LVCOLUMN lvc;
254    
255            memset (&lvc, 0, sizeof (lvc));
256            lvc.mask = LVCF_WIDTH;
257            ListView_GetColumn (hd->ctrl, i, &lvc);
258            buf[i] = lvc.cx;
259        }
260    
261        ec = RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\WinPT", 0,
262                           KEY_ALL_ACCESS, &root);
263        if (ec != ERROR_SUCCESS) {
264            free_if_alloc (buf);
265            return -1;
266        }
267    
268        ec = RegSetValueEx (root, "KMColumnSize", 0, REG_BINARY,
269                            (const BYTE*)buf, 2*hd->cols);
270        RegCloseKey (root);
271        free_if_alloc (buf);
272        return ec == ERROR_SUCCESS? 0 : -1;
273    }
274    
275    
276  /* Center window @dlg. */  /* Center window @dlg. */
277  static void  static void
278  do_center_window (HWND dlg, struct km_info *kmi)  do_center_window (HWND dlg, struct km_info *kmi)
279  {  {
280      RECT rect;      RECT rect;
281      char *p;      char *p;
282      int pos_x = 0, pos_y = 0;      int pos_x = 0;
283        int pos_y = 0;
284                    
285      /* Find bottom of keylist */      /* Find bottom of keylist */
286      GetWindowRect (GetDlgItem(dlg, IDC_KEYMISC_KEYLIST), &rect);      GetWindowRect (GetDlgItem(dlg, IDC_KEYMISC_KEYLIST), &rect);
# Line 513  update_ui_items (HWND hwnd, listview_ctr Line 597  update_ui_items (HWND hwnd, listview_ctr
597      int key_inv = 0;      int key_inv = 0;
598      int mult_resids[] = {ID_KEYMISC_PROPS, ID_KEYMISC_SIGN, ID_KEYMISC_EDITKEY,      int mult_resids[] = {ID_KEYMISC_PROPS, ID_KEYMISC_SIGN, ID_KEYMISC_EDITKEY,
599                           ID_KEYMISC_CHECKSIGS, ID_KEYMISC_REVCERT, 0};                           ID_KEYMISC_CHECKSIGS, ID_KEYMISC_REVCERT, 0};
600      int i;      int i, state=0;
601            
602      /* Get some states */      /* Get some states */
603      key_selected = SendMessage (GetDlgItem (hwnd, IDC_KEYMISC_KEYLIST),      key_selected = SendMessage (GetDlgItem (hwnd, IDC_KEYMISC_KEYLIST),
# Line 535  update_ui_items (HWND hwnd, listview_ctr Line 619  update_ui_items (HWND hwnd, listview_ctr
619      enable_button (hwnd_child, ID_KEYMISC_EXPORT);      enable_button (hwnd_child, ID_KEYMISC_EXPORT);
620    
621      /* Enable / disable menu items */      /* Enable / disable menu items */
622        state = key_selected? MF_ENABLED : MF_DISABLED|MF_GRAYED;
623      hmenu = GetMenu (hwnd);      hmenu = GetMenu (hwnd);
624      set_menu_state (hmenu, ID_KEYMISC_EXPORT, key_selected ? MF_ENABLED : MF_GRAYED);      set_menu_state (hmenu, ID_KEYMISC_EXPORT, state);
625      set_menu_state (hmenu, ID_KEYMISC_EXPORT_PRIVKEY, key_has_sec ? MF_ENABLED : MF_GRAYED);      set_menu_state (hmenu, ID_KEYMISC_EXPORT_PRIVKEY, state);
626      set_menu_state (hmenu, ID_KEYMISC_REVCERT, key_has_sec ? MF_ENABLED : MF_GRAYED);      set_menu_state (hmenu, ID_KEYMISC_REVCERT, state);
627      set_menu_state (hmenu, ID_KEYMISC_DELETE, key_selected ? MF_ENABLED : MF_GRAYED);      set_menu_state (hmenu, ID_KEYMISC_DELETE, state);
628      set_menu_state (hmenu, ID_KEYMISC_PROPS, key_selected ? MF_ENABLED : MF_GRAYED);      set_menu_state (hmenu, ID_KEYMISC_PROPS, state);
629        set_menu_state (hmenu, ID_KEYMISC_EDITKEY, state);
630        set_menu_state (hmenu, ID_KEYMISC_CHECKSIGS, state);
631      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);
     set_menu_state (hmenu, ID_KEYMISC_EDITKEY, key_selected? MF_ENABLED : MF_GRAYED);  
     set_menu_state (hmenu, ID_KEYMISC_CHECKSIGS, key_selected? MF_ENABLED : MF_GRAYED);  
632    
633      /* Disable some menu items when multiple keys are selected. */      /* Disable some menu items when multiple keys are selected. */
634      if (listview_count_items (lv, 1) > 1) {      if (listview_count_items (lv, 1) > 1) {
# Line 610  popup_gpg_readonly (HWND dlg, HMENU hm) Line 695  popup_gpg_readonly (HWND dlg, HMENU hm)
695  static void  static void
696  change_edit_menu (listview_ctrl_t lv, HMENU hm, int id)  change_edit_menu (listview_ctrl_t lv, HMENU hm, int id)
697  {  {
698        enum item { EDIT_MENU = 1 };
699      int no_sel;      int no_sel;
700    
701      if (id != 1 /*EDIT_MENU*/)      if (id != EDIT_MENU)
702          return;          return;
703    
704      if (!clip_contains_pgpkey ())      if (!clip_contains_pgpkey ())
# Line 735  setup_status_bar (HWND dlg, listview_ctr Line 821  setup_status_bar (HWND dlg, listview_ctr
821  }  }
822    
823    
824    /* Translate all menu strings. */
825    static void
826    translate_menu_strings (HWND dlg)
827    {
828        HMENU menu;
829    
830        menu = LoadMenu (glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC);
831        set_menu_text_bypos (menu, 0, _("File"));
832        set_menu_text_bypos (menu, 1, _("Edit"));
833        set_menu_text_bypos (menu, 2, _("View"));
834        set_menu_text_bypos (menu, 3, _("Key"));
835        set_menu_text_bypos (menu, 4, _("Groups"));
836    
837        set_menu_text (menu, ID_KEYMISC_EDITKEY, _("Edit"));
838        set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail..."));
839        set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */
840        set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C"));
841        set_menu_text (menu, ID_KEYMISC_PASTE, _("&Paste\tCtrl+V"));
842        set_menu_text (menu, ID_KEYMISC_FIND, _("Search...\tCtrl+F"));
843        set_menu_text (menu, ID_KEYMISC_SELALL, _("Select All\tCtrl+A"));
844        set_menu_text (menu, ID_KEYMISC_QUIT, _("&Quit"));
845        set_menu_text (menu, ID_KEYMISC_UID, _("User ID"));
846        set_menu_text (menu, ID_KEYMISC_NEWKEY, _("&Expert"));
847        set_menu_text (menu, ID_KEYMISC_KEYWIZARD, _("&Normal"));
848        set_menu_text (menu, ID_KEYMISC_EDIT, _("Edit"));
849        set_menu_text (menu, ID_KEYMISC_SIGN, _("&Sign"));
850        set_menu_text (menu, ID_KEYMISC_DELETE, _("&Delete"));
851        set_menu_text (menu, ID_KEYMISC_DELETE2, _("&Delete"));
852        set_menu_text (menu, ID_KEYMISC_REVCERT, _("&Revoke"));
853        set_menu_text (menu, ID_KEYMISC_CHECKSIGS, _("&List Signatures"));
854        set_menu_text (menu, ID_KEYMISC_TRUSTPATH, _("List Trust Path"));
855        set_menu_text (menu, ID_KEYMISC_EXPORT, _("&Export..."));
856        set_menu_text (menu, ID_KEYMISC_IMPORT, _("&Import..."));
857        set_menu_text (menu, ID_KEYMISC_PROPS, _("&Properties"));
858        set_menu_text (menu, ID_KEYMISC_GPGOPT, _("Options"));
859        set_menu_text (menu, ID_KEYMISC_GPGPREFS, _("Preferences"));
860        set_menu_text (menu, ID_KEYMISC_SENDRECV, _("Keyserver") );
861        set_menu_text (menu, ID_KEYMISC_EXPORT_PRIVKEY, _("E&xport Secret Key"));
862        set_menu_text (menu, ID_KEYMISC_RECACHE, _("Re&load Key Cache"));
863        set_menu_text (menu, ID_KEYMISC_REBUILD, _("R&everify Signatures"));
864        set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)"));
865        set_menu_text (menu, ID_KEYMISC_INFO, _("Info") );
866        set_menu_text (menu, ID_KEYMISC_HELP, _("&Help"));
867    
868        /* XXX: implement help code. */
869        set_menu_state (menu, ID_KEYMISC_HELP, MF_GRAYED);
870    
871        SetMenu (dlg, menu);
872    }
873    
874    
875    /* Translate popup menu strings. */
876    static void
877    translate_popupmenu_strings (HMENU popup)
878    {
879        set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard"));
880        set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard"));
881        set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard"));
882        set_menu_text (popup, ID_KEYCTX_KINFO_COPY, _("Copy Key Info to Clipboard"));
883        set_menu_text (popup, ID_KEYCTX_COPY, _("Copy Key to Clipboard"));
884        set_menu_text (popup, ID_KEYCTX_PASTE, _("Paste Key from Clipboard"));
885        set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver"));
886        set_menu_text (popup, ID_KEYCTX_MAXTRUST, _("Set Implicit &Trust"));
887        set_menu_text (popup, ID_KEYCTX_LISTSIGS, _("&List Signatures"));
888        set_menu_text (popup, ID_KEYCTX_PROPS, _("&Properties"));
889        set_menu_text (popup, ID_KEYCTX_EDIT, _("Key Edit"));
890        set_menu_text (popup, ID_KEYCTX_DEL, _("&Delete"));
891        set_menu_text (popup, ID_KEYCTX_REV, _("&Revoke"));
892        set_menu_text (popup, ID_KEYCTX_SIGN, _("&Sign"));
893        set_menu_text (popup, ID_KEYCTX_ENABLE, _("&Enable"));
894        set_menu_text (popup, ID_KEYCTX_DISABLE, _("&Disable"));
895        set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Re&fresh from Keyserver"));
896        set_menu_text (popup, ID_KEYCTX_SETPREFKS, _("Set preferred Keyserver URL"));
897        set_menu_text (popup, ID_KEYCTX_SENDMAIL, _("Send Key to Mail Recipient"));
898        set_menu_text (popup, ID_KEYCTX_SETDEFKEY, _("Set as Default Key"));
899    
900        set_menu_text (popup, ID_KEYCTX_ADDKEY, _("Key..."));
901        set_menu_text (popup, ID_KEYCTX_ADDUID, _("User ID..."));
902        set_menu_text (popup, ID_KEYCTX_ADDPHOTO, _("Photo ID..."));
903        set_menu_text (popup, ID_KEYCTX_ADDREV, _("Revoker..."));
904    
905        /* change popup texts */
906        set_menu_text_bypos (popup, 0, _("Key Attributes"));
907        set_menu_text_bypos (popup, 6, _("Add"));
908        set_menu_text_bypos (popup, 19, _("Send to Keyserver"));
909    }
910    
911    
912  /* Dialog box procedure for the Key Manager. */  /* Dialog box procedure for the Key Manager. */
913  BOOL CALLBACK  BOOL CALLBACK
914  keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)  keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
915  {  {
916      struct km_info *kmi;      struct km_info *kmi;
     static HMENU menu = NULL;  
917      static int refresh_keys = 0;          static int refresh_keys = 0;    
918      INITCOMMONCONTROLSEX icex;      INITCOMMONCONTROLSEX icex;
919      HWND kl;      HWND kl;
# Line 770  keymanager_dlg_proc (HWND dlg, UINT msg, Line 943  keymanager_dlg_proc (HWND dlg, UINT msg,
943          InitCommonControlsEx (&icex);          InitCommonControlsEx (&icex);
944          kmi->hwnd_sep = regist_sep_wnd (dlg, kmi);          kmi->hwnd_sep = regist_sep_wnd (dlg, kmi);
945          imagelist_load (dlg);          imagelist_load (dlg);
946            translate_menu_strings (dlg);
947          SetWindowText (dlg, _("Key Manager"));          SetWindowText (dlg, _("Key Manager"));
948          menu = LoadMenu (glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC);  
         set_menu_text_bypos (menu, 0, _("File"));  
         set_menu_text_bypos (menu, 1, _("Edit"));  
         set_menu_text_bypos (menu, 2, _("View"));  
         set_menu_text_bypos (menu, 3, _("Key"));  
         set_menu_text_bypos (menu, 4, _("Groups"));  
         set_menu_text (menu, ID_KEYMISC_EDITKEY, _("Edit"));  
         set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail..."));  
         set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */  
         set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C"));  
         set_menu_text (menu, ID_KEYMISC_PASTE, _("&Paste\tCtrl+V"));  
         set_menu_text (menu, ID_KEYMISC_FIND, _("Search...\tCtrl+F"));  
         set_menu_text (menu, ID_KEYMISC_SELALL, _("Select All\tCtrl+A"));  
         set_menu_text (menu, ID_KEYMISC_QUIT, _("&Quit"));  
         set_menu_text (menu, ID_KEYMISC_UID, _("User ID"));  
         set_menu_text (menu, ID_KEYMISC_NEWKEY, _("&Expert"));  
         set_menu_text (menu, ID_KEYMISC_KEYWIZARD, _("&Normal"));  
         set_menu_text (menu, ID_KEYMISC_EDIT, _("Edit"));  
         set_menu_text (menu, ID_KEYMISC_SIGN, _("&Sign"));  
         set_menu_text (menu, ID_KEYMISC_DELETE, _("&Delete"));  
         set_menu_text (menu, ID_KEYMISC_DELETE2, _("&Delete"));  
         set_menu_text (menu, ID_KEYMISC_REVCERT, _("&Revoke"));  
         set_menu_text (menu, ID_KEYMISC_CHECKSIGS, _("&List Signatures"));  
         set_menu_text (menu, ID_KEYMISC_TRUSTPATH, _("List Trust Path"));  
         set_menu_text (menu, ID_KEYMISC_EXPORT, _("&Export..."));  
         set_menu_text (menu, ID_KEYMISC_IMPORT, _("&Import..."));  
         set_menu_text (menu, ID_KEYMISC_PROPS, _("&Properties"));  
         set_menu_text (menu, ID_KEYMISC_GPGOPT, _("Options"));  
         set_menu_text (menu, ID_KEYMISC_GPGPREFS, _("Preferences"));  
         set_menu_text (menu, ID_KEYMISC_SENDRECV, _("Keyserver") );  
         set_menu_text (menu, ID_KEYMISC_EXPORT_PRIVKEY, _("E&xport Secret Key"));  
         set_menu_text (menu, ID_KEYMISC_RECACHE, _("Re&load Key Cache"));  
         set_menu_text (menu, ID_KEYMISC_REBUILD, _("R&everify Signatures"));  
         set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)"));  
         set_menu_text (menu, ID_KEYMISC_INFO, _("Info") );  
         set_menu_text (menu, ID_KEYMISC_HELP, _("&Help"));  
           
         /* XXX: implement help code. */  
         set_menu_state (menu, ID_KEYMISC_HELP, MF_GRAYED);  
           
         SetMenu (dlg, menu);  
949          if (keyring_check_last_access ())          if (keyring_check_last_access ())
950              keycache_set_reload (1);              keycache_set_reload (1);
951          if (keycache_get_reload ())          if (keycache_get_reload ())
# Line 819  keymanager_dlg_proc (HWND dlg, UINT msg, Line 953  keymanager_dlg_proc (HWND dlg, UINT msg,
953          c = keycache_get_ctx (KEYCACHE_PUB);          c = keycache_get_ctx (KEYCACHE_PUB);
954          if (!c)          if (!c)
955              BUG (NULL);              BUG (NULL);
956            kl = GetDlgItem (dlg, IDC_KEYMISC_KEYLIST);
957          kmi->keylist_sortby = KEY_SORT_USERID;          kmi->keylist_sortby = KEY_SORT_USERID;
958          Header_SetImageList(ListView_GetHeader (GetDlgItem (dlg, IDC_KEYMISC_KEYLIST)),          Header_SetImageList(ListView_GetHeader (kl), glob_imagelist);
                             glob_imagelist);  
959          kmi->lv = keylist_load (GetDlgItem (dlg, IDC_KEYMISC_KEYLIST), c,          kmi->lv = keylist_load (GetDlgItem (dlg, IDC_KEYMISC_KEYLIST), c,
960                                  NULL, KEYLIST_LIST, kmi->keylist_sortby);                                  NULL, KEYLIST_LIST, kmi->keylist_sortby);
961          /* init subclassing for the listview */          /* init subclassing for the listview */
         kl = GetDlgItem (dlg, IDC_KEYMISC_KEYLIST);  
962          keylist_proc.dlg = dlg;          keylist_proc.dlg = dlg;
963          keylist_proc.current = (WNDPROC)keylist_subclass_proc;          keylist_proc.current = (WNDPROC)keylist_subclass_proc;
964          keylist_proc.old = (WNDPROC)GetWindowLong( kl, GWL_WNDPROC );          keylist_proc.old = (WNDPROC)GetWindowLong( kl, GWL_WNDPROC );
# Line 836  keymanager_dlg_proc (HWND dlg, UINT msg, Line 969  keymanager_dlg_proc (HWND dlg, UINT msg,
969                  BUG (NULL);                  BUG (NULL);
970              }              }
971          }          }
         #if 0  
         km_groups_new (&gc, GetDlgItem (dlg, IDC_KEYMISC_GROUP));  
         km_groups_load (gc);  
         #endif  
972          kmi->statbar = setup_status_bar (dlg, kmi->lv);          kmi->statbar = setup_status_bar (dlg, kmi->lv);
973          SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi);          SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi);
974          kmi->toolbar = load_toolbar (dlg, kmi);          kmi->toolbar = load_toolbar (dlg, kmi);
# Line 847  keymanager_dlg_proc (HWND dlg, UINT msg, Line 976  keymanager_dlg_proc (HWND dlg, UINT msg,
976          do_center_window (dlg, kmi);          do_center_window (dlg, kmi);
977          do_resize_window (dlg, kmi);          do_resize_window (dlg, kmi);
978          update_ui_items (dlg, kmi->lv);          update_ui_items (dlg, kmi->lv);
979            restore_column_size (kmi->lv);
980    
981          SetDlgItemText (dlg, IDC_KEYMISC_GTEXT, _("Groups"));          SetDlgItemText (dlg, IDC_KEYMISC_GTEXT, _("Groups"));
982          SetClassLong (dlg, GCL_HICON, (LONG)LoadIcon (glob_hinst,          SetClassLong (dlg, GCL_HICON, (LONG)LoadIcon (glob_hinst,
# Line 855  keymanager_dlg_proc (HWND dlg, UINT msg, Line 985  keymanager_dlg_proc (HWND dlg, UINT msg,
985          return TRUE;          return TRUE;
986                    
987      case WM_DESTROY:      case WM_DESTROY:
988            save_column_size (kmi->lv);
989          if (kmi->lv) {          if (kmi->lv) {
990              keylist_delete (kmi->lv);              keylist_delete (kmi->lv);
991              kmi->lv = NULL;                    kmi->lv = NULL;      
# Line 865  keymanager_dlg_proc (HWND dlg, UINT msg, Line 996  keymanager_dlg_proc (HWND dlg, UINT msg,
996          set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X", type);          set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X", type);
997          ltoa (kmi->pos_y, type, 10);          ltoa (kmi->pos_y, type, 10);
998          set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", type);          set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", type);
999            
1000          /* Remove runtime information. This should be the last action taken here. */          /* Remove runtime information. This should be the last action taken here. */
1001          delete kmi; kmi = NULL;          delete kmi; kmi = NULL;
1002          SetWindowLong (dlg, GWL_USERDATA, 0);          SetWindowLong (dlg, GWL_USERDATA, 0);
# Line 982  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1114  keymanager_dlg_proc (HWND dlg, UINT msg,
1114                  GetCursorPos (&p);                  GetCursorPos (&p);
1115                  hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYMISC_CTX));                  hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYMISC_CTX));
1116                  popup = GetSubMenu (hm, 0);                  popup = GetSubMenu (hm, 0);
1117                    translate_popupmenu_strings (popup);
                 set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard"));  
                 set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard"));  
                 set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard"));  
                 set_menu_text (popup, ID_KEYCTX_KINFO_COPY, _("Copy Key Info to Clipboard"));  
                 set_menu_text (popup, ID_KEYCTX_COPY, _("Copy Key to Clipboard"));  
                 set_menu_text (popup, ID_KEYCTX_PASTE, _("Paste Key from Clipboard"));  
                 set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Refresh from Keyserver"));  
                 set_menu_text (popup, ID_KEYCTX_MAXTRUST, _("Set Implicit &Trust"));  
                 set_menu_text (popup, ID_KEYCTX_LISTSIGS, _("&List Signatures"));  
                 set_menu_text (popup, ID_KEYCTX_PROPS, _("&Key Properties"));  
                 set_menu_text (popup, ID_KEYCTX_EDIT, _("Key Edit"));  
                 set_menu_text (popup, ID_KEYCTX_DEL, _("&Delete"));  
                 set_menu_text (popup, ID_KEYCTX_REV, _("&Revoke"));  
                 set_menu_text (popup, ID_KEYCTX_SIGN, _("&Sign"));  
                 set_menu_text (popup, ID_KEYCTX_ENABLE, _("&Enable"));  
                 set_menu_text (popup, ID_KEYCTX_DISABLE, _("&Disable"));  
                 set_menu_text (popup, ID_KEYCTX_RECVFROM, _("Re&fresh from Keyserver"));  
                 set_menu_text (popup, ID_KEYCTX_SETPREFKS, _("Set preferred Keyserver URL"));  
                 set_menu_text (popup, ID_KEYCTX_SENDMAIL, _("Send Key to Mail Recipient"));  
                 set_menu_text (popup, ID_KEYCTX_SETDEFKEY, _("Set as Default Key"));  
   
                 set_menu_text (popup, ID_KEYCTX_ADDKEY, _("Key..."));  
                 set_menu_text (popup, ID_KEYCTX_ADDUID, _("User ID..."));  
                 set_menu_text (popup, ID_KEYCTX_ADDPHOTO, _("Photo ID..."));  
                 set_menu_text (popup, ID_KEYCTX_ADDREV, _("Revoker..."));  
   
                 /* change popup texts */  
                 set_menu_text_bypos (popup, 0, _("Key Attributes"));  
                 set_menu_text_bypos (popup, 6, _("Add"));  
                 set_menu_text_bypos (popup, 19, _("Send to Keyserver"));  
1118    
1119                  if (km_check_for_seckey (kmi->lv, l_idx, &i))                  if (km_check_for_seckey (kmi->lv, l_idx, &i))
1120                      set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED);                      set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED);
# Line 1056  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1158  keymanager_dlg_proc (HWND dlg, UINT msg,
1158                  DestroyMenu (hm);                  DestroyMenu (hm);
1159                  return TRUE;                  return TRUE;
1160              }              }
             #if 0 /* XXX */  
             if( notify->idFrom == IDC_KEYMISC_GROUP ) {  
                 HWND tree = GetDlgItem( dlg, IDC_KEYMISC_GROUP );  
                 if( TreeView_GetSelection( tree ) ) {  
                     GetCursorPos( &p );  
                     hm = LoadMenu( glob_hinst, MAKEINTRESOURCE(IDR_WINPT_GROUP_CTX) );  
                     popup = GetSubMenu (hm, 0);  
                     if (km_index == -1) /* XXX */  
                         set_menu_state( popup, ID_GROUP_PASTE, MF_DISABLED|MF_GRAYED );  
                     set_menu_text( popup, ID_GROUP_PASTE, _("Paste into this group") );  
                     set_menu_text( popup, ID_GROUP_DELETE, _("Delete") );  
                     TrackPopupMenu( popup, TPM_RIGHTALIGN, p.x, p.y, 0, dlg, NULL );  
                     DestroyMenu( popup );  
                     DestroyMenu( hm );  
                     return TRUE;  
                 }  
             }  
             #endif  
1161              break;              break;
1162    
1163          case LVN_COLUMNCLICK:          case LVN_COLUMNCLICK:
# Line 1164  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1248  keymanager_dlg_proc (HWND dlg, UINT msg,
1248              if (kmi->lv_idx == -1) {              if (kmi->lv_idx == -1) {
1249                  msg_box (dlg, _("Please select a key."),                    msg_box (dlg, _("Please select a key."),  
1250                           _("Key Manager"), MB_ERR);                           _("Key Manager"), MB_ERR);
1251                  return TRUE;;                  return TRUE;
1252              }              }
1253              if (km_check_key_status (kmi->lv, kmi->lv_idx))              if (km_check_key_status (kmi->lv, kmi->lv_idx))
1254                  return TRUE;                  return TRUE;
1255              key = (gpgme_key_t)listview_get_item2 (kmi->lv, kmi->lv_idx);              key = (gpgme_key_t)listview_get_item2 (kmi->lv, kmi->lv_idx);
             listview_get_item_text (kmi->lv, kmi->lv_idx, 1, keyid, DIM (keyid)-1);  
1256              memset (&k, 0, sizeof (k));              memset (&k, 0, sizeof (k));
1257              k.ctx = key;              k.ctx = key;
1258              k.keyid = keyid;              k.keyid = key->subkeys->keyid;
1259              dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSIGN, dlg,              dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSIGN, dlg,
1260                                keysign_dlg_proc, (LPARAM)&k,                                keysign_dlg_proc, (LPARAM)&k,
1261                                _("Key Signing"), IDS_WINPT_KEYSIGN);                                _("Key Signing"), IDS_WINPT_KEYSIGN);
# Line 1484  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1567  keymanager_dlg_proc (HWND dlg, UINT msg,
1567    
1568          case ID_KEYMISC_REFRESH_KEYS:          case ID_KEYMISC_REFRESH_KEYS:
1569              if (listview_count_items (kmi->lv, 1) == 0) {              if (listview_count_items (kmi->lv, 1) == 0) {
1570                  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."),
1571                             _("Key Manager"), MB_INFO);
1572                  listview_select_all (kmi->lv);                  listview_select_all (kmi->lv);
1573              }              }
1574              km_refresh_from_keyserver (kmi->lv, dlg);              km_refresh_from_keyserver (kmi->lv, dlg);
# Line 1662  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1746  keymanager_dlg_proc (HWND dlg, UINT msg,
1746            
1747      return FALSE;      return FALSE;
1748  }  }
   
   
   

Legend:
Removed from v.127  
changed lines
  Added in v.128

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26