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

Diff of /trunk/Src/wptPreferencesDlg.cpp

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

revision 175 by twoaday, Wed Jan 18 11:52:45 2006 UTC revision 176 by twoaday, Mon Feb 13 09:38:03 2006 UTC
# Line 94  enable_backup_items (HWND dlg, int val) Line 94  enable_backup_items (HWND dlg, int val)
94  }  }
95    
96    
 /* Initialize the combox in the dialog @dlg with the valid list modes. */  
 static void  
 init_keylist_modes (HWND dlg)  
 {  
     HWND cb = GetDlgItem (dlg, IDC_PREFS_LISTMODE);  
     combox_add_string (cb, (char *)"NORMAL");  
     combox_add_string (cb, (char *)"MINIMAL");  
     SendMessage (cb, CB_SETCURSEL, (WPARAM)reg_prefs.keylist_mode, 0);  
 }  
   
   
97  /* Initialize the combobox in the dialog @dlg with the valid wipe modes. */  /* Initialize the combobox in the dialog @dlg with the valid wipe modes. */
98  static void  static void
99  init_wipe_modes (HWND dlg)  init_wipe_modes (HWND dlg)
# Line 117  init_wipe_modes (HWND dlg) Line 106  init_wipe_modes (HWND dlg)
106  }  }
107    
108    
109    /* Helper function to prepare dialog. */
110    static void
111    on_init_dialog (HWND dlg)
112    {
113        struct gettext_tab_s prefs[] = {
114            {IDC_PREFS_SECMODE, _("Do not use any &temporary files")},
115            {IDC_PREFS_VIEWER, _("Use clipboard &viewer to display the plaintext")},
116            {IDC_PREFS_WWINFO, _("Word wrap cleartext &signatures at column")},
117            {IDC_PREFS_DISABLE_HOTKEYS, _("&Disable hotkeys (Not recommended!)")},
118            {IDC_PREFS_TRUST, _("Skip key validation and assume that keys are always fully trusted")},
119            {IDC_PREFS_AUTOBACKUP, _("&Automatic keyring backup when WinPT closes")},
120            {IDC_PREFS_BAKHOME, _("Backup to &keyring folder")},
121            {IDC_PREFS_BAKUSER, _("Backup to:")},
122            {IDC_PREFS_KEYLISTINF, _("Select &key list mode")},
123            {IDC_PREFS_WIPEINF, _("Select &wipe mode")},
124            {IDC_PREFS_KSINF, _("Keyserver &config")},
125            {IDC_PREFS_CACHEINF, _("Cache &passphrases for 'n' seconds")},
126            {IDC_PREFS_CACHEHINT, _("(CTRL+ALT+F to clear the cache)")},
127            {IDC_PREFS_ALLOPTINF, _("General options")},
128            {IDC_PREFS_CLIPINF, _("Clipboard hotkeys")},
129            {IDC_PREFS_CURRINF, _("Current window hotkeys")},
130            {IDC_PREFS_KSELFILE, _("Browse...")},
131            {IDC_PREFS_BAKSELECT, _("Browse...")},
132            {IDCANCEL, _("&Cancel")},
133        {0, NULL}};
134        int i;
135    
136        gettext_localize_dialog (dlg, prefs, _("WinPT Preferences"));
137        SetDlgItemInt (dlg, IDC_PREFS_CACHETIME, reg_prefs.cache_time, TRUE);
138            
139        SetDlgItemInt (dlg, IDC_PREFS_WORDWRAP, reg_prefs.word_wrap, TRUE);
140        if (reg_prefs.backup.path)
141            SetDlgItemText (dlg, IDC_PREFS_BAKPATH, reg_prefs.backup.path);
142    
143            
144        for (i=0; hotkeys[i]; i++)
145            SetDlgItemText (dlg, hotkeys[i], reg_hotkeys[i].key);    
146        CheckDlgButton (dlg, IDC_PREFS_DISABLE_HOTKEYS,
147                        reg_prefs.no_hotkeys ? BST_CHECKED : BST_UNCHECKED);
148        CheckDlgButton (dlg, IDC_PREFS_SECMODE,
149                        reg_prefs.use_tmpfiles ? BST_UNCHECKED : BST_CHECKED);
150        CheckDlgButton (dlg, IDC_PREFS_VIEWER,
151                        reg_prefs.use_viewer ? BST_CHECKED: BST_UNCHECKED);
152        CheckDlgButton (dlg, IDC_PREFS_TRUST,
153                        reg_prefs.always_trust? BST_CHECKED : BST_UNCHECKED);
154        CheckDlgButton (dlg, IDC_PREFS_AUTOBACKUP,
155                        reg_prefs.auto_backup? BST_CHECKED : BST_UNCHECKED);
156        CheckDlgButton (dlg, IDC_PREFS_BAKHOME,
157                        reg_prefs.backup.mode==1? BST_CHECKED : BST_UNCHECKED);
158        CheckDlgButton (dlg, IDC_PREFS_BAKUSER,
159                        reg_prefs.backup.mode==2? BST_CHECKED : BST_UNCHECKED);
160        if (reg_prefs.no_hotkeys)
161            disable_hotkey_items (dlg, 1);
162        if (!reg_prefs.auto_backup)
163            enable_backup_items (dlg, 0);
164        EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKPATH),
165                          reg_prefs.backup.mode==1?FALSE : TRUE);
166        EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKSELECT),
167                          reg_prefs.backup.mode==1? FALSE : TRUE);
168        init_wipe_modes (dlg);
169        center_window (dlg, NULL);    
170        SetForegroundWindow (dlg);
171    }
172    
173    
174  /* Dialog box procedure for the WinPT preferences. */  /* Dialog box procedure for the WinPT preferences. */
175  BOOL CALLBACK  BOOL CALLBACK
176  prefs_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)  prefs_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
177  {  {
178      int rc;      int rc;
179      int i, id;      int i;
180      char t[2];      char t[2];
181      char path[256], * p;      char path[256], *p;
182      HWND cb;      HWND cb;
183            
184      switch (msg) {      switch (msg) {
185      case WM_INITDIALOG:      case WM_INITDIALOG:
186          SetWindowText (dlg, _("WinPT Preferences"));          on_init_dialog (dlg);
         SetDlgItemText (dlg, IDC_PREFS_SECMODE, _("Do not use any &temporary files"));  
         SetDlgItemText (dlg, IDC_PREFS_VIEWER, _("Use clipboard &viewer to display the plaintext"));  
         SetDlgItemText (dlg, IDC_PREFS_WWINFO, _("Word wrap cleartext &signatures at column"));  
         SetDlgItemText (dlg, IDC_PREFS_DISABLE_HOTKEYS, _("&Disable hotkeys (Not recommended!)"));  
         SetDlgItemText (dlg, IDC_PREFS_TRUST, _("Skip key validation and assume that keys are always fully trusted"));  
         SetDlgItemText (dlg, IDC_PREFS_AUTOBACKUP, _("&Automatic keyring backup when WinPT closes"));  
         SetDlgItemText (dlg, IDC_PREFS_BAKHOME, _("Backup to &keyring folder"));  
         SetDlgItemText (dlg, IDC_PREFS_BAKUSER, _("Backup to:"));  
         SetDlgItemText (dlg, IDC_PREFS_KEYLISTINF, _("Select &key list mode"));  
         SetDlgItemText (dlg, IDC_PREFS_WIPEINF, _("Select &wipe mode"));  
         SetDlgItemText (dlg, IDC_PREFS_KSINF, _("Keyserver &config"));  
         SetDlgItemText (dlg, IDC_PREFS_CACHEINF, _("Cache &passphrases for 'n' seconds"));  
         SetDlgItemText (dlg, IDC_PREFS_CACHEHINT, _("(CTRL+ALT+F to clear the cache)"));  
         SetDlgItemText (dlg, IDC_PREFS_ALLOPTINF, _("General options"));  
         SetDlgItemText (dlg, IDC_PREFS_CLIPINF, _("Clipboard hotkeys"));  
         SetDlgItemText (dlg, IDC_PREFS_CURRINF, _("Current window hotkeys"));  
         SetDlgItemText (dlg, IDC_PREFS_KSELFILE, _("Browse..."));  
         SetDlgItemText (dlg, IDC_PREFS_BAKSELECT, _("Browse..."));  
         SetDlgItemText (dlg, IDCANCEL, _("&Cancel"));  
   
         SetDlgItemInt (dlg, IDC_PREFS_CACHETIME, reg_prefs.cache_time, TRUE);  
         SetDlgItemInt (dlg, IDC_PREFS_WORDWRAP, reg_prefs.word_wrap, TRUE);  
         if (reg_prefs.backup.path)  
             SetDlgItemText (dlg, IDC_PREFS_BAKPATH, reg_prefs.backup.path);  
   
         for (i=0; (id=hotkeys[i]); i++)  
             SetDlgItemText (dlg, id, reg_hotkeys[i].key);  
         CheckDlgButton( dlg, IDC_PREFS_DISABLE_HOTKEYS,  
                         reg_prefs.no_hotkeys ? BST_CHECKED : BST_UNCHECKED );  
         CheckDlgButton( dlg, IDC_PREFS_SECMODE,  
                         reg_prefs.use_tmpfiles ? BST_UNCHECKED : BST_CHECKED );  
         CheckDlgButton( dlg, IDC_PREFS_VIEWER,  
                         reg_prefs.use_viewer ? BST_CHECKED: BST_UNCHECKED );  
         CheckDlgButton( dlg, IDC_PREFS_TRUST,  
                         reg_prefs.always_trust? BST_CHECKED : BST_UNCHECKED );  
         CheckDlgButton( dlg, IDC_PREFS_AUTOBACKUP,  
                         reg_prefs.auto_backup? BST_CHECKED : BST_UNCHECKED );  
         CheckDlgButton( dlg, IDC_PREFS_BAKHOME,  
                         reg_prefs.backup.mode==1? BST_CHECKED : BST_UNCHECKED );  
         CheckDlgButton( dlg, IDC_PREFS_BAKUSER,  
                         reg_prefs.backup.mode==2? BST_CHECKED : BST_UNCHECKED );  
         if (reg_prefs.no_hotkeys)  
             disable_hotkey_items (dlg, 1);  
         if (!reg_prefs.auto_backup)  
             enable_backup_items (dlg, 0);  
         EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKPATH),  
                       reg_prefs.backup.mode==1?FALSE : TRUE);  
         EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKSELECT),  
                       reg_prefs.backup.mode==1? FALSE : TRUE);  
         init_keylist_modes (dlg);  
         init_wipe_modes (dlg);  
         center_window (dlg, NULL);  
         SetForegroundWindow (dlg);  
