/[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 22 by twoaday, Wed Aug 10 11:33:35 2005 UTC revision 23 by twoaday, Fri Sep 30 10:10:16 2005 UTC
# Line 49  void km_dump_key (gpgme_key_t key); Line 49  void km_dump_key (gpgme_key_t key);
49    
50  static subclass_s keylist_proc;  static subclass_s keylist_proc;
51  static int km_index = -1;  static int km_index = -1;
 static int km_def_pos = 0;  
52    
53  HIMAGELIST glob_imagelist;  HIMAGELIST glob_imagelist;
54    
# Line 207  do_center_window (HWND dlg, struct km_in Line 206  do_center_window (HWND dlg, struct km_in
206      p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X" );      p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X" );
207      if( p && !strcmp( p, " " ) ) {      if( p && !strcmp( p, " " ) ) {
208          free_if_alloc( p );              free_if_alloc( p );    
209          center_window( dlg );          center_window( dlg, NULL );
210          return;          return;
211      }      }
212      else if( p )      else if( p )
# Line 216  do_center_window (HWND dlg, struct km_in Line 215  do_center_window (HWND dlg, struct km_in
215      p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y" );      p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y" );
216      if( p && !strcmp( p, " " ) ) {      if( p && !strcmp( p, " " ) ) {
217          free_if_alloc( p );          free_if_alloc( p );
218          center_window( dlg );          center_window( dlg, NULL );
219          return;          return;
220      }      }
221      else if( p )      else if( p )
222          pos_y = atol( p );          pos_y = atol( p );
223    
224      if( !pos_y && !pos_x ) {      if( !pos_y && !pos_x ) {
225          center_window( dlg );          center_window( dlg, NULL );
226          return;          return;
227      }      }
228            
# Line 340  do_check_cache( listview_ctrl_t lv, HWND Line 339  do_check_cache( listview_ctrl_t lv, HWND
339          cache = keycache_get_ctx( 1 );          cache = keycache_get_ctx( 1 );
340          if( !cache )          if( !cache )
341              BUG( dlg );              BUG( dlg );
342          keylist_reload( lv, cache, KEYLIST_LIST, GPGME_ATTR_USERID );          keylist_reload( lv, cache, KEYLIST_LIST, KEY_SORT_USERID );
343          km_complete_status_bar (sb, lv, km_def_pos);          km_complete_status_bar (sb, lv);
344      }      }
345  } /* do_check_cache */  } /* do_check_cache */
346    
# Line 583  gen_export_filename (const char *keyid) Line 582  gen_export_filename (const char *keyid)
582    
583      if (get_pubkey (keyid, &key))      if (get_pubkey (keyid, &key))
584          return m_strdup (keyid);          return m_strdup (keyid);
585      s = gpgme_key_get_string_attr (key, GPGME_ATTR_NAME, NULL, 0);      s = key->uids->name;
586      if (!s)      if (!s)
587          return m_strdup (keyid);          return m_strdup (keyid);
588      p = new char[strlen (s) + 8];      p = new char[strlen (s) + 8];
# Line 684  keymanager_dlg_proc (HWND dlg, UINT msg, Line 683  keymanager_dlg_proc (HWND dlg, UINT msg,
683          c = keycache_get_ctx( KEYCACHE_PUB );          c = keycache_get_ctx( KEYCACHE_PUB );
684          if( !c )          if( !c )
685              BUG( NULL );              BUG( NULL );
686          kmi->keylist_sortby = GPGME_ATTR_USERID;          kmi->keylist_sortby = KEY_SORT_USERID;
687          Header_SetImageList(ListView_GetHeader(GetDlgItem( dlg, IDC_KEYMISC_KEYLIST )),          Header_SetImageList(ListView_GetHeader(GetDlgItem( dlg, IDC_KEYMISC_KEYLIST )),
688                              glob_imagelist);                              glob_imagelist);
689          kmi->lv = keylist_load( GetDlgItem( dlg, IDC_KEYMISC_KEYLIST ), c,          kmi->lv = keylist_load( GetDlgItem( dlg, IDC_KEYMISC_KEYLIST ), c,
# Line 705  keymanager_dlg_proc (HWND dlg, UINT msg, Line 704  keymanager_dlg_proc (HWND dlg, UINT msg,
704          km_groups_load( gc );          km_groups_load( gc );
705          #endif          #endif
706          SetForegroundWindow( dlg );          SetForegroundWindow( dlg );
707    
708            int partpos[3];
709            RECT r;
710                    
711          kmi->statbar = CreateStatusWindow( WS_CHILD | WS_VISIBLE | CCS_BOTTOM, "status bar", dlg, 100000 );          GetClientRect (dlg, &r);
712          ShowWindow( kmi->statbar, SW_SHOW );          for (i=1; i <= 3; i++)
713          km_update_default_key_str (kmi->statbar, &km_def_pos);              partpos[i-1] = r.right/3*i;
714          km_complete_status_bar( kmi->statbar, kmi->lv, km_def_pos );          kmi->statbar = CreateStatusWindow (WS_CHILD | WS_VISIBLE | CCS_BOTTOM,
715                                               "status bar", dlg, 100000);
716            ShowWindow (kmi->statbar, SW_SHOW);
717            SendMessage (kmi->statbar, SB_SETPARTS, (WPARAM)3, (LPARAM)partpos);
718                            
719            km_update_default_key_str (kmi->statbar);
720            km_complete_status_bar( kmi->statbar, kmi->lv);
721    
722          SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi);          SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi);
723          kmi->toolbar = load_toolbar (dlg, kmi);          kmi->toolbar = load_toolbar (dlg, kmi);
# Line 723  keymanager_dlg_proc (HWND dlg, UINT msg, Line 731  keymanager_dlg_proc (HWND dlg, UINT msg,
731          if (kmi->lv) {          if (kmi->lv) {
732              keylist_delete (kmi->lv);              keylist_delete (kmi->lv);
733              kmi->lv = NULL;                    kmi->lv = NULL;      
734                        
735             /*
736           if (gc) {           if (gc) {
737              km_groups_release (gc);              km_groups_release (gc);
738              gc = NULL;              gc = NULL;
739          }          }*/
740         imagelist_destroy ();         imagelist_destroy ();
741    
742         char buf[32];         char buf[32];
# Line 924  keymanager_dlg_proc (HWND dlg, UINT msg, Line 933  keymanager_dlg_proc (HWND dlg, UINT msg,
933                  NMLISTVIEW * p = (LPNMLISTVIEW) lparam;                  NMLISTVIEW * p = (LPNMLISTVIEW) lparam;
934                  int sortby = 0;                  int sortby = 0;
935                  switch (p->iSubItem) {                  switch (p->iSubItem) {
936                  case 0:  sortby = GPGME_ATTR_USERID; break;                  case 0:  sortby = KEY_SORT_USERID; break;
937                  case 1:  sortby = GPGME_ATTR_KEYID; break;                  case 1:  sortby = KEY_SORT_KEYID; break;
938                  case 2:  sortby = GPGME_ATTR_IS_SECRET; break;                  case 2:  sortby = KEY_SORT_IS_SECRET; break;
939                  case 3:  sortby = GPGME_ATTR_LEN; break;                  case 3:  sortby = KEY_SORT_LEN; break;
940                  case 5:  sortby = GPGME_ATTR_VALIDITY; break;                  case 5:  sortby = KEY_SORT_VALIDITY; break;
941                  case 6:  sortby = GPGME_ATTR_OTRUST; break;                  case 6:  sortby = KEY_SORT_OTRUST; break;
942                  case 7:  sortby = GPGME_ATTR_CREATED; break;                  case 7:  sortby = KEY_SORT_CREATED; break;
943                  case 8:  sortby = GPGME_ATTR_ALGO; break;                  case 8:  sortby = KEY_SORT_ALGO; break;
944                  default: return TRUE; //sortby = GPGME_ATTR_USERID; break;                  default: return TRUE; //sortby = KEY_SORT_USERID; break;
945                  }                  }
946    
947                  if ((kmi->keylist_sortby & ~KEYLIST_SORT_DESC) == sortby)                  if ((kmi->keylist_sortby & ~KEYLIST_SORT_DESC) == sortby)
# Line 1098  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1107  keymanager_dlg_proc (HWND dlg, UINT msg,
1107                  k.key_pair = 1;                  k.key_pair = 1;
1108              k.callback.ctl = kmi->lv;              k.callback.ctl = kmi->lv;
1109              k.callback.idx = idx;              k.callback.idx = idx;
1110                k.is_v3 = km_key_is_v3 (kmi->lv, idx);
1111              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYPROPS, dlg,              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYPROPS, dlg,
1112                                keyprops_dlg_proc, (LPARAM)&k,                                keyprops_dlg_proc, (LPARAM)&k,
1113                                _("Key Properties"), IDS_WINPT_KEYPROPS );                                _("Key Properties"), IDS_WINPT_KEYPROPS );
# Line 1127  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1137  keymanager_dlg_proc (HWND dlg, UINT msg,
1137                  c = keycache_get_ctx( 1 );                  c = keycache_get_ctx( 1 );
1138                  if( !c )                  if( !c )
1139                      BUG( dlg );                      BUG( dlg );
1140                  keylist_reload( kmi->lv, c, KEYLIST_LIST, GPGME_ATTR_USERID );                  keylist_reload( kmi->lv, c, KEYLIST_LIST, KEY_SORT_USERID );
1141                  refresh_keys = 0;                  refresh_keys = 0;
1142              }              }
1143              return TRUE;              return TRUE;
# Line 1140  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1150  keymanager_dlg_proc (HWND dlg, UINT msg,
1150              c = keycache_get_ctx( 1 );              c = keycache_get_ctx( 1 );
1151              if( !c )              if( !c )
1152                  BUG( dlg );                  BUG( dlg );
1153              keylist_reload( kmi->lv, c, KEYLIST_LIST, GPGME_ATTR_USERID );              keylist_reload( kmi->lv, c, KEYLIST_LIST, KEY_SORT_USERID );
1154              return TRUE;              return TRUE;
1155                            
1156          case ID_KEYMISC_NEWKEY:          case ID_KEYMISC_NEWKEY:
# Line 1219  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1229  keymanager_dlg_proc (HWND dlg, UINT msg,
1229              }              }
1230              t = get_filename_dlg (dlg, FILE_SAVE, _("Choose Name for Key File"), NULL, name);              t = get_filename_dlg (dlg, FILE_SAVE, _("Choose Name for Key File"), NULL, name);
1231              free_if_alloc (name);              free_if_alloc (name);
1232              if (!t || overwrite_file (t) == 0)              if (t != NULL)
1233                  return FALSE;                  return FALSE;
1234              km_file_export (dlg, kmi->lv, t);              km_file_export (dlg, kmi->lv, t);
1235              return TRUE;              return TRUE;
# Line 1250  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1260  keymanager_dlg_proc (HWND dlg, UINT msg,
1260                  idx = listview_get_curr_pos( kmi->lv );                  idx = listview_get_curr_pos( kmi->lv );
1261                  listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof (keyid)-8 );                  listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof (keyid)-8 );
1262                  name = gen_export_filename (keyid);                  name = gen_export_filename (keyid);
1263                  t = get_filename_dlg (dlg, 1, _("Choose Name for Key File"), NULL, name);                  t = get_filename_dlg (dlg, FILE_SAVE, _("Choose Name for Key File"), NULL, name);
1264                  if (t && !file_exist_check (t)) {                  if (t != NULL)          
                     idx = log_box (_("Key Manager"), MB_INFO|MB_YESNO,  
                                    _("File %s already exists.\nOverwrite?"), t);  
                     if (idx == IDNO)  
                         return FALSE;  
                 }  
                 if (t)  
1265                      km_privkey_export (dlg, kmi->lv, t);                      km_privkey_export (dlg, kmi->lv, t);
1266              }              }
1267              break;              break;
# Line 1492  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1496  keymanager_dlg_proc (HWND dlg, UINT msg,
1496                  rc = set_gnupg_default_key (keyid);                  rc = set_gnupg_default_key (keyid);
1497                  if (rc)                  if (rc)
1498                      msg_box( dlg, winpt_strerror (rc), _("Key Manager"), MB_ERR);                      msg_box( dlg, winpt_strerror (rc), _("Key Manager"), MB_ERR);
1499                  km_update_default_key_str (kmi->statbar, &km_def_pos);                  km_update_default_key_str (kmi->statbar);
1500              }              }
1501              break;              break;
1502    

Legend:
Removed from v.22  
changed lines
  Added in v.23

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26