/[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 36 by werner, Thu Oct 27 15:25:13 2005 UTC revision 99 by twoaday, Fri Nov 25 07:47:51 2005 UTC
# Line 24  Line 24 
24  #endif  #endif
25    
26  #include <windows.h>  #include <windows.h>
 #include <windows.h>  
27  #include <commctrl.h>  #include <commctrl.h>
28    
29  #include "../resource.h"  #include "resource.h"
30  #include "wptTypes.h"  #include "wptTypes.h"
31  #include "wptGPG.h"  #include "wptGPG.h"
32  #include "wptCommonCtl.h"  #include "wptCommonCtl.h"
# Line 192  load_toolbar (HWND dlg, struct km_info * Line 191  load_toolbar (HWND dlg, struct km_info *
191  } /* load_toolbar */  } /* load_toolbar */
192    
193    
194    /* Center window @dlg. */
195  static void  static void
196  do_center_window (HWND dlg, struct km_info * kmi)  do_center_window (HWND dlg, struct km_info * kmi)
197  {  {
# Line 205  do_center_window (HWND dlg, struct km_in Line 205  do_center_window (HWND dlg, struct km_in
205    
206      kmi->ypos_sep = rect.bottom;      kmi->ypos_sep = rect.bottom;
207    
208      p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X" );      p = get_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_X");
209      if( p && !strcmp( p, " " ) ) {      if (p && !strcmp (p, " ")) {
210          free_if_alloc( p );              free_if_alloc (p);
211          center_window( dlg, NULL );          center_window (dlg, NULL);
212          return;          return;
213      }      }
214      else if( p )      else if (p)
215          pos_x = atol( p );          pos_x = atol (p);
216    
217      p = get_reg_entry( HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y" );      p = get_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y");
218      if( p && !strcmp( p, " " ) ) {      if (p && !strcmp (p, " ")) {
219          free_if_alloc( p );          free_if_alloc (p);
220          center_window( dlg, NULL );          center_window(dlg, NULL);
221          return;          return;
222      }      }
223      else if( p )      else if (p)
224          pos_y = atol( p );          pos_y = atol (p);
225    
226      if( !pos_y && !pos_x ) {      if (!pos_y && !pos_x) {
227          center_window( dlg, NULL );          center_window (dlg, NULL);
228          return;          return;
229      }      }
230            
231      if( pos_x > GetSystemMetrics( SM_CXSCREEN )      if (pos_x < 0 || pos_y < 0)
232          || pos_y > GetSystemMetrics( SM_CYSCREEN ) ) {          pos_x = pos_y = 0;
233        if (pos_x > GetSystemMetrics (SM_CXSCREEN)
234            || pos_y > GetSystemMetrics (SM_CYSCREEN)) {
235          pos_x = pos_y = 0;          pos_x = pos_y = 0;
236      }      }
237      GetClientRect( dlg, &rect );      GetClientRect (dlg, &rect);
238      MoveWindow( dlg, pos_x, pos_y, rect.right, rect.bottom, TRUE );      MoveWindow (dlg, pos_x, pos_y, rect.right, rect.bottom, TRUE);
239  }  }
240    
241    
# Line 351  long CALLBACK Line 353  long CALLBACK
353  separator_wnd_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam )  separator_wnd_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam )
354  {  {
355      static POINT last_mouse_pos;      static POINT last_mouse_pos;
356        RECT rect;
357        
358      if (msg == WM_CREATE)      if (msg == WM_CREATE)
359          SetWindowLong (hwnd, GWL_USERDATA, (long)(((CREATESTRUCT*)lparam)->lpCreateParams));          SetWindowLong (hwnd, GWL_USERDATA, (long)(((CREATESTRUCT*)lparam)->lpCreateParams));
360    
361      switch (msg) {      switch (msg) {
362      case WM_PAINT:      case WM_PAINT:
363          PAINTSTRUCT ps;          PAINTSTRUCT ps;
         RECT rect;  
364          HPEN hpen;          HPEN hpen;
365    
366          GetClientRect (hwnd, &rect);          GetClientRect (hwnd, &rect);
# Line 412  separator_wnd_proc( HWND hwnd, UINT msg, Line 414  separator_wnd_proc( HWND hwnd, UINT msg,
414          if (wparam == MK_LBUTTON) {          if (wparam == MK_LBUTTON) {
415              struct km_info *kmi;              struct km_info *kmi;
416              POINT p;              POINT p;
             RECT rect;  
417    
418              if ((kmi = (struct km_info *)GetWindowLong (hwnd, GWL_USERDATA)) == NULL)              if ((kmi = (struct km_info *)GetWindowLong (hwnd, GWL_USERDATA)) == NULL)
419                  break;                  break;
# Line 565  menu_gpg_readonly (HWND dlg, HMENU hm, i Line 566  menu_gpg_readonly (HWND dlg, HMENU hm, i
566          ID_KEYMISC_EDITKEY,          ID_KEYMISC_EDITKEY,
567          0          0
568      };      };
569      int * resids;      int *resids;
570      int i;      int i;
571    
572            
# Line 575  menu_gpg_readonly (HWND dlg, HMENU hm, i Line 576  menu_gpg_readonly (HWND dlg, HMENU hm, i
576      case 0: return;      case 0: return;
577      case 3: resids = key_resids; break;      case 3: resids = key_resids; break;
578      case 1: resids = edit_resids;break;      case 1: resids = edit_resids;break;
579        default: resids = edit_resids; return;
580      }      }
581    
582      for (i=0; resids[i] != 0; i++)      for (i=0; resids[i] != 0; i++)
# Line 651  BOOL CALLBACK Line 653  BOOL CALLBACK
653  keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)  keymanager_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
654  {  {
655      struct km_info *kmi;      struct km_info *kmi;
656      static km_group_s *gc = NULL;      /*static km_group_s *gc = NULL;*/
657      static HMENU menu = NULL;      static HMENU menu = NULL;
658      static int refresh_keys = 0;          static int refresh_keys = 0;    
659      INITCOMMONCONTROLSEX icex;      INITCOMMONCONTROLSEX icex;
# Line 668  keymanager_dlg_proc (HWND dlg, UINT msg, Line 670  keymanager_dlg_proc (HWND dlg, UINT msg,
670      const char *t, * host;      const char *t, * host;
671      u16 port = 0;      u16 port = 0;
672      int idx = 0, i=0, rc;      int idx = 0, i=0, rc;
     size_t size = 0;  
673    
674      if ((msg != WM_INITDIALOG)      if ((msg != WM_INITDIALOG)
675          && ((kmi = (struct km_info*)GetWindowLong (dlg, GWL_USERDATA)) == NULL))          && ((kmi = (struct km_info*)GetWindowLong (dlg, GWL_USERDATA)) == NULL))
# Line 684  keymanager_dlg_proc (HWND dlg, UINT msg, Line 685  keymanager_dlg_proc (HWND dlg, UINT msg,
685          kmi->hwnd_sep = regist_sep_wnd (dlg, kmi);          kmi->hwnd_sep = regist_sep_wnd (dlg, kmi);
686          imagelist_load (dlg);          imagelist_load (dlg);
687    
 #ifndef LANG_DE  
688          SetWindowText( dlg, _("Key Manager") );          SetWindowText( dlg, _("Key Manager") );
 #endif          
689          menu = LoadMenu( glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC );          menu = LoadMenu( glob_hinst, (LPCSTR)IDR_WINPT_KEYMISC );
690  #ifndef LANG_DE          set_menu_text_bypos (menu, 0, _("File"));
691            set_menu_text_bypos (menu, 1, _("Edit"));
692            set_menu_text_bypos (menu, 2, _("View"));
693            set_menu_text_bypos (menu, 3, _("Key"));
694            set_menu_text_bypos (menu, 4, _("Groups"));
695            
696            set_menu_text (menu, ID_KEYMISC_EDITKEY, _("Edit"));
697          set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail..."));          set_menu_text (menu, ID_KEYMISC_MAIL, _("Send Mail..."));
698          set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */          set_menu_text (menu, ID_KEYMISC_OT, _("Ownertrust")); /* XXX */
699          set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C"));          set_menu_text (menu, ID_KEYMISC_COPY, _("&Copy\tCtrl+C"));
# Line 717  keymanager_dlg_proc (HWND dlg, UINT msg, Line 722  keymanager_dlg_proc (HWND dlg, UINT msg,
722          set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)"));          set_menu_text (menu, ID_KEYMISC_REFRESH_KEYS, _("Refresh &Keys (Keyserver)"));
723          set_menu_text (menu, ID_KEYMISC_INFO, _("Info") );          set_menu_text (menu, ID_KEYMISC_INFO, _("Info") );
724          set_menu_text (menu, ID_KEYMISC_HELP, _("&Help"));          set_menu_text (menu, ID_KEYMISC_HELP, _("&Help"));
725            
 #endif  
726          SetMenu (dlg, menu);          SetMenu (dlg, menu);
727          if( keyring_check_last_access() )          if( keyring_check_last_access() )
728              keycache_set_reload( 1 );              keycache_set_reload( 1 );
# Line 779  keymanager_dlg_proc (HWND dlg, UINT msg, Line 783  keymanager_dlg_proc (HWND dlg, UINT msg,
783         set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", buf);         set_reg_entry (HKEY_CURRENT_USER, "Software\\WinPT", "KM_Pos_Y", buf);
784         /* Remove runtime information. This should be the last action taken here. */         /* Remove runtime information. This should be the last action taken here. */
785         delete kmi; kmi = NULL;         delete kmi; kmi = NULL;
786         SetWindowLong (dlg, GWL_USERDATA, NULL);             SetWindowLong (dlg, GWL_USERDATA, 0);
787         keycache_set_reload (refresh_keys);         keycache_set_reload (refresh_keys);
788         return FALSE;         return FALSE;
789    
# Line 896  keymanager_dlg_proc (HWND dlg, UINT msg, Line 900  keymanager_dlg_proc (HWND dlg, UINT msg,
900                  GetCursorPos (&p);                  GetCursorPos (&p);
901                  hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYMISC_CTX));                  hm = LoadMenu (glob_hinst, MAKEINTRESOURCE (IDR_WINPT_KEYMISC_CTX));
902                  popup = GetSubMenu (hm, 0);                  popup = GetSubMenu (hm, 0);
903              #ifndef LANG_DE  
904                  set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard"));                  set_menu_text (popup, ID_KEYCTX_UID_COPY, _("Copy User ID to Clipboard"));
905                  set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard"));                  set_menu_text (popup, ID_KEYCTX_KEYID_COPY, _("Copy Key ID to Clipboard"));
906                  set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard"));                  set_menu_text (popup, ID_KEYCTX_FPR_COPY, _("Copy Fingerprint to Clipboard"));
# Line 921  keymanager_dlg_proc (HWND dlg, UINT msg, Line 925  keymanager_dlg_proc (HWND dlg, UINT msg,
925                  set_menu_text_bypos (popup, 0, _("Key Attributes"));                  set_menu_text_bypos (popup, 0, _("Key Attributes"));
926                  set_menu_text_bypos (popup, 6, _("Add"));                  set_menu_text_bypos (popup, 6, _("Add"));
927                  set_menu_text_bypos (popup, 19, _("Send to Keyserver"));                  set_menu_text_bypos (popup, 19, _("Send to Keyserver"));
928              #endif                  
929                    set_menu_text (popup, ID_KEYCTX_ADDKEY, _("Key..."));
930                    set_menu_text (popup, ID_KEYCTX_ADDUID, _("User ID..."));
931                    set_menu_text (popup, ID_KEYCTX_ADDPHOTO, _("Photo ID..."));
932                    set_menu_text (popup, ID_KEYCTX_ADDREV, _("Revoker..."));
933                    
934                  idx = listview_get_curr_pos (kmi->lv);                  idx = listview_get_curr_pos (kmi->lv);
935                  if (km_check_for_seckey (kmi->lv, idx, &i))                  if (km_check_for_seckey (kmi->lv, idx, &i))
936                      set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED);                      set_menu_state (popup, ID_KEYCTX_SETDEFKEY, MF_ENABLED);
# Line 1223  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1232  keymanager_dlg_proc (HWND dlg, UINT msg,
1232                  return TRUE;                  return TRUE;
1233              }              }
1234              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_CARD_KEYGEN, dlg,              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_CARD_KEYGEN, dlg,
1235                                card_keygen_dlg_proc, NULL, _("Card Key Generation"),                                card_keygen_dlg_proc, 0, _("Card Key Generation"),
1236                                IDS_WINPT_CARD_KEYGEN );                                IDS_WINPT_CARD_KEYGEN );
1237              /* XXX: use new code */              /* XXX: use new code */
1238              if( keycache_get_reload() )              if( keycache_get_reload() )
# Line 1241  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1250  keymanager_dlg_proc (HWND dlg, UINT msg,
1250                            
1251          case ID_KEYMISC_SENDRECV:          case ID_KEYMISC_SENDRECV:
1252              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYSERVER, dlg,              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_KEYSERVER, dlg,
1253                                keyserver_dlg_proc, NULL, _("Keyserver Access"),                                keyserver_dlg_proc, 0, _("Keyserver Access"),
1254                                IDS_WINPT_KEYSERVER );                                IDS_WINPT_KEYSERVER );
1255              return TRUE;              return TRUE;
1256                            
1257          case ID_KEYMISC_GPGPREFS:          case ID_KEYMISC_GPGPREFS:
1258              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGPREFS, dlg,              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGPREFS, dlg,
1259                                gpgprefs_dlg_proc, NULL, _("GnuPG Preferences"),                                gpgprefs_dlg_proc, 0, _("GnuPG Preferences"),
1260                                IDS_WINPT_GPGPREFS );                                IDS_WINPT_GPGPREFS );
1261              return TRUE;              return TRUE;
1262                            
1263          case ID_KEYMISC_GPGOPT:          case ID_KEYMISC_GPGOPT:
1264              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGOPT, dlg,              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_GPGOPT, dlg,
1265                                gpgopt_dlg_proc, NULL, _("GnuPG Options" ),                                gpgopt_dlg_proc, 0, _("GnuPG Options" ),
1266                                IDS_WINPT_GPGOPT );                                IDS_WINPT_GPGOPT );
1267              return TRUE;              return TRUE;
1268                            
1269          case ID_KEYMISC_IMPORT:          case ID_KEYMISC_IMPORT:
1270              t = get_filename_dlg (dlg, FILE_OPEN, _("Choose Name of the Key File"), NULL, NULL);              t = get_fileopen_dlg (dlg, _("Choose Name of the Key File"), NULL, NULL);
1271              if (t)              if (t)
1272                  km_file_import (dlg, t);                  km_file_import (dlg, t);
1273              return TRUE;              return TRUE;
# Line 1282  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1291  keymanager_dlg_proc (HWND dlg, UINT msg,
1291                  listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1);                  listview_get_item_text (kmi->lv, idx, 1, keyid, DIM (keyid)-1);
1292                  name = gen_export_filename (keyid, 0);                  name = gen_export_filename (keyid, 0);
1293              }              }
1294              t = get_filename_dlg (dlg, FILE_SAVE, _("Choose Name for Key File"), NULL, name);              t = get_filesave_dlg (dlg, _("Choose Name for Key File"), NULL, name);
1295              free_if_alloc (name);              free_if_alloc (name);
1296              if (t == NULL)              if (t == NULL)
1297                  return TRUE;                  return TRUE;
# Line 1315  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1324  keymanager_dlg_proc (HWND dlg, UINT msg,
1324                  idx = listview_get_curr_pos( kmi->lv );                  idx = listview_get_curr_pos( kmi->lv );
1325                  listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof (keyid)-8 );                  listview_get_item_text( kmi->lv, idx, 1, keyid, sizeof (keyid)-8 );
1326                  name = gen_export_filename (keyid, 1);                  name = gen_export_filename (keyid, 1);
1327                  t = get_filename_dlg (dlg, FILE_SAVE, _("Choose Name for Key File"), NULL, name);                  t = get_filesave_dlg (dlg, _("Choose Name for Key File"), NULL, name);
1328                  if (t != NULL)                            if (t != NULL)          
1329                      km_privkey_export (dlg, kmi->lv, t);                      km_privkey_export (dlg, kmi->lv, t);
1330              }              }
1331              break;              return TRUE;
1332    
1333          case ID_KEYMISC_INFO:          case ID_KEYMISC_INFO:
1334              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_ABOUT, glob_hwnd,              dialog_box_param( glob_hinst, (LPCSTR)IDD_WINPT_ABOUT, glob_hwnd,
1335                                about_winpt_dlg_proc, NULL, _("About WinPT"),                                about_winpt_dlg_proc, 0, _("About WinPT"),
1336                                IDS_WINPT_ABOUT );                                IDS_WINPT_ABOUT );
1337              break;              break;
1338    
# Line 1333  keymanager_dlg_proc (HWND dlg, UINT msg, Line 1342  keymanager_dlg_proc (HWND dlg, UINT msg,
1342    
1343          case ID_KEYMISC_OT:          case ID_KEYMISC_OT:
1344              dialog_box_param( glob_hinst, (LPCTSTR)IDD_WINPT_OWNERTRUST, glob_hwnd,              dialog_box_param( glob_hinst, (LPCTSTR)IDD_WINPT_OWNERTRUST, glob_hwnd,
1345                                ownertrust_dlg_proc, NULL,                                ownertrust_dlg_proc, 0,
1346                                _("Ownertrust"), IDS_WINPT_OWNERTRUST );                                _("Ownertrust"), IDS_WINPT_OWNERTRUST );
1347              break;              break;
1348    

Legend:
Removed from v.36  
changed lines
  Added in v.99

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26