187          return TRUE;          return TRUE;
188                    
189      case WM_SYSCOMMAND:      case WM_SYSCOMMAND:
190          if (LOWORD (wparam) == SC_CLOSE)          if (LOWORD (wparam) == SC_CLOSE)
191              EndDialog (dlg, TRUE);              EndDialog (dlg, FALSE);
192          return FALSE;          return FALSE;
193                    
194      case WM_COMMAND:      case WM_COMMAND:
# Line 260  prefs_dlg_proc (HWND dlg, UINT msg, WPAR Line 261  prefs_dlg_proc (HWND dlg, UINT msg, WPAR
261              if (!rc)              if (!rc)
262                  reg_prefs.word_wrap = 0;                  reg_prefs.word_wrap = 0;
263              else if (rc > 80) {              else if (rc > 80) {
264                  msg_box (dlg, _("Please enter a value between 1-80."), _("Preferences"), MB_ERR);                  msg_box (dlg, _("Please enter a value between 1-80."),
265                             _("Preferences"), MB_ERR);
266                  return TRUE;                  return TRUE;
267              }              }
268              reg_prefs.word_wrap = rc;              reg_prefs.word_wrap = rc;
# Line 281  prefs_dlg_proc (HWND dlg, UINT msg, WPAR Line 283  prefs_dlg_proc (HWND dlg, UINT msg, WPAR
283                      BUG (0);                      BUG (0);
284              }              }
285    
             cb = GetDlgItem( dlg, IDC_PREFS_LISTMODE );  
             reg_prefs.keylist_mode = SendMessage( cb, CB_GETCURSEL, 0, 0 );  
   
