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

Diff of /trunk/Src/wptClipSignEncDlg.cpp

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

revision 224 by twoaday, Mon Feb 13 09:38:03 2006 UTC revision 225 by twoaday, Tue Jun 6 13:37:59 2006 UTC
# Line 1  Line 1 
1  /* wptSignEncDlg.cpp - Sign & encrypt dialog  /* wptSignEncDlg.cpp - Sign & encrypt dialog
2   *      Copyright (C) 2000-2005 Timo Schulz   *      Copyright (C) 2000-2006 Timo Schulz
3   *   *
4   * This file is part of WinPT.   * This file is part of WinPT.
5   *   *
# Line 106  clip_signenc_dlg_proc (HWND dlg, UINT ms Line 106  clip_signenc_dlg_proc (HWND dlg, UINT ms
106      int force_trust = 0;      int force_trust = 0;
107      int n;      int n;
108            
109      switch( msg ) {      switch (msg) {
110      case WM_INITDIALOG:      case WM_INITDIALOG:
111          SetWindowText (dlg, _("Sign & Encrypt"));          SetWindowText (dlg, _("Sign & Encrypt"));
112          SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));          SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));
113          kc = keycache_get_ctx (KEYCACHE_PUB);          kc = keycache_get_ctx (KEYCACHE_PUB);
         if (!kc)  
             BUG (NULL);  
114          lv = keylist_load (GetDlgItem (dlg, IDC_SIGNENC_KEYLIST),          lv = keylist_load (GetDlgItem (dlg, IDC_SIGNENC_KEYLIST),
115                             kc, NULL, KEYLIST_ENCRYPT_MIN, KEY_SORT_USERID);                             kc, NULL, KEYLIST_ENCRYPT_MIN, KEY_SORT_USERID);
116          seclist_init (dlg, IDC_SIGNENC_SECLIST, KEYLIST_FLAG_SHORT, &list);          seclist_init (dlg, IDC_SIGNENC_SECLIST, KEYLIST_FLAG_SHORT, &list);
# Line 132  clip_signenc_dlg_proc (HWND dlg, UINT ms Line 130  clip_signenc_dlg_proc (HWND dlg, UINT ms
130          return FALSE;          return FALSE;
131                    
132      case WM_NOTIFY:      case WM_NOTIFY:
133          NMHDR * notify;          NMHDR *notify;
134          notify = (NMHDR *)lparam;          notify = (NMHDR *)lparam;
135          if (notify && notify->code == NM_DBLCLK          if (notify && notify->code == NM_DBLCLK
136              && notify->idFrom == IDC_SIGNENC_KEYLIST)              && notify->idFrom == IDC_SIGNENC_KEYLIST)
137              PostMessage (dlg, WM_COMMAND, MAKEWPARAM (IDOK, 0), 0);              PostMessage (dlg, WM_COMMAND, MAKEWPARAM (IDOK, 0), 0);
138          return TRUE;          return TRUE;
139                    
     case WM_SYSCOMMAND:  
         if (LOWORD (wparam) == SC_CLOSE)  
             EndDialog (dlg, TRUE);  
         return FALSE;  
           
140      case WM_COMMAND:      case WM_COMMAND:
141          if (HIWORD (wparam) == BN_CLICKED          if (HIWORD (wparam) == BN_CLICKED
142              && LOWORD (wparam) == IDC_SIGNENC_SELKEY) {              && LOWORD (wparam) == IDC_SIGNENC_SELKEY) {
# Line 158  clip_signenc_dlg_proc (HWND dlg, UINT ms Line 151  clip_signenc_dlg_proc (HWND dlg, UINT ms
151                           _("Sign & Encrypt"), MB_ERR);                           _("Sign & Encrypt"), MB_ERR);
152                  return FALSE;                  return FALSE;
153              }              }
154              if( IsDlgButtonChecked( dlg, IDC_SIGNENC_SELKEY ) ) {              if (IsDlgButtonChecked (dlg, IDC_SIGNENC_SELKEY)) {
155                  gpgme_key_t key;                  gpgme_key_t key;
156                  const char * s;                  const char *s;
157    
158                  if( seclist_select_key( dlg, IDC_SIGNENC_SECLIST, &key ) ) {                  if (seclist_select_key (dlg, IDC_SIGNENC_SECLIST, &key)) {
159                      msg_box (dlg, _("No key was selected."), _("Signing"), MB_ERR);                      msg_box (dlg, _("No key was selected."), _("Signing"), MB_ERR);
160                        safe_free (rset);
161                      return FALSE;                      return FALSE;
162                  }                  }
163                  s = key->subkeys->keyid;                  s = key->subkeys->keyid;
# Line 174  clip_signenc_dlg_proc (HWND dlg, UINT ms Line 168  clip_signenc_dlg_proc (HWND dlg, UINT ms
168                  signer = get_gnupg_default_key ();                  signer = get_gnupg_default_key ();
169                  if (!signer) {                  if (!signer) {
170                      msg_box (dlg, _("Could not get default key."), _("Signing"), MB_ERR);                      msg_box (dlg, _("Could not get default key."), _("Signing"), MB_ERR);
171                        safe_free (rset);
172                      return FALSE;                      return FALSE;
173                  }                  }
174              }              }
# Line 181  clip_signenc_dlg_proc (HWND dlg, UINT ms Line 176  clip_signenc_dlg_proc (HWND dlg, UINT ms
176              err = gpgme_new (&ctx);              err = gpgme_new (&ctx);
177              if (err)              if (err)
178                  BUG (NULL);                  BUG (NULL);
   
179              set_gpg_passphrase_cb (&pwd, ctx, GPG_CMD_SIGN, dlg, _("Sign & Encrypt"));              set_gpg_passphrase_cb (&pwd, ctx, GPG_CMD_SIGN, dlg, _("Sign & Encrypt"));
180              err = gpg_clip_sign_encrypt (ctx, signer, rset, force_trust);              err = gpg_clip_sign_encrypt (ctx, signer, rset, force_trust);
181              release_gpg_passphrase_cb (&pwd);              release_gpg_passphrase_cb (&pwd);
182              free (rset);              safe_free (rset);
183              free_if_alloc (signer);              free_if_alloc (signer);
184              gpgme_release (ctx);              gpgme_release (ctx);
185              if (gpgme_err_code (err) ==  GPG_ERR_BAD_PASSPHRASE)              if (gpgme_err_code (err) ==  GPG_ERR_BAD_PASSPHRASE)
186                  agent_del_cache (pwd.keyid);                  agent_del_cache (pwd.keyid);
187              if (err) {              if (err)
188                  msg_box (dlg, gpgme_strerror (err), _("Sign & Encrypt"), MB_ERR );                  msg_box (dlg, gpgme_strerror (err), _("Sign & Encrypt"), MB_ERR);
189                  return FALSE;              else {
190                    show_msg (dlg, 1500, _("GnuPG Status: Finished"));
191                    EndDialog (dlg, TRUE);
192              }              }
             show_msg (dlg, 1500, _("GnuPG Status: Finished"));  
             EndDialog (dlg, TRUE);  
193              return TRUE;              return TRUE;
194                            
195          case IDCANCEL:          case IDCANCEL:
196              EndDialog( dlg, FALSE );              EndDialog (dlg, FALSE);
197              return FALSE;              return FALSE;
198          }          }
199          break;          break;

Legend:
Removed from v.224  
changed lines
  Added in v.225

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26