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

Diff of /trunk/Src/wptKeyManager.cpp

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

revision 18 by twoaday, Mon May 9 08:54:21 2005 UTC revision 19 by twoaday, Fri May 20 08:39:15 2005 UTC
# Line 1  Line 1 
1  /* wptKeyManager.cpp - Handy functions for the Key Manager dialog  /* wptKeyManager.cpp - Handy functions for the Key Manager dialog
2   *      Copyright (C) 2001-2004 Timo Schulz   *      Copyright (C) 2001-2005 Timo Schulz
3   *   *
4   * This file is part of WinPT.   * This file is part of WinPT.
5   *   *
# Line 17  Line 17 
17   * along with WinPT; if not, write to the Free Software Foundation,   * along with WinPT; if not, write to the Free Software Foundation,
18   * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA   * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19   */   */
 /* x-todo-status: OK */  
   
20  #include <windows.h>  #include <windows.h>
21  #include <commctrl.h>  #include <commctrl.h>
22  #include <stdio.h>  #include <stdio.h>
# Line 151  km_get_key_status( listview_ctrl_t lv, i Line 149  km_get_key_status( listview_ctrl_t lv, i
149    
150    
151  int  int
152  km_enable_disable_key( listview_ctrl_t lv, HWND dlg, int pos, int enable )  km_enable_disable_key (listview_ctrl_t lv, HWND dlg, int pos, int enable)
153  {  {
154      gpgme_ctx_t ctx;      gpgme_ctx_t ctx;
155      gpgme_editkey_t ek;      gpgme_editkey_t ek;
# Line 159  km_enable_disable_key( listview_ctrl_t l Line 157  km_enable_disable_key( listview_ctrl_t l
157      int edit_id;      int edit_id;
158      char keyid[32];      char keyid[32];
159    
160      listview_get_item_text( lv, pos, 1, keyid, sizeof keyid-1 );      listview_get_item_text( lv, pos, 1, keyid, DIM (keyid)-1 );
161      err = gpgme_editkey_new( &ek );      err = gpgme_editkey_new( &ek );
162      if( err )      if( err )
163          BUG( NULL );          BUG( NULL );
164      if( enable ) {      if( enable ) {
165          gpgme_editkey_enable_set( ek );          gpgme_editkey_enable_set (ek);
166          edit_id = GPGME_EDITKEY_ENABLE;          edit_id = GPGME_EDITKEY_ENABLE;
167      }      }
168      else {      else {
169          gpgme_editkey_disable_set( ek );          gpgme_editkey_disable_set (ek);
170          edit_id = GPGME_EDITKEY_DISABLE;          edit_id = GPGME_EDITKEY_DISABLE;
171      }      }
172      err = gpgme_new( &ctx );      err = gpgme_new (&ctx);
173      if( err )      if( err )
174          BUG( NULL );          BUG( NULL );
175      gpgme_set_edit_ctx( ctx, ek, edit_id );      gpgme_set_edit_ctx (ctx, ek, edit_id);
176      err = gpgme_op_editkey( ctx, keyid );      err = gpgme_op_editkey (ctx, keyid);
177      if( !err ) {      if( !err ) {
178          show_msg( dlg, 1500, _("Key status changed.") );          show_msg( dlg, 1500, _("Key status changed.") );
179          keycache_set_reload( 1 );          keycache_set_reload( 1 );
# Line 183  km_enable_disable_key( listview_ctrl_t l Line 181  km_enable_disable_key( listview_ctrl_t l
181      else      else
182          msg_box( dlg, gpgme_strerror( err ), _("Key Manager"), MB_ERR );          msg_box( dlg, gpgme_strerror( err ), _("Key Manager"), MB_ERR );
183    
184      gpgme_release( ctx );      gpgme_release (ctx);
185      gpgme_editkey_release( ek );      gpgme_editkey_release (ek);
186      return err? WPTERR_GENERAL : 0;      return err? WPTERR_GENERAL : 0;
187  } /* km_enable_disable_key */  } /* km_enable_disable_key */
188    
# Line 318  leave: Line 316  leave:
316    
317    
318  static int  static int
319  extract_dash_escaped_key( void )  extract_dash_escaped_key (void)
320  {  {
321      gpgme_data_t inp, plain;      gpgme_data_t inp, plain;
322      gpgme_error_t err;      gpgme_error_t err;
323    
324      err = gpgme_data_new_from_clipboard (&inp);      err = gpgme_data_new_from_clipboard (&inp);
325      if( err ) {      if (err) {
326          msg_box( NULL, gpgme_strerror( err ), _("Key Manager"), MB_ERR );          msg_box (NULL, gpgme_strerror( err ), _("Key Manager"), MB_ERR);
327          return -1;          return -1;
328      }      }
329      gpgme_data_extract_plaintext( inp, &plain );      gpgme_data_extract_plaintext (inp, &plain);
330      gpgme_data_release( inp );      gpgme_data_release (inp);
331      gpgme_data_release_and_set_clipboard( plain );      gpgme_data_release_and_set_clipboard (plain);
332    
333      return 0;      return 0;
334  } /* extract_dash_escaped_key */  } /* extract_dash_escaped_key */
# Line 340  int Line 338  int
338  km_clip_import( HWND dlg )  km_clip_import( HWND dlg )
339  {  {
340      gpgme_error_t err;      gpgme_error_t err;
341      gpgme_cliptype_t pgptype;      gpgme_pgptype_t pgptype;
342      int id;      int id;
343      int has_data = 0;      int has_data = 0;
344            
# Line 355  km_clip_import( HWND dlg ) Line 353  km_clip_import( HWND dlg )
353          msg_box( dlg, _("No valid OpenPGP data found."), _("Key Manager"), MB_ERR );          msg_box( dlg, _("No valid OpenPGP data found."), _("Key Manager"), MB_ERR );
354          return WPTERR_GENERAL;          return WPTERR_GENERAL;
355      }      }
356      if( !(pgptype & GPGME_CLIP_PUBKEY) && !(pgptype & GPGME_CLIP_SECKEY) ) {      if( !(pgptype & GPGME_PGP_PUBKEY) && !(pgptype & GPGME_PGP_SECKEY) ) {
357          msg_box( dlg, _("No valid OpenPGP keys found."), _("Key Manager"), MB_ERR );          msg_box( dlg, _("No valid OpenPGP keys found."), _("Key Manager"), MB_ERR );
358          return WPTERR_GENERAL;          return WPTERR_GENERAL;
359      }      }
360      if( pgptype & GPGME_CLIP_DASH_ESCAPED ) {      if( pgptype & GPGME_PGP_DASH_ESCAPED ) {
361          id = msg_box( dlg, _("The key you want to import is dash escacped.\n"          id = msg_box( dlg, _("The key you want to import is dash escacped.\n"
362                               "Do you want to extract the key?"),                               "Do you want to extract the key?"),
363                        _("Key Manager"), MB_YESNO );                        _("Key Manager"), MB_YESNO );

Legend:
Removed from v.18  
changed lines
  Added in v.19

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26