286              cb = GetDlgItem( dlg, IDC_PREFS_WIPEMODE );              cb = GetDlgItem( dlg, IDC_PREFS_WIPEMODE );
287              reg_prefs.wipe_mode = SendMessage( cb, CB_GETCURSEL, 0, 0 );              reg_prefs.wipe_mode = SendMessage( cb, CB_GETCURSEL, 0, 0 );
288                            
# Line 293  prefs_dlg_proc (HWND dlg, UINT msg, WPAR Line 292  prefs_dlg_proc (HWND dlg, UINT msg, WPAR
292              }              }
293              else {              else {
294                  reg_prefs.no_hotkeys = 0;                  reg_prefs.no_hotkeys = 0;
295                  for( i = 0; (id = hotkeys[i]); i++ ) {                  for( i = 0; hotkeys[i]; i++ ) {
296                      rc = GetDlgItemText( dlg, id, t, 2 );                      rc = GetDlgItemText (dlg, hotkeys[i], t, 2);
297                      if( rc && check_hotkey( &t[0] ) )                      if( rc && check_hotkey( &t[0] ) )
298                          hotkey_enable( &reg_hotkeys[i], t );                          hotkey_enable( &reg_hotkeys[i], t );
299                      else                      else

Legend:
Removed from v.175  
changed lines
  Added in v.176

